Das Prinzip der Lernenden-Vektor-Quantisierung (Learning Vector Quantization)
wurde 1988 von T. Kohonen vorgestellt.
Beim LVQ- Ansatz handelt es sich um einen überwachten Lernalgorithmus
(supervised learning), wobei die Klassenzugehörigkeit der Eingabevektoren
in der Lernphase bekannt sein muß.
2.1 Beschreibung des LVQ- Algorithmus
Die Erklärung des LVQ-Algorithmus setzt voraus, daß die grundlegenden
Begriffe, wie bspw. Eingabevektor, Netzeingabe oder Aktivierungsfunktion
dem Leser bekannt sind. Bevor der LVQ - Algorithmus dargestellt wird,
werden die verwendeten Zeichen und Gleichungen kurz beschrieben.
(4)
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 und Mittelwert zur Initialisierung der Gewichte
genutzt werden.
Weiterhin wird die initiale Lernschrittweite festgelegt, Kohonen schlägt
aufgrund numerischer Untersuchungen Werte von
(0)
= 0.l ... 0.3 vor.
Während der Initialisierungsphase muß auch die Klassenzugehörigkeit
der einzelnen Neuronen festgelegt werden. Die Anzahl der Neuronen und deren
Zuordnung zu den Klassen hängt stark von der Struktur der Trainingsdaten
ab. Fehlt jeglicher Ansatz über die Komplexität der Trainingsdaten
sollte mit gleicher Anzahl von Neuronen je Klasse begonnen werden. Über
die Analyse der Gewinnerhäufigkeiten jedes Neurons lassen sich während
des Trainingsvorgangs Rückschlüsse auf eine verbesserte Wahl
der Neuronenanzahl ziehen.
2. Schritt: Ermittlung des Gewinnerneurons und Änderung der
Gewichtsvektoren
Die Ermittlung des Gewinnerneurons
erfolgt durch Gl. (2). Als nächstes wird das Gewicht des Gewinners
nach (4) verändert. Dieser Schritt wird für alle festgelegten
Eingabevektoren
des Trainingsdatensatzes wiederholt. Die vollständige Abarbeitung
des Schrittes 2 wird Epoche bezeichnet.
3. Schritt: Reduzierung der Lernschrittweite
Man sollte mit einer kleinen Lernschrittweite starten
(0)=0.l
... 0.3 und dann monoton fallen lassen. Im Verlauf des Lernvorgangs empfiehlt
es sich auf Werte um 0.01 und darunter zu verringern. Der Verlauf
(t)
ist unkritisch, sowohl lineares als auch nichtlineares Absenken von
ist möglich.
4. Schritt: Abbruch
Der Trainingsabbruch ist stark problemabhängig. Deshalb liegen
keine allgemeinen Abbruchkriterien vor. Ein Abbruchkriterium währe
die Anzahl von Iterationen festlegen. Die Empfehlungen für die Iterationsanzahl
unterscheiden sich. Eine Empfehlung /13//4/
für die Iterationsanzahl ist t=z*m (m Anzahl der Neuronen; z=30..50).
Der Parameter z sollte 200 nicht übersteigen, da das Netz sich sonst
auf die Trainingsdaten spezialisiert. /14/
schlägt eine Iterationsanzahl von t=z*k (z=20..100, k ist die Anzahl
aller festgelegten Eingabevektoren des Trainingsdatensatzes) vor. Solange
die Anzahl der festgelegten Iterationen nicht erreicht ist, wird mit Schritt
2 fortgefahren.
Die Gleichung (4) beschreibt die Lernphase des LVQ1. Modifikationen
des Lernvorgangs bilden die Varianten LVQ2, LVQ3 und OLVQ1. In meiner
Arbeit verwende ich nur den LVQ1 und den OLVQ1, benenne diese beiden jedoch
allgemein mit LVQ-Algorithmus.
![]() |
Abb. 2.2 Vereinfachtes Schema eines LVQ- Netzes mit fester Zuordnung
der Neuronen zur Ausgabeschicht.
In dieser Skizze ist der Eingabevektor |