Oja's rule
Oja's learning rule, or simply Oja's rule, named after Finnish computer scientist Erkki Oja, is a model of how neurons in the brain or in artificial neural networks change connection strength, or learn, over time. It is a modification of the standard Hebb's Rule (see Hebbian learning) that, through multiplicative normalization, solves all stability problems and generates an algorithm for principal components analysis. This is a computational form of an effect which is believed to happen in biological neurons. Theory. Oja's rule requires a number of simplifications to derive, but in its final  form it is demonstrably stable, unlike Hebb's rule. It is a single-neuron special case of the Generalized Hebbian Algorithm. However, Oja's rule can also be generalized in other ways to varying degrees of stability and success. Formula. Consider a simplified model of a neuron formula_1 that returns a linear combination of its inputs using presynaptic weights : formula_2 Oja's rule defines the change in presynaptic weights given the output response formula_1 of a neuron to its inputs to be where is the "learning rate" which can also change with time. Note that the bold symbols are vectors  and defines a discrete time iteration. The rule can also be made for continuous iterations as Derivation. The simplest learning rule known is Hebb's rule, which states in conceptual terms that "neurons that fire together, wire together". In component form as a difference equation, it is written or in scalar form with implicit -dependence, where is again the output, this time explicitly dependent on its input vector . Hebb's rule has synaptic weights approaching infinity with a positive learning rate. We can stop this by normalizing the weights so that each weight's magnitude is restricted between 0, corresponding  to no weight, and 1, corresponding to being the only input neuron with any weight. We do this by normalizing the weight vector to be of length one: Note that in Oja's original paper, , corresponding to quadrature (root sum of squares), which is the familiar Cartesian normalization rule. However, any type of normalization, even linear, will give the same result without loss of generality. For a small learning rate formula_9 the equation can be expanded as a Power series in formula_10. For small , our higher-order terms go to zero. We again make the specification of a linear neuron , that is, the output of the neuron is equal to the sum of the product of each input and its synaptic weight to the power of p-1, which in the case of is synaptic weight itself, or We also specify that our weights normalize to , which will be a necessary condition for stability, so which, when substituted into our expansion, gives Oja's rule, or Stability and PCA. In analyzing the convergence of a single neuron evolving by Oja's rule, one extracts the first "principal component", or feature, of a data set. Furthermore, with extensions using the Generalized Hebbian  Algorithm, one can create a multi-Oja neural network that can extract as many features as desired, allowing for principal components analysis. A principal component is extracted from a dataset through some associated vector , or , and we can restore our original dataset by taking In the case of a single neuron trained by Oja's rule, we find the weight vector converges to , or the first principal component, as time or number of iterations approaches infinity. We can also define, given a set of input vectors , that its correlation matrix has an associated eigenvector given by with eigenvalue . The variance  of outputs of our Oja neuron then converges with time iterations to the principal eigenvalue, or These results are derived using Lyapunov function analysis, and they show that Oja's neuron necessarily converges on strictly the first principal component if certain conditions are met in our original learning rule. Most importantly, our learning rate is allowed to vary with time, but only such that its sum is "divergent" but its power sum is "convergent", that is Our output activation function is also allowed to be nonlinear and nonstatic, but it must be continuously differentiable in both and and have derivatives  bounded in time. Generalizations. Recently, in the context of associative learning, it has been shown that the Hebbian rule, which is similar to Oja's rule, can be generalized using an Ising-like model: The main idea of the generalization is based on formulating energy function like in Ising model and then applying stochastic gradient descent algorithm to this energy function. The energy function and the update rule corresponding to following the derivative are given by: where: formula_20, formula_21 is the coupling among inputs, formula_22 is the correlation strength between the model and the output, formula_23 corresponds to the presence  of an external magnetic field, formula_24 determines the connections among inputs. Then, for formula_25, formula_26, and formula_27 we get the Hebbian rule, and for formula_25, formula_29, formula_27, and formula_31, where formula_32 is an identity matrix, introduce weight decay. The formula then reduces to: Applications. Oja's rule was originally described in Oja's 1982 paper, but the principle of self-organization to which it is applied is first attributed to Alan Turing in 1952. PCA has also had a long history of use before Oja's rule formalized its use in network computation in 1989. The model can thus be  applied to any problem of self-organizing mapping, in particular those in which feature extraction is of primary interest. Therefore, Oja's rule has an important place in image and speech processing. It is also useful as it expands easily to higher dimensions of processing, thus being able to integrate multiple outputs quickly. A canonical example is its use in binocular vision. Biology and Oja's subspace rule. There is clear evidence for both long-term potentiation and long-term depression in biological neural networks, along with a normalization effect in both input weights and neuron outputs. However, while there  is no direct experimental evidence yet of Oja's rule active in a biological neural network, a biophysical derivation of a generalization of the rule is possible. Such a derivation requires retrograde signalling from the postsynaptic neuron, which is biologically plausible (see neural backpropagation), and takes the form of where as before is the synaptic weight between the th input and th output neurons, is the input, is the postsynaptic output, and we define to be a constant analogous the learning rate, and and are presynaptic and postsynaptic functions that model the weakening of signals over time. Note that the  angle brackets denote the average and the ∗ operator is a convolution. By taking the pre- and post-synaptic functions into frequency space and combining integration terms with the convolution, we find that this gives an arbitrary-dimensional generalization of Oja's rule known as Oja's Subspace, namely