Map > Data Science > Predicting the Future > Modeling > Classification/Regression > Artificial Neural Network  
Artificial Neural Network 

An artificial neutral network (ANN) is a system that is based on the biological neural network, such as the brain. The brain has approximately 100 billion neurons, which communicate through electrochemical signals. The neurons are connected through junctions called synapses. Each neuron receives thousands of connections with other neurons, constantly receiving incoming signals to reach the cell body. If the resulting sum of the signals surpasses a certain threshold, a response is sent through the axon. The ANN attempts to recreate the computational mirror of the biological neural network, although it is not comparable since the number and complexity of neurons and the used in a biological neural network is many times more than those in an artificial neutral network.  
An ANN is comprised of a network of artificial neurons (also known as "nodes"). These nodes are connected to each other, and the strength of their connections to one another is assigned a value based on their strength: inhibition (maximum being 1.0) or excitation (maximum being +1.0). If the value of the connection is high, then it indicates that there is a strong connection. Within each node's design, a transfer function is built in. There are three types of neurons in an ANN, input nodes, hidden nodes, and output nodes.  


The input nodes take in information, in the form which can be numerically expressed. The information is presented as activation values, where each node is given a number, the higher the number, the greater the activation. This information is then passed throughout the network. Based on the connection strengths (weights), inhibition or excitation, and transfer functions, the activation value is passed from node to node. Each of the nodes sums the activation values it receives; it then modifies the value based on its transfer function. The activation flows through the network, through hidden layers, until it reaches the output nodes. The output nodes then reflect the input in a meaningful way to the outside world. The difference between predicted value and actual value (error) will be propagated backward by apportioning them to each node's weights according to the amount of this error the node is responsible for (e.g., gradient descent algorithm).  
Transfer (Activation) Functions 

The transfer function translates the input signals to output signals. Four types of transfer functions are commonly used, Unit step (threshold), sigmoid, piecewise linear, and Gaussian.  
Unit step (threshold)  
The output is set at one of two levels, depending on whether the total input is greater than or less than some threshold value.  
Sigmoid  
The sigmoid function consists of 2 functions, logistic and tangential. The values of logistic function range from 0 and 1 and 1 to +1 for tangential function.  
Piecewise Linear  
The output is proportional to the total weighted output.  
Gaussian  
Gaussian functions are bellshaped curves that are continuous. The node output (high/low) is interpreted in terms of class membership (1/0), depending on how close the net input is to a chosen value of average.  
Linear  
Like a linear regression, a linear activation function transforms the weighted sum inputs of the neuron to an output using a linear function.  


Algorithm 

There are different types of neural networks, but they are generally classified into feedforward and feedback networks.  
A feedforward network is a nonrecurrent network which contains inputs, outputs, and hidden layers; the signals can only travel in one direction. Input data is passed onto a layer of processing elements where it performs calculations. Each processing element makes its computation based upon a weighted sum of its inputs. The new calculated values then become the new input values that feed the next layer. This process continues until it has gone through all the layers and determines the output. A threshold transfer function is sometimes used to quantify the output of a neuron in the output layer. Feedforward networks include Perceptron (linear and nonlinear) and Radial Basis Function networks. Feedforward networks are often used in data mining.  
A feedback network has feedback paths meaning they can have signals traveling in both directions using loops. All possible connections between neurons are allowed. Since loops are present in this type of network, it becomes a nonlinear dynamic system which changes continuously until it reaches a state of equilibrium. Feedback networks are often used in associative memories and optimization problems where the network looks for the best arrangement of interconnected factors.  