Das Prinzip der "Self-Organizing Map" wurde 1982 von T. Kohonen vorgestellt. Es handelt sich um einen unüberwachten Lernalgorithmus (unsupervised learning). Das bedeutet, daß die Klassenzugehörigkeit der Eingabevektoren in der Lernphase nicht bekannt sein muß.
3.1 Beschreibung des SOM- Algorithmus
Die Erklärung des SOM-Algorithmus setzt voraus, daß die grundlegenden Begriffe, wie bspw. Eingabevektor, Netzeingabe oder Aktivierungsfunktion dem Leser bekannt sind. Bevor der SOM-Algorithmus dargestellt wird, werden die verwendeten Zeichen und Gleichungen kurz beschrieben. Der SOM-Algorithmus ist dem LVQ-Algorithmus in gewisser Weise ähnlich. Die Bestimmung des Gewinnerneurons erfolgt identisch zum LVQ-Algorithmus. Aus diesem Grund übernehme ich die Zeichen für die Eingabevektoren und Gewichtsmatrix sowie die Gleichungen (1), (2) und (3). Die Nummern der Gleichungen übernehme ich ebenfalls.
Im Unterschied zum LVQ besitzt der SOM eine Nachbarschaftsfunktion (Nbf). Mit dem Gewinnerneuron sollen auch die Gewichtsvektoren seiner Nachbarn verändert werden. Bekannte Nachbarschaftsfunktionen sind bspw. Gaußsche Glockenfunktion, Mexikanerhutfunktion, Zylinder und Doppelzylinder. Ich werde nur den Zylinder und Doppelzylinder in der Beschreibung mit aufnehmen, da ich nur diese beiden Nbf in meinem Simulator verwendet habe. Kohonen erwähnt außerdem, daß die Trainingsergebnisse weniger stark vom Typ der Nbf abhängig sind.
Ein weiterer Unterschied zum LVQ ist, daß aufgrund des unüberwachten Lernens die Neuronen nicht mehr fest einzelnen Klassen zugeordnet werden können.
(s. Abb. 3.1) (6)
Abb. 3.1 Nachbarschaftsfunktion Zylinder Alle Indizes, die mit dem Radius erfaßt werden können, ergeben |
Abb.3.2 Nachbarschaftsfunktion Doppelzylinder Alle Indizes, die mit dem Radius erfaßt werden können, ergeben |
1. Schritt: Initialisierung
Zu Beginn des Trainings wird die Gewichtsmatrix W initialisiert. Die
Komponenten der Gewichtsvektoren können mit zufälligen oder aus
den Trainingsdaten gewonnenen Werten besetzt werden. Aus den Trainingsdaten
können bspw. Median oder Mittelwert aller Eingabevektoren zur Initialisierung
der Gewichte genutzt werden. Im allgemeinen hängt beim SOM-Algorithmus
das Trainingsergebnis nicht von der Initialisierung ab. Deshalb empfehle
ich, alle Gewichte der Gewichtsmatrix mit den Mittelwerten der Eingabevektoren
zu besetzen. Weiterhin wird die Lernrate (Lernschrittweite) und die Nachbarschaftsfunktion
festgelegt. Empfohlen wird eine Anfangslernrate
(0)
nahe 1. Der initiale Nachbarschaftsradius sollte größer als
der halbe Kartendurchmesser sein, um ein globales Umordnen der Gewichtsvektoren
in der ersten Phase des Trainings (Ordnungsphase) zu ermöglichen.
Die Anzahl der Neuronen hängt stark von der Struktur der Trainingsdaten
ab. Liegt ein Klassifikationsproblem vor, bei dem die Anzahl der Musterklassen
bekannt ist, jedoch nicht die Komplexität des Problems, könnte
man mit etwa 5 Neuronen je denkbarer Musterklasse erste Versuche unternehmen

Mit den Gewichten
bis
wird die topologische Anordnung der Gewichte in der SOM-Karte angedeutet.
Alle Gewichte, innerhalb des Radius um das Gewinnerneuron
,
sind z.Z. die nächsten Nachbarn von
.
2. Schritt: Ermittlung des Gewinnerneurons und Änderung der Gewichtsvektoren
Die Ermittlung des Gewinnerneurons
erfolgt durch Gl. (2). Als nächstes werden das Gewinnerneuron und
alle seine nächsten Nachbarn mit Gl. (8) verändert. Der Schritt
2 wird für alle festgelegten Eingabevektoren
des Trainingsdatensatzes wiederholt , bevor Schritt 3 beginnt. Die vollständige
Abarbeitung des Schrittes 2 wird Epoche genannt, ein Einzelschritt
Iteration.
3. Schritt: Reduzierung der Lernschrittweite und der Nachbarschaftsfunktion
Beim SOM wir das Training in zwei Phasen geteilt. Das Verhalten der Lernschrittweite und des Nachbarschaftsradius wird für jede Phase getrennt behandelt.
Ordnungsphase: Die Ordnungsphase ist durch einen geringe
Anzahl von Epochen (10 .. 100) gekennzeichnet. Während der Ordnungsphase
wird der Nachbarschaftsradius ständig verringert. Die Lernschrittweite
startet mit
(0)
= 0.5...1.0 und sollte dann stark monoton auf etwa 0.05 und niedriger fallen.
Konvergenzphase: Die Gewichtsvektoren werden nur noch
geringfügig verändert (Feinabstimmung). Die Anzahl der Epochen
mit 100 bis 1000 Wiederholungen ist sehr aufwendig und läßt
sich leider nicht umgehen. Die Lernrate ist nun sehr klein
und sollte leicht absinken. Die Nbf ist unkritisch, oft wird eine Einer-,
Vierer- oder Achter-Nbf verwendet.
4. Schritt: Kalibrierung der Karte und Abbruch
Häufig wird das Training nach einer festen Anzahl von Epochen oder
falls die Gewichts-änderungen
abgebrochen.
Im letzten Trainingsschritt wird die SOM-Karte kalibriert (geeicht).
Um die Zugehörigkeit eines Neurons zu einer Musterklasse zu bestimmen,
wird ein relativ kleiner Stichprobenumfang von Mustervektoren (Eingabevektoren)
mit Klassenzugehörigkeits-informationen benötigt. Dieser Stichprobenumfang
muß so beschaffen sein, daß jedem Neuron der SOM-Karte mindestens
ein Vektor dieser Menge durch minimale Distanz (Gl. 2) zugeordnet wird,
damit man die Klassenzugehörigkeit bestimmen kann. Dies ist im Prinzip
ein Lernvorgang, der dem "supervised learning" entspricht, da die Klassenzugehörigkeit
des präsentierten Eingabevektors in diesem Fall bekannt sein muß.