Self Organizing Neural Network (SONN) is an unsupervised learning model in Artificial Neural Network termed as Self-Organizing Feature Maps or Kohonen Maps. These feature maps are the generated two-dimensional discretized form of an input space during the model training (based on competitive learning).
This phenomenon is very similar to biological systems. In the human cortex, sensory input spaces (e.g., auditory, motor, tactile, visual, somatosensory, etc.) of multi-dimension are represented by two-dimensional maps. Such projection of higher dimensional inputs to reduced dimensional maps is termed as topology conserving. And this topology-conserving mapping can be achieved by the Self Organizing Networks.
Why SONN is required?
These Self-Organizing Maps are used for classification and visualization of higher-dimensional data in lower-dimension.
- Layers: SONN is with two layers: Fully connected input layer and output (map) layer. The output layer is termed as Kohonen Layer
- Intralayer Connections: All the neurons in output layer are connected in a specific neighborhood with some topology. These are the unweighted lateral connections but responsible for the competitive learning.
- Lateral Feedback Connections: These connections generate the excitatory and inhibitory effects, based on the distance from the winning neurons.
This is accomplished by the utilization of a Mexican hat function which depicts the synaptic weights between the neurons in the Kohonen layer.
Phases of SONN:
- Learning phase: Construction of maps; the network is designed with a competitive process using the training samples.
- Prediction phase: Classification of new data; for the new data samples, a specific location is provided on the converged map.
- Kohonen Network underperforms on categorical data, even worse for mixed types data.
- A generative model for the data can not be developed.
- Model can not be trained against slowly evolving data.
- Learing Phase of the model is time consuming.
- Self-organizing neral network differs from other artificial neural networks as instead of error-correction learning methods (like backpropagation with gradient descent), it involves competitive learning for the model training.
- ANN - Implementation of Self Organizing Neural Network (SONN) from Scratch
- ANN - Self Organizing Neural Network (SONN) Learning Algorithm
- Introduction to ANN | Set 4 (Network Architectures)
- Implementing Artificial Neural Network training process in Python
- Introduction to Convolution Neural Network
- Introduction to Artificial Neural Network | Set 2
- A single neuron neural network in Python
- Applying Convolutional Neural Network on mnist dataset
- Introduction to Recurrent Neural Network
- Importance of Convolutional Neural Network | ML
- Neural Network Advances
- ML - Neural Network Implementation in C++ From Scratch
- Choose optimal number of epochs to train a neural network in Keras
- Implementation of Artificial Neural Network for AND Logic Gate with 2-bit Binary Input
- Implementation of Artificial Neural Network for OR Logic Gate with 2-bit Binary Input
- Implementation of Artificial Neural Network for NAND Logic Gate with 2-bit Binary Input
- Implementation of Artificial Neural Network for NOR Logic Gate with 2-bit Binary Input
- Implementation of Artificial Neural Network for XOR Logic Gate with 2-bit Binary Input
- Implementation of Artificial Neural Network for XNOR Logic Gate with 2-bit Binary Input
- Implementation of neural network from scratch using NumPy
If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to email@example.com. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.