I like to stop the execution when Batch SOM becomes converged. What error function can I use to determine the convergence?
The Self-Organizing Map (SOM), commonly also known as Kohonen network (Kohonen 1982, Kohonen 2001) is a computational method for the visualization and analysis of high-dimensional data, especially experimentally acquired information.
We saw that the self organization has two identifiable stages: ordering and convergence. 3. We ended with an overview of the SOM algorithm and its five stages: initialization, sampling, matching, updating, and continuation.
Kohonen's networks are one of basic types of self-organizing neural networks. The ability to self-organize provides new possibilities - adaptation to formerly unknown input data. It seems to be the most natural way of learning, which is used in our brains, where no patterns are defined.
All the entire learning process occurs without supervision because the nodes are self-organizing. They are also known as feature maps, as they are basically retraining the features of the input data, and simply grouping themselves as indicated by the similarity between each other.
I'm pretty sure you mean cost function rather than error function.
SOM does not require an error function (nor a cost function).
At the top level of the Machine Learning taxonomy, SOM is an unsupervised learning technique--no target vector, and therefore no "target-vector" minus "value_at_the_current_iteration" to minimize.
Another way to think of it: The role of a cost function is to minimize some cost; in ML, it's the delta between model calculation and supplied data. In SOM, no data is supplied to the algorithm for this purpose.
(I realize that this is somewhat confusing because the input data from which the network is created is often referred to as "training data"--probably that's the role of input data in supervised ML techniques, which are far more common than unsupervised ones. It's probably also confusing because Teuvo Kohonen, the person credited with 'inventing' SOM, originally referred to them as a class of neural networks--and of course NN is a supervised technique and does rely on a cost function (often gradient descent.))
Finally, just to make sure, i checked my own SOM code as well as the code from the ML textbook by Marsland, "Machine Learning: An Algorithmic Perspective". In both my code and his, the only stopping criterion whatever value for "maximum iterations" the user passed in when he called the main function.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With