27.02.2013 Aufrufe

Nicht-negative Matrix-Faktorisierung (NMF) für die Mustererkennung

Nicht-negative Matrix-Faktorisierung (NMF) für die Mustererkennung

Nicht-negative Matrix-Faktorisierung (NMF) für die Mustererkennung

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

<strong>Nicht</strong>-<strong>negative</strong><br />

<strong>Matrix</strong>-<strong>Faktorisierung</strong> (<strong>NMF</strong>)<br />

<strong>für</strong> <strong>die</strong> <strong>Mustererkennung</strong><br />

Alexander Gloye<br />

11. Februar 2005


Überblick<br />

� Motivation<br />

� Datenaufbereitung<br />

� <strong>Matrix</strong>faktorisierung<br />

� Methodenvergleich<br />

� Algorithmus zur <strong>NMF</strong><br />

� Erweiterungen<br />

� Anwendungsbeispiele<br />

� Zusammenfassung<br />

11. Februar 2005 Alexander Gloye 2


Motivation Merkmalsanalyse<br />

Quelle: http://www.pxlartist.de<br />

11. Februar 2005 Alexander Gloye 3


Vektorielle Datenko<strong>die</strong>rung<br />

11. Februar 2005 Alexander Gloye 4<br />

...


Bild(de)ko<strong>die</strong>rung<br />

Datensatz Basis Ko<strong>die</strong>rung<br />

v ≈ W · h<br />

≈ ·<br />

11. Februar 2005 Alexander Gloye 5<br />

1<br />

0<br />

0<br />

1<br />

1


<strong>Matrix</strong>-<strong>Faktorisierung</strong><br />

V ≈ V’ = W · H<br />

=<br />

Datensatz Merkmalsbasis Ko<strong>die</strong>rung<br />

11. Februar 2005 Alexander Gloye 6<br />

·


<strong>Matrix</strong>faktorisierung<br />

Ausgewählte Methoden<br />

� Vektorquantisierung<br />

� Hauptkomponentenanalyse<br />

� <strong>Nicht</strong>-<strong>negative</strong> <strong>Matrix</strong>faktorisierung<br />

11. Februar 2005 Alexander Gloye 7


Beispieldaten Gesichter<br />

19×19=361 Pixel<br />

2429 Gesichter<br />

11. Februar 2005 Alexander Gloye 8


Vektorquantisierung<br />

� Repräsentative Vektoren<br />

zur Aufteilung des Raums<br />

als Basis W<br />

� Hier Linde-Buzo-Gray<br />

� Zuordnung durch<br />

„nächsten Nachbarn“<br />

20 Basisvektoren<br />

11. Februar 2005 Alexander Gloye 9


Vektorquantisierung<br />

Ko<strong>die</strong>rung h<br />

Gewichtete<br />

Basis W<br />

Original v Rekonstruktion Wh<br />

11. Februar 2005 Alexander Gloye 10


Hauptkomponentenanalyse<br />

� Eigenvektoren der<br />

Kovarianzmatrix der Daten<br />

bilden <strong>die</strong> Basis W<br />

� “Eigenfaces”<br />

20 Basisvektoren<br />

11. Februar 2005 Alexander Gloye 11<br />

positiv<br />

Null<br />

negativ


Gewichtete<br />

Hauptkomponentenanalyse<br />

Ko<strong>die</strong>rung h<br />

Basis W<br />

Original v Rekonstruktion Wh<br />

11. Februar 2005 Alexander Gloye 12


<strong>Nicht</strong>-<strong>negative</strong> <strong>Matrix</strong>faktorisierung<br />

� Basis W und Ko<strong>die</strong>rung H nur positive Werte<br />

oder Null<br />

� Der Fehler V bzgl. V’ soll minimiert werden<br />

20 Basisvektoren<br />

11. Februar 2005 Alexander Gloye 13


<strong>Nicht</strong>-<strong>negative</strong> <strong>Matrix</strong>faktorisierung<br />

Ko<strong>die</strong>rung h<br />

Gewichtete<br />

Basis W<br />

Original v Rekonstruktion Wh<br />

11. Februar 2005 Alexander Gloye 14


Beispieldaten Ziffern<br />

12×16=192 Pixel<br />

1000 Ziffern<br />

11. Februar 2005 Alexander Gloye 15


Vektorquantisierung<br />

Ko<strong>die</strong>rung h<br />

Gewichtete<br />

Basis W<br />

Original v Rekonstruktion Wh<br />

11. Februar 2005 Alexander Gloye 16


Hauptkomponentenanalyse<br />

Ko<strong>die</strong>rung h<br />

Gewichtete<br />

Basis W<br />

Original v Rekonstruktion Wh<br />

