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