Lernende Vektorquantisierung

aus Wikipedia, der freien Enzyklopädie
Wechseln zu: Navigation, Suche

Lernende Vektorquantisierung, englisch learning vector quantization (kurz: LVQ), ist ein Verfahren aus dem Bereich der künstlichen neuronalen Netze. Es dient der Klassifikation von nichtlinearen Problemen.

VQ = Vektorquantisierung: Verfahren zum unüberwachten Clustering

LVQ = Lernende VQ

Klassifikation: Abbildung in K Klassen Trainingmenge P

  P = {(xi,yi) in R^nx{1..K}|i}

LVQ-Netz: gegeben durch Prototypen (w1,Y1)…(wk,Yk) in R^n{1..K} definiert Abbildung x → Yi mit |x-wi| minimal, also Gewinner nach WTA (Winner Takes It All)

LVQ1: Es werden für die Klassen 1 bis k ein oder mehrere Neuronen erzeugt und deren Gewichtsvektoren zufällig, mit zufälligen Pattern der jeweiligen Klasse, durch die Schwerpunkte der jeweiligen Klasse oder anders sinnvoll initialisiert. Dann werden genau wie bei Vektorquantisierung die Muster präsentiert und je ein Gewinnerneuron mit kleinstem euklidischem Abstand zur Eingabe berechnet. Dabei ist die Lernrate \eta \isin[0,1] entweder konstant oder im Laufe des Verfahrens fallend, um Konvergenz zu erzwingen.

Algorithmus:

  init wj
  repeat
     Wähle (xi,yi)
     bestimme Gewinner (wk,yk)
     wk = wk+\eta(xi-wk) falls yi = Yk (wenn yi die durch wk repräsentierte Klasse)
          wk-\eta(xi-wk) sonst

Die Konvergenz von LVQ1 ist nicht bewiesen; es gibt in der Praxis Probleme bei überlappenden Daten.