Search code examples
algorithmmachine-learningsomself-organizing-mapsconvergence

Convergence criterion for (batch) SOM (Self-Organizing Map, aka "Kohonen Map")?


I like to stop the execution when Batch SOM becomes converged. What error function can I use to determine the convergence?


Solution

  • When talking about convergence for SOMs, for a given map size (n x m), you want to know whether sufficient iterations of the algorithm have run to ensure the map is "Stable". This means, loosely speaking, do new inputs (observations) to the map get placed at the same neurons /codebook vectors if the map is retrained many times?(Ignoring the issue of the fact that the arrangement of the map may switch around when it is trained each time, which is fine as long as the clusters are still arranged in a stable way).

    To assist in answering the question of whether enough iterations have run, see the academic papers listed below. Both papers also touch on the issue of what map size is appropriate (what n x m values help ensure convergence of the SOM?).

    One of the traditional approaches that has been popular in papers is given here:

    Statistical tools to assess the reliability of self-organizing maps (Bodt, Cottrell, Verleysen)

    More recently, this method has come about, which looks rather promising:

    A CONVERGENCE CRITERION FOR SELF-ORGANIZING MAPS , masters thesis, Benjamin h. ott (University of Rhode island)

    This thesis, in my opinion, was really well written and a pleasure to read. What's also nice is that this research has been written up as a SOM convergence test in a (rather unknown) package in R, called popsom. Check it out:

    popsom