## 3 Materials and Methods
### Beta Hebbian Learning Algorithm  
Artificial Neural Networks (ANN) are typically software simulations that emulate some of the features of real neural networks found in the animal brain. Among the range of applications of unsupervised artificial neural networks, data projection or visualization is the one that facilitates, human experts, the analysis of the internal structure of a dataset. This can be achieved by projecting data on a more informative axis or by generating maps that represent the inner structure of datasets. This kind of data visualization can usually be achieved with techniques such as Exploratory Projection Pursuit (EPP) [37,38] which project the data onto a low dimensional subspace, enabling the expert to search for structures through visual inspection. The Beta Hebbian Learning technique (BHL) [31] is an Artificial Neural Network belonging to the family of unsupervised EPP, which uses Beta distribution as part of the weight update process, for the extraction of information from high dimensional datasets by projecting the data onto low dimensional (typically 2 dimensional) subspaces. This technique is better than other exploratory methods in that it provides a clear representation of the internal structure of data. The Beta Hebbian Learning network is based on a Negative Feedback Network, therefore to introduce it, consider an N-dimensional input vector, \(x\), and a M-dimensional output vector, \(y\), where \(W_{ij}\) is the weight linking input \(j\) to output \(i\) and let \(\eta\) be the learning rate. The initial situation is that there is no activation at all in the network. The input data is feedforward via weights from the input neurons (the x-values) to the output neurons (the y-values), where a linear summation is performed to activate the output neuron (see Figure 1). This is expressed by Equation (1). \[y_{i}=\sum_{j=1}^{N}W_{ij}x_{j}\forall i \tag{1}\]  
The activation is feedback through the same weights and is subtracted from the inputs (see Equation (2)). \[Feedback:e_{j}=x_{j}-\sum_{i=1}^{M}W_{ij}y_{i} \tag{2}\]After that, simple Hebbian learning is performed between input and outputs, the weight update is obtained by means of Equation (3). \[\Delta W_{ij}=\eta e_{j}y_{i} \tag{3}\]  
The effect of the negative feedback is to stabilize the learning in the network. For this reason, it is not necessary to normalize or clip the weights to achieve a stable solution. Note that this algorithm is clearly equivalent to [PERSON]'s Subspace Algorithm (Equation (4)). \[\Delta W_{ij}=\eta(x_{j}-\sum_{i=1}^{M}W_{ij}y_{i})y_{i} \tag{4}\]  
This network is capable of finding the principal components of the input data in a manner that is equivalent to [PERSON]'s Subspace algorithm. Thus, it may be said that the network uses simple Hebbian learning to enable the weights to converge and extract the maximum content from the input data. Since the model is equivalent to [PERSON]'s Subspace algorithm, we might legitimately ask what we gain by using the negative feedback in this way. Writing the algorithm in this way, gives a model of the process which allows to devise different versions and algorithms like the Beta Hebbian Learning rule. This rule is based on an explicit view of the residual which is never independently calculated using e.g., [PERSON]'s learning rule. A general cost function associated with the Beta Hebbian Learning network can be denoted as Equation (5)  
\[J=E(-p(e)) \tag{5}\]  
where \(E\) is the expected value operator. Therefore, the gradient descent J is presented in Equation (6). \[\Delta W\propto-\frac{\partial J}{\partial W}=-\frac{\partial J}{\partial e} \frac{\partial e}{\partial W} \tag{6}\]  
Thus, the optimal cost function can be obtained if the PDF of the residuals is known.