Self-Organizing Map
3.0 Der SOM- Algorithmus

/4//14/

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

/4//14/

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.

jedes dieser m Neuronen hat dann einen Gewichtsvektor:  d.h. das Neuronen, dessen Gewichtsvektor dem Eingabevektor am ähnlichsten ist, gewinnt den Wettbewerb Der Zylinder ist eine spezielle Form des Doppelzylinders. Der Doppelzylinder wird zum Zylinder, wenn  den Wert 1 oder 0 erhält.
 
 
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  
  Nun sind die wesentlichen Bestandteile der SOM erklärt. Die Anwendung dieser Gleichungen sowie Empfehlungen für die Wahl der Parameter werden durch die Schritte 1 bis 4 auf der nächsten Seite näher dargestellt. Allgemeine Aussagen und Erfahrungen zu den Parametern der SOM können im Abschnitt 3 dieses Kapitels nachgelesen werden.

 

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

Abb. 3.3 Schema einer tetragonalen 6x8 SOM-Karte

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ß.


Self-Organizing Map