Die Berechnung von Kohonennetzen erfolgt in der Trainingsphase in folgenden Schritten:
Startwerte festlegen: Die Gewichte werden zufällig generiert.
Außerdem legt man die Lernkonstante, den Radius, die
Nachbarschaftsfunktion sowie die maximale Anzahl an Durchläufen fest (s. auch folgender Abschnitt).
Auswahl eines Inputvektors: Ein Inputvektor wird ausgewählt bzw. zufällig generiert.
Aktivitätsberechnung und Auswahl: Die Aktivität der Output-Neuronen wird
berechnet. Die Unit mit der maximalen Erregung wird ausgewählt.
Das ist jene, deren Gewichtsvektor die geringste Distanz zum Inputmuster
aufweist, sprich dem Inputvektor am ähnlichsten ist.
Gewichtsmodifikation: Die Gewichte zur Gewinner-Unit werden so verändert,
dass sie dem Input-Vektor ein wenig ähnlicher werden.
Ebenso, allerdings in abgeschwächter Form, die Gewichte aus der Nachbarschaft dieser Unit.
Zudem wird der Lernparameter (alpha) reduziert und
gegebenenfalls der Radius für die Nachbarschaft eingegrenzt.
Danach geht es wieder mit dem ersten Schritt von vorne los.
Abbruch: Der Abbruch erfolgt, wenn die maximale
Anzahl der Durchläufe erreicht ist. Durch die ständigen
Gewichtsveränderungen werden einzelne Gewichte bestimmten
Inputvektoren immer ähnlicher (siehe
Kompetitive Netze).
Die Lernkonstante wird kontinuierlich reduziert, wodurch
die Korrekturen der Gewichte zu Beginn größer ausfallen
als am Ende des Trainings. Somit stellt sich allmählich
ein stabiler Zustand ein. Zusätzlich kann noch
der Radius der Nachbarschaft reduziert werden, um den
Einfluss auf der Gewinner-Einheit benachbarte Units kontinuierlich zu reduzieren.