2. ANN basic fundamentals and architectures

The process of artificial neural network works similarly to the neurons in the brain. First, before an artificial neural network can be tested or used, it must be trained. The process starts with the neuron, the basic element ANNs (see Figure 1). The neuron inputs are the outputs of several other neurons. Once a neuron has combined the inputs and produces a single output, it is compared to what is known as a training set, group of known inputs and outputs. The user sets a threshold of maximum that is allowed by the system. If the output value from the neuron does not match the known value in the data set, then the system will adjust the weights. This process is repeated until the error is within the threshold range and at that time the system will hold the weights at their

© 2016 The Author(s). Licensee InTech. This chapter is distributed under the terms of the Creative Commons Attribution License (http://creativecommons.org/licenses/by/3.0), which permits unrestricted use, distribution, and eproduction in any medium, provided the original work is properly cited. © 2018 The Author(s). Licensee InTech. This chapter is distributed under the terms of the Creative Commons Attribution License (http://creativecommons.org/licenses/by/3.0), which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.

current position to be tested against data that was not used in the training set. At this point in time, the system will be able to back decision and process patterns from the nonlinear data.

An important issue in designing an ANN is knowing how many values are assigned to each layer of an ANN. Assigning too many variables to a layer will lead to overfitting due to the system not being able to process so much information and also will lead to longer computational times during training. Sometimes, proper training may not be possible in a reasonable time given the overload of data. Assigning to few variables in a layer of a complicated set will lead to the system to underfitting the data due to the signals not being fully recognized. Many factors such as the inputs and outputs, noise, complexity of the error function, network architecture, and training algorithm influence what is the best number of hidden units. The neural network is implemented in MATLAB and Simulink toolbox. The performance of the system will be the mean squared error for measuring the average of the squared error. Training of the network will stop when the max number of repetitions is reached, the max time is reached, the performance is minimized to the goal, the performance gradient falls below the minimum value, or mu exceeds the max value [1].

Biological neurons as shown Figure 2 have a cell nucleus to receive input from other neurons through a web of dendrites. Its learning is accomplished via little changes to a current

Figure 1. Neuron function [1].

Figure 2. Neural network (biological and artificial) [2] (Image credit: Wikipedia).

portrayal—its setup contains critical data previously, and learning is directed. The qualities of associations between neurons, or weights, don't begin as arbitrary, nor does the structure of the associations. Unlike biological neural networks, artificial neural networks (ANNs) are ordinarily prepared starting with no outside help, utilizing a settled topology decided for the current issue. Be that as it may, ANNs can likewise learn in light of a prior portrayal. Sooner rather than later, ANNs will start to play out extra classes of errands at close human and even superhuman levels, maybe ending up scientifically and fundamentally more like organic neural systems [2].

One of the primary issues with neural systems is that, generally, they have a constrained capacity to recognize causal connections expressly. Engineers of neural systems bolster these systems' huge swathes of information and take into consideration the neural systems to decide autonomously which input factors are generally vital. Another issue with neural systems is the inclination to overfit in light of the fact that the model records for abnormalities and anomalies in the preparation information that may not be available crosswise over real informational indexes. Overfitting of information happens when an information examination model, for example, a neural system, produces great expectations for the preparation information yet more regrettable ones for testing information. Designers can moderate overfitting in neural systems by punishing huge weights and constraining the quantity of neurons in shrouded layers. Decreasing the quantity of neurons in concealed layers lessens overfitting yet in addition restrains the capacity of the neural system to display more intricate, nonlinear connections [3].

Artificial neural network contains various layers as shown in Figure 3. These layers are the following: input layer to receive inputs for network's learning and recognition, output layer to react to the data about how it's found out any assignment, and in-between hidden layer to change the contribution to something that yield unit can use somehow.

Figure 3. Multilayer neural network [4].

current position to be tested against data that was not used in the training set. At this point in time, the system will be able to back decision and process patterns from the nonlinear data.

An important issue in designing an ANN is knowing how many values are assigned to each layer of an ANN. Assigning too many variables to a layer will lead to overfitting due to the system not being able to process so much information and also will lead to longer computational times during training. Sometimes, proper training may not be possible in a reasonable time given the overload of data. Assigning to few variables in a layer of a complicated set will lead to the system to underfitting the data due to the signals not being fully recognized. Many factors such as the inputs and outputs, noise, complexity of the error function, network architecture, and training algorithm influence what is the best number of hidden units. The neural network is implemented in MATLAB and Simulink toolbox. The performance of the system will be the mean squared error for measuring the average of the squared error. Training of the network will stop when the max number of repetitions is reached, the max time is reached, the performance is minimized to the goal, the performance gradient falls below the

Biological neurons as shown Figure 2 have a cell nucleus to receive input from other neurons through a web of dendrites. Its learning is accomplished via little changes to a current

minimum value, or mu exceeds the max value [1].

2 Advanced Applications for Artificial Neural Networks

Figure 2. Neural network (biological and artificial) [2] (Image credit: Wikipedia).

Figure 1. Neuron function [1].

Figure 4. Neural network' different architectures [4].

Moreover, neural network has different architectures such as perceptron model, radial basis function, multilayer perceptron, recurrent neural network, long short-term memory, Hopfield network, Boltzmann machine neural network, convolutional neural network, modular neural network, and physical neural network [4]. These different types are well depicted in Figure 4.

Also, neural networks could be used in classification, prediction, clustering (competitive networks, adaptive resonance theory networks, and Kohonen self-organizing maps), association, pattern recognition (supervised classification and unsupervised classification), and in addition machine learning [4].