11. Februar 2005 Alexander Gloye 17


<strong>Nicht</strong>-<strong>negative</strong> <strong>Matrix</strong>faktorisierung<br />

Ko<strong>die</strong>rung h<br />

Gewichtete<br />

Basis W<br />

Original v Rekonstruktion Wh<br />

11. Februar 2005 Alexander Gloye 18


Algorithmus zur <strong>NMF</strong><br />

� Expectation-Maximization (EM)-Algorithmus<br />

� W und H werden wechelseitig optimiert<br />

� Für <strong>die</strong> Fehlerfunktion<br />

� Euklidische Distanz:<br />

−V<br />

′<br />

� Kullback-Leibler Abweichung:<br />

V<br />

∑ ( v − ′ ) ij vij<br />

11. Februar 2005 Alexander Gloye 19<br />

2<br />

=<br />

ij<br />

( ) ∑ ⎟ ⎛ v ⎞<br />

ij<br />

D V ||<br />

V ′ = ⎜v<br />

− + ′<br />

⎜ ij log vij<br />

vij<br />

ij ⎝ v′<br />

ij ⎠<br />

2


Fehlerfunktion<br />

11. Februar 2005 Alexander Gloye 20


Algorithmus zur <strong>NMF</strong><br />

w<br />

w<br />

h<br />

ia<br />

ia<br />

aµ<br />

←<br />

←<br />

←<br />

w<br />

ia<br />

∑<br />

h<br />

j<br />

aµ<br />

∑<br />

∑<br />

11. Februar 2005 Alexander Gloye 21<br />

w<br />

ia<br />

ja<br />

iµ<br />

v′<br />

µ iµ<br />

w<br />

v<br />

h<br />

aµ<br />

v<br />

w<br />

iµ<br />

ia<br />

v′<br />

i iµ


Anpassung von W<br />

v<br />

v<br />

w<br />

iµ<br />

w ← w<br />

∑ i h<br />

ia ia a<br />

v′<br />

v′<br />

µ i iµ<br />

w<br />

ia<br />

←<br />

∑<br />

j<br />

w<br />

ia<br />

w<br />

ja<br />

h<br />

aµ<br />

V/V’ v/v’<br />

W Hh<br />

11. Februar 2005 Alexander Gloye 22<br />

i<br />

i<br />

a<br />

a


Anpassung von W<br />

w ← w ∑<br />

iµ<br />

ia ia<br />

v′<br />

µ iµ<br />

w<br />

ia<br />

←<br />

∑<br />

j<br />

w<br />

ia<br />

w<br />

ja<br />

v<br />

h<br />

aµ<br />

W H<br />

11. Februar 2005 Alexander Gloye 23<br />

i<br />

V/V’<br />

µ<br />

i<br />

a<br />

µ<br />

a


Anpassung von H<br />

h<br />

v<br />

∑ w<br />

i<br />

ia<br />

v′<br />

← aµ<br />

haµ<br />

µ<br />

i iµ<br />

W ist normiert!<br />

V/V’<br />

W H<br />

11. Februar 2005 Alexander Gloye 24<br />

i<br />

µ<br />

i<br />

a<br />

µ<br />

a


11. Februar 2005 Alexander Gloye 25<br />

Gra<strong>die</strong>ntenabstieg<br />

( ) ∑ ⎟ ⎟<br />

⎠<br />

⎞<br />

⎜<br />

⎜<br />

⎝<br />

⎛<br />

′<br />

+<br />

−<br />

′<br />

=<br />

′<br />

ij<br />

ij<br />

ij<br />

ij<br />

ij<br />

ij<br />

v<br />

v<br />

v<br />

v<br />

v<br />

V<br />

V<br />

D log<br />

||<br />

1<br />

'<br />

'<br />

)<br />

'<br />

||<br />

(<br />

+<br />

−<br />

=<br />

∂ v<br />

v<br />

v<br />

v<br />

v<br />

D<br />

'<br />

1<br />

'<br />

1<br />

1<br />

'<br />

1<br />

'<br />

i<br />

i<br />

ia<br />

ia<br />

i<br />

i<br />

ia<br />

ia<br />

i<br />

i<br />

ia<br />

ia<br />

ia<br />

i<br />

i<br />

ia<br />

ia<br />

v<br />

v<br />

w<br />

w<br />

v<br />

v<br />

w<br />

w<br />

v<br />

v<br />

w<br />

w<br />

w<br />

v<br />

v<br />

w<br />

w<br />

←<br />

⎟<br />

⎟<br />

⎠<br />

⎞<br />

⎜<br />

⎜<br />

⎝<br />

⎛<br />

−<br />

+<br />

←<br />

⎟<br />

⎟<br />

⎠<br />

⎞<br />

⎜<br />

⎜<br />

⎝<br />

⎛<br />

−<br />

+<br />

←<br />

⎟<br />

⎟<br />

⎠<br />

⎞<br />

⎜<br />

⎜<br />

⎝<br />

⎛<br />

−<br />

+<br />

← λ<br />

⎟<br />

⎟<br />

⎠<br />

⎞<br />

⎜<br />

⎜<br />

⎝<br />

⎛<br />

∂<br />

−<br />

+<br />

←<br />

'<br />

)<br />

