Artificial neural networks (ANN) are computational models that have emerged as a result of a simulation of the biological nervous system to perform a variety of tasks. As a resemble of the biological system, ANNs acquire knowledge through a learning process. ANNs have been around for 50 years and basically they are a type of machine learning used in supervised learning. In machine learning one develops and studies methods that give computers the ability to solve problems by learning from experiences. The goal is to create mathematical models that can be trained to produce useful outputs when fed input data. Machine learning models are provided experiences in the form of training data, and are tuned to produce accurate predictions for the training data by an optimization algorithm. The main goal of the models are to be able to generalize their learned expertise, and deliver correct predictions for new, unseen data. A model’s generalization ability is typically estimated during training using a separate data set, the validation set, and used as feedback for further tuning of the model. After several iterations of training and tuning, the final model is evaluated on a test set, used to simulate how the model will perform when faced with new, unseen data.