'<br />

||<br />

(<br />

i<br />

i<br />

i<br />

ia<br />

ia<br />

v<br />

v<br />

v<br />

D<br />

w<br />

w λ


Algorithmus zur <strong>NMF</strong><br />

� 200 Iteration in Matlab implementiert.<br />

20 Basisvektoren<br />

11. Februar 2005 Alexander Gloye 26


Erweiterungen der <strong>NMF</strong><br />

� Sparsame Repräsentation der Basis<br />

� Lokale Repräsentation der Merkmale<br />

� Durch Erweiterung der Fehlerfunktion<br />

� Zum Beispiel Lokal <strong>NMF</strong> (L<strong>NMF</strong>)<br />

D<br />

⎛<br />

⎜<br />

⎝<br />

( ) ∑<br />

ij<br />

V || V ′ = ⎜v<br />

− + ′ ⎟ + ∑ + ∑<br />

ij log vij<br />

vij<br />

wikwij<br />

ij<br />

v<br />

v′<br />

ij<br />

11. Februar 2005 Alexander Gloye 27<br />

⎞<br />

⎟<br />

⎠<br />

ijk<br />

Merkmalsvektoren<br />

orthogonal.<br />

ij<br />

h<br />

2<br />

ij<br />

Ko<strong>die</strong>rung nicht<br />

sparsam!


Erweiterungen der <strong>NMF</strong><br />

� 25 Merkmale je 28×23 Pixel<br />

� Lokal <strong>NMF</strong> (L<strong>NMF</strong>)<br />

� Fisher <strong>NMF</strong> (F<strong>NMF</strong>)<br />

<strong>NMF</strong> L<strong>NMF</strong> F<strong>NMF</strong><br />

Quelle: Wang u.a.<br />

11. Februar 2005 Alexander Gloye 28


Anwendungsbeispiele<br />

� Semantische Merkmalsextraktion<br />

oder thematische Zuordnung aus<br />

Texten.<br />

� Automatische Transkription<br />

polyphoner Musik<br />

11. Februar 2005 Alexander Gloye 29


Zusammenfassung<br />

� <strong>NMF</strong> ist eine Alternative zur VQ und PCA<br />

� Leichte Interpretierbarkeit der Merkmale<br />

� Einfache Implementierung.<br />

� Ko<strong>die</strong>rungsvektor kann <strong>für</strong> Gesichtserkennung,<br />

Handschrifterkennung usw.<br />

benutzt werden.<br />

� Anwendungsbereich wächst<br />

11. Februar 2005 Alexander Gloye 30


Literatur<br />

Daniel Lee and Sebastian Seung: Learning the parts of objects by<br />

non-<strong>negative</strong> matrix factorization,<br />

Nature 401, 788-791 (1999).<br />

Daniel Lee and Sebastian Seung: Algorithms for Non-<strong>negative</strong> <strong>Matrix</strong><br />

Factorization,<br />

Advances in Neural Information Processing Systems, vol. 13, pp. 556-562, 2001.<br />

Yuan Wang et al.: Fisher Non-<strong>negative</strong> <strong>Matrix</strong> Factorization for<br />

Learning Local Features,<br />

Asian Conference on Computer Vision, Korea, January 27-30, 2004.<br />

Patrik Hoyer: Non-<strong>negative</strong> <strong>Matrix</strong> Factorization with Sparseness<br />

Constraints,<br />

Journal of Machine Learning Research 5:1457-1469, 2004.<br />

Farial Shahnaz et al.: Document Clustering Using Non<strong>negative</strong> <strong>Matrix</strong><br />

Factorization,<br />

To appear in the Journal on Information Processing & Management, Elsevier Preprint,<br />

August 2004.<br />

Paris Smaragdis and Judith Brown: Non-Negative <strong>Matrix</strong> Factorization<br />

for Polyphonic Music Transcription,<br />

IEEE Workshop on Applications of Signal Processing to Audio and Acoustics, 2003.<br />

11. Februar 2005 Alexander Gloye 31


Fragen<br />

?<br />

11. Februar 2005 Alexander Gloye 32

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!