79
Singular Value Decomposition (SVD)/Singul ¤ arwertzerlegung Katja Markert, einige Folien von Julian Hitschler Institut f ¤ ur Computerlinguistik Uni Heidelberg [email protected] June 11, 2019

Singular Value Decomposition (SVD)/Singulärwertzerlegung · Singular Value Decomposition (SVD)/Singularwertzerlegung¨ Katja Markert, einige Folien von Julian Hitschler Institut

  • Upload
    others

  • View
    14

  • Download
    0

Embed Size (px)

Citation preview

Singular Value Decomposition(SVD)Singularwertzerlegung

Katja Markert einige Folien von Julian Hitschler

Institut fur ComputerlinguistikUni Heidelberg

markertcluni-heidelbergde

June 11 2019

Bisher und heute

1 Hintergrund zu den mathematischen Begriffen und Methoden diefur Matrizenzerlegung notwendig ist

2 Jetzt der SVD-Hauptsatz (mit Konstruktion aber ohne Beweis)3 Die Intuition dahinter4 Reduced SVDrarr Dichte Embeddings5 Performanz von diesen dichten SVD-Embeddings in NLP

2

Ubersicht

1 SVD HauptsatzDer SVD-SatzKonstruktion am Beispiel Methodologie IKonstruktionsmethodologie II

2 Interpretation der SVD

3 Reduced SVD

4 Verwendung in NLP

3

Ubersicht

1 SVD HauptsatzDer SVD-SatzKonstruktion am Beispiel Methodologie IKonstruktionsmethodologie II

2 Interpretation der SVD

3 Reduced SVD

4 Verwendung in NLP

4

SVD

Eine reellwertige mtimesn - Matrix A lasst sich wie folgt faktorisieren

A = UΣV T

U ist eine orthonormale mtimesm - Matrix

Σ ist eine ldquodiagonalerdquo mtimesn - Matrix

V T ist die Transponierte einer orthonormalen ntimesn - Matrix

5

Singularwertzerlegung

A =

a11 a12 a1n

a21 a22 a2n

am1 am2 amn

=

u11 u12 u1mu21 u22 u2m

um1 um2 umm

σ11 0 0 00 σ22 0 0

0 0 0 σmn

v11 v12 v1nv21 v22 v2nv31 v32 v3n

vn1 vn2 vnn

T

Diagonale Eintrage in Σ werden als Singularwerte von A bezeichnet

Spalten in U werden als linke Singularvektoren von A bezeichnet

Spalten in V werden als rechte Singularvektoren von A bezeichnet

6

Konstruktionsmethodologie I

1 Berechne die quadratische mtimesm Matrix A middotAT

2 Berechne die Eigenwerte σ2i und Eigenvektoren ui von A middotAT

3 Die Vektoren ui werden orthonormalisiert (Gram-Schmidt) undbilden die Spaltenvektoren von U

4 Berechne die quadratische ntimesn Matrix AT middotA5 Berechne die Eigenwerte σ2

j und Eigenvektoren vj von AT middotATip die positiven Eigenwerte sind gleich zu denen von A middotAT

6 Die Vektoren vj werden orthonormalisiert (Gram-Schmidt) undbilden die Spaltenvektoren von V

7 Die Wurzeln der σ2-Werte werden in absteigender Reihenfolgedie Eintrage von Σ

8 Eventuell Korrektur der Vorzeichen von U bzw V

7

Konstruktionsmethodologie I

1 Berechne die quadratische mtimesm Matrix A middotAT

2 Berechne die Eigenwerte σ2i und Eigenvektoren ui von A middotAT

3 Die Vektoren ui werden orthonormalisiert (Gram-Schmidt) undbilden die Spaltenvektoren von U

4 Berechne die quadratische ntimesn Matrix AT middotA5 Berechne die Eigenwerte σ2

j und Eigenvektoren vj von AT middotATip die positiven Eigenwerte sind gleich zu denen von A middotAT

6 Die Vektoren vj werden orthonormalisiert (Gram-Schmidt) undbilden die Spaltenvektoren von V

7 Die Wurzeln der σ2-Werte werden in absteigender Reihenfolgedie Eintrage von Σ

8 Eventuell Korrektur der Vorzeichen von U bzw V

7

Konstruktionsmethodologie I

1 Berechne die quadratische mtimesm Matrix A middotAT

2 Berechne die Eigenwerte σ2i und Eigenvektoren ui von A middotAT

3 Die Vektoren ui werden orthonormalisiert (Gram-Schmidt) undbilden die Spaltenvektoren von U

4 Berechne die quadratische ntimesn Matrix AT middotA5 Berechne die Eigenwerte σ2

j und Eigenvektoren vj von AT middotATip die positiven Eigenwerte sind gleich zu denen von A middotAT

6 Die Vektoren vj werden orthonormalisiert (Gram-Schmidt) undbilden die Spaltenvektoren von V

7 Die Wurzeln der σ2-Werte werden in absteigender Reihenfolgedie Eintrage von Σ

8 Eventuell Korrektur der Vorzeichen von U bzw V

7

Konstruktionsmethodologie I

1 Berechne die quadratische mtimesm Matrix A middotAT

2 Berechne die Eigenwerte σ2i und Eigenvektoren ui von A middotAT

3 Die Vektoren ui werden orthonormalisiert (Gram-Schmidt) undbilden die Spaltenvektoren von U

4 Berechne die quadratische ntimesn Matrix AT middotA5 Berechne die Eigenwerte σ2

j und Eigenvektoren vj von AT middotATip die positiven Eigenwerte sind gleich zu denen von A middotAT

6 Die Vektoren vj werden orthonormalisiert (Gram-Schmidt) undbilden die Spaltenvektoren von V

7 Die Wurzeln der σ2-Werte werden in absteigender Reihenfolgedie Eintrage von Σ

8 Eventuell Korrektur der Vorzeichen von U bzw V

7

Beispiel (aus Kirk Bakers Tutorial)

Sei

A =

(3 1 1minus1 3 1

)

8

Schritt 1 Berechne A middotAT

A middotAT =

(3 1 1minus1 3 1

)3 minus11 31 1

=

(11 11 11

)

9

Schritt II Bestimme die Eigenwerte und Eigenvektoren vonA middotAT

Setze (11 11 11

)middot(

x1

x2

)= σ

(x1

x2

)Damit ergibt sich das Gleichungssystem

1 11x1 + x2 = σx1

2 x1 + 11x2 = σx2

10

Schritt II Bestimme die Eigenwerte und Eigenvektoren vonA middotAT

Setze (11 11 11

)middot(

x1

x2

)= σ

(x1

x2

)Damit ergibt sich das Gleichungssystem

1 11x1 + x2 = σx1

2 x1 + 11x2 = σx2

10

Schritt II Bestimme die Eigenwerte und Eigenvektoren vonA middotAT

1 11x1 + x2 = σx1

2 x1 + 11x2 = σx2

Ergibt z B nach Umformungen (hier Zeilenabzug)

10x1minus10x2 = σx1minusσx2

und damit Eigenwert σ1 = 10Ergibt z B nach Umformungen (hier Zeilenaddition)

12x1 + 12x2 = σx1 + σx2

und damit Eigenwert σ2 = 12

11

Schritt II Bestimme die Eigenwerte und Eigenvektoren vonA middotAT

1 11x1 + x2 = σx1

2 x1 + 11x2 = σx2

Zwei Eigenwerte σ1 = 10 und σ2 = 12 Damit ergibt sich fur dieEigenvektoren

1 11x1 + x2 = 10x1

2 x1 + 11x2 = 10x2 und damit3 x1 =minusx2

4 Wir wahlen x1 = 1 und damit x2 =minus1

sowie

1 11x1 + x2 = 12x1

2 x1 + 11x2 = 12x2 und damit3 x1 = x2

4 Wir wahlen x1 = 1 und damit x2 = 112

Schritt III Bestimme U

Starte mit einer Matrix U die die bestimmten Eigenvektoren von A middotAT

geordnet nach der Groszlige der jeweiligen Eigenwerte enthalt

1 Fur Eigenwert σ1 = 10 hatten wir x1 = 1 und damit x2 =minus1gewahlt

2 Fur Eigenwert σ1 = 12 hatten wir x1 = 1 und damit x2 = 1 gewahlt3 Spaltenvektoren nach Eigenwertgroszlige geordnet

U =

(1 11 minus1

)

13

Schritt III Bestimme U

Orthonormalisiere mit Gram-Schmidt die Spaltenvektoren von U

U =

(1 11 minus1

)

1 Normalisiere ersten Spaltenvektor u(1) = u(1)

u(1) =

(1radic2

1radic2

)2 Berechne die Senkrechte u(2)minus〈u(1) u(2)〉 middotu(1)

3 Also

(1minus1

)minus〈

(1radic2

1radic2

)

(1minus1

)〉 middot

(1radic2

1radic2

)=

(1minus1

)4 Normalisiere die Senkrechte

(1minus1

)ergibt u(2) =

(1radic2minus1radic

2

)

14

Schritt III Bestimme U

Damit ist

U =

(1radic2

1radic2

1radic2

minus1radic2

)

15

Schritt IV Berechne AT middotA

AT middotA =

3 minus11 31 1

( 3 1 1minus1 3 1

)=

10 0 20 10 42 4 2

16

Schritt V Bestimme die Eigenwerte und Eigenvektoren vonAT middotA

Setze 10 0 20 10 42 4 2

middotx1

x2

x3

= σ

x1

x2

x3

Damit ergibt sich das Gleichungssystem

1 10x1 + 2x3 = σx1

2 10x2 + 4x3 = σx2

3 2x1 + 4x2 + 2x3 = σx3

17

Schritt V Bestimme die Eigenwerte und Eigenvektoren vonAT middotA

Setze 10 0 20 10 42 4 2

middotx1

x2

x3

= σ

x1

x2

x3

Damit ergibt sich das Gleichungssystem

1 10x1 + 2x3 = σx1

2 10x2 + 4x3 = σx2

3 2x1 + 4x2 + 2x3 = σx3

17

Schritt V Bestimme die Eigenwerte und Eigenvektoren vonAT middotA

1 10x1 + 2x3 = σx1

2 10x2 + 4x3 = σx2

3 2x1 + 4x2 + 2x3 = σx3

Gleichung (ii) minus zweimal (i)

10x2 + 4x3minus20x1minus4x3 = σx2minus2σx2

und damit σ1 = 10

Mit ahnlichen Umformungen kann man σ2 = 12 sowie σ3 = 0berechnen

18

Schritt V Bestimme die Eigenwerte und Eigenvektoren vonAT middotA

Drei Eigenwerte σ1 = 10 σ2 = 12 und σ3 = 0 Damit ergibt sich furdie Eigenvektoren

1 10x1 + 2x3 = 10x12 10x2 + 4x3 = 10x23 2x1 + 4x2 + 2x3 = 10x3 und damit4 x3 = 0 aus der ersten Gleichung und damit5 2x1 + 4x2 = 0 bzw x1 =minus2x26 Wir konnen die Lange des Eigenvektors wieder frei wahlen da

wir danach eh normalisieren Allerdings sind die Vorzeichen nichtmehr frei wahlbar da ja insgesamt bei U middotΣ middotV T wieder Aherauskommen muss Darauf macht das Tutorial nichtaufmerksamWir wahlen x1 = 2x2 =minus1 hatten aber auch(falschlicherweise)x1 =minus2x2 = 1 wahlen konnen

Ebenso bestimmen wir fur σ2 = 12 einen Eigenvektor (121) und furσ3 = 0 einen Eigenvektor (12minus5)19

Schritt VI Bestimme V

Starte mit einer Matrix V die die bestimmten Eigenvektoren von AT middotAnach der Groszlige der jeweiligen Eigenwerte als Spaltenvektoren enthalt

1 Fur Eigenwert σ1 = 10 hatten wir (2minus10) gewahlt2 Fur Eigenwert σ2 = 12 hatten wir (121) bestimmt3 Fur Eigenwert σ3 = 0 hatten wir (12minus5) bestimmt4 Spaltenvektoren nach Eigenwertgroszlige geordnet

V =

1 2 12 minus1 21 0 minus5

20

Schritt VI Bestimme V

Orthonormalisiere mit Gram-Schmidt die Spaltenvektoren von V

V =

1 2 12 minus1 21 0 minus5

1 Normalisiere ersten Spaltenvektor v (1) = v(1)

v(1) =

1radic6

2radic6

1radic6

2 Berechne die Senkrechte v (2)minus〈v (1) v (2)〉 middot v (1)

3 Also

2minus10

minus〈

1radic6

2radic6

1radic6

2minus10

〉 middot

1radic6

2radic6

1radic6

=

2minus10

4 Normalisiere die Senkrechte

2minus10

ergibt v (2) =

2radic5minus1radic

50

21

Schritt VI Bestimme V

V =

1 2 12 minus1 21 0 minus5

Schon bestimmt

v (1) =

1radic6

2radic6

1radic6

sowie v (2) =

2radic5minus1radic

50

Dann kann man auch noch v (3) berechnen mit der Senkrechten

v (3)minus〈v (1) v (3)〉 middot v (1)minus〈v (2) v (3)〉 middot v (2)

Dies ergibt

minus23minus43103

Normalisiert v (3) =

1radic302radic30minus5radic

30

22

Schritt VI Bestimme V

Damit

V =

1radic6

2radic5

1radic30

2radic6

minus1radic5

2radic30

1radic6

0 minus5radic30

und damit

V T =

1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

23

Schritt VII Bestimme Σ

Σ ist eine mtimesn (hier 2times3) ldquoDiagonalmatrixrdquo mit den Wurzeln derEigenwerte (von A middotAT bzw U bzw V auf der Diagonale) nach Groszligegeordnet

Σ =

(radic12 0 00

radic10 0

)

24

Alles Zusammen

A = UΣV T =

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00

radic10 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(radic12radic2

radic10radic2

0radic

12radic2

minusradic

10radic2

0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(3 1 1minus1 3 1

)

25

Moglicher Schritt VIII Vorzeichenverbesserung

Nehmen wir mal an wir hatten bei V die falschen Vorzeichen gewahltZum Beispiel wir hatten fur σ2 = 10 anstatt (2minus10) den Vektor(minus210) gewahlt Damit ergibt sich

V =

1 minus2 12 1 21 0 minus5

und

V =

1radic6

minus2radic5

1radic30

2radic6

1radic5

2radic30

1radic6

0 minus5radic30

und

V T =

1radic6

2radic6

1radic6

minus2radic5

1radic5

01radic30

2radic30

minus5radic30

26

Moglicher Schritt VIII Vorzeichenverbesserung

Leider ist nun

UΣV T =

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00

radic10 0

)1radic6

2radic6

1radic6

minus2radic5

1radic5

01radic30

2radic30

minus5radic30

=

(radic12radic2

radic10radic2

0radic

12radic2

minusradic

10radic2

0

)1radic6

2radic6

1radic6

minus2radic5

1radic5

01radic30

2radic30

minus5radic30

=

(minus1 3 13 1 1

)

27

Moglicher Schritt VIII Vorzeichenverbesserung

Die unelegante Losung Gehe durch alle Zeilen von V T (Spalten vonV ) multizipliere sie systematisch mit minus1 bis es passt Durch dieMultiplikation mit minus1 bleiben die Vektoren immer noch normal undauch die Orthogonalitat andert sich nicht

Da eventuell auch mehrere Zeilen mit minus1 multipliziert werdenmussen ist dies leider exponentiell in der Zeilenanzahl von V T

(alle moglichen Kombinationen mussen probiert werden)

Es ist nicht gerade elegant

Man kann naturlich stattdessen auch durch die Spalten von Ugehen und diese anpassen

28

Konstruktionsmethodologie II

1 Berechne die quadratische ntimesn Matrix AT middotA2 Berechne die Eigenwerte σ2

j und Eigenvektoren vj von AT middotA3 Die Vektoren vj werden orthonormalisiert (Gram-Schmidt) und

bilden die Spaltenvektoren von V4 Die Wurzeln der σ2-Werte werden in absteigender Reihenfolge

die Eintrage von Σ

5 Die Spaltenvektoren von U bis zum Rang r der AT middotA Matrix sindnun eindeutig bestimmt aus der Vorgabe A = UΣV T und werdendaraus berechnet

6 Wenn r lt m mussen noch mminus r Vektoren zur Orthonormalbasiserganzt werden

29

Konstruktionsmethodologie II

1 Berechne die quadratische ntimesn Matrix AT middotA2 Berechne die Eigenwerte σ2

j und Eigenvektoren vj von AT middotA3 Die Vektoren vj werden orthonormalisiert (Gram-Schmidt) und

bilden die Spaltenvektoren von V4 Die Wurzeln der σ2-Werte werden in absteigender Reihenfolge

die Eintrage von Σ

5 Die Spaltenvektoren von U bis zum Rang r der AT middotA Matrix sindnun eindeutig bestimmt aus der Vorgabe A = UΣV T und werdendaraus berechnet

6 Wenn r lt m mussen noch mminus r Vektoren zur Orthonormalbasiserganzt werden

29

Konstruktionsmethodologie II

1 Berechne die quadratische ntimesn Matrix AT middotA2 Berechne die Eigenwerte σ2

j und Eigenvektoren vj von AT middotA3 Die Vektoren vj werden orthonormalisiert (Gram-Schmidt) und

bilden die Spaltenvektoren von V4 Die Wurzeln der σ2-Werte werden in absteigender Reihenfolge

die Eintrage von Σ

5 Die Spaltenvektoren von U bis zum Rang r der AT middotA Matrix sindnun eindeutig bestimmt aus der Vorgabe A = UΣV T und werdendaraus berechnet

6 Wenn r lt m mussen noch mminus r Vektoren zur Orthonormalbasiserganzt werden

29

Konstruktionsmethodologie II

1 Berechne die quadratische ntimesn Matrix AT middotA2 Berechne die Eigenwerte σ2

j und Eigenvektoren vj von AT middotA3 Die Vektoren vj werden orthonormalisiert (Gram-Schmidt) und

bilden die Spaltenvektoren von V4 Die Wurzeln der σ2-Werte werden in absteigender Reihenfolge

die Eintrage von Σ

5 Die Spaltenvektoren von U bis zum Rang r der AT middotA Matrix sindnun eindeutig bestimmt aus der Vorgabe A = UΣV T und werdendaraus berechnet

6 Wenn r lt m mussen noch mminus r Vektoren zur Orthonormalbasiserganzt werden

29

Schritt I Bestimme V T und Σ wie bisher

Nach dem ublichen Verfahren sei also V T zum Beispiel1radic6

2radic6

1radic6

minus2radic5

1radic5

01radic30

2radic30

minus5radic30

bzw V

V =

1radic6

minus2radic5

1radic30

2radic6

1radic5

2radic30

1radic6

0 minus5radic30

Die Vorzeichen konnten auch anders seinWeiterhin ist

Σ =

(radic12 0 00

radic10 0

)

30

Schritt II Bestimme U

Es muss gelten

A = UΣV T

und damit

AV = UΣV T V

Da V orthogonal ist V T V die Einheitsmatrix und damit

AV = UΣ

31

Schritt II Bestimme U

Man bilde nun eine ntimesm Matrix Σprime die genau auf denentsprechenden Diagonaleintragen 1σi stehen hat Im Beispiel ist

Σprime =

1radic12

0

0 1radic10

0 0

Es gilt dass Σ middotΣprime die mtimesm Einheitsmatrix istUnd damit

AVΣprime = UΣΣprime = U

32

Schritt II Bestimme U

Also giltU = AVΣprime

Damit gilt fur die Spalten von U wenn man sich dieMatrixmultiplikation genauer anschaut

u(j) =1σj

Av (j)

In unserem Beispiel

u(1) =1radic12

(3 1 1minus1 3 1

)1radic6

2radic6

1radic6

=

(1radic2

1radic2

)

33

Schritt II Bestimme U

Und ebenso

u(2) =1radic10

(3 1 1minus1 3 1

)minus2radic

51radic5

0

=

(minus1radic2

1radic2

)

Man sieht dass sich hier das veranderte Vorzeichen von v (2) imentgegengesetzten Vorzeichen von u(2) widerspiegelt Wir musstenauch nicht zweimal Eigenvektoren berechnen sondern U ist aus denvorherigen Berechnungen bestimmt

34

Beispiel mit einer Matrix mit niedrigerem Rang

Da wir durch 1σj

dividieren mussten geht dies nur fur Eigenwerteungleich Null Wenn aber die Matrizen niedrigere Range haben als mdann bekommen wir so nicht genugend U-Vektoren Was machen wirdann

Beispiel Sei eine Matrix von Rang 1 gegeben

A =

(1 01 0

)

35

Berechnung von V

AT A =

(1 10 0

)(1 01 0

)=

(2 00 0

)

36

Berechnung von V

(2 00 0

)hat die Eigenwerte 2 und 0 mit den jeweiligen Eigenvektoren (10)sowie (01)Daraus folgt

V =

(1 00 1

)Die ist schon eine Orthonormalmatrix also gilt V = V sowie daDiagonalmatrix V T = V

37

Bestimmung von Σ

Es gilt

Σ =

(radic2 0

0 0

)

38

Bestimmung von U

Der erste Spaltenvektor u(1) kann wie ublich bestimmt werden mit

u(1) =1radic2

Av (1) =1radic2

(1 01 0

)(10

)

=1radic2

(11

)=

(1radic2

1radic2

)

39

Bestimmung von U

Da wir keinen weiteren Eigenwert 6= 0 haben konnen wir leider sonicht weitermachen dh es geht nur bis zum Rang von A Es gilt aber(

1radic2

x21radic2

y2

)(radic2 0

0 0

)(1 00 1

)

=

(1 01 0

)= A

unabhangig von x2 und y2 Das heisst unser halb vollstandiges U istgenug fur eine Zerlegung

40

Bestimmung von U

1 Wir konnen also jedes x2 und y2 wahlen solange normiert undsenkrecht auf dem ersten Vektor stehend

2 Nach dem sogenannten Basiserganzungssatz geht dies immer3 In unserem Beispiel konnte man zum Beispiel (minus1radic

2 1radic

2) wahlen

4 Wie genau man diese weiteren Vektoren von U konstruiert ist furuns unerheblich da wir ja sowieso die letzten Spalten von U diezu den niedrigeren Eigenwerten gehoren ldquoabschneidenrdquowerden

41

SVD Zwischenfazit

Wir haben eine Matrix in das Produkt einer OrthonormalmatrixDiagonalmatrix und Orthogonalmatrix zerlegt

Die Diagonalmatrix enthalt die Wurzeln von den Eigenwerten vonA middotAT nach Groszlige geordnet

Die erste Orthonormalmatrix enthalt die orthonormalisiertenEigenvektoren von A middotAT nach Eigenwertgrosse geordnet alsSpalten

Die zweite Orthonormalmatrix ist die Transponierte der Matrixdie die orthonormalisierten Eigenvektoren von AT middotA nachEigenwertgrosse geordnet als Spalten enthalt

42

Ubersicht

1 SVD HauptsatzDer SVD-SatzKonstruktion am Beispiel Methodologie IKonstruktionsmethodologie II

2 Interpretation der SVD

3 Reduced SVD

4 Verwendung in NLP

43

Geometrische Interpretation bei quadratischen Matrizen

Bedeutung der SVD ist dass sich die Funktion in eine DrehungDrehspiegelung (V T )eine Verzerrung (Σ) und eine zweite DrehungDrehspiegelung (U) zerlegen lsst

Matrix

(1 10 1

)SVD Geometrische Interpretationa

aQuelle httpscommonswikimediaorgwikiFileSingular-Value-Decompositionsvg

44

Noch einige Bemerkungen

Die Eigenwerte und damit Σ sind eindeutig bestimmt

U und V sind nicht eindeutig bestimmt Es konnen Drehungenum 180 Grad oder Spiegelungen hinzukommen

Wir konnen in vielen Fallen einen Eigenvektor wahlen(Freiheitsgrade) mussen aber dann bei den Vorzeichen derzweiten Matrix aufpassen

45

Noch einige Bemerkungen

Wir haben implizit den Rang der Ursprungsmatrix A bestimmtDies kann man klar an U middotΣ sehen

A = UΣV T =

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00

radic10 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(radic12radic2

radic10radic2

0radic

12radic2

minusradic

10radic2

0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(3 1 1minus1 3 1

)

46

Noch einige Bemerkungen

Deswegen wird manchmal die Singularwertzerlegung auch alsZerlegung in drei Matrizen Amtimesn = Umtimesr Σrtimesr V T

rtimesn wobei r der Rangder Matrix A ist beschrieben

A = UΣV T =

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00

radic10 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 00

radic10

)( 1radic6

2radic6

1radic6

2radic5

minus1radic5

0

)=

(radic12radic2

radic10radic2radic

12radic2

minusradic

10radic2

)(1radic6

2radic6

1radic6

2radic5

minus1radic5

0

)=

(3 1 1minus1 3 1

)47

Noch einige Bemerkungen

Bisher haben wir immer die Ausgangsmatrix einfach reproduziert(mit dem gleichen Rang) Man sieht den Rang besser und es gilt

Die ldquoZerrungrdquo durch die Matrix Σ ist bei den Dimensionen mit denhochsten Eigenwerten am groszligten Beispiel

(radic12 0 00

radic10 0

)x1

x2

x3

=

(radic12 middot x1radic10 middot x2

)Es macht also Sinn dass wir wenn wir eine Approximationunserer Ausgangsmatrix mit niedrigerem Rang wollen dann dieunwichtigen Dimensionen die durch niedrige Eigenwertegekennzeichnet sind weglassen

48

Ubersicht

1 SVD HauptsatzDer SVD-SatzKonstruktion am Beispiel Methodologie IKonstruktionsmethodologie II

2 Interpretation der SVD

3 Reduced SVD

4 Verwendung in NLP

49

Reduced SVD Approximation niedrigeren Ranges

Approximation von mtimesn Matrix A mit Rang r durch mtimesn -Matrix Ak mit Rang k lt r

A = UΣV T asymp Ak = UΣk V T

Σk ist eine ldquodiagonalerdquo mtimesn - Matrix bei der nur auf den erstenk Stellen der Diagonalmatrix Werte 6= 0 stehen

U und V wie zuvor

50

Beispiel

A = UΣV T =

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00

radic10 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

asymp

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00 0 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(radic12radic2

0 0radic

12radic2

0 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(1 2 11 2 1

)51

Reduced SVD

Wir hatten auch nur die ersten k Spalten von U sowie die ersten kZeilen von V T behalten konnen

Aasymp

(1radic2

1radic2

)(radic12)( 1radic

62radic6

1radic6

)=

(radic12radic2radic

12radic2

)(1radic6

2radic6

1radic6

)=

(1 2 11 2 1

)

52

Als Bild

53

Als Algorithmus

Gegeben mtimesn Matrix A und gewunschter Rank k Wir produziereneine Rangminus k Approximation wie folgt

1 Wir berechnen eine SVD Zerlegung von A

Amtimesn = UmtimesmΣmtimesnV Tntimesn

2 Wir behalten nur die ersten k Spalten von U resultierend in Umtimesk

3 Wir behalten nur die Top k sprich die ersten k Diagonalwerte vonΣ resultierend in Σktimesk

4 Wir behalten nur die ersten k Reihen von V T resultierend in V Tktimesn

54

Reduced SVD

Diagonale Eintrage in Σk sind die k groszligten Eigenwerte vonA middotAT

Satz UΣk V T minimiert die Differenz der Frobenius-Normzwischen A und Ak unter der Bedingung rang(Ak ) = k

Das heisst Fur jede mtimesn Matrix A mit Rang r angestrebtemRang k lt r und jede mtimesn Matrix B mit Rang k gilt

Aminus Ak2 le AminusB2

wobei Ak die Rang-k Approximation ist die man aus der SVD vonA ableiten kann

55

Was hat man erreicht

Unkorrelierte Dimensionen (Orthonormalbasis) die nur nochverzerrt werden

Wir haben die Dimensionen mit der meisten Variation identifiziertund danach geordnet

ldquoUnwichtigerdquo Dimensionen werden weggelassenrarr Rauschenvermindert

Man braucht viel weniger Speicherplatz O(k(n + m)) anstattO(nm)

Die neuen ldquoverstecktenrdquo Dimensionen konnen zurAhnlichkeitsberechnung verwendet werden und funktionieren oftbesser

56

Wie wahlt man k

Meist empirisch Gesehen

1 In NLP oft die ersten 200 bis 300 Dimensionen2 In Recommender Systems Wahle k so dass die Summe der

ersten k Eigenwerte mindestens 10-mal der Summe alleranderen Eigenwerte

57

Ubersicht

1 SVD HauptsatzDer SVD-SatzKonstruktion am Beispiel Methodologie IKonstruktionsmethodologie II

2 Interpretation der SVD

3 Reduced SVD

4 Verwendung in NLP

58

Dichte Embeddings

A ist Matrix von m WorternTermen und n Kontexten (PPMIfrequency )Reduced SVD resultiert in Ak mit

Umtimesk ist mtimes k - MatrixZeilen von Umtimesk reprasentieren TermeSpalten in Umtimesk latente Reprasentation der KontexteBenutze Umtimesk middotΣktimesk zur Berechnung von Termahnlichkeiten

Vorteile gegenuber der vollen Term-Kontext-MatrixDichte MatrixDimensionsreduktion effizientere VerarbeitungDe-Noising

59

Dichte Embeddings

A ist Matrix von m WorternTermen und n Kontexten (PPMIfrequency )Reduced SVD resultiert in Ak mit

Umtimesk ist mtimes k - MatrixZeilen von Umtimesk reprasentieren TermeSpalten in Umtimesk latente Reprasentation der KontexteBenutze Umtimesk middotΣktimesk zur Berechnung von Termahnlichkeiten

Vorteile gegenuber der vollen Term-Kontext-MatrixDichte MatrixDimensionsreduktion effizientere VerarbeitungDe-Noising

59

Dichte Embeddings

A ist Matrix von m WorternTermen und n Kontexten (PPMIfrequency )Reduced SVD resultiert in Ak mit

Umtimesk ist mtimes k - MatrixZeilen von Umtimesk reprasentieren TermeSpalten in Umtimesk latente Reprasentation der KontexteBenutze Umtimesk middotΣktimesk zur Berechnung von Termahnlichkeiten

Vorteile gegenuber der vollen Term-Kontext-MatrixDichte MatrixDimensionsreduktion effizientere VerarbeitungDe-Noising

59

Das Beispiel vom Anfang

Eine Wort-Dokument-Matrix M aus dem R5times3

d1 d2 d3ship 1 1 0boat 0 0 1

ocean 1 0 1motor 1 0 1wood 0 1 0

cossim(shipboat) = 0

cossim(shipocean) =12

cossim(boatocean) =1radic2

= 07

60

SVD Zerlegung war

minus041 07 024minus029 minus033 minus072minus061 minus02 014minus061 minus02 014minus01 057 minus062

227 0 0

0 149 00 0 078

minus072 minus023 minus066019 085 minus05067 minus048 minus056

=

minus093 104 0187minus0658 minus049 minus056minus138 minus0298 01092minus138 minus0298 minus1092minus0227 084 minus0483

minus072 minus023 minus066

019 085 minus05067 minus048 minus056

=

1 1 00 0 11 0 11 0 10 1 0

Abweichungen sind Rundungsfehler61

Niedrigdimensionale Approximation

Die kleinsten Eigenwerte sind die unwichtigsten Wir konnen dieseldquoweglassenrdquo = auf Null setzenrarr eine Matrix mit kleinerem Rang dieaber relativ ahnlich zur Ausgangsmatrix istminus041 07 024minus029 minus033 minus072minus061 minus02 014minus061 minus02 014minus01 057 minus062

227 0 0

0 149 00 0 0

minus072 minus023 minus066019 085 minus05067 minus048 minus056

=

minus093 104 0minus0658 minus049 0minus138 minus0298 0minus138 minus0298 0minus0227 084 0

minus072 minus023 minus066

019 085 minus05067 minus048 minus056

=

087 109 011038 minus027 068093 005 106093 005 106032 077 minus027

62

Die niedrigdimensionale Approximation

Wir interessieren uns fur die Matrix U2 = UΣ2 also die Matrix mit demniedrigerem Rang

minus093 104 0minus0658 minus049 0minus138 minus0298 0minus138 minus0298 0minus0227 084 0

Man kann diese nun als die Reprasentation unserer 5 Worter mit zweiversteckten Dimensionen auffassen

h1 h2ship minus093 104boat minus0658 minus049

ocean minus138 minus0298motor minus138 minus0298wood minus0227 084

63

Neue Ahnlichkeitsberechnungen

h1 h2ship minus093 104boat minus0658 minus049

ocean minus138 minus0298motor minus138 minus0298wood minus0227 084

cossim(shipboat) =(minus093) middot (minus0658) + 104 middot (minus049)radic

(0932 + 1042) middotradic

(06582 + 0492)= 009

cossim(shipocean) =(minus093) middot (minus138) + 104 middot (minus029)radic

(0932 + 1042) middotradic

(1382 + 0292)= 049

cossim(boatocean) = 09

64

Variationen

Benutze nur Umtimesk zur Ahnlichkeitsberechnung

Benutze Umtimesk middotΣpktimesk zur Ahnlichkeitsberechnungrarr Parameter p

sollte getuned werden Kann groszlige Unterschiede machen

Oft p = 0p = 05p = 1

65

Performanz der Reduced-SVD-Embeddings

Levy O Goldberg Y Neural word embedding as implicit matrix factorization In

Advances in neural information processing systems 2014 S 2177-2185

(Englische) Wikipedia 15 Milliarden Tokens

Fenster 2 beiderseits

Vokabular 189 533 fur Terme sowie Kontexte

PPMI Matrizen

SVD sowie ohne Zerlegung (PPMI) sowie neurale (SGNS)

Algorithmus Spearman Rank zu WordSim 353SVD 0652SGNS 0633PPMI 0605

66

Latent Semantic Analysis und Word Embeddings

Levy2014

ldquoWe analyze skip-gram with negative-sampling (SGNS) [] and show that it isimplicitly factorizing a word-context matrix whose cells are the pointwise mutualinformation (PMI) of the respective word and context pairs shifted by a globalconstant When dense low-dimensional vectors are preferred exact factorizationwith SVD can achieve solutions that are at least as good as SGNSrsquoss solutions forword similarity tasks On analogy questions SGNS remains superior to SVD Weconjecture that this stems from the weighted nature of SGNSrsquos factorizationrdquo

67

Zusammenfassung

Reduced SVD resultiert in einer optimalen Approximation derOriginalmatrix mit niedrigerem Rang Optimal = optimal bzgl derFrobeniusnorm (bzw mean squared error)

Dadurch erhalten wir eine mathematisch fundierte dichtereMatrix die Rauschen (weniger wichtige Dimensionen) eliminiert

Wir konnen mittels Umtimesk Σktimesk weiterhin Wortahnlichkeitenberechnen

Es konnen Resultate erreicht werden die bei word similaritymindestens ebensogut sind wie mit neuralen word embeddings

Nachteile Kosten der SVD Berechnung fur mtimesn matrixO(n middotm2) (when m lt n)rarr Nicht gut fur sehr grosse Matrizen

Nachteile Geht nicht gut mit unbekannten Wortern um

Nachteile schlechter bei Wortanalogieaufgaben

68

Literatur

Guter erweiterter Hintergrundhttptheorystanfordedu˜tims15ll7pdf bishttptheorystanfordedu˜tims15ll9pdf

SVD Tutorial (ohne vollstandigen Hintergrund) Kirk Baker(2005) Singular Value Decomposition Tutorialhttpsdatajobscomdata-science-repoSVD-Tutorial-[Kirk-Baker]pdf Leider ist hier imKonstruktionsverfahren I die Vorzeichenproblematikfalschlicherweise nicht behandelt worden

Levy O Goldberg Y Neural word embedding as implicit matrixfactorization In Advances in neural information processingsystems 2014 S 2177-2185

Ubungsblatt II

69

  • SVD Hauptsatz
    • Der SVD-Satz
    • Konstruktion am Beispiel Methodologie I
    • Konstruktionsmethodologie II
      • Interpretation der SVD
      • Reduced SVD
      • Verwendung in NLP

Bisher und heute

1 Hintergrund zu den mathematischen Begriffen und Methoden diefur Matrizenzerlegung notwendig ist

2 Jetzt der SVD-Hauptsatz (mit Konstruktion aber ohne Beweis)3 Die Intuition dahinter4 Reduced SVDrarr Dichte Embeddings5 Performanz von diesen dichten SVD-Embeddings in NLP

2

Ubersicht

1 SVD HauptsatzDer SVD-SatzKonstruktion am Beispiel Methodologie IKonstruktionsmethodologie II

2 Interpretation der SVD

3 Reduced SVD

4 Verwendung in NLP

3

Ubersicht

1 SVD HauptsatzDer SVD-SatzKonstruktion am Beispiel Methodologie IKonstruktionsmethodologie II

2 Interpretation der SVD

3 Reduced SVD

4 Verwendung in NLP

4

SVD

Eine reellwertige mtimesn - Matrix A lasst sich wie folgt faktorisieren

A = UΣV T

U ist eine orthonormale mtimesm - Matrix

Σ ist eine ldquodiagonalerdquo mtimesn - Matrix

V T ist die Transponierte einer orthonormalen ntimesn - Matrix

5

Singularwertzerlegung

A =

a11 a12 a1n

a21 a22 a2n

am1 am2 amn

=

u11 u12 u1mu21 u22 u2m

um1 um2 umm

σ11 0 0 00 σ22 0 0

0 0 0 σmn

v11 v12 v1nv21 v22 v2nv31 v32 v3n

vn1 vn2 vnn

T

Diagonale Eintrage in Σ werden als Singularwerte von A bezeichnet

Spalten in U werden als linke Singularvektoren von A bezeichnet

Spalten in V werden als rechte Singularvektoren von A bezeichnet

6

Konstruktionsmethodologie I

1 Berechne die quadratische mtimesm Matrix A middotAT

2 Berechne die Eigenwerte σ2i und Eigenvektoren ui von A middotAT

3 Die Vektoren ui werden orthonormalisiert (Gram-Schmidt) undbilden die Spaltenvektoren von U

4 Berechne die quadratische ntimesn Matrix AT middotA5 Berechne die Eigenwerte σ2

j und Eigenvektoren vj von AT middotATip die positiven Eigenwerte sind gleich zu denen von A middotAT

6 Die Vektoren vj werden orthonormalisiert (Gram-Schmidt) undbilden die Spaltenvektoren von V

7 Die Wurzeln der σ2-Werte werden in absteigender Reihenfolgedie Eintrage von Σ

8 Eventuell Korrektur der Vorzeichen von U bzw V

7

Konstruktionsmethodologie I

1 Berechne die quadratische mtimesm Matrix A middotAT

2 Berechne die Eigenwerte σ2i und Eigenvektoren ui von A middotAT

3 Die Vektoren ui werden orthonormalisiert (Gram-Schmidt) undbilden die Spaltenvektoren von U

4 Berechne die quadratische ntimesn Matrix AT middotA5 Berechne die Eigenwerte σ2

j und Eigenvektoren vj von AT middotATip die positiven Eigenwerte sind gleich zu denen von A middotAT

6 Die Vektoren vj werden orthonormalisiert (Gram-Schmidt) undbilden die Spaltenvektoren von V

7 Die Wurzeln der σ2-Werte werden in absteigender Reihenfolgedie Eintrage von Σ

8 Eventuell Korrektur der Vorzeichen von U bzw V

7

Konstruktionsmethodologie I

1 Berechne die quadratische mtimesm Matrix A middotAT

2 Berechne die Eigenwerte σ2i und Eigenvektoren ui von A middotAT

3 Die Vektoren ui werden orthonormalisiert (Gram-Schmidt) undbilden die Spaltenvektoren von U

4 Berechne die quadratische ntimesn Matrix AT middotA5 Berechne die Eigenwerte σ2

j und Eigenvektoren vj von AT middotATip die positiven Eigenwerte sind gleich zu denen von A middotAT

6 Die Vektoren vj werden orthonormalisiert (Gram-Schmidt) undbilden die Spaltenvektoren von V

7 Die Wurzeln der σ2-Werte werden in absteigender Reihenfolgedie Eintrage von Σ

8 Eventuell Korrektur der Vorzeichen von U bzw V

7

Konstruktionsmethodologie I

1 Berechne die quadratische mtimesm Matrix A middotAT

2 Berechne die Eigenwerte σ2i und Eigenvektoren ui von A middotAT

3 Die Vektoren ui werden orthonormalisiert (Gram-Schmidt) undbilden die Spaltenvektoren von U

4 Berechne die quadratische ntimesn Matrix AT middotA5 Berechne die Eigenwerte σ2

j und Eigenvektoren vj von AT middotATip die positiven Eigenwerte sind gleich zu denen von A middotAT

6 Die Vektoren vj werden orthonormalisiert (Gram-Schmidt) undbilden die Spaltenvektoren von V

7 Die Wurzeln der σ2-Werte werden in absteigender Reihenfolgedie Eintrage von Σ

8 Eventuell Korrektur der Vorzeichen von U bzw V

7

Beispiel (aus Kirk Bakers Tutorial)

Sei

A =

(3 1 1minus1 3 1

)

8

Schritt 1 Berechne A middotAT

A middotAT =

(3 1 1minus1 3 1

)3 minus11 31 1

=

(11 11 11

)

9

Schritt II Bestimme die Eigenwerte und Eigenvektoren vonA middotAT

Setze (11 11 11

)middot(

x1

x2

)= σ

(x1

x2

)Damit ergibt sich das Gleichungssystem

1 11x1 + x2 = σx1

2 x1 + 11x2 = σx2

10

Schritt II Bestimme die Eigenwerte und Eigenvektoren vonA middotAT

Setze (11 11 11

)middot(

x1

x2

)= σ

(x1

x2

)Damit ergibt sich das Gleichungssystem

1 11x1 + x2 = σx1

2 x1 + 11x2 = σx2

10

Schritt II Bestimme die Eigenwerte und Eigenvektoren vonA middotAT

1 11x1 + x2 = σx1

2 x1 + 11x2 = σx2

Ergibt z B nach Umformungen (hier Zeilenabzug)

10x1minus10x2 = σx1minusσx2

und damit Eigenwert σ1 = 10Ergibt z B nach Umformungen (hier Zeilenaddition)

12x1 + 12x2 = σx1 + σx2

und damit Eigenwert σ2 = 12

11

Schritt II Bestimme die Eigenwerte und Eigenvektoren vonA middotAT

1 11x1 + x2 = σx1

2 x1 + 11x2 = σx2

Zwei Eigenwerte σ1 = 10 und σ2 = 12 Damit ergibt sich fur dieEigenvektoren

1 11x1 + x2 = 10x1

2 x1 + 11x2 = 10x2 und damit3 x1 =minusx2

4 Wir wahlen x1 = 1 und damit x2 =minus1

sowie

1 11x1 + x2 = 12x1

2 x1 + 11x2 = 12x2 und damit3 x1 = x2

4 Wir wahlen x1 = 1 und damit x2 = 112

Schritt III Bestimme U

Starte mit einer Matrix U die die bestimmten Eigenvektoren von A middotAT

geordnet nach der Groszlige der jeweiligen Eigenwerte enthalt

1 Fur Eigenwert σ1 = 10 hatten wir x1 = 1 und damit x2 =minus1gewahlt

2 Fur Eigenwert σ1 = 12 hatten wir x1 = 1 und damit x2 = 1 gewahlt3 Spaltenvektoren nach Eigenwertgroszlige geordnet

U =

(1 11 minus1

)

13

Schritt III Bestimme U

Orthonormalisiere mit Gram-Schmidt die Spaltenvektoren von U

U =

(1 11 minus1

)

1 Normalisiere ersten Spaltenvektor u(1) = u(1)

u(1) =

(1radic2

1radic2

)2 Berechne die Senkrechte u(2)minus〈u(1) u(2)〉 middotu(1)

3 Also

(1minus1

)minus〈

(1radic2

1radic2

)

(1minus1

)〉 middot

(1radic2

1radic2

)=

(1minus1

)4 Normalisiere die Senkrechte

(1minus1

)ergibt u(2) =

(1radic2minus1radic

2

)

14

Schritt III Bestimme U

Damit ist

U =

(1radic2

1radic2

1radic2

minus1radic2

)

15

Schritt IV Berechne AT middotA

AT middotA =

3 minus11 31 1

( 3 1 1minus1 3 1

)=

10 0 20 10 42 4 2

16

Schritt V Bestimme die Eigenwerte und Eigenvektoren vonAT middotA

Setze 10 0 20 10 42 4 2

middotx1

x2

x3

= σ

x1

x2

x3

Damit ergibt sich das Gleichungssystem

1 10x1 + 2x3 = σx1

2 10x2 + 4x3 = σx2

3 2x1 + 4x2 + 2x3 = σx3

17

Schritt V Bestimme die Eigenwerte und Eigenvektoren vonAT middotA

Setze 10 0 20 10 42 4 2

middotx1

x2

x3

= σ

x1

x2

x3

Damit ergibt sich das Gleichungssystem

1 10x1 + 2x3 = σx1

2 10x2 + 4x3 = σx2

3 2x1 + 4x2 + 2x3 = σx3

17

Schritt V Bestimme die Eigenwerte und Eigenvektoren vonAT middotA

1 10x1 + 2x3 = σx1

2 10x2 + 4x3 = σx2

3 2x1 + 4x2 + 2x3 = σx3

Gleichung (ii) minus zweimal (i)

10x2 + 4x3minus20x1minus4x3 = σx2minus2σx2

und damit σ1 = 10

Mit ahnlichen Umformungen kann man σ2 = 12 sowie σ3 = 0berechnen

18

Schritt V Bestimme die Eigenwerte und Eigenvektoren vonAT middotA

Drei Eigenwerte σ1 = 10 σ2 = 12 und σ3 = 0 Damit ergibt sich furdie Eigenvektoren

1 10x1 + 2x3 = 10x12 10x2 + 4x3 = 10x23 2x1 + 4x2 + 2x3 = 10x3 und damit4 x3 = 0 aus der ersten Gleichung und damit5 2x1 + 4x2 = 0 bzw x1 =minus2x26 Wir konnen die Lange des Eigenvektors wieder frei wahlen da

wir danach eh normalisieren Allerdings sind die Vorzeichen nichtmehr frei wahlbar da ja insgesamt bei U middotΣ middotV T wieder Aherauskommen muss Darauf macht das Tutorial nichtaufmerksamWir wahlen x1 = 2x2 =minus1 hatten aber auch(falschlicherweise)x1 =minus2x2 = 1 wahlen konnen

Ebenso bestimmen wir fur σ2 = 12 einen Eigenvektor (121) und furσ3 = 0 einen Eigenvektor (12minus5)19

Schritt VI Bestimme V

Starte mit einer Matrix V die die bestimmten Eigenvektoren von AT middotAnach der Groszlige der jeweiligen Eigenwerte als Spaltenvektoren enthalt

1 Fur Eigenwert σ1 = 10 hatten wir (2minus10) gewahlt2 Fur Eigenwert σ2 = 12 hatten wir (121) bestimmt3 Fur Eigenwert σ3 = 0 hatten wir (12minus5) bestimmt4 Spaltenvektoren nach Eigenwertgroszlige geordnet

V =

1 2 12 minus1 21 0 minus5

20

Schritt VI Bestimme V

Orthonormalisiere mit Gram-Schmidt die Spaltenvektoren von V

V =

1 2 12 minus1 21 0 minus5

1 Normalisiere ersten Spaltenvektor v (1) = v(1)

v(1) =

1radic6

2radic6

1radic6

2 Berechne die Senkrechte v (2)minus〈v (1) v (2)〉 middot v (1)

3 Also

2minus10

minus〈

1radic6

2radic6

1radic6

2minus10

〉 middot

1radic6

2radic6

1radic6

=

2minus10

4 Normalisiere die Senkrechte

2minus10

ergibt v (2) =

2radic5minus1radic

50

21

Schritt VI Bestimme V

V =

1 2 12 minus1 21 0 minus5

Schon bestimmt

v (1) =

1radic6

2radic6

1radic6

sowie v (2) =

2radic5minus1radic

50

Dann kann man auch noch v (3) berechnen mit der Senkrechten

v (3)minus〈v (1) v (3)〉 middot v (1)minus〈v (2) v (3)〉 middot v (2)

Dies ergibt

minus23minus43103

Normalisiert v (3) =

1radic302radic30minus5radic

30

22

Schritt VI Bestimme V

Damit

V =

1radic6

2radic5

1radic30

2radic6

minus1radic5

2radic30

1radic6

0 minus5radic30

und damit

V T =

1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

23

Schritt VII Bestimme Σ

Σ ist eine mtimesn (hier 2times3) ldquoDiagonalmatrixrdquo mit den Wurzeln derEigenwerte (von A middotAT bzw U bzw V auf der Diagonale) nach Groszligegeordnet

Σ =

(radic12 0 00

radic10 0

)

24

Alles Zusammen

A = UΣV T =

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00

radic10 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(radic12radic2

radic10radic2

0radic

12radic2

minusradic

10radic2

0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(3 1 1minus1 3 1

)

25

Moglicher Schritt VIII Vorzeichenverbesserung

Nehmen wir mal an wir hatten bei V die falschen Vorzeichen gewahltZum Beispiel wir hatten fur σ2 = 10 anstatt (2minus10) den Vektor(minus210) gewahlt Damit ergibt sich

V =

1 minus2 12 1 21 0 minus5

und

V =

1radic6

minus2radic5

1radic30

2radic6

1radic5

2radic30

1radic6

0 minus5radic30

und

V T =

1radic6

2radic6

1radic6

minus2radic5

1radic5

01radic30

2radic30

minus5radic30

26

Moglicher Schritt VIII Vorzeichenverbesserung

Leider ist nun

UΣV T =

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00

radic10 0

)1radic6

2radic6

1radic6

minus2radic5

1radic5

01radic30

2radic30

minus5radic30

=

(radic12radic2

radic10radic2

0radic

12radic2

minusradic

10radic2

0

)1radic6

2radic6

1radic6

minus2radic5

1radic5

01radic30

2radic30

minus5radic30

=

(minus1 3 13 1 1

)

27

Moglicher Schritt VIII Vorzeichenverbesserung

Die unelegante Losung Gehe durch alle Zeilen von V T (Spalten vonV ) multizipliere sie systematisch mit minus1 bis es passt Durch dieMultiplikation mit minus1 bleiben die Vektoren immer noch normal undauch die Orthogonalitat andert sich nicht

Da eventuell auch mehrere Zeilen mit minus1 multipliziert werdenmussen ist dies leider exponentiell in der Zeilenanzahl von V T

(alle moglichen Kombinationen mussen probiert werden)

Es ist nicht gerade elegant

Man kann naturlich stattdessen auch durch die Spalten von Ugehen und diese anpassen

28

Konstruktionsmethodologie II

1 Berechne die quadratische ntimesn Matrix AT middotA2 Berechne die Eigenwerte σ2

j und Eigenvektoren vj von AT middotA3 Die Vektoren vj werden orthonormalisiert (Gram-Schmidt) und

bilden die Spaltenvektoren von V4 Die Wurzeln der σ2-Werte werden in absteigender Reihenfolge

die Eintrage von Σ

5 Die Spaltenvektoren von U bis zum Rang r der AT middotA Matrix sindnun eindeutig bestimmt aus der Vorgabe A = UΣV T und werdendaraus berechnet

6 Wenn r lt m mussen noch mminus r Vektoren zur Orthonormalbasiserganzt werden

29

Konstruktionsmethodologie II

1 Berechne die quadratische ntimesn Matrix AT middotA2 Berechne die Eigenwerte σ2

j und Eigenvektoren vj von AT middotA3 Die Vektoren vj werden orthonormalisiert (Gram-Schmidt) und

bilden die Spaltenvektoren von V4 Die Wurzeln der σ2-Werte werden in absteigender Reihenfolge

die Eintrage von Σ

5 Die Spaltenvektoren von U bis zum Rang r der AT middotA Matrix sindnun eindeutig bestimmt aus der Vorgabe A = UΣV T und werdendaraus berechnet

6 Wenn r lt m mussen noch mminus r Vektoren zur Orthonormalbasiserganzt werden

29

Konstruktionsmethodologie II

1 Berechne die quadratische ntimesn Matrix AT middotA2 Berechne die Eigenwerte σ2

j und Eigenvektoren vj von AT middotA3 Die Vektoren vj werden orthonormalisiert (Gram-Schmidt) und

bilden die Spaltenvektoren von V4 Die Wurzeln der σ2-Werte werden in absteigender Reihenfolge

die Eintrage von Σ

5 Die Spaltenvektoren von U bis zum Rang r der AT middotA Matrix sindnun eindeutig bestimmt aus der Vorgabe A = UΣV T und werdendaraus berechnet

6 Wenn r lt m mussen noch mminus r Vektoren zur Orthonormalbasiserganzt werden

29

Konstruktionsmethodologie II

1 Berechne die quadratische ntimesn Matrix AT middotA2 Berechne die Eigenwerte σ2

j und Eigenvektoren vj von AT middotA3 Die Vektoren vj werden orthonormalisiert (Gram-Schmidt) und

bilden die Spaltenvektoren von V4 Die Wurzeln der σ2-Werte werden in absteigender Reihenfolge

die Eintrage von Σ

5 Die Spaltenvektoren von U bis zum Rang r der AT middotA Matrix sindnun eindeutig bestimmt aus der Vorgabe A = UΣV T und werdendaraus berechnet

6 Wenn r lt m mussen noch mminus r Vektoren zur Orthonormalbasiserganzt werden

29

Schritt I Bestimme V T und Σ wie bisher

Nach dem ublichen Verfahren sei also V T zum Beispiel1radic6

2radic6

1radic6

minus2radic5

1radic5

01radic30

2radic30

minus5radic30

bzw V

V =

1radic6

minus2radic5

1radic30

2radic6

1radic5

2radic30

1radic6

0 minus5radic30

Die Vorzeichen konnten auch anders seinWeiterhin ist

Σ =

(radic12 0 00

radic10 0

)

30

Schritt II Bestimme U

Es muss gelten

A = UΣV T

und damit

AV = UΣV T V

Da V orthogonal ist V T V die Einheitsmatrix und damit

AV = UΣ

31

Schritt II Bestimme U

Man bilde nun eine ntimesm Matrix Σprime die genau auf denentsprechenden Diagonaleintragen 1σi stehen hat Im Beispiel ist

Σprime =

1radic12

0

0 1radic10

0 0

Es gilt dass Σ middotΣprime die mtimesm Einheitsmatrix istUnd damit

AVΣprime = UΣΣprime = U

32

Schritt II Bestimme U

Also giltU = AVΣprime

Damit gilt fur die Spalten von U wenn man sich dieMatrixmultiplikation genauer anschaut

u(j) =1σj

Av (j)

In unserem Beispiel

u(1) =1radic12

(3 1 1minus1 3 1

)1radic6

2radic6

1radic6

=

(1radic2

1radic2

)

33

Schritt II Bestimme U

Und ebenso

u(2) =1radic10

(3 1 1minus1 3 1

)minus2radic

51radic5

0

=

(minus1radic2

1radic2

)

Man sieht dass sich hier das veranderte Vorzeichen von v (2) imentgegengesetzten Vorzeichen von u(2) widerspiegelt Wir musstenauch nicht zweimal Eigenvektoren berechnen sondern U ist aus denvorherigen Berechnungen bestimmt

34

Beispiel mit einer Matrix mit niedrigerem Rang

Da wir durch 1σj

dividieren mussten geht dies nur fur Eigenwerteungleich Null Wenn aber die Matrizen niedrigere Range haben als mdann bekommen wir so nicht genugend U-Vektoren Was machen wirdann

Beispiel Sei eine Matrix von Rang 1 gegeben

A =

(1 01 0

)

35

Berechnung von V

AT A =

(1 10 0

)(1 01 0

)=

(2 00 0

)

36

Berechnung von V

(2 00 0

)hat die Eigenwerte 2 und 0 mit den jeweiligen Eigenvektoren (10)sowie (01)Daraus folgt

V =

(1 00 1

)Die ist schon eine Orthonormalmatrix also gilt V = V sowie daDiagonalmatrix V T = V

37

Bestimmung von Σ

Es gilt

Σ =

(radic2 0

0 0

)

38

Bestimmung von U

Der erste Spaltenvektor u(1) kann wie ublich bestimmt werden mit

u(1) =1radic2

Av (1) =1radic2

(1 01 0

)(10

)

=1radic2

(11

)=

(1radic2

1radic2

)

39

Bestimmung von U

Da wir keinen weiteren Eigenwert 6= 0 haben konnen wir leider sonicht weitermachen dh es geht nur bis zum Rang von A Es gilt aber(

1radic2

x21radic2

y2

)(radic2 0

0 0

)(1 00 1

)

=

(1 01 0

)= A

unabhangig von x2 und y2 Das heisst unser halb vollstandiges U istgenug fur eine Zerlegung

40

Bestimmung von U

1 Wir konnen also jedes x2 und y2 wahlen solange normiert undsenkrecht auf dem ersten Vektor stehend

2 Nach dem sogenannten Basiserganzungssatz geht dies immer3 In unserem Beispiel konnte man zum Beispiel (minus1radic

2 1radic

2) wahlen

4 Wie genau man diese weiteren Vektoren von U konstruiert ist furuns unerheblich da wir ja sowieso die letzten Spalten von U diezu den niedrigeren Eigenwerten gehoren ldquoabschneidenrdquowerden

41

SVD Zwischenfazit

Wir haben eine Matrix in das Produkt einer OrthonormalmatrixDiagonalmatrix und Orthogonalmatrix zerlegt

Die Diagonalmatrix enthalt die Wurzeln von den Eigenwerten vonA middotAT nach Groszlige geordnet

Die erste Orthonormalmatrix enthalt die orthonormalisiertenEigenvektoren von A middotAT nach Eigenwertgrosse geordnet alsSpalten

Die zweite Orthonormalmatrix ist die Transponierte der Matrixdie die orthonormalisierten Eigenvektoren von AT middotA nachEigenwertgrosse geordnet als Spalten enthalt

42

Ubersicht

1 SVD HauptsatzDer SVD-SatzKonstruktion am Beispiel Methodologie IKonstruktionsmethodologie II

2 Interpretation der SVD

3 Reduced SVD

4 Verwendung in NLP

43

Geometrische Interpretation bei quadratischen Matrizen

Bedeutung der SVD ist dass sich die Funktion in eine DrehungDrehspiegelung (V T )eine Verzerrung (Σ) und eine zweite DrehungDrehspiegelung (U) zerlegen lsst

Matrix

(1 10 1

)SVD Geometrische Interpretationa

aQuelle httpscommonswikimediaorgwikiFileSingular-Value-Decompositionsvg

44

Noch einige Bemerkungen

Die Eigenwerte und damit Σ sind eindeutig bestimmt

U und V sind nicht eindeutig bestimmt Es konnen Drehungenum 180 Grad oder Spiegelungen hinzukommen

Wir konnen in vielen Fallen einen Eigenvektor wahlen(Freiheitsgrade) mussen aber dann bei den Vorzeichen derzweiten Matrix aufpassen

45

Noch einige Bemerkungen

Wir haben implizit den Rang der Ursprungsmatrix A bestimmtDies kann man klar an U middotΣ sehen

A = UΣV T =

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00

radic10 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(radic12radic2

radic10radic2

0radic

12radic2

minusradic

10radic2

0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(3 1 1minus1 3 1

)

46

Noch einige Bemerkungen

Deswegen wird manchmal die Singularwertzerlegung auch alsZerlegung in drei Matrizen Amtimesn = Umtimesr Σrtimesr V T

rtimesn wobei r der Rangder Matrix A ist beschrieben

A = UΣV T =

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00

radic10 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 00

radic10

)( 1radic6

2radic6

1radic6

2radic5

minus1radic5

0

)=

(radic12radic2

radic10radic2radic

12radic2

minusradic

10radic2

)(1radic6

2radic6

1radic6

2radic5

minus1radic5

0

)=

(3 1 1minus1 3 1

)47

Noch einige Bemerkungen

Bisher haben wir immer die Ausgangsmatrix einfach reproduziert(mit dem gleichen Rang) Man sieht den Rang besser und es gilt

Die ldquoZerrungrdquo durch die Matrix Σ ist bei den Dimensionen mit denhochsten Eigenwerten am groszligten Beispiel

(radic12 0 00

radic10 0

)x1

x2

x3

=

(radic12 middot x1radic10 middot x2

)Es macht also Sinn dass wir wenn wir eine Approximationunserer Ausgangsmatrix mit niedrigerem Rang wollen dann dieunwichtigen Dimensionen die durch niedrige Eigenwertegekennzeichnet sind weglassen

48

Ubersicht

1 SVD HauptsatzDer SVD-SatzKonstruktion am Beispiel Methodologie IKonstruktionsmethodologie II

2 Interpretation der SVD

3 Reduced SVD

4 Verwendung in NLP

49

Reduced SVD Approximation niedrigeren Ranges

Approximation von mtimesn Matrix A mit Rang r durch mtimesn -Matrix Ak mit Rang k lt r

A = UΣV T asymp Ak = UΣk V T

Σk ist eine ldquodiagonalerdquo mtimesn - Matrix bei der nur auf den erstenk Stellen der Diagonalmatrix Werte 6= 0 stehen

U und V wie zuvor

50

Beispiel

A = UΣV T =

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00

radic10 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

asymp

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00 0 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(radic12radic2

0 0radic

12radic2

0 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(1 2 11 2 1

)51

Reduced SVD

Wir hatten auch nur die ersten k Spalten von U sowie die ersten kZeilen von V T behalten konnen

Aasymp

(1radic2

1radic2

)(radic12)( 1radic

62radic6

1radic6

)=

(radic12radic2radic

12radic2

)(1radic6

2radic6

1radic6

)=

(1 2 11 2 1

)

52

Als Bild

53

Als Algorithmus

Gegeben mtimesn Matrix A und gewunschter Rank k Wir produziereneine Rangminus k Approximation wie folgt

1 Wir berechnen eine SVD Zerlegung von A

Amtimesn = UmtimesmΣmtimesnV Tntimesn

2 Wir behalten nur die ersten k Spalten von U resultierend in Umtimesk

3 Wir behalten nur die Top k sprich die ersten k Diagonalwerte vonΣ resultierend in Σktimesk

4 Wir behalten nur die ersten k Reihen von V T resultierend in V Tktimesn

54

Reduced SVD

Diagonale Eintrage in Σk sind die k groszligten Eigenwerte vonA middotAT

Satz UΣk V T minimiert die Differenz der Frobenius-Normzwischen A und Ak unter der Bedingung rang(Ak ) = k

Das heisst Fur jede mtimesn Matrix A mit Rang r angestrebtemRang k lt r und jede mtimesn Matrix B mit Rang k gilt

Aminus Ak2 le AminusB2

wobei Ak die Rang-k Approximation ist die man aus der SVD vonA ableiten kann

55

Was hat man erreicht

Unkorrelierte Dimensionen (Orthonormalbasis) die nur nochverzerrt werden

Wir haben die Dimensionen mit der meisten Variation identifiziertund danach geordnet

ldquoUnwichtigerdquo Dimensionen werden weggelassenrarr Rauschenvermindert

Man braucht viel weniger Speicherplatz O(k(n + m)) anstattO(nm)

Die neuen ldquoverstecktenrdquo Dimensionen konnen zurAhnlichkeitsberechnung verwendet werden und funktionieren oftbesser

56

Wie wahlt man k

Meist empirisch Gesehen

1 In NLP oft die ersten 200 bis 300 Dimensionen2 In Recommender Systems Wahle k so dass die Summe der

ersten k Eigenwerte mindestens 10-mal der Summe alleranderen Eigenwerte

57

Ubersicht

1 SVD HauptsatzDer SVD-SatzKonstruktion am Beispiel Methodologie IKonstruktionsmethodologie II

2 Interpretation der SVD

3 Reduced SVD

4 Verwendung in NLP

58

Dichte Embeddings

A ist Matrix von m WorternTermen und n Kontexten (PPMIfrequency )Reduced SVD resultiert in Ak mit

Umtimesk ist mtimes k - MatrixZeilen von Umtimesk reprasentieren TermeSpalten in Umtimesk latente Reprasentation der KontexteBenutze Umtimesk middotΣktimesk zur Berechnung von Termahnlichkeiten

Vorteile gegenuber der vollen Term-Kontext-MatrixDichte MatrixDimensionsreduktion effizientere VerarbeitungDe-Noising

59

Dichte Embeddings

A ist Matrix von m WorternTermen und n Kontexten (PPMIfrequency )Reduced SVD resultiert in Ak mit

Umtimesk ist mtimes k - MatrixZeilen von Umtimesk reprasentieren TermeSpalten in Umtimesk latente Reprasentation der KontexteBenutze Umtimesk middotΣktimesk zur Berechnung von Termahnlichkeiten

Vorteile gegenuber der vollen Term-Kontext-MatrixDichte MatrixDimensionsreduktion effizientere VerarbeitungDe-Noising

59

Dichte Embeddings

A ist Matrix von m WorternTermen und n Kontexten (PPMIfrequency )Reduced SVD resultiert in Ak mit

Umtimesk ist mtimes k - MatrixZeilen von Umtimesk reprasentieren TermeSpalten in Umtimesk latente Reprasentation der KontexteBenutze Umtimesk middotΣktimesk zur Berechnung von Termahnlichkeiten

Vorteile gegenuber der vollen Term-Kontext-MatrixDichte MatrixDimensionsreduktion effizientere VerarbeitungDe-Noising

59

Das Beispiel vom Anfang

Eine Wort-Dokument-Matrix M aus dem R5times3

d1 d2 d3ship 1 1 0boat 0 0 1

ocean 1 0 1motor 1 0 1wood 0 1 0

cossim(shipboat) = 0

cossim(shipocean) =12

cossim(boatocean) =1radic2

= 07

60

SVD Zerlegung war

minus041 07 024minus029 minus033 minus072minus061 minus02 014minus061 minus02 014minus01 057 minus062

227 0 0

0 149 00 0 078

minus072 minus023 minus066019 085 minus05067 minus048 minus056

=

minus093 104 0187minus0658 minus049 minus056minus138 minus0298 01092minus138 minus0298 minus1092minus0227 084 minus0483

minus072 minus023 minus066

019 085 minus05067 minus048 minus056

=

1 1 00 0 11 0 11 0 10 1 0

Abweichungen sind Rundungsfehler61

Niedrigdimensionale Approximation

Die kleinsten Eigenwerte sind die unwichtigsten Wir konnen dieseldquoweglassenrdquo = auf Null setzenrarr eine Matrix mit kleinerem Rang dieaber relativ ahnlich zur Ausgangsmatrix istminus041 07 024minus029 minus033 minus072minus061 minus02 014minus061 minus02 014minus01 057 minus062

227 0 0

0 149 00 0 0

minus072 minus023 minus066019 085 minus05067 minus048 minus056

=

minus093 104 0minus0658 minus049 0minus138 minus0298 0minus138 minus0298 0minus0227 084 0

minus072 minus023 minus066

019 085 minus05067 minus048 minus056

=

087 109 011038 minus027 068093 005 106093 005 106032 077 minus027

62

Die niedrigdimensionale Approximation

Wir interessieren uns fur die Matrix U2 = UΣ2 also die Matrix mit demniedrigerem Rang

minus093 104 0minus0658 minus049 0minus138 minus0298 0minus138 minus0298 0minus0227 084 0

Man kann diese nun als die Reprasentation unserer 5 Worter mit zweiversteckten Dimensionen auffassen

h1 h2ship minus093 104boat minus0658 minus049

ocean minus138 minus0298motor minus138 minus0298wood minus0227 084

63

Neue Ahnlichkeitsberechnungen

h1 h2ship minus093 104boat minus0658 minus049

ocean minus138 minus0298motor minus138 minus0298wood minus0227 084

cossim(shipboat) =(minus093) middot (minus0658) + 104 middot (minus049)radic

(0932 + 1042) middotradic

(06582 + 0492)= 009

cossim(shipocean) =(minus093) middot (minus138) + 104 middot (minus029)radic

(0932 + 1042) middotradic

(1382 + 0292)= 049

cossim(boatocean) = 09

64

Variationen

Benutze nur Umtimesk zur Ahnlichkeitsberechnung

Benutze Umtimesk middotΣpktimesk zur Ahnlichkeitsberechnungrarr Parameter p

sollte getuned werden Kann groszlige Unterschiede machen

Oft p = 0p = 05p = 1

65

Performanz der Reduced-SVD-Embeddings

Levy O Goldberg Y Neural word embedding as implicit matrix factorization In

Advances in neural information processing systems 2014 S 2177-2185

(Englische) Wikipedia 15 Milliarden Tokens

Fenster 2 beiderseits

Vokabular 189 533 fur Terme sowie Kontexte

PPMI Matrizen

SVD sowie ohne Zerlegung (PPMI) sowie neurale (SGNS)

Algorithmus Spearman Rank zu WordSim 353SVD 0652SGNS 0633PPMI 0605

66

Latent Semantic Analysis und Word Embeddings

Levy2014

ldquoWe analyze skip-gram with negative-sampling (SGNS) [] and show that it isimplicitly factorizing a word-context matrix whose cells are the pointwise mutualinformation (PMI) of the respective word and context pairs shifted by a globalconstant When dense low-dimensional vectors are preferred exact factorizationwith SVD can achieve solutions that are at least as good as SGNSrsquoss solutions forword similarity tasks On analogy questions SGNS remains superior to SVD Weconjecture that this stems from the weighted nature of SGNSrsquos factorizationrdquo

67

Zusammenfassung

Reduced SVD resultiert in einer optimalen Approximation derOriginalmatrix mit niedrigerem Rang Optimal = optimal bzgl derFrobeniusnorm (bzw mean squared error)

Dadurch erhalten wir eine mathematisch fundierte dichtereMatrix die Rauschen (weniger wichtige Dimensionen) eliminiert

Wir konnen mittels Umtimesk Σktimesk weiterhin Wortahnlichkeitenberechnen

Es konnen Resultate erreicht werden die bei word similaritymindestens ebensogut sind wie mit neuralen word embeddings

Nachteile Kosten der SVD Berechnung fur mtimesn matrixO(n middotm2) (when m lt n)rarr Nicht gut fur sehr grosse Matrizen

Nachteile Geht nicht gut mit unbekannten Wortern um

Nachteile schlechter bei Wortanalogieaufgaben

68

Literatur

Guter erweiterter Hintergrundhttptheorystanfordedu˜tims15ll7pdf bishttptheorystanfordedu˜tims15ll9pdf

SVD Tutorial (ohne vollstandigen Hintergrund) Kirk Baker(2005) Singular Value Decomposition Tutorialhttpsdatajobscomdata-science-repoSVD-Tutorial-[Kirk-Baker]pdf Leider ist hier imKonstruktionsverfahren I die Vorzeichenproblematikfalschlicherweise nicht behandelt worden

Levy O Goldberg Y Neural word embedding as implicit matrixfactorization In Advances in neural information processingsystems 2014 S 2177-2185

Ubungsblatt II

69

  • SVD Hauptsatz
    • Der SVD-Satz
    • Konstruktion am Beispiel Methodologie I
    • Konstruktionsmethodologie II
      • Interpretation der SVD
      • Reduced SVD
      • Verwendung in NLP

Ubersicht

1 SVD HauptsatzDer SVD-SatzKonstruktion am Beispiel Methodologie IKonstruktionsmethodologie II

2 Interpretation der SVD

3 Reduced SVD

4 Verwendung in NLP

3

Ubersicht

1 SVD HauptsatzDer SVD-SatzKonstruktion am Beispiel Methodologie IKonstruktionsmethodologie II

2 Interpretation der SVD

3 Reduced SVD

4 Verwendung in NLP

4

SVD

Eine reellwertige mtimesn - Matrix A lasst sich wie folgt faktorisieren

A = UΣV T

U ist eine orthonormale mtimesm - Matrix

Σ ist eine ldquodiagonalerdquo mtimesn - Matrix

V T ist die Transponierte einer orthonormalen ntimesn - Matrix

5

Singularwertzerlegung

A =

a11 a12 a1n

a21 a22 a2n

am1 am2 amn

=

u11 u12 u1mu21 u22 u2m

um1 um2 umm

σ11 0 0 00 σ22 0 0

0 0 0 σmn

v11 v12 v1nv21 v22 v2nv31 v32 v3n

vn1 vn2 vnn

T

Diagonale Eintrage in Σ werden als Singularwerte von A bezeichnet

Spalten in U werden als linke Singularvektoren von A bezeichnet

Spalten in V werden als rechte Singularvektoren von A bezeichnet

6

Konstruktionsmethodologie I

1 Berechne die quadratische mtimesm Matrix A middotAT

2 Berechne die Eigenwerte σ2i und Eigenvektoren ui von A middotAT

3 Die Vektoren ui werden orthonormalisiert (Gram-Schmidt) undbilden die Spaltenvektoren von U

4 Berechne die quadratische ntimesn Matrix AT middotA5 Berechne die Eigenwerte σ2

j und Eigenvektoren vj von AT middotATip die positiven Eigenwerte sind gleich zu denen von A middotAT

6 Die Vektoren vj werden orthonormalisiert (Gram-Schmidt) undbilden die Spaltenvektoren von V

7 Die Wurzeln der σ2-Werte werden in absteigender Reihenfolgedie Eintrage von Σ

8 Eventuell Korrektur der Vorzeichen von U bzw V

7

Konstruktionsmethodologie I

1 Berechne die quadratische mtimesm Matrix A middotAT

2 Berechne die Eigenwerte σ2i und Eigenvektoren ui von A middotAT

3 Die Vektoren ui werden orthonormalisiert (Gram-Schmidt) undbilden die Spaltenvektoren von U

4 Berechne die quadratische ntimesn Matrix AT middotA5 Berechne die Eigenwerte σ2

j und Eigenvektoren vj von AT middotATip die positiven Eigenwerte sind gleich zu denen von A middotAT

6 Die Vektoren vj werden orthonormalisiert (Gram-Schmidt) undbilden die Spaltenvektoren von V

7 Die Wurzeln der σ2-Werte werden in absteigender Reihenfolgedie Eintrage von Σ

8 Eventuell Korrektur der Vorzeichen von U bzw V

7

Konstruktionsmethodologie I

1 Berechne die quadratische mtimesm Matrix A middotAT

2 Berechne die Eigenwerte σ2i und Eigenvektoren ui von A middotAT

3 Die Vektoren ui werden orthonormalisiert (Gram-Schmidt) undbilden die Spaltenvektoren von U

4 Berechne die quadratische ntimesn Matrix AT middotA5 Berechne die Eigenwerte σ2

j und Eigenvektoren vj von AT middotATip die positiven Eigenwerte sind gleich zu denen von A middotAT

6 Die Vektoren vj werden orthonormalisiert (Gram-Schmidt) undbilden die Spaltenvektoren von V

7 Die Wurzeln der σ2-Werte werden in absteigender Reihenfolgedie Eintrage von Σ

8 Eventuell Korrektur der Vorzeichen von U bzw V

7

Konstruktionsmethodologie I

1 Berechne die quadratische mtimesm Matrix A middotAT

2 Berechne die Eigenwerte σ2i und Eigenvektoren ui von A middotAT

3 Die Vektoren ui werden orthonormalisiert (Gram-Schmidt) undbilden die Spaltenvektoren von U

4 Berechne die quadratische ntimesn Matrix AT middotA5 Berechne die Eigenwerte σ2

j und Eigenvektoren vj von AT middotATip die positiven Eigenwerte sind gleich zu denen von A middotAT

6 Die Vektoren vj werden orthonormalisiert (Gram-Schmidt) undbilden die Spaltenvektoren von V

7 Die Wurzeln der σ2-Werte werden in absteigender Reihenfolgedie Eintrage von Σ

8 Eventuell Korrektur der Vorzeichen von U bzw V

7

Beispiel (aus Kirk Bakers Tutorial)

Sei

A =

(3 1 1minus1 3 1

)

8

Schritt 1 Berechne A middotAT

A middotAT =

(3 1 1minus1 3 1

)3 minus11 31 1

=

(11 11 11

)

9

Schritt II Bestimme die Eigenwerte und Eigenvektoren vonA middotAT

Setze (11 11 11

)middot(

x1

x2

)= σ

(x1

x2

)Damit ergibt sich das Gleichungssystem

1 11x1 + x2 = σx1

2 x1 + 11x2 = σx2

10

Schritt II Bestimme die Eigenwerte und Eigenvektoren vonA middotAT

Setze (11 11 11

)middot(

x1

x2

)= σ

(x1

x2

)Damit ergibt sich das Gleichungssystem

1 11x1 + x2 = σx1

2 x1 + 11x2 = σx2

10

Schritt II Bestimme die Eigenwerte und Eigenvektoren vonA middotAT

1 11x1 + x2 = σx1

2 x1 + 11x2 = σx2

Ergibt z B nach Umformungen (hier Zeilenabzug)

10x1minus10x2 = σx1minusσx2

und damit Eigenwert σ1 = 10Ergibt z B nach Umformungen (hier Zeilenaddition)

12x1 + 12x2 = σx1 + σx2

und damit Eigenwert σ2 = 12

11

Schritt II Bestimme die Eigenwerte und Eigenvektoren vonA middotAT

1 11x1 + x2 = σx1

2 x1 + 11x2 = σx2

Zwei Eigenwerte σ1 = 10 und σ2 = 12 Damit ergibt sich fur dieEigenvektoren

1 11x1 + x2 = 10x1

2 x1 + 11x2 = 10x2 und damit3 x1 =minusx2

4 Wir wahlen x1 = 1 und damit x2 =minus1

sowie

1 11x1 + x2 = 12x1

2 x1 + 11x2 = 12x2 und damit3 x1 = x2

4 Wir wahlen x1 = 1 und damit x2 = 112

Schritt III Bestimme U

Starte mit einer Matrix U die die bestimmten Eigenvektoren von A middotAT

geordnet nach der Groszlige der jeweiligen Eigenwerte enthalt

1 Fur Eigenwert σ1 = 10 hatten wir x1 = 1 und damit x2 =minus1gewahlt

2 Fur Eigenwert σ1 = 12 hatten wir x1 = 1 und damit x2 = 1 gewahlt3 Spaltenvektoren nach Eigenwertgroszlige geordnet

U =

(1 11 minus1

)

13

Schritt III Bestimme U

Orthonormalisiere mit Gram-Schmidt die Spaltenvektoren von U

U =

(1 11 minus1

)

1 Normalisiere ersten Spaltenvektor u(1) = u(1)

u(1) =

(1radic2

1radic2

)2 Berechne die Senkrechte u(2)minus〈u(1) u(2)〉 middotu(1)

3 Also

(1minus1

)minus〈

(1radic2

1radic2

)

(1minus1

)〉 middot

(1radic2

1radic2

)=

(1minus1

)4 Normalisiere die Senkrechte

(1minus1

)ergibt u(2) =

(1radic2minus1radic

2

)

14

Schritt III Bestimme U

Damit ist

U =

(1radic2

1radic2

1radic2

minus1radic2

)

15

Schritt IV Berechne AT middotA

AT middotA =

3 minus11 31 1

( 3 1 1minus1 3 1

)=

10 0 20 10 42 4 2

16

Schritt V Bestimme die Eigenwerte und Eigenvektoren vonAT middotA

Setze 10 0 20 10 42 4 2

middotx1

x2

x3

= σ

x1

x2

x3

Damit ergibt sich das Gleichungssystem

1 10x1 + 2x3 = σx1

2 10x2 + 4x3 = σx2

3 2x1 + 4x2 + 2x3 = σx3

17

Schritt V Bestimme die Eigenwerte und Eigenvektoren vonAT middotA

Setze 10 0 20 10 42 4 2

middotx1

x2

x3

= σ

x1

x2

x3

Damit ergibt sich das Gleichungssystem

1 10x1 + 2x3 = σx1

2 10x2 + 4x3 = σx2

3 2x1 + 4x2 + 2x3 = σx3

17

Schritt V Bestimme die Eigenwerte und Eigenvektoren vonAT middotA

1 10x1 + 2x3 = σx1

2 10x2 + 4x3 = σx2

3 2x1 + 4x2 + 2x3 = σx3

Gleichung (ii) minus zweimal (i)

10x2 + 4x3minus20x1minus4x3 = σx2minus2σx2

und damit σ1 = 10

Mit ahnlichen Umformungen kann man σ2 = 12 sowie σ3 = 0berechnen

18

Schritt V Bestimme die Eigenwerte und Eigenvektoren vonAT middotA

Drei Eigenwerte σ1 = 10 σ2 = 12 und σ3 = 0 Damit ergibt sich furdie Eigenvektoren

1 10x1 + 2x3 = 10x12 10x2 + 4x3 = 10x23 2x1 + 4x2 + 2x3 = 10x3 und damit4 x3 = 0 aus der ersten Gleichung und damit5 2x1 + 4x2 = 0 bzw x1 =minus2x26 Wir konnen die Lange des Eigenvektors wieder frei wahlen da

wir danach eh normalisieren Allerdings sind die Vorzeichen nichtmehr frei wahlbar da ja insgesamt bei U middotΣ middotV T wieder Aherauskommen muss Darauf macht das Tutorial nichtaufmerksamWir wahlen x1 = 2x2 =minus1 hatten aber auch(falschlicherweise)x1 =minus2x2 = 1 wahlen konnen

Ebenso bestimmen wir fur σ2 = 12 einen Eigenvektor (121) und furσ3 = 0 einen Eigenvektor (12minus5)19

Schritt VI Bestimme V

Starte mit einer Matrix V die die bestimmten Eigenvektoren von AT middotAnach der Groszlige der jeweiligen Eigenwerte als Spaltenvektoren enthalt

1 Fur Eigenwert σ1 = 10 hatten wir (2minus10) gewahlt2 Fur Eigenwert σ2 = 12 hatten wir (121) bestimmt3 Fur Eigenwert σ3 = 0 hatten wir (12minus5) bestimmt4 Spaltenvektoren nach Eigenwertgroszlige geordnet

V =

1 2 12 minus1 21 0 minus5

20

Schritt VI Bestimme V

Orthonormalisiere mit Gram-Schmidt die Spaltenvektoren von V

V =

1 2 12 minus1 21 0 minus5

1 Normalisiere ersten Spaltenvektor v (1) = v(1)

v(1) =

1radic6

2radic6

1radic6

2 Berechne die Senkrechte v (2)minus〈v (1) v (2)〉 middot v (1)

3 Also

2minus10

minus〈

1radic6

2radic6

1radic6

2minus10

〉 middot

1radic6

2radic6

1radic6

=

2minus10

4 Normalisiere die Senkrechte

2minus10

ergibt v (2) =

2radic5minus1radic

50

21

Schritt VI Bestimme V

V =

1 2 12 minus1 21 0 minus5

Schon bestimmt

v (1) =

1radic6

2radic6

1radic6

sowie v (2) =

2radic5minus1radic

50

Dann kann man auch noch v (3) berechnen mit der Senkrechten

v (3)minus〈v (1) v (3)〉 middot v (1)minus〈v (2) v (3)〉 middot v (2)

Dies ergibt

minus23minus43103

Normalisiert v (3) =

1radic302radic30minus5radic

30

22

Schritt VI Bestimme V

Damit

V =

1radic6

2radic5

1radic30

2radic6

minus1radic5

2radic30

1radic6

0 minus5radic30

und damit

V T =

1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

23

Schritt VII Bestimme Σ

Σ ist eine mtimesn (hier 2times3) ldquoDiagonalmatrixrdquo mit den Wurzeln derEigenwerte (von A middotAT bzw U bzw V auf der Diagonale) nach Groszligegeordnet

Σ =

(radic12 0 00

radic10 0

)

24

Alles Zusammen

A = UΣV T =

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00

radic10 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(radic12radic2

radic10radic2

0radic

12radic2

minusradic

10radic2

0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(3 1 1minus1 3 1

)

25

Moglicher Schritt VIII Vorzeichenverbesserung

Nehmen wir mal an wir hatten bei V die falschen Vorzeichen gewahltZum Beispiel wir hatten fur σ2 = 10 anstatt (2minus10) den Vektor(minus210) gewahlt Damit ergibt sich

V =

1 minus2 12 1 21 0 minus5

und

V =

1radic6

minus2radic5

1radic30

2radic6

1radic5

2radic30

1radic6

0 minus5radic30

und

V T =

1radic6

2radic6

1radic6

minus2radic5

1radic5

01radic30

2radic30

minus5radic30

26

Moglicher Schritt VIII Vorzeichenverbesserung

Leider ist nun

UΣV T =

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00

radic10 0

)1radic6

2radic6

1radic6

minus2radic5

1radic5

01radic30

2radic30

minus5radic30

=

(radic12radic2

radic10radic2

0radic

12radic2

minusradic

10radic2

0

)1radic6

2radic6

1radic6

minus2radic5

1radic5

01radic30

2radic30

minus5radic30

=

(minus1 3 13 1 1

)

27

Moglicher Schritt VIII Vorzeichenverbesserung

Die unelegante Losung Gehe durch alle Zeilen von V T (Spalten vonV ) multizipliere sie systematisch mit minus1 bis es passt Durch dieMultiplikation mit minus1 bleiben die Vektoren immer noch normal undauch die Orthogonalitat andert sich nicht

Da eventuell auch mehrere Zeilen mit minus1 multipliziert werdenmussen ist dies leider exponentiell in der Zeilenanzahl von V T

(alle moglichen Kombinationen mussen probiert werden)

Es ist nicht gerade elegant

Man kann naturlich stattdessen auch durch die Spalten von Ugehen und diese anpassen

28

Konstruktionsmethodologie II

1 Berechne die quadratische ntimesn Matrix AT middotA2 Berechne die Eigenwerte σ2

j und Eigenvektoren vj von AT middotA3 Die Vektoren vj werden orthonormalisiert (Gram-Schmidt) und

bilden die Spaltenvektoren von V4 Die Wurzeln der σ2-Werte werden in absteigender Reihenfolge

die Eintrage von Σ

5 Die Spaltenvektoren von U bis zum Rang r der AT middotA Matrix sindnun eindeutig bestimmt aus der Vorgabe A = UΣV T und werdendaraus berechnet

6 Wenn r lt m mussen noch mminus r Vektoren zur Orthonormalbasiserganzt werden

29

Konstruktionsmethodologie II

1 Berechne die quadratische ntimesn Matrix AT middotA2 Berechne die Eigenwerte σ2

j und Eigenvektoren vj von AT middotA3 Die Vektoren vj werden orthonormalisiert (Gram-Schmidt) und

bilden die Spaltenvektoren von V4 Die Wurzeln der σ2-Werte werden in absteigender Reihenfolge

die Eintrage von Σ

5 Die Spaltenvektoren von U bis zum Rang r der AT middotA Matrix sindnun eindeutig bestimmt aus der Vorgabe A = UΣV T und werdendaraus berechnet

6 Wenn r lt m mussen noch mminus r Vektoren zur Orthonormalbasiserganzt werden

29

Konstruktionsmethodologie II

1 Berechne die quadratische ntimesn Matrix AT middotA2 Berechne die Eigenwerte σ2

j und Eigenvektoren vj von AT middotA3 Die Vektoren vj werden orthonormalisiert (Gram-Schmidt) und

bilden die Spaltenvektoren von V4 Die Wurzeln der σ2-Werte werden in absteigender Reihenfolge

die Eintrage von Σ

5 Die Spaltenvektoren von U bis zum Rang r der AT middotA Matrix sindnun eindeutig bestimmt aus der Vorgabe A = UΣV T und werdendaraus berechnet

6 Wenn r lt m mussen noch mminus r Vektoren zur Orthonormalbasiserganzt werden

29

Konstruktionsmethodologie II

1 Berechne die quadratische ntimesn Matrix AT middotA2 Berechne die Eigenwerte σ2

j und Eigenvektoren vj von AT middotA3 Die Vektoren vj werden orthonormalisiert (Gram-Schmidt) und

bilden die Spaltenvektoren von V4 Die Wurzeln der σ2-Werte werden in absteigender Reihenfolge

die Eintrage von Σ

5 Die Spaltenvektoren von U bis zum Rang r der AT middotA Matrix sindnun eindeutig bestimmt aus der Vorgabe A = UΣV T und werdendaraus berechnet

6 Wenn r lt m mussen noch mminus r Vektoren zur Orthonormalbasiserganzt werden

29

Schritt I Bestimme V T und Σ wie bisher

Nach dem ublichen Verfahren sei also V T zum Beispiel1radic6

2radic6

1radic6

minus2radic5

1radic5

01radic30

2radic30

minus5radic30

bzw V

V =

1radic6

minus2radic5

1radic30

2radic6

1radic5

2radic30

1radic6

0 minus5radic30

Die Vorzeichen konnten auch anders seinWeiterhin ist

Σ =

(radic12 0 00

radic10 0

)

30

Schritt II Bestimme U

Es muss gelten

A = UΣV T

und damit

AV = UΣV T V

Da V orthogonal ist V T V die Einheitsmatrix und damit

AV = UΣ

31

Schritt II Bestimme U

Man bilde nun eine ntimesm Matrix Σprime die genau auf denentsprechenden Diagonaleintragen 1σi stehen hat Im Beispiel ist

Σprime =

1radic12

0

0 1radic10

0 0

Es gilt dass Σ middotΣprime die mtimesm Einheitsmatrix istUnd damit

AVΣprime = UΣΣprime = U

32

Schritt II Bestimme U

Also giltU = AVΣprime

Damit gilt fur die Spalten von U wenn man sich dieMatrixmultiplikation genauer anschaut

u(j) =1σj

Av (j)

In unserem Beispiel

u(1) =1radic12

(3 1 1minus1 3 1

)1radic6

2radic6

1radic6

=

(1radic2

1radic2

)

33

Schritt II Bestimme U

Und ebenso

u(2) =1radic10

(3 1 1minus1 3 1

)minus2radic

51radic5

0

=

(minus1radic2

1radic2

)

Man sieht dass sich hier das veranderte Vorzeichen von v (2) imentgegengesetzten Vorzeichen von u(2) widerspiegelt Wir musstenauch nicht zweimal Eigenvektoren berechnen sondern U ist aus denvorherigen Berechnungen bestimmt

34

Beispiel mit einer Matrix mit niedrigerem Rang

Da wir durch 1σj

dividieren mussten geht dies nur fur Eigenwerteungleich Null Wenn aber die Matrizen niedrigere Range haben als mdann bekommen wir so nicht genugend U-Vektoren Was machen wirdann

Beispiel Sei eine Matrix von Rang 1 gegeben

A =

(1 01 0

)

35

Berechnung von V

AT A =

(1 10 0

)(1 01 0

)=

(2 00 0

)

36

Berechnung von V

(2 00 0

)hat die Eigenwerte 2 und 0 mit den jeweiligen Eigenvektoren (10)sowie (01)Daraus folgt

V =

(1 00 1

)Die ist schon eine Orthonormalmatrix also gilt V = V sowie daDiagonalmatrix V T = V

37

Bestimmung von Σ

Es gilt

Σ =

(radic2 0

0 0

)

38

Bestimmung von U

Der erste Spaltenvektor u(1) kann wie ublich bestimmt werden mit

u(1) =1radic2

Av (1) =1radic2

(1 01 0

)(10

)

=1radic2

(11

)=

(1radic2

1radic2

)

39

Bestimmung von U

Da wir keinen weiteren Eigenwert 6= 0 haben konnen wir leider sonicht weitermachen dh es geht nur bis zum Rang von A Es gilt aber(

1radic2

x21radic2

y2

)(radic2 0

0 0

)(1 00 1

)

=

(1 01 0

)= A

unabhangig von x2 und y2 Das heisst unser halb vollstandiges U istgenug fur eine Zerlegung

40

Bestimmung von U

1 Wir konnen also jedes x2 und y2 wahlen solange normiert undsenkrecht auf dem ersten Vektor stehend

2 Nach dem sogenannten Basiserganzungssatz geht dies immer3 In unserem Beispiel konnte man zum Beispiel (minus1radic

2 1radic

2) wahlen

4 Wie genau man diese weiteren Vektoren von U konstruiert ist furuns unerheblich da wir ja sowieso die letzten Spalten von U diezu den niedrigeren Eigenwerten gehoren ldquoabschneidenrdquowerden

41

SVD Zwischenfazit

Wir haben eine Matrix in das Produkt einer OrthonormalmatrixDiagonalmatrix und Orthogonalmatrix zerlegt

Die Diagonalmatrix enthalt die Wurzeln von den Eigenwerten vonA middotAT nach Groszlige geordnet

Die erste Orthonormalmatrix enthalt die orthonormalisiertenEigenvektoren von A middotAT nach Eigenwertgrosse geordnet alsSpalten

Die zweite Orthonormalmatrix ist die Transponierte der Matrixdie die orthonormalisierten Eigenvektoren von AT middotA nachEigenwertgrosse geordnet als Spalten enthalt

42

Ubersicht

1 SVD HauptsatzDer SVD-SatzKonstruktion am Beispiel Methodologie IKonstruktionsmethodologie II

2 Interpretation der SVD

3 Reduced SVD

4 Verwendung in NLP

43

Geometrische Interpretation bei quadratischen Matrizen

Bedeutung der SVD ist dass sich die Funktion in eine DrehungDrehspiegelung (V T )eine Verzerrung (Σ) und eine zweite DrehungDrehspiegelung (U) zerlegen lsst

Matrix

(1 10 1

)SVD Geometrische Interpretationa

aQuelle httpscommonswikimediaorgwikiFileSingular-Value-Decompositionsvg

44

Noch einige Bemerkungen

Die Eigenwerte und damit Σ sind eindeutig bestimmt

U und V sind nicht eindeutig bestimmt Es konnen Drehungenum 180 Grad oder Spiegelungen hinzukommen

Wir konnen in vielen Fallen einen Eigenvektor wahlen(Freiheitsgrade) mussen aber dann bei den Vorzeichen derzweiten Matrix aufpassen

45

Noch einige Bemerkungen

Wir haben implizit den Rang der Ursprungsmatrix A bestimmtDies kann man klar an U middotΣ sehen

A = UΣV T =

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00

radic10 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(radic12radic2

radic10radic2

0radic

12radic2

minusradic

10radic2

0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(3 1 1minus1 3 1

)

46

Noch einige Bemerkungen

Deswegen wird manchmal die Singularwertzerlegung auch alsZerlegung in drei Matrizen Amtimesn = Umtimesr Σrtimesr V T

rtimesn wobei r der Rangder Matrix A ist beschrieben

A = UΣV T =

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00

radic10 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 00

radic10

)( 1radic6

2radic6

1radic6

2radic5

minus1radic5

0

)=

(radic12radic2

radic10radic2radic

12radic2

minusradic

10radic2

)(1radic6

2radic6

1radic6

2radic5

minus1radic5

0

)=

(3 1 1minus1 3 1

)47

Noch einige Bemerkungen

Bisher haben wir immer die Ausgangsmatrix einfach reproduziert(mit dem gleichen Rang) Man sieht den Rang besser und es gilt

Die ldquoZerrungrdquo durch die Matrix Σ ist bei den Dimensionen mit denhochsten Eigenwerten am groszligten Beispiel

(radic12 0 00

radic10 0

)x1

x2

x3

=

(radic12 middot x1radic10 middot x2

)Es macht also Sinn dass wir wenn wir eine Approximationunserer Ausgangsmatrix mit niedrigerem Rang wollen dann dieunwichtigen Dimensionen die durch niedrige Eigenwertegekennzeichnet sind weglassen

48

Ubersicht

1 SVD HauptsatzDer SVD-SatzKonstruktion am Beispiel Methodologie IKonstruktionsmethodologie II

2 Interpretation der SVD

3 Reduced SVD

4 Verwendung in NLP

49

Reduced SVD Approximation niedrigeren Ranges

Approximation von mtimesn Matrix A mit Rang r durch mtimesn -Matrix Ak mit Rang k lt r

A = UΣV T asymp Ak = UΣk V T

Σk ist eine ldquodiagonalerdquo mtimesn - Matrix bei der nur auf den erstenk Stellen der Diagonalmatrix Werte 6= 0 stehen

U und V wie zuvor

50

Beispiel

A = UΣV T =

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00

radic10 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

asymp

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00 0 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(radic12radic2

0 0radic

12radic2

0 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(1 2 11 2 1

)51

Reduced SVD

Wir hatten auch nur die ersten k Spalten von U sowie die ersten kZeilen von V T behalten konnen

Aasymp

(1radic2

1radic2

)(radic12)( 1radic

62radic6

1radic6

)=

(radic12radic2radic

12radic2

)(1radic6

2radic6

1radic6

)=

(1 2 11 2 1

)

52

Als Bild

53

Als Algorithmus

Gegeben mtimesn Matrix A und gewunschter Rank k Wir produziereneine Rangminus k Approximation wie folgt

1 Wir berechnen eine SVD Zerlegung von A

Amtimesn = UmtimesmΣmtimesnV Tntimesn

2 Wir behalten nur die ersten k Spalten von U resultierend in Umtimesk

3 Wir behalten nur die Top k sprich die ersten k Diagonalwerte vonΣ resultierend in Σktimesk

4 Wir behalten nur die ersten k Reihen von V T resultierend in V Tktimesn

54

Reduced SVD

Diagonale Eintrage in Σk sind die k groszligten Eigenwerte vonA middotAT

Satz UΣk V T minimiert die Differenz der Frobenius-Normzwischen A und Ak unter der Bedingung rang(Ak ) = k

Das heisst Fur jede mtimesn Matrix A mit Rang r angestrebtemRang k lt r und jede mtimesn Matrix B mit Rang k gilt

Aminus Ak2 le AminusB2

wobei Ak die Rang-k Approximation ist die man aus der SVD vonA ableiten kann

55

Was hat man erreicht

Unkorrelierte Dimensionen (Orthonormalbasis) die nur nochverzerrt werden

Wir haben die Dimensionen mit der meisten Variation identifiziertund danach geordnet

ldquoUnwichtigerdquo Dimensionen werden weggelassenrarr Rauschenvermindert

Man braucht viel weniger Speicherplatz O(k(n + m)) anstattO(nm)

Die neuen ldquoverstecktenrdquo Dimensionen konnen zurAhnlichkeitsberechnung verwendet werden und funktionieren oftbesser

56

Wie wahlt man k

Meist empirisch Gesehen

1 In NLP oft die ersten 200 bis 300 Dimensionen2 In Recommender Systems Wahle k so dass die Summe der

ersten k Eigenwerte mindestens 10-mal der Summe alleranderen Eigenwerte

57

Ubersicht

1 SVD HauptsatzDer SVD-SatzKonstruktion am Beispiel Methodologie IKonstruktionsmethodologie II

2 Interpretation der SVD

3 Reduced SVD

4 Verwendung in NLP

58

Dichte Embeddings

A ist Matrix von m WorternTermen und n Kontexten (PPMIfrequency )Reduced SVD resultiert in Ak mit

Umtimesk ist mtimes k - MatrixZeilen von Umtimesk reprasentieren TermeSpalten in Umtimesk latente Reprasentation der KontexteBenutze Umtimesk middotΣktimesk zur Berechnung von Termahnlichkeiten

Vorteile gegenuber der vollen Term-Kontext-MatrixDichte MatrixDimensionsreduktion effizientere VerarbeitungDe-Noising

59

Dichte Embeddings

A ist Matrix von m WorternTermen und n Kontexten (PPMIfrequency )Reduced SVD resultiert in Ak mit

Umtimesk ist mtimes k - MatrixZeilen von Umtimesk reprasentieren TermeSpalten in Umtimesk latente Reprasentation der KontexteBenutze Umtimesk middotΣktimesk zur Berechnung von Termahnlichkeiten

Vorteile gegenuber der vollen Term-Kontext-MatrixDichte MatrixDimensionsreduktion effizientere VerarbeitungDe-Noising

59

Dichte Embeddings

A ist Matrix von m WorternTermen und n Kontexten (PPMIfrequency )Reduced SVD resultiert in Ak mit

Umtimesk ist mtimes k - MatrixZeilen von Umtimesk reprasentieren TermeSpalten in Umtimesk latente Reprasentation der KontexteBenutze Umtimesk middotΣktimesk zur Berechnung von Termahnlichkeiten

Vorteile gegenuber der vollen Term-Kontext-MatrixDichte MatrixDimensionsreduktion effizientere VerarbeitungDe-Noising

59

Das Beispiel vom Anfang

Eine Wort-Dokument-Matrix M aus dem R5times3

d1 d2 d3ship 1 1 0boat 0 0 1

ocean 1 0 1motor 1 0 1wood 0 1 0

cossim(shipboat) = 0

cossim(shipocean) =12

cossim(boatocean) =1radic2

= 07

60

SVD Zerlegung war

minus041 07 024minus029 minus033 minus072minus061 minus02 014minus061 minus02 014minus01 057 minus062

227 0 0

0 149 00 0 078

minus072 minus023 minus066019 085 minus05067 minus048 minus056

=

minus093 104 0187minus0658 minus049 minus056minus138 minus0298 01092minus138 minus0298 minus1092minus0227 084 minus0483

minus072 minus023 minus066

019 085 minus05067 minus048 minus056

=

1 1 00 0 11 0 11 0 10 1 0

Abweichungen sind Rundungsfehler61

Niedrigdimensionale Approximation

Die kleinsten Eigenwerte sind die unwichtigsten Wir konnen dieseldquoweglassenrdquo = auf Null setzenrarr eine Matrix mit kleinerem Rang dieaber relativ ahnlich zur Ausgangsmatrix istminus041 07 024minus029 minus033 minus072minus061 minus02 014minus061 minus02 014minus01 057 minus062

227 0 0

0 149 00 0 0

minus072 minus023 minus066019 085 minus05067 minus048 minus056

=

minus093 104 0minus0658 minus049 0minus138 minus0298 0minus138 minus0298 0minus0227 084 0

minus072 minus023 minus066

019 085 minus05067 minus048 minus056

=

087 109 011038 minus027 068093 005 106093 005 106032 077 minus027

62

Die niedrigdimensionale Approximation

Wir interessieren uns fur die Matrix U2 = UΣ2 also die Matrix mit demniedrigerem Rang

minus093 104 0minus0658 minus049 0minus138 minus0298 0minus138 minus0298 0minus0227 084 0

Man kann diese nun als die Reprasentation unserer 5 Worter mit zweiversteckten Dimensionen auffassen

h1 h2ship minus093 104boat minus0658 minus049

ocean minus138 minus0298motor minus138 minus0298wood minus0227 084

63

Neue Ahnlichkeitsberechnungen

h1 h2ship minus093 104boat minus0658 minus049

ocean minus138 minus0298motor minus138 minus0298wood minus0227 084

cossim(shipboat) =(minus093) middot (minus0658) + 104 middot (minus049)radic

(0932 + 1042) middotradic

(06582 + 0492)= 009

cossim(shipocean) =(minus093) middot (minus138) + 104 middot (minus029)radic

(0932 + 1042) middotradic

(1382 + 0292)= 049

cossim(boatocean) = 09

64

Variationen

Benutze nur Umtimesk zur Ahnlichkeitsberechnung

Benutze Umtimesk middotΣpktimesk zur Ahnlichkeitsberechnungrarr Parameter p

sollte getuned werden Kann groszlige Unterschiede machen

Oft p = 0p = 05p = 1

65

Performanz der Reduced-SVD-Embeddings

Levy O Goldberg Y Neural word embedding as implicit matrix factorization In

Advances in neural information processing systems 2014 S 2177-2185

(Englische) Wikipedia 15 Milliarden Tokens

Fenster 2 beiderseits

Vokabular 189 533 fur Terme sowie Kontexte

PPMI Matrizen

SVD sowie ohne Zerlegung (PPMI) sowie neurale (SGNS)

Algorithmus Spearman Rank zu WordSim 353SVD 0652SGNS 0633PPMI 0605

66

Latent Semantic Analysis und Word Embeddings

Levy2014

ldquoWe analyze skip-gram with negative-sampling (SGNS) [] and show that it isimplicitly factorizing a word-context matrix whose cells are the pointwise mutualinformation (PMI) of the respective word and context pairs shifted by a globalconstant When dense low-dimensional vectors are preferred exact factorizationwith SVD can achieve solutions that are at least as good as SGNSrsquoss solutions forword similarity tasks On analogy questions SGNS remains superior to SVD Weconjecture that this stems from the weighted nature of SGNSrsquos factorizationrdquo

67

Zusammenfassung

Reduced SVD resultiert in einer optimalen Approximation derOriginalmatrix mit niedrigerem Rang Optimal = optimal bzgl derFrobeniusnorm (bzw mean squared error)

Dadurch erhalten wir eine mathematisch fundierte dichtereMatrix die Rauschen (weniger wichtige Dimensionen) eliminiert

Wir konnen mittels Umtimesk Σktimesk weiterhin Wortahnlichkeitenberechnen

Es konnen Resultate erreicht werden die bei word similaritymindestens ebensogut sind wie mit neuralen word embeddings

Nachteile Kosten der SVD Berechnung fur mtimesn matrixO(n middotm2) (when m lt n)rarr Nicht gut fur sehr grosse Matrizen

Nachteile Geht nicht gut mit unbekannten Wortern um

Nachteile schlechter bei Wortanalogieaufgaben

68

Literatur

Guter erweiterter Hintergrundhttptheorystanfordedu˜tims15ll7pdf bishttptheorystanfordedu˜tims15ll9pdf

SVD Tutorial (ohne vollstandigen Hintergrund) Kirk Baker(2005) Singular Value Decomposition Tutorialhttpsdatajobscomdata-science-repoSVD-Tutorial-[Kirk-Baker]pdf Leider ist hier imKonstruktionsverfahren I die Vorzeichenproblematikfalschlicherweise nicht behandelt worden

Levy O Goldberg Y Neural word embedding as implicit matrixfactorization In Advances in neural information processingsystems 2014 S 2177-2185

Ubungsblatt II

69

  • SVD Hauptsatz
    • Der SVD-Satz
    • Konstruktion am Beispiel Methodologie I
    • Konstruktionsmethodologie II
      • Interpretation der SVD
      • Reduced SVD
      • Verwendung in NLP

Ubersicht

1 SVD HauptsatzDer SVD-SatzKonstruktion am Beispiel Methodologie IKonstruktionsmethodologie II

2 Interpretation der SVD

3 Reduced SVD

4 Verwendung in NLP

4

SVD

Eine reellwertige mtimesn - Matrix A lasst sich wie folgt faktorisieren

A = UΣV T

U ist eine orthonormale mtimesm - Matrix

Σ ist eine ldquodiagonalerdquo mtimesn - Matrix

V T ist die Transponierte einer orthonormalen ntimesn - Matrix

5

Singularwertzerlegung

A =

a11 a12 a1n

a21 a22 a2n

am1 am2 amn

=

u11 u12 u1mu21 u22 u2m

um1 um2 umm

σ11 0 0 00 σ22 0 0

0 0 0 σmn

v11 v12 v1nv21 v22 v2nv31 v32 v3n

vn1 vn2 vnn

T

Diagonale Eintrage in Σ werden als Singularwerte von A bezeichnet

Spalten in U werden als linke Singularvektoren von A bezeichnet

Spalten in V werden als rechte Singularvektoren von A bezeichnet

6

Konstruktionsmethodologie I

1 Berechne die quadratische mtimesm Matrix A middotAT

2 Berechne die Eigenwerte σ2i und Eigenvektoren ui von A middotAT

3 Die Vektoren ui werden orthonormalisiert (Gram-Schmidt) undbilden die Spaltenvektoren von U

4 Berechne die quadratische ntimesn Matrix AT middotA5 Berechne die Eigenwerte σ2

j und Eigenvektoren vj von AT middotATip die positiven Eigenwerte sind gleich zu denen von A middotAT

6 Die Vektoren vj werden orthonormalisiert (Gram-Schmidt) undbilden die Spaltenvektoren von V

7 Die Wurzeln der σ2-Werte werden in absteigender Reihenfolgedie Eintrage von Σ

8 Eventuell Korrektur der Vorzeichen von U bzw V

7

Konstruktionsmethodologie I

1 Berechne die quadratische mtimesm Matrix A middotAT

2 Berechne die Eigenwerte σ2i und Eigenvektoren ui von A middotAT

3 Die Vektoren ui werden orthonormalisiert (Gram-Schmidt) undbilden die Spaltenvektoren von U

4 Berechne die quadratische ntimesn Matrix AT middotA5 Berechne die Eigenwerte σ2

j und Eigenvektoren vj von AT middotATip die positiven Eigenwerte sind gleich zu denen von A middotAT

6 Die Vektoren vj werden orthonormalisiert (Gram-Schmidt) undbilden die Spaltenvektoren von V

7 Die Wurzeln der σ2-Werte werden in absteigender Reihenfolgedie Eintrage von Σ

8 Eventuell Korrektur der Vorzeichen von U bzw V

7

Konstruktionsmethodologie I

1 Berechne die quadratische mtimesm Matrix A middotAT

2 Berechne die Eigenwerte σ2i und Eigenvektoren ui von A middotAT

3 Die Vektoren ui werden orthonormalisiert (Gram-Schmidt) undbilden die Spaltenvektoren von U

4 Berechne die quadratische ntimesn Matrix AT middotA5 Berechne die Eigenwerte σ2

j und Eigenvektoren vj von AT middotATip die positiven Eigenwerte sind gleich zu denen von A middotAT

6 Die Vektoren vj werden orthonormalisiert (Gram-Schmidt) undbilden die Spaltenvektoren von V

7 Die Wurzeln der σ2-Werte werden in absteigender Reihenfolgedie Eintrage von Σ

8 Eventuell Korrektur der Vorzeichen von U bzw V

7

Konstruktionsmethodologie I

1 Berechne die quadratische mtimesm Matrix A middotAT

2 Berechne die Eigenwerte σ2i und Eigenvektoren ui von A middotAT

3 Die Vektoren ui werden orthonormalisiert (Gram-Schmidt) undbilden die Spaltenvektoren von U

4 Berechne die quadratische ntimesn Matrix AT middotA5 Berechne die Eigenwerte σ2

j und Eigenvektoren vj von AT middotATip die positiven Eigenwerte sind gleich zu denen von A middotAT

6 Die Vektoren vj werden orthonormalisiert (Gram-Schmidt) undbilden die Spaltenvektoren von V

7 Die Wurzeln der σ2-Werte werden in absteigender Reihenfolgedie Eintrage von Σ

8 Eventuell Korrektur der Vorzeichen von U bzw V

7

Beispiel (aus Kirk Bakers Tutorial)

Sei

A =

(3 1 1minus1 3 1

)

8

Schritt 1 Berechne A middotAT

A middotAT =

(3 1 1minus1 3 1

)3 minus11 31 1

=

(11 11 11

)

9

Schritt II Bestimme die Eigenwerte und Eigenvektoren vonA middotAT

Setze (11 11 11

)middot(

x1

x2

)= σ

(x1

x2

)Damit ergibt sich das Gleichungssystem

1 11x1 + x2 = σx1

2 x1 + 11x2 = σx2

10

Schritt II Bestimme die Eigenwerte und Eigenvektoren vonA middotAT

Setze (11 11 11

)middot(

x1

x2

)= σ

(x1

x2

)Damit ergibt sich das Gleichungssystem

1 11x1 + x2 = σx1

2 x1 + 11x2 = σx2

10

Schritt II Bestimme die Eigenwerte und Eigenvektoren vonA middotAT

1 11x1 + x2 = σx1

2 x1 + 11x2 = σx2

Ergibt z B nach Umformungen (hier Zeilenabzug)

10x1minus10x2 = σx1minusσx2

und damit Eigenwert σ1 = 10Ergibt z B nach Umformungen (hier Zeilenaddition)

12x1 + 12x2 = σx1 + σx2

und damit Eigenwert σ2 = 12

11

Schritt II Bestimme die Eigenwerte und Eigenvektoren vonA middotAT

1 11x1 + x2 = σx1

2 x1 + 11x2 = σx2

Zwei Eigenwerte σ1 = 10 und σ2 = 12 Damit ergibt sich fur dieEigenvektoren

1 11x1 + x2 = 10x1

2 x1 + 11x2 = 10x2 und damit3 x1 =minusx2

4 Wir wahlen x1 = 1 und damit x2 =minus1

sowie

1 11x1 + x2 = 12x1

2 x1 + 11x2 = 12x2 und damit3 x1 = x2

4 Wir wahlen x1 = 1 und damit x2 = 112

Schritt III Bestimme U

Starte mit einer Matrix U die die bestimmten Eigenvektoren von A middotAT

geordnet nach der Groszlige der jeweiligen Eigenwerte enthalt

1 Fur Eigenwert σ1 = 10 hatten wir x1 = 1 und damit x2 =minus1gewahlt

2 Fur Eigenwert σ1 = 12 hatten wir x1 = 1 und damit x2 = 1 gewahlt3 Spaltenvektoren nach Eigenwertgroszlige geordnet

U =

(1 11 minus1

)

13

Schritt III Bestimme U

Orthonormalisiere mit Gram-Schmidt die Spaltenvektoren von U

U =

(1 11 minus1

)

1 Normalisiere ersten Spaltenvektor u(1) = u(1)

u(1) =

(1radic2

1radic2

)2 Berechne die Senkrechte u(2)minus〈u(1) u(2)〉 middotu(1)

3 Also

(1minus1

)minus〈

(1radic2

1radic2

)

(1minus1

)〉 middot

(1radic2

1radic2

)=

(1minus1

)4 Normalisiere die Senkrechte

(1minus1

)ergibt u(2) =

(1radic2minus1radic

2

)

14

Schritt III Bestimme U

Damit ist

U =

(1radic2

1radic2

1radic2

minus1radic2

)

15

Schritt IV Berechne AT middotA

AT middotA =

3 minus11 31 1

( 3 1 1minus1 3 1

)=

10 0 20 10 42 4 2

16

Schritt V Bestimme die Eigenwerte und Eigenvektoren vonAT middotA

Setze 10 0 20 10 42 4 2

middotx1

x2

x3

= σ

x1

x2

x3

Damit ergibt sich das Gleichungssystem

1 10x1 + 2x3 = σx1

2 10x2 + 4x3 = σx2

3 2x1 + 4x2 + 2x3 = σx3

17

Schritt V Bestimme die Eigenwerte und Eigenvektoren vonAT middotA

Setze 10 0 20 10 42 4 2

middotx1

x2

x3

= σ

x1

x2

x3

Damit ergibt sich das Gleichungssystem

1 10x1 + 2x3 = σx1

2 10x2 + 4x3 = σx2

3 2x1 + 4x2 + 2x3 = σx3

17

Schritt V Bestimme die Eigenwerte und Eigenvektoren vonAT middotA

1 10x1 + 2x3 = σx1

2 10x2 + 4x3 = σx2

3 2x1 + 4x2 + 2x3 = σx3

Gleichung (ii) minus zweimal (i)

10x2 + 4x3minus20x1minus4x3 = σx2minus2σx2

und damit σ1 = 10

Mit ahnlichen Umformungen kann man σ2 = 12 sowie σ3 = 0berechnen

18

Schritt V Bestimme die Eigenwerte und Eigenvektoren vonAT middotA

Drei Eigenwerte σ1 = 10 σ2 = 12 und σ3 = 0 Damit ergibt sich furdie Eigenvektoren

1 10x1 + 2x3 = 10x12 10x2 + 4x3 = 10x23 2x1 + 4x2 + 2x3 = 10x3 und damit4 x3 = 0 aus der ersten Gleichung und damit5 2x1 + 4x2 = 0 bzw x1 =minus2x26 Wir konnen die Lange des Eigenvektors wieder frei wahlen da

wir danach eh normalisieren Allerdings sind die Vorzeichen nichtmehr frei wahlbar da ja insgesamt bei U middotΣ middotV T wieder Aherauskommen muss Darauf macht das Tutorial nichtaufmerksamWir wahlen x1 = 2x2 =minus1 hatten aber auch(falschlicherweise)x1 =minus2x2 = 1 wahlen konnen

Ebenso bestimmen wir fur σ2 = 12 einen Eigenvektor (121) und furσ3 = 0 einen Eigenvektor (12minus5)19

Schritt VI Bestimme V

Starte mit einer Matrix V die die bestimmten Eigenvektoren von AT middotAnach der Groszlige der jeweiligen Eigenwerte als Spaltenvektoren enthalt

1 Fur Eigenwert σ1 = 10 hatten wir (2minus10) gewahlt2 Fur Eigenwert σ2 = 12 hatten wir (121) bestimmt3 Fur Eigenwert σ3 = 0 hatten wir (12minus5) bestimmt4 Spaltenvektoren nach Eigenwertgroszlige geordnet

V =

1 2 12 minus1 21 0 minus5

20

Schritt VI Bestimme V

Orthonormalisiere mit Gram-Schmidt die Spaltenvektoren von V

V =

1 2 12 minus1 21 0 minus5

1 Normalisiere ersten Spaltenvektor v (1) = v(1)

v(1) =

1radic6

2radic6

1radic6

2 Berechne die Senkrechte v (2)minus〈v (1) v (2)〉 middot v (1)

3 Also

2minus10

minus〈

1radic6

2radic6

1radic6

2minus10

〉 middot

1radic6

2radic6

1radic6

=

2minus10

4 Normalisiere die Senkrechte

2minus10

ergibt v (2) =

2radic5minus1radic

50

21

Schritt VI Bestimme V

V =

1 2 12 minus1 21 0 minus5

Schon bestimmt

v (1) =

1radic6

2radic6

1radic6

sowie v (2) =

2radic5minus1radic

50

Dann kann man auch noch v (3) berechnen mit der Senkrechten

v (3)minus〈v (1) v (3)〉 middot v (1)minus〈v (2) v (3)〉 middot v (2)

Dies ergibt

minus23minus43103

Normalisiert v (3) =

1radic302radic30minus5radic

30

22

Schritt VI Bestimme V

Damit

V =

1radic6

2radic5

1radic30

2radic6

minus1radic5

2radic30

1radic6

0 minus5radic30

und damit

V T =

1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

23

Schritt VII Bestimme Σ

Σ ist eine mtimesn (hier 2times3) ldquoDiagonalmatrixrdquo mit den Wurzeln derEigenwerte (von A middotAT bzw U bzw V auf der Diagonale) nach Groszligegeordnet

Σ =

(radic12 0 00

radic10 0

)

24

Alles Zusammen

A = UΣV T =

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00

radic10 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(radic12radic2

radic10radic2

0radic

12radic2

minusradic

10radic2

0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(3 1 1minus1 3 1

)

25

Moglicher Schritt VIII Vorzeichenverbesserung

Nehmen wir mal an wir hatten bei V die falschen Vorzeichen gewahltZum Beispiel wir hatten fur σ2 = 10 anstatt (2minus10) den Vektor(minus210) gewahlt Damit ergibt sich

V =

1 minus2 12 1 21 0 minus5

und

V =

1radic6

minus2radic5

1radic30

2radic6

1radic5

2radic30

1radic6

0 minus5radic30

und

V T =

1radic6

2radic6

1radic6

minus2radic5

1radic5

01radic30

2radic30

minus5radic30

26

Moglicher Schritt VIII Vorzeichenverbesserung

Leider ist nun

UΣV T =

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00

radic10 0

)1radic6

2radic6

1radic6

minus2radic5

1radic5

01radic30

2radic30

minus5radic30

=

(radic12radic2

radic10radic2

0radic

12radic2

minusradic

10radic2

0

)1radic6

2radic6

1radic6

minus2radic5

1radic5

01radic30

2radic30

minus5radic30

=

(minus1 3 13 1 1

)

27

Moglicher Schritt VIII Vorzeichenverbesserung

Die unelegante Losung Gehe durch alle Zeilen von V T (Spalten vonV ) multizipliere sie systematisch mit minus1 bis es passt Durch dieMultiplikation mit minus1 bleiben die Vektoren immer noch normal undauch die Orthogonalitat andert sich nicht

Da eventuell auch mehrere Zeilen mit minus1 multipliziert werdenmussen ist dies leider exponentiell in der Zeilenanzahl von V T

(alle moglichen Kombinationen mussen probiert werden)

Es ist nicht gerade elegant

Man kann naturlich stattdessen auch durch die Spalten von Ugehen und diese anpassen

28

Konstruktionsmethodologie II

1 Berechne die quadratische ntimesn Matrix AT middotA2 Berechne die Eigenwerte σ2

j und Eigenvektoren vj von AT middotA3 Die Vektoren vj werden orthonormalisiert (Gram-Schmidt) und

bilden die Spaltenvektoren von V4 Die Wurzeln der σ2-Werte werden in absteigender Reihenfolge

die Eintrage von Σ

5 Die Spaltenvektoren von U bis zum Rang r der AT middotA Matrix sindnun eindeutig bestimmt aus der Vorgabe A = UΣV T und werdendaraus berechnet

6 Wenn r lt m mussen noch mminus r Vektoren zur Orthonormalbasiserganzt werden

29

Konstruktionsmethodologie II

1 Berechne die quadratische ntimesn Matrix AT middotA2 Berechne die Eigenwerte σ2

j und Eigenvektoren vj von AT middotA3 Die Vektoren vj werden orthonormalisiert (Gram-Schmidt) und

bilden die Spaltenvektoren von V4 Die Wurzeln der σ2-Werte werden in absteigender Reihenfolge

die Eintrage von Σ

5 Die Spaltenvektoren von U bis zum Rang r der AT middotA Matrix sindnun eindeutig bestimmt aus der Vorgabe A = UΣV T und werdendaraus berechnet

6 Wenn r lt m mussen noch mminus r Vektoren zur Orthonormalbasiserganzt werden

29

Konstruktionsmethodologie II

1 Berechne die quadratische ntimesn Matrix AT middotA2 Berechne die Eigenwerte σ2

j und Eigenvektoren vj von AT middotA3 Die Vektoren vj werden orthonormalisiert (Gram-Schmidt) und

bilden die Spaltenvektoren von V4 Die Wurzeln der σ2-Werte werden in absteigender Reihenfolge

die Eintrage von Σ

5 Die Spaltenvektoren von U bis zum Rang r der AT middotA Matrix sindnun eindeutig bestimmt aus der Vorgabe A = UΣV T und werdendaraus berechnet

6 Wenn r lt m mussen noch mminus r Vektoren zur Orthonormalbasiserganzt werden

29

Konstruktionsmethodologie II

1 Berechne die quadratische ntimesn Matrix AT middotA2 Berechne die Eigenwerte σ2

j und Eigenvektoren vj von AT middotA3 Die Vektoren vj werden orthonormalisiert (Gram-Schmidt) und

bilden die Spaltenvektoren von V4 Die Wurzeln der σ2-Werte werden in absteigender Reihenfolge

die Eintrage von Σ

5 Die Spaltenvektoren von U bis zum Rang r der AT middotA Matrix sindnun eindeutig bestimmt aus der Vorgabe A = UΣV T und werdendaraus berechnet

6 Wenn r lt m mussen noch mminus r Vektoren zur Orthonormalbasiserganzt werden

29

Schritt I Bestimme V T und Σ wie bisher

Nach dem ublichen Verfahren sei also V T zum Beispiel1radic6

2radic6

1radic6

minus2radic5

1radic5

01radic30

2radic30

minus5radic30

bzw V

V =

1radic6

minus2radic5

1radic30

2radic6

1radic5

2radic30

1radic6

0 minus5radic30

Die Vorzeichen konnten auch anders seinWeiterhin ist

Σ =

(radic12 0 00

radic10 0

)

30

Schritt II Bestimme U

Es muss gelten

A = UΣV T

und damit

AV = UΣV T V

Da V orthogonal ist V T V die Einheitsmatrix und damit

AV = UΣ

31

Schritt II Bestimme U

Man bilde nun eine ntimesm Matrix Σprime die genau auf denentsprechenden Diagonaleintragen 1σi stehen hat Im Beispiel ist

Σprime =

1radic12

0

0 1radic10

0 0

Es gilt dass Σ middotΣprime die mtimesm Einheitsmatrix istUnd damit

AVΣprime = UΣΣprime = U

32

Schritt II Bestimme U

Also giltU = AVΣprime

Damit gilt fur die Spalten von U wenn man sich dieMatrixmultiplikation genauer anschaut

u(j) =1σj

Av (j)

In unserem Beispiel

u(1) =1radic12

(3 1 1minus1 3 1

)1radic6

2radic6

1radic6

=

(1radic2

1radic2

)

33

Schritt II Bestimme U

Und ebenso

u(2) =1radic10

(3 1 1minus1 3 1

)minus2radic

51radic5

0

=

(minus1radic2

1radic2

)

Man sieht dass sich hier das veranderte Vorzeichen von v (2) imentgegengesetzten Vorzeichen von u(2) widerspiegelt Wir musstenauch nicht zweimal Eigenvektoren berechnen sondern U ist aus denvorherigen Berechnungen bestimmt

34

Beispiel mit einer Matrix mit niedrigerem Rang

Da wir durch 1σj

dividieren mussten geht dies nur fur Eigenwerteungleich Null Wenn aber die Matrizen niedrigere Range haben als mdann bekommen wir so nicht genugend U-Vektoren Was machen wirdann

Beispiel Sei eine Matrix von Rang 1 gegeben

A =

(1 01 0

)

35

Berechnung von V

AT A =

(1 10 0

)(1 01 0

)=

(2 00 0

)

36

Berechnung von V

(2 00 0

)hat die Eigenwerte 2 und 0 mit den jeweiligen Eigenvektoren (10)sowie (01)Daraus folgt

V =

(1 00 1

)Die ist schon eine Orthonormalmatrix also gilt V = V sowie daDiagonalmatrix V T = V

37

Bestimmung von Σ

Es gilt

Σ =

(radic2 0

0 0

)

38

Bestimmung von U

Der erste Spaltenvektor u(1) kann wie ublich bestimmt werden mit

u(1) =1radic2

Av (1) =1radic2

(1 01 0

)(10

)

=1radic2

(11

)=

(1radic2

1radic2

)

39

Bestimmung von U

Da wir keinen weiteren Eigenwert 6= 0 haben konnen wir leider sonicht weitermachen dh es geht nur bis zum Rang von A Es gilt aber(

1radic2

x21radic2

y2

)(radic2 0

0 0

)(1 00 1

)

=

(1 01 0

)= A

unabhangig von x2 und y2 Das heisst unser halb vollstandiges U istgenug fur eine Zerlegung

40

Bestimmung von U

1 Wir konnen also jedes x2 und y2 wahlen solange normiert undsenkrecht auf dem ersten Vektor stehend

2 Nach dem sogenannten Basiserganzungssatz geht dies immer3 In unserem Beispiel konnte man zum Beispiel (minus1radic

2 1radic

2) wahlen

4 Wie genau man diese weiteren Vektoren von U konstruiert ist furuns unerheblich da wir ja sowieso die letzten Spalten von U diezu den niedrigeren Eigenwerten gehoren ldquoabschneidenrdquowerden

41

SVD Zwischenfazit

Wir haben eine Matrix in das Produkt einer OrthonormalmatrixDiagonalmatrix und Orthogonalmatrix zerlegt

Die Diagonalmatrix enthalt die Wurzeln von den Eigenwerten vonA middotAT nach Groszlige geordnet

Die erste Orthonormalmatrix enthalt die orthonormalisiertenEigenvektoren von A middotAT nach Eigenwertgrosse geordnet alsSpalten

Die zweite Orthonormalmatrix ist die Transponierte der Matrixdie die orthonormalisierten Eigenvektoren von AT middotA nachEigenwertgrosse geordnet als Spalten enthalt

42

Ubersicht

1 SVD HauptsatzDer SVD-SatzKonstruktion am Beispiel Methodologie IKonstruktionsmethodologie II

2 Interpretation der SVD

3 Reduced SVD

4 Verwendung in NLP

43

Geometrische Interpretation bei quadratischen Matrizen

Bedeutung der SVD ist dass sich die Funktion in eine DrehungDrehspiegelung (V T )eine Verzerrung (Σ) und eine zweite DrehungDrehspiegelung (U) zerlegen lsst

Matrix

(1 10 1

)SVD Geometrische Interpretationa

aQuelle httpscommonswikimediaorgwikiFileSingular-Value-Decompositionsvg

44

Noch einige Bemerkungen

Die Eigenwerte und damit Σ sind eindeutig bestimmt

U und V sind nicht eindeutig bestimmt Es konnen Drehungenum 180 Grad oder Spiegelungen hinzukommen

Wir konnen in vielen Fallen einen Eigenvektor wahlen(Freiheitsgrade) mussen aber dann bei den Vorzeichen derzweiten Matrix aufpassen

45

Noch einige Bemerkungen

Wir haben implizit den Rang der Ursprungsmatrix A bestimmtDies kann man klar an U middotΣ sehen

A = UΣV T =

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00

radic10 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(radic12radic2

radic10radic2

0radic

12radic2

minusradic

10radic2

0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(3 1 1minus1 3 1

)

46

Noch einige Bemerkungen

Deswegen wird manchmal die Singularwertzerlegung auch alsZerlegung in drei Matrizen Amtimesn = Umtimesr Σrtimesr V T

rtimesn wobei r der Rangder Matrix A ist beschrieben

A = UΣV T =

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00

radic10 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 00

radic10

)( 1radic6

2radic6

1radic6

2radic5

minus1radic5

0

)=

(radic12radic2

radic10radic2radic

12radic2

minusradic

10radic2

)(1radic6

2radic6

1radic6

2radic5

minus1radic5

0

)=

(3 1 1minus1 3 1

)47

Noch einige Bemerkungen

Bisher haben wir immer die Ausgangsmatrix einfach reproduziert(mit dem gleichen Rang) Man sieht den Rang besser und es gilt

Die ldquoZerrungrdquo durch die Matrix Σ ist bei den Dimensionen mit denhochsten Eigenwerten am groszligten Beispiel

(radic12 0 00

radic10 0

)x1

x2

x3

=

(radic12 middot x1radic10 middot x2

)Es macht also Sinn dass wir wenn wir eine Approximationunserer Ausgangsmatrix mit niedrigerem Rang wollen dann dieunwichtigen Dimensionen die durch niedrige Eigenwertegekennzeichnet sind weglassen

48

Ubersicht

1 SVD HauptsatzDer SVD-SatzKonstruktion am Beispiel Methodologie IKonstruktionsmethodologie II

2 Interpretation der SVD

3 Reduced SVD

4 Verwendung in NLP

49

Reduced SVD Approximation niedrigeren Ranges

Approximation von mtimesn Matrix A mit Rang r durch mtimesn -Matrix Ak mit Rang k lt r

A = UΣV T asymp Ak = UΣk V T

Σk ist eine ldquodiagonalerdquo mtimesn - Matrix bei der nur auf den erstenk Stellen der Diagonalmatrix Werte 6= 0 stehen

U und V wie zuvor

50

Beispiel

A = UΣV T =

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00

radic10 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

asymp

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00 0 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(radic12radic2

0 0radic

12radic2

0 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(1 2 11 2 1

)51

Reduced SVD

Wir hatten auch nur die ersten k Spalten von U sowie die ersten kZeilen von V T behalten konnen

Aasymp

(1radic2

1radic2

)(radic12)( 1radic

62radic6

1radic6

)=

(radic12radic2radic

12radic2

)(1radic6

2radic6

1radic6

)=

(1 2 11 2 1

)

52

Als Bild

53

Als Algorithmus

Gegeben mtimesn Matrix A und gewunschter Rank k Wir produziereneine Rangminus k Approximation wie folgt

1 Wir berechnen eine SVD Zerlegung von A

Amtimesn = UmtimesmΣmtimesnV Tntimesn

2 Wir behalten nur die ersten k Spalten von U resultierend in Umtimesk

3 Wir behalten nur die Top k sprich die ersten k Diagonalwerte vonΣ resultierend in Σktimesk

4 Wir behalten nur die ersten k Reihen von V T resultierend in V Tktimesn

54

Reduced SVD

Diagonale Eintrage in Σk sind die k groszligten Eigenwerte vonA middotAT

Satz UΣk V T minimiert die Differenz der Frobenius-Normzwischen A und Ak unter der Bedingung rang(Ak ) = k

Das heisst Fur jede mtimesn Matrix A mit Rang r angestrebtemRang k lt r und jede mtimesn Matrix B mit Rang k gilt

Aminus Ak2 le AminusB2

wobei Ak die Rang-k Approximation ist die man aus der SVD vonA ableiten kann

55

Was hat man erreicht

Unkorrelierte Dimensionen (Orthonormalbasis) die nur nochverzerrt werden

Wir haben die Dimensionen mit der meisten Variation identifiziertund danach geordnet

ldquoUnwichtigerdquo Dimensionen werden weggelassenrarr Rauschenvermindert

Man braucht viel weniger Speicherplatz O(k(n + m)) anstattO(nm)

Die neuen ldquoverstecktenrdquo Dimensionen konnen zurAhnlichkeitsberechnung verwendet werden und funktionieren oftbesser

56

Wie wahlt man k

Meist empirisch Gesehen

1 In NLP oft die ersten 200 bis 300 Dimensionen2 In Recommender Systems Wahle k so dass die Summe der

ersten k Eigenwerte mindestens 10-mal der Summe alleranderen Eigenwerte

57

Ubersicht

1 SVD HauptsatzDer SVD-SatzKonstruktion am Beispiel Methodologie IKonstruktionsmethodologie II

2 Interpretation der SVD

3 Reduced SVD

4 Verwendung in NLP

58

Dichte Embeddings

A ist Matrix von m WorternTermen und n Kontexten (PPMIfrequency )Reduced SVD resultiert in Ak mit

Umtimesk ist mtimes k - MatrixZeilen von Umtimesk reprasentieren TermeSpalten in Umtimesk latente Reprasentation der KontexteBenutze Umtimesk middotΣktimesk zur Berechnung von Termahnlichkeiten

Vorteile gegenuber der vollen Term-Kontext-MatrixDichte MatrixDimensionsreduktion effizientere VerarbeitungDe-Noising

59

Dichte Embeddings

A ist Matrix von m WorternTermen und n Kontexten (PPMIfrequency )Reduced SVD resultiert in Ak mit

Umtimesk ist mtimes k - MatrixZeilen von Umtimesk reprasentieren TermeSpalten in Umtimesk latente Reprasentation der KontexteBenutze Umtimesk middotΣktimesk zur Berechnung von Termahnlichkeiten

Vorteile gegenuber der vollen Term-Kontext-MatrixDichte MatrixDimensionsreduktion effizientere VerarbeitungDe-Noising

59

Dichte Embeddings

A ist Matrix von m WorternTermen und n Kontexten (PPMIfrequency )Reduced SVD resultiert in Ak mit

Umtimesk ist mtimes k - MatrixZeilen von Umtimesk reprasentieren TermeSpalten in Umtimesk latente Reprasentation der KontexteBenutze Umtimesk middotΣktimesk zur Berechnung von Termahnlichkeiten

Vorteile gegenuber der vollen Term-Kontext-MatrixDichte MatrixDimensionsreduktion effizientere VerarbeitungDe-Noising

59

Das Beispiel vom Anfang

Eine Wort-Dokument-Matrix M aus dem R5times3

d1 d2 d3ship 1 1 0boat 0 0 1

ocean 1 0 1motor 1 0 1wood 0 1 0

cossim(shipboat) = 0

cossim(shipocean) =12

cossim(boatocean) =1radic2

= 07

60

SVD Zerlegung war

minus041 07 024minus029 minus033 minus072minus061 minus02 014minus061 minus02 014minus01 057 minus062

227 0 0

0 149 00 0 078

minus072 minus023 minus066019 085 minus05067 minus048 minus056

=

minus093 104 0187minus0658 minus049 minus056minus138 minus0298 01092minus138 minus0298 minus1092minus0227 084 minus0483

minus072 minus023 minus066

019 085 minus05067 minus048 minus056

=

1 1 00 0 11 0 11 0 10 1 0

Abweichungen sind Rundungsfehler61

Niedrigdimensionale Approximation

Die kleinsten Eigenwerte sind die unwichtigsten Wir konnen dieseldquoweglassenrdquo = auf Null setzenrarr eine Matrix mit kleinerem Rang dieaber relativ ahnlich zur Ausgangsmatrix istminus041 07 024minus029 minus033 minus072minus061 minus02 014minus061 minus02 014minus01 057 minus062

227 0 0

0 149 00 0 0

minus072 minus023 minus066019 085 minus05067 minus048 minus056

=

minus093 104 0minus0658 minus049 0minus138 minus0298 0minus138 minus0298 0minus0227 084 0

minus072 minus023 minus066

019 085 minus05067 minus048 minus056

=

087 109 011038 minus027 068093 005 106093 005 106032 077 minus027

62

Die niedrigdimensionale Approximation

Wir interessieren uns fur die Matrix U2 = UΣ2 also die Matrix mit demniedrigerem Rang

minus093 104 0minus0658 minus049 0minus138 minus0298 0minus138 minus0298 0minus0227 084 0

Man kann diese nun als die Reprasentation unserer 5 Worter mit zweiversteckten Dimensionen auffassen

h1 h2ship minus093 104boat minus0658 minus049

ocean minus138 minus0298motor minus138 minus0298wood minus0227 084

63

Neue Ahnlichkeitsberechnungen

h1 h2ship minus093 104boat minus0658 minus049

ocean minus138 minus0298motor minus138 minus0298wood minus0227 084

cossim(shipboat) =(minus093) middot (minus0658) + 104 middot (minus049)radic

(0932 + 1042) middotradic

(06582 + 0492)= 009

cossim(shipocean) =(minus093) middot (minus138) + 104 middot (minus029)radic

(0932 + 1042) middotradic

(1382 + 0292)= 049

cossim(boatocean) = 09

64

Variationen

Benutze nur Umtimesk zur Ahnlichkeitsberechnung

Benutze Umtimesk middotΣpktimesk zur Ahnlichkeitsberechnungrarr Parameter p

sollte getuned werden Kann groszlige Unterschiede machen

Oft p = 0p = 05p = 1

65

Performanz der Reduced-SVD-Embeddings

Levy O Goldberg Y Neural word embedding as implicit matrix factorization In

Advances in neural information processing systems 2014 S 2177-2185

(Englische) Wikipedia 15 Milliarden Tokens

Fenster 2 beiderseits

Vokabular 189 533 fur Terme sowie Kontexte

PPMI Matrizen

SVD sowie ohne Zerlegung (PPMI) sowie neurale (SGNS)

Algorithmus Spearman Rank zu WordSim 353SVD 0652SGNS 0633PPMI 0605

66

Latent Semantic Analysis und Word Embeddings

Levy2014

ldquoWe analyze skip-gram with negative-sampling (SGNS) [] and show that it isimplicitly factorizing a word-context matrix whose cells are the pointwise mutualinformation (PMI) of the respective word and context pairs shifted by a globalconstant When dense low-dimensional vectors are preferred exact factorizationwith SVD can achieve solutions that are at least as good as SGNSrsquoss solutions forword similarity tasks On analogy questions SGNS remains superior to SVD Weconjecture that this stems from the weighted nature of SGNSrsquos factorizationrdquo

67

Zusammenfassung

Reduced SVD resultiert in einer optimalen Approximation derOriginalmatrix mit niedrigerem Rang Optimal = optimal bzgl derFrobeniusnorm (bzw mean squared error)

Dadurch erhalten wir eine mathematisch fundierte dichtereMatrix die Rauschen (weniger wichtige Dimensionen) eliminiert

Wir konnen mittels Umtimesk Σktimesk weiterhin Wortahnlichkeitenberechnen

Es konnen Resultate erreicht werden die bei word similaritymindestens ebensogut sind wie mit neuralen word embeddings

Nachteile Kosten der SVD Berechnung fur mtimesn matrixO(n middotm2) (when m lt n)rarr Nicht gut fur sehr grosse Matrizen

Nachteile Geht nicht gut mit unbekannten Wortern um

Nachteile schlechter bei Wortanalogieaufgaben

68

Literatur

Guter erweiterter Hintergrundhttptheorystanfordedu˜tims15ll7pdf bishttptheorystanfordedu˜tims15ll9pdf

SVD Tutorial (ohne vollstandigen Hintergrund) Kirk Baker(2005) Singular Value Decomposition Tutorialhttpsdatajobscomdata-science-repoSVD-Tutorial-[Kirk-Baker]pdf Leider ist hier imKonstruktionsverfahren I die Vorzeichenproblematikfalschlicherweise nicht behandelt worden

Levy O Goldberg Y Neural word embedding as implicit matrixfactorization In Advances in neural information processingsystems 2014 S 2177-2185

Ubungsblatt II

69

  • SVD Hauptsatz
    • Der SVD-Satz
    • Konstruktion am Beispiel Methodologie I
    • Konstruktionsmethodologie II
      • Interpretation der SVD
      • Reduced SVD
      • Verwendung in NLP

SVD

Eine reellwertige mtimesn - Matrix A lasst sich wie folgt faktorisieren

A = UΣV T

U ist eine orthonormale mtimesm - Matrix

Σ ist eine ldquodiagonalerdquo mtimesn - Matrix

V T ist die Transponierte einer orthonormalen ntimesn - Matrix

5

Singularwertzerlegung

A =

a11 a12 a1n

a21 a22 a2n

am1 am2 amn

=

u11 u12 u1mu21 u22 u2m

um1 um2 umm

σ11 0 0 00 σ22 0 0

0 0 0 σmn

v11 v12 v1nv21 v22 v2nv31 v32 v3n

vn1 vn2 vnn

T

Diagonale Eintrage in Σ werden als Singularwerte von A bezeichnet

Spalten in U werden als linke Singularvektoren von A bezeichnet

Spalten in V werden als rechte Singularvektoren von A bezeichnet

6

Konstruktionsmethodologie I

1 Berechne die quadratische mtimesm Matrix A middotAT

2 Berechne die Eigenwerte σ2i und Eigenvektoren ui von A middotAT

3 Die Vektoren ui werden orthonormalisiert (Gram-Schmidt) undbilden die Spaltenvektoren von U

4 Berechne die quadratische ntimesn Matrix AT middotA5 Berechne die Eigenwerte σ2

j und Eigenvektoren vj von AT middotATip die positiven Eigenwerte sind gleich zu denen von A middotAT

6 Die Vektoren vj werden orthonormalisiert (Gram-Schmidt) undbilden die Spaltenvektoren von V

7 Die Wurzeln der σ2-Werte werden in absteigender Reihenfolgedie Eintrage von Σ

8 Eventuell Korrektur der Vorzeichen von U bzw V

7

Konstruktionsmethodologie I

1 Berechne die quadratische mtimesm Matrix A middotAT

2 Berechne die Eigenwerte σ2i und Eigenvektoren ui von A middotAT

3 Die Vektoren ui werden orthonormalisiert (Gram-Schmidt) undbilden die Spaltenvektoren von U

4 Berechne die quadratische ntimesn Matrix AT middotA5 Berechne die Eigenwerte σ2

j und Eigenvektoren vj von AT middotATip die positiven Eigenwerte sind gleich zu denen von A middotAT

6 Die Vektoren vj werden orthonormalisiert (Gram-Schmidt) undbilden die Spaltenvektoren von V

7 Die Wurzeln der σ2-Werte werden in absteigender Reihenfolgedie Eintrage von Σ

8 Eventuell Korrektur der Vorzeichen von U bzw V

7

Konstruktionsmethodologie I

1 Berechne die quadratische mtimesm Matrix A middotAT

2 Berechne die Eigenwerte σ2i und Eigenvektoren ui von A middotAT

3 Die Vektoren ui werden orthonormalisiert (Gram-Schmidt) undbilden die Spaltenvektoren von U

4 Berechne die quadratische ntimesn Matrix AT middotA5 Berechne die Eigenwerte σ2

j und Eigenvektoren vj von AT middotATip die positiven Eigenwerte sind gleich zu denen von A middotAT

6 Die Vektoren vj werden orthonormalisiert (Gram-Schmidt) undbilden die Spaltenvektoren von V

7 Die Wurzeln der σ2-Werte werden in absteigender Reihenfolgedie Eintrage von Σ

8 Eventuell Korrektur der Vorzeichen von U bzw V

7

Konstruktionsmethodologie I

1 Berechne die quadratische mtimesm Matrix A middotAT

2 Berechne die Eigenwerte σ2i und Eigenvektoren ui von A middotAT

3 Die Vektoren ui werden orthonormalisiert (Gram-Schmidt) undbilden die Spaltenvektoren von U

4 Berechne die quadratische ntimesn Matrix AT middotA5 Berechne die Eigenwerte σ2

j und Eigenvektoren vj von AT middotATip die positiven Eigenwerte sind gleich zu denen von A middotAT

6 Die Vektoren vj werden orthonormalisiert (Gram-Schmidt) undbilden die Spaltenvektoren von V

7 Die Wurzeln der σ2-Werte werden in absteigender Reihenfolgedie Eintrage von Σ

8 Eventuell Korrektur der Vorzeichen von U bzw V

7

Beispiel (aus Kirk Bakers Tutorial)

Sei

A =

(3 1 1minus1 3 1

)

8

Schritt 1 Berechne A middotAT

A middotAT =

(3 1 1minus1 3 1

)3 minus11 31 1

=

(11 11 11

)

9

Schritt II Bestimme die Eigenwerte und Eigenvektoren vonA middotAT

Setze (11 11 11

)middot(

x1

x2

)= σ

(x1

x2

)Damit ergibt sich das Gleichungssystem

1 11x1 + x2 = σx1

2 x1 + 11x2 = σx2

10

Schritt II Bestimme die Eigenwerte und Eigenvektoren vonA middotAT

Setze (11 11 11

)middot(

x1

x2

)= σ

(x1

x2

)Damit ergibt sich das Gleichungssystem

1 11x1 + x2 = σx1

2 x1 + 11x2 = σx2

10

Schritt II Bestimme die Eigenwerte und Eigenvektoren vonA middotAT

1 11x1 + x2 = σx1

2 x1 + 11x2 = σx2

Ergibt z B nach Umformungen (hier Zeilenabzug)

10x1minus10x2 = σx1minusσx2

und damit Eigenwert σ1 = 10Ergibt z B nach Umformungen (hier Zeilenaddition)

12x1 + 12x2 = σx1 + σx2

und damit Eigenwert σ2 = 12

11

Schritt II Bestimme die Eigenwerte und Eigenvektoren vonA middotAT

1 11x1 + x2 = σx1

2 x1 + 11x2 = σx2

Zwei Eigenwerte σ1 = 10 und σ2 = 12 Damit ergibt sich fur dieEigenvektoren

1 11x1 + x2 = 10x1

2 x1 + 11x2 = 10x2 und damit3 x1 =minusx2

4 Wir wahlen x1 = 1 und damit x2 =minus1

sowie

1 11x1 + x2 = 12x1

2 x1 + 11x2 = 12x2 und damit3 x1 = x2

4 Wir wahlen x1 = 1 und damit x2 = 112

Schritt III Bestimme U

Starte mit einer Matrix U die die bestimmten Eigenvektoren von A middotAT

geordnet nach der Groszlige der jeweiligen Eigenwerte enthalt

1 Fur Eigenwert σ1 = 10 hatten wir x1 = 1 und damit x2 =minus1gewahlt

2 Fur Eigenwert σ1 = 12 hatten wir x1 = 1 und damit x2 = 1 gewahlt3 Spaltenvektoren nach Eigenwertgroszlige geordnet

U =

(1 11 minus1

)

13

Schritt III Bestimme U

Orthonormalisiere mit Gram-Schmidt die Spaltenvektoren von U

U =

(1 11 minus1

)

1 Normalisiere ersten Spaltenvektor u(1) = u(1)

u(1) =

(1radic2

1radic2

)2 Berechne die Senkrechte u(2)minus〈u(1) u(2)〉 middotu(1)

3 Also

(1minus1

)minus〈

(1radic2

1radic2

)

(1minus1

)〉 middot

(1radic2

1radic2

)=

(1minus1

)4 Normalisiere die Senkrechte

(1minus1

)ergibt u(2) =

(1radic2minus1radic

2

)

14

Schritt III Bestimme U

Damit ist

U =

(1radic2

1radic2

1radic2

minus1radic2

)

15

Schritt IV Berechne AT middotA

AT middotA =

3 minus11 31 1

( 3 1 1minus1 3 1

)=

10 0 20 10 42 4 2

16

Schritt V Bestimme die Eigenwerte und Eigenvektoren vonAT middotA

Setze 10 0 20 10 42 4 2

middotx1

x2

x3

= σ

x1

x2

x3

Damit ergibt sich das Gleichungssystem

1 10x1 + 2x3 = σx1

2 10x2 + 4x3 = σx2

3 2x1 + 4x2 + 2x3 = σx3

17

Schritt V Bestimme die Eigenwerte und Eigenvektoren vonAT middotA

Setze 10 0 20 10 42 4 2

middotx1

x2

x3

= σ

x1

x2

x3

Damit ergibt sich das Gleichungssystem

1 10x1 + 2x3 = σx1

2 10x2 + 4x3 = σx2

3 2x1 + 4x2 + 2x3 = σx3

17

Schritt V Bestimme die Eigenwerte und Eigenvektoren vonAT middotA

1 10x1 + 2x3 = σx1

2 10x2 + 4x3 = σx2

3 2x1 + 4x2 + 2x3 = σx3

Gleichung (ii) minus zweimal (i)

10x2 + 4x3minus20x1minus4x3 = σx2minus2σx2

und damit σ1 = 10

Mit ahnlichen Umformungen kann man σ2 = 12 sowie σ3 = 0berechnen

18

Schritt V Bestimme die Eigenwerte und Eigenvektoren vonAT middotA

Drei Eigenwerte σ1 = 10 σ2 = 12 und σ3 = 0 Damit ergibt sich furdie Eigenvektoren

1 10x1 + 2x3 = 10x12 10x2 + 4x3 = 10x23 2x1 + 4x2 + 2x3 = 10x3 und damit4 x3 = 0 aus der ersten Gleichung und damit5 2x1 + 4x2 = 0 bzw x1 =minus2x26 Wir konnen die Lange des Eigenvektors wieder frei wahlen da

wir danach eh normalisieren Allerdings sind die Vorzeichen nichtmehr frei wahlbar da ja insgesamt bei U middotΣ middotV T wieder Aherauskommen muss Darauf macht das Tutorial nichtaufmerksamWir wahlen x1 = 2x2 =minus1 hatten aber auch(falschlicherweise)x1 =minus2x2 = 1 wahlen konnen

Ebenso bestimmen wir fur σ2 = 12 einen Eigenvektor (121) und furσ3 = 0 einen Eigenvektor (12minus5)19

Schritt VI Bestimme V

Starte mit einer Matrix V die die bestimmten Eigenvektoren von AT middotAnach der Groszlige der jeweiligen Eigenwerte als Spaltenvektoren enthalt

1 Fur Eigenwert σ1 = 10 hatten wir (2minus10) gewahlt2 Fur Eigenwert σ2 = 12 hatten wir (121) bestimmt3 Fur Eigenwert σ3 = 0 hatten wir (12minus5) bestimmt4 Spaltenvektoren nach Eigenwertgroszlige geordnet

V =

1 2 12 minus1 21 0 minus5

20

Schritt VI Bestimme V

Orthonormalisiere mit Gram-Schmidt die Spaltenvektoren von V

V =

1 2 12 minus1 21 0 minus5

1 Normalisiere ersten Spaltenvektor v (1) = v(1)

v(1) =

1radic6

2radic6

1radic6

2 Berechne die Senkrechte v (2)minus〈v (1) v (2)〉 middot v (1)

3 Also

2minus10

minus〈

1radic6

2radic6

1radic6

2minus10

〉 middot

1radic6

2radic6

1radic6

=

2minus10

4 Normalisiere die Senkrechte

2minus10

ergibt v (2) =

2radic5minus1radic

50

21

Schritt VI Bestimme V

V =

1 2 12 minus1 21 0 minus5

Schon bestimmt

v (1) =

1radic6

2radic6

1radic6

sowie v (2) =

2radic5minus1radic

50

Dann kann man auch noch v (3) berechnen mit der Senkrechten

v (3)minus〈v (1) v (3)〉 middot v (1)minus〈v (2) v (3)〉 middot v (2)

Dies ergibt

minus23minus43103

Normalisiert v (3) =

1radic302radic30minus5radic

30

22

Schritt VI Bestimme V

Damit

V =

1radic6

2radic5

1radic30

2radic6

minus1radic5

2radic30

1radic6

0 minus5radic30

und damit

V T =

1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

23

Schritt VII Bestimme Σ

Σ ist eine mtimesn (hier 2times3) ldquoDiagonalmatrixrdquo mit den Wurzeln derEigenwerte (von A middotAT bzw U bzw V auf der Diagonale) nach Groszligegeordnet

Σ =

(radic12 0 00

radic10 0

)

24

Alles Zusammen

A = UΣV T =

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00

radic10 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(radic12radic2

radic10radic2

0radic

12radic2

minusradic

10radic2

0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(3 1 1minus1 3 1

)

25

Moglicher Schritt VIII Vorzeichenverbesserung

Nehmen wir mal an wir hatten bei V die falschen Vorzeichen gewahltZum Beispiel wir hatten fur σ2 = 10 anstatt (2minus10) den Vektor(minus210) gewahlt Damit ergibt sich

V =

1 minus2 12 1 21 0 minus5

und

V =

1radic6

minus2radic5

1radic30

2radic6

1radic5

2radic30

1radic6

0 minus5radic30

und

V T =

1radic6

2radic6

1radic6

minus2radic5

1radic5

01radic30

2radic30

minus5radic30

26

Moglicher Schritt VIII Vorzeichenverbesserung

Leider ist nun

UΣV T =

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00

radic10 0

)1radic6

2radic6

1radic6

minus2radic5

1radic5

01radic30

2radic30

minus5radic30

=

(radic12radic2

radic10radic2

0radic

12radic2

minusradic

10radic2

0

)1radic6

2radic6

1radic6

minus2radic5

1radic5

01radic30

2radic30

minus5radic30

=

(minus1 3 13 1 1

)

27

Moglicher Schritt VIII Vorzeichenverbesserung

Die unelegante Losung Gehe durch alle Zeilen von V T (Spalten vonV ) multizipliere sie systematisch mit minus1 bis es passt Durch dieMultiplikation mit minus1 bleiben die Vektoren immer noch normal undauch die Orthogonalitat andert sich nicht

Da eventuell auch mehrere Zeilen mit minus1 multipliziert werdenmussen ist dies leider exponentiell in der Zeilenanzahl von V T

(alle moglichen Kombinationen mussen probiert werden)

Es ist nicht gerade elegant

Man kann naturlich stattdessen auch durch die Spalten von Ugehen und diese anpassen

28

Konstruktionsmethodologie II

1 Berechne die quadratische ntimesn Matrix AT middotA2 Berechne die Eigenwerte σ2

j und Eigenvektoren vj von AT middotA3 Die Vektoren vj werden orthonormalisiert (Gram-Schmidt) und

bilden die Spaltenvektoren von V4 Die Wurzeln der σ2-Werte werden in absteigender Reihenfolge

die Eintrage von Σ

5 Die Spaltenvektoren von U bis zum Rang r der AT middotA Matrix sindnun eindeutig bestimmt aus der Vorgabe A = UΣV T und werdendaraus berechnet

6 Wenn r lt m mussen noch mminus r Vektoren zur Orthonormalbasiserganzt werden

29

Konstruktionsmethodologie II

1 Berechne die quadratische ntimesn Matrix AT middotA2 Berechne die Eigenwerte σ2

j und Eigenvektoren vj von AT middotA3 Die Vektoren vj werden orthonormalisiert (Gram-Schmidt) und

bilden die Spaltenvektoren von V4 Die Wurzeln der σ2-Werte werden in absteigender Reihenfolge

die Eintrage von Σ

5 Die Spaltenvektoren von U bis zum Rang r der AT middotA Matrix sindnun eindeutig bestimmt aus der Vorgabe A = UΣV T und werdendaraus berechnet

6 Wenn r lt m mussen noch mminus r Vektoren zur Orthonormalbasiserganzt werden

29

Konstruktionsmethodologie II

1 Berechne die quadratische ntimesn Matrix AT middotA2 Berechne die Eigenwerte σ2

j und Eigenvektoren vj von AT middotA3 Die Vektoren vj werden orthonormalisiert (Gram-Schmidt) und

bilden die Spaltenvektoren von V4 Die Wurzeln der σ2-Werte werden in absteigender Reihenfolge

die Eintrage von Σ

5 Die Spaltenvektoren von U bis zum Rang r der AT middotA Matrix sindnun eindeutig bestimmt aus der Vorgabe A = UΣV T und werdendaraus berechnet

6 Wenn r lt m mussen noch mminus r Vektoren zur Orthonormalbasiserganzt werden

29

Konstruktionsmethodologie II

1 Berechne die quadratische ntimesn Matrix AT middotA2 Berechne die Eigenwerte σ2

j und Eigenvektoren vj von AT middotA3 Die Vektoren vj werden orthonormalisiert (Gram-Schmidt) und

bilden die Spaltenvektoren von V4 Die Wurzeln der σ2-Werte werden in absteigender Reihenfolge

die Eintrage von Σ

5 Die Spaltenvektoren von U bis zum Rang r der AT middotA Matrix sindnun eindeutig bestimmt aus der Vorgabe A = UΣV T und werdendaraus berechnet

6 Wenn r lt m mussen noch mminus r Vektoren zur Orthonormalbasiserganzt werden

29

Schritt I Bestimme V T und Σ wie bisher

Nach dem ublichen Verfahren sei also V T zum Beispiel1radic6

2radic6

1radic6

minus2radic5

1radic5

01radic30

2radic30

minus5radic30

bzw V

V =

1radic6

minus2radic5

1radic30

2radic6

1radic5

2radic30

1radic6

0 minus5radic30

Die Vorzeichen konnten auch anders seinWeiterhin ist

Σ =

(radic12 0 00

radic10 0

)

30

Schritt II Bestimme U

Es muss gelten

A = UΣV T

und damit

AV = UΣV T V

Da V orthogonal ist V T V die Einheitsmatrix und damit

AV = UΣ

31

Schritt II Bestimme U

Man bilde nun eine ntimesm Matrix Σprime die genau auf denentsprechenden Diagonaleintragen 1σi stehen hat Im Beispiel ist

Σprime =

1radic12

0

0 1radic10

0 0

Es gilt dass Σ middotΣprime die mtimesm Einheitsmatrix istUnd damit

AVΣprime = UΣΣprime = U

32

Schritt II Bestimme U

Also giltU = AVΣprime

Damit gilt fur die Spalten von U wenn man sich dieMatrixmultiplikation genauer anschaut

u(j) =1σj

Av (j)

In unserem Beispiel

u(1) =1radic12

(3 1 1minus1 3 1

)1radic6

2radic6

1radic6

=

(1radic2

1radic2

)

33

Schritt II Bestimme U

Und ebenso

u(2) =1radic10

(3 1 1minus1 3 1

)minus2radic

51radic5

0

=

(minus1radic2

1radic2

)

Man sieht dass sich hier das veranderte Vorzeichen von v (2) imentgegengesetzten Vorzeichen von u(2) widerspiegelt Wir musstenauch nicht zweimal Eigenvektoren berechnen sondern U ist aus denvorherigen Berechnungen bestimmt

34

Beispiel mit einer Matrix mit niedrigerem Rang

Da wir durch 1σj

dividieren mussten geht dies nur fur Eigenwerteungleich Null Wenn aber die Matrizen niedrigere Range haben als mdann bekommen wir so nicht genugend U-Vektoren Was machen wirdann

Beispiel Sei eine Matrix von Rang 1 gegeben

A =

(1 01 0

)

35

Berechnung von V

AT A =

(1 10 0

)(1 01 0

)=

(2 00 0

)

36

Berechnung von V

(2 00 0

)hat die Eigenwerte 2 und 0 mit den jeweiligen Eigenvektoren (10)sowie (01)Daraus folgt

V =

(1 00 1

)Die ist schon eine Orthonormalmatrix also gilt V = V sowie daDiagonalmatrix V T = V

37

Bestimmung von Σ

Es gilt

Σ =

(radic2 0

0 0

)

38

Bestimmung von U

Der erste Spaltenvektor u(1) kann wie ublich bestimmt werden mit

u(1) =1radic2

Av (1) =1radic2

(1 01 0

)(10

)

=1radic2

(11

)=

(1radic2

1radic2

)

39

Bestimmung von U

Da wir keinen weiteren Eigenwert 6= 0 haben konnen wir leider sonicht weitermachen dh es geht nur bis zum Rang von A Es gilt aber(

1radic2

x21radic2

y2

)(radic2 0

0 0

)(1 00 1

)

=

(1 01 0

)= A

unabhangig von x2 und y2 Das heisst unser halb vollstandiges U istgenug fur eine Zerlegung

40

Bestimmung von U

1 Wir konnen also jedes x2 und y2 wahlen solange normiert undsenkrecht auf dem ersten Vektor stehend

2 Nach dem sogenannten Basiserganzungssatz geht dies immer3 In unserem Beispiel konnte man zum Beispiel (minus1radic

2 1radic

2) wahlen

4 Wie genau man diese weiteren Vektoren von U konstruiert ist furuns unerheblich da wir ja sowieso die letzten Spalten von U diezu den niedrigeren Eigenwerten gehoren ldquoabschneidenrdquowerden

41

SVD Zwischenfazit

Wir haben eine Matrix in das Produkt einer OrthonormalmatrixDiagonalmatrix und Orthogonalmatrix zerlegt

Die Diagonalmatrix enthalt die Wurzeln von den Eigenwerten vonA middotAT nach Groszlige geordnet

Die erste Orthonormalmatrix enthalt die orthonormalisiertenEigenvektoren von A middotAT nach Eigenwertgrosse geordnet alsSpalten

Die zweite Orthonormalmatrix ist die Transponierte der Matrixdie die orthonormalisierten Eigenvektoren von AT middotA nachEigenwertgrosse geordnet als Spalten enthalt

42

Ubersicht

1 SVD HauptsatzDer SVD-SatzKonstruktion am Beispiel Methodologie IKonstruktionsmethodologie II

2 Interpretation der SVD

3 Reduced SVD

4 Verwendung in NLP

43

Geometrische Interpretation bei quadratischen Matrizen

Bedeutung der SVD ist dass sich die Funktion in eine DrehungDrehspiegelung (V T )eine Verzerrung (Σ) und eine zweite DrehungDrehspiegelung (U) zerlegen lsst

Matrix

(1 10 1

)SVD Geometrische Interpretationa

aQuelle httpscommonswikimediaorgwikiFileSingular-Value-Decompositionsvg

44

Noch einige Bemerkungen

Die Eigenwerte und damit Σ sind eindeutig bestimmt

U und V sind nicht eindeutig bestimmt Es konnen Drehungenum 180 Grad oder Spiegelungen hinzukommen

Wir konnen in vielen Fallen einen Eigenvektor wahlen(Freiheitsgrade) mussen aber dann bei den Vorzeichen derzweiten Matrix aufpassen

45

Noch einige Bemerkungen

Wir haben implizit den Rang der Ursprungsmatrix A bestimmtDies kann man klar an U middotΣ sehen

A = UΣV T =

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00

radic10 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(radic12radic2

radic10radic2

0radic

12radic2

minusradic

10radic2

0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(3 1 1minus1 3 1

)

46

Noch einige Bemerkungen

Deswegen wird manchmal die Singularwertzerlegung auch alsZerlegung in drei Matrizen Amtimesn = Umtimesr Σrtimesr V T

rtimesn wobei r der Rangder Matrix A ist beschrieben

A = UΣV T =

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00

radic10 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 00

radic10

)( 1radic6

2radic6

1radic6

2radic5

minus1radic5

0

)=

(radic12radic2

radic10radic2radic

12radic2

minusradic

10radic2

)(1radic6

2radic6

1radic6

2radic5

minus1radic5

0

)=

(3 1 1minus1 3 1

)47

Noch einige Bemerkungen

Bisher haben wir immer die Ausgangsmatrix einfach reproduziert(mit dem gleichen Rang) Man sieht den Rang besser und es gilt

Die ldquoZerrungrdquo durch die Matrix Σ ist bei den Dimensionen mit denhochsten Eigenwerten am groszligten Beispiel

(radic12 0 00

radic10 0

)x1

x2

x3

=

(radic12 middot x1radic10 middot x2

)Es macht also Sinn dass wir wenn wir eine Approximationunserer Ausgangsmatrix mit niedrigerem Rang wollen dann dieunwichtigen Dimensionen die durch niedrige Eigenwertegekennzeichnet sind weglassen

48

Ubersicht

1 SVD HauptsatzDer SVD-SatzKonstruktion am Beispiel Methodologie IKonstruktionsmethodologie II

2 Interpretation der SVD

3 Reduced SVD

4 Verwendung in NLP

49

Reduced SVD Approximation niedrigeren Ranges

Approximation von mtimesn Matrix A mit Rang r durch mtimesn -Matrix Ak mit Rang k lt r

A = UΣV T asymp Ak = UΣk V T

Σk ist eine ldquodiagonalerdquo mtimesn - Matrix bei der nur auf den erstenk Stellen der Diagonalmatrix Werte 6= 0 stehen

U und V wie zuvor

50

Beispiel

A = UΣV T =

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00

radic10 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

asymp

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00 0 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(radic12radic2

0 0radic

12radic2

0 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(1 2 11 2 1

)51

Reduced SVD

Wir hatten auch nur die ersten k Spalten von U sowie die ersten kZeilen von V T behalten konnen

Aasymp

(1radic2

1radic2

)(radic12)( 1radic

62radic6

1radic6

)=

(radic12radic2radic

12radic2

)(1radic6

2radic6

1radic6

)=

(1 2 11 2 1

)

52

Als Bild

53

Als Algorithmus

Gegeben mtimesn Matrix A und gewunschter Rank k Wir produziereneine Rangminus k Approximation wie folgt

1 Wir berechnen eine SVD Zerlegung von A

Amtimesn = UmtimesmΣmtimesnV Tntimesn

2 Wir behalten nur die ersten k Spalten von U resultierend in Umtimesk

3 Wir behalten nur die Top k sprich die ersten k Diagonalwerte vonΣ resultierend in Σktimesk

4 Wir behalten nur die ersten k Reihen von V T resultierend in V Tktimesn

54

Reduced SVD

Diagonale Eintrage in Σk sind die k groszligten Eigenwerte vonA middotAT

Satz UΣk V T minimiert die Differenz der Frobenius-Normzwischen A und Ak unter der Bedingung rang(Ak ) = k

Das heisst Fur jede mtimesn Matrix A mit Rang r angestrebtemRang k lt r und jede mtimesn Matrix B mit Rang k gilt

Aminus Ak2 le AminusB2

wobei Ak die Rang-k Approximation ist die man aus der SVD vonA ableiten kann

55

Was hat man erreicht

Unkorrelierte Dimensionen (Orthonormalbasis) die nur nochverzerrt werden

Wir haben die Dimensionen mit der meisten Variation identifiziertund danach geordnet

ldquoUnwichtigerdquo Dimensionen werden weggelassenrarr Rauschenvermindert

Man braucht viel weniger Speicherplatz O(k(n + m)) anstattO(nm)

Die neuen ldquoverstecktenrdquo Dimensionen konnen zurAhnlichkeitsberechnung verwendet werden und funktionieren oftbesser

56

Wie wahlt man k

Meist empirisch Gesehen

1 In NLP oft die ersten 200 bis 300 Dimensionen2 In Recommender Systems Wahle k so dass die Summe der

ersten k Eigenwerte mindestens 10-mal der Summe alleranderen Eigenwerte

57

Ubersicht

1 SVD HauptsatzDer SVD-SatzKonstruktion am Beispiel Methodologie IKonstruktionsmethodologie II

2 Interpretation der SVD

3 Reduced SVD

4 Verwendung in NLP

58

Dichte Embeddings

A ist Matrix von m WorternTermen und n Kontexten (PPMIfrequency )Reduced SVD resultiert in Ak mit

Umtimesk ist mtimes k - MatrixZeilen von Umtimesk reprasentieren TermeSpalten in Umtimesk latente Reprasentation der KontexteBenutze Umtimesk middotΣktimesk zur Berechnung von Termahnlichkeiten

Vorteile gegenuber der vollen Term-Kontext-MatrixDichte MatrixDimensionsreduktion effizientere VerarbeitungDe-Noising

59

Dichte Embeddings

A ist Matrix von m WorternTermen und n Kontexten (PPMIfrequency )Reduced SVD resultiert in Ak mit

Umtimesk ist mtimes k - MatrixZeilen von Umtimesk reprasentieren TermeSpalten in Umtimesk latente Reprasentation der KontexteBenutze Umtimesk middotΣktimesk zur Berechnung von Termahnlichkeiten

Vorteile gegenuber der vollen Term-Kontext-MatrixDichte MatrixDimensionsreduktion effizientere VerarbeitungDe-Noising

59

Dichte Embeddings

A ist Matrix von m WorternTermen und n Kontexten (PPMIfrequency )Reduced SVD resultiert in Ak mit

Umtimesk ist mtimes k - MatrixZeilen von Umtimesk reprasentieren TermeSpalten in Umtimesk latente Reprasentation der KontexteBenutze Umtimesk middotΣktimesk zur Berechnung von Termahnlichkeiten

Vorteile gegenuber der vollen Term-Kontext-MatrixDichte MatrixDimensionsreduktion effizientere VerarbeitungDe-Noising

59

Das Beispiel vom Anfang

Eine Wort-Dokument-Matrix M aus dem R5times3

d1 d2 d3ship 1 1 0boat 0 0 1

ocean 1 0 1motor 1 0 1wood 0 1 0

cossim(shipboat) = 0

cossim(shipocean) =12

cossim(boatocean) =1radic2

= 07

60

SVD Zerlegung war

minus041 07 024minus029 minus033 minus072minus061 minus02 014minus061 minus02 014minus01 057 minus062

227 0 0

0 149 00 0 078

minus072 minus023 minus066019 085 minus05067 minus048 minus056

=

minus093 104 0187minus0658 minus049 minus056minus138 minus0298 01092minus138 minus0298 minus1092minus0227 084 minus0483

minus072 minus023 minus066

019 085 minus05067 minus048 minus056

=

1 1 00 0 11 0 11 0 10 1 0

Abweichungen sind Rundungsfehler61

Niedrigdimensionale Approximation

Die kleinsten Eigenwerte sind die unwichtigsten Wir konnen dieseldquoweglassenrdquo = auf Null setzenrarr eine Matrix mit kleinerem Rang dieaber relativ ahnlich zur Ausgangsmatrix istminus041 07 024minus029 minus033 minus072minus061 minus02 014minus061 minus02 014minus01 057 minus062

227 0 0

0 149 00 0 0

minus072 minus023 minus066019 085 minus05067 minus048 minus056

=

minus093 104 0minus0658 minus049 0minus138 minus0298 0minus138 minus0298 0minus0227 084 0

minus072 minus023 minus066

019 085 minus05067 minus048 minus056

=

087 109 011038 minus027 068093 005 106093 005 106032 077 minus027

62

Die niedrigdimensionale Approximation

Wir interessieren uns fur die Matrix U2 = UΣ2 also die Matrix mit demniedrigerem Rang

minus093 104 0minus0658 minus049 0minus138 minus0298 0minus138 minus0298 0minus0227 084 0

Man kann diese nun als die Reprasentation unserer 5 Worter mit zweiversteckten Dimensionen auffassen

h1 h2ship minus093 104boat minus0658 minus049

ocean minus138 minus0298motor minus138 minus0298wood minus0227 084

63

Neue Ahnlichkeitsberechnungen

h1 h2ship minus093 104boat minus0658 minus049

ocean minus138 minus0298motor minus138 minus0298wood minus0227 084

cossim(shipboat) =(minus093) middot (minus0658) + 104 middot (minus049)radic

(0932 + 1042) middotradic

(06582 + 0492)= 009

cossim(shipocean) =(minus093) middot (minus138) + 104 middot (minus029)radic

(0932 + 1042) middotradic

(1382 + 0292)= 049

cossim(boatocean) = 09

64

Variationen

Benutze nur Umtimesk zur Ahnlichkeitsberechnung

Benutze Umtimesk middotΣpktimesk zur Ahnlichkeitsberechnungrarr Parameter p

sollte getuned werden Kann groszlige Unterschiede machen

Oft p = 0p = 05p = 1

65

Performanz der Reduced-SVD-Embeddings

Levy O Goldberg Y Neural word embedding as implicit matrix factorization In

Advances in neural information processing systems 2014 S 2177-2185

(Englische) Wikipedia 15 Milliarden Tokens

Fenster 2 beiderseits

Vokabular 189 533 fur Terme sowie Kontexte

PPMI Matrizen

SVD sowie ohne Zerlegung (PPMI) sowie neurale (SGNS)

Algorithmus Spearman Rank zu WordSim 353SVD 0652SGNS 0633PPMI 0605

66

Latent Semantic Analysis und Word Embeddings

Levy2014

ldquoWe analyze skip-gram with negative-sampling (SGNS) [] and show that it isimplicitly factorizing a word-context matrix whose cells are the pointwise mutualinformation (PMI) of the respective word and context pairs shifted by a globalconstant When dense low-dimensional vectors are preferred exact factorizationwith SVD can achieve solutions that are at least as good as SGNSrsquoss solutions forword similarity tasks On analogy questions SGNS remains superior to SVD Weconjecture that this stems from the weighted nature of SGNSrsquos factorizationrdquo

67

Zusammenfassung

Reduced SVD resultiert in einer optimalen Approximation derOriginalmatrix mit niedrigerem Rang Optimal = optimal bzgl derFrobeniusnorm (bzw mean squared error)

Dadurch erhalten wir eine mathematisch fundierte dichtereMatrix die Rauschen (weniger wichtige Dimensionen) eliminiert

Wir konnen mittels Umtimesk Σktimesk weiterhin Wortahnlichkeitenberechnen

Es konnen Resultate erreicht werden die bei word similaritymindestens ebensogut sind wie mit neuralen word embeddings

Nachteile Kosten der SVD Berechnung fur mtimesn matrixO(n middotm2) (when m lt n)rarr Nicht gut fur sehr grosse Matrizen

Nachteile Geht nicht gut mit unbekannten Wortern um

Nachteile schlechter bei Wortanalogieaufgaben

68

Literatur

Guter erweiterter Hintergrundhttptheorystanfordedu˜tims15ll7pdf bishttptheorystanfordedu˜tims15ll9pdf

SVD Tutorial (ohne vollstandigen Hintergrund) Kirk Baker(2005) Singular Value Decomposition Tutorialhttpsdatajobscomdata-science-repoSVD-Tutorial-[Kirk-Baker]pdf Leider ist hier imKonstruktionsverfahren I die Vorzeichenproblematikfalschlicherweise nicht behandelt worden

Levy O Goldberg Y Neural word embedding as implicit matrixfactorization In Advances in neural information processingsystems 2014 S 2177-2185

Ubungsblatt II

69

  • SVD Hauptsatz
    • Der SVD-Satz
    • Konstruktion am Beispiel Methodologie I
    • Konstruktionsmethodologie II
      • Interpretation der SVD
      • Reduced SVD
      • Verwendung in NLP

Singularwertzerlegung

A =

a11 a12 a1n

a21 a22 a2n

am1 am2 amn

=

u11 u12 u1mu21 u22 u2m

um1 um2 umm

σ11 0 0 00 σ22 0 0

0 0 0 σmn

v11 v12 v1nv21 v22 v2nv31 v32 v3n

vn1 vn2 vnn

T

Diagonale Eintrage in Σ werden als Singularwerte von A bezeichnet

Spalten in U werden als linke Singularvektoren von A bezeichnet

Spalten in V werden als rechte Singularvektoren von A bezeichnet

6

Konstruktionsmethodologie I

1 Berechne die quadratische mtimesm Matrix A middotAT

2 Berechne die Eigenwerte σ2i und Eigenvektoren ui von A middotAT

3 Die Vektoren ui werden orthonormalisiert (Gram-Schmidt) undbilden die Spaltenvektoren von U

4 Berechne die quadratische ntimesn Matrix AT middotA5 Berechne die Eigenwerte σ2

j und Eigenvektoren vj von AT middotATip die positiven Eigenwerte sind gleich zu denen von A middotAT

6 Die Vektoren vj werden orthonormalisiert (Gram-Schmidt) undbilden die Spaltenvektoren von V

7 Die Wurzeln der σ2-Werte werden in absteigender Reihenfolgedie Eintrage von Σ

8 Eventuell Korrektur der Vorzeichen von U bzw V

7

Konstruktionsmethodologie I

1 Berechne die quadratische mtimesm Matrix A middotAT

2 Berechne die Eigenwerte σ2i und Eigenvektoren ui von A middotAT

3 Die Vektoren ui werden orthonormalisiert (Gram-Schmidt) undbilden die Spaltenvektoren von U

4 Berechne die quadratische ntimesn Matrix AT middotA5 Berechne die Eigenwerte σ2

j und Eigenvektoren vj von AT middotATip die positiven Eigenwerte sind gleich zu denen von A middotAT

6 Die Vektoren vj werden orthonormalisiert (Gram-Schmidt) undbilden die Spaltenvektoren von V

7 Die Wurzeln der σ2-Werte werden in absteigender Reihenfolgedie Eintrage von Σ

8 Eventuell Korrektur der Vorzeichen von U bzw V

7

Konstruktionsmethodologie I

1 Berechne die quadratische mtimesm Matrix A middotAT

2 Berechne die Eigenwerte σ2i und Eigenvektoren ui von A middotAT

3 Die Vektoren ui werden orthonormalisiert (Gram-Schmidt) undbilden die Spaltenvektoren von U

4 Berechne die quadratische ntimesn Matrix AT middotA5 Berechne die Eigenwerte σ2

j und Eigenvektoren vj von AT middotATip die positiven Eigenwerte sind gleich zu denen von A middotAT

6 Die Vektoren vj werden orthonormalisiert (Gram-Schmidt) undbilden die Spaltenvektoren von V

7 Die Wurzeln der σ2-Werte werden in absteigender Reihenfolgedie Eintrage von Σ

8 Eventuell Korrektur der Vorzeichen von U bzw V

7

Konstruktionsmethodologie I

1 Berechne die quadratische mtimesm Matrix A middotAT

2 Berechne die Eigenwerte σ2i und Eigenvektoren ui von A middotAT

3 Die Vektoren ui werden orthonormalisiert (Gram-Schmidt) undbilden die Spaltenvektoren von U

4 Berechne die quadratische ntimesn Matrix AT middotA5 Berechne die Eigenwerte σ2

j und Eigenvektoren vj von AT middotATip die positiven Eigenwerte sind gleich zu denen von A middotAT

6 Die Vektoren vj werden orthonormalisiert (Gram-Schmidt) undbilden die Spaltenvektoren von V

7 Die Wurzeln der σ2-Werte werden in absteigender Reihenfolgedie Eintrage von Σ

8 Eventuell Korrektur der Vorzeichen von U bzw V

7

Beispiel (aus Kirk Bakers Tutorial)

Sei

A =

(3 1 1minus1 3 1

)

8

Schritt 1 Berechne A middotAT

A middotAT =

(3 1 1minus1 3 1

)3 minus11 31 1

=

(11 11 11

)

9

Schritt II Bestimme die Eigenwerte und Eigenvektoren vonA middotAT

Setze (11 11 11

)middot(

x1

x2

)= σ

(x1

x2

)Damit ergibt sich das Gleichungssystem

1 11x1 + x2 = σx1

2 x1 + 11x2 = σx2

10

Schritt II Bestimme die Eigenwerte und Eigenvektoren vonA middotAT

Setze (11 11 11

)middot(

x1

x2

)= σ

(x1

x2

)Damit ergibt sich das Gleichungssystem

1 11x1 + x2 = σx1

2 x1 + 11x2 = σx2

10

Schritt II Bestimme die Eigenwerte und Eigenvektoren vonA middotAT

1 11x1 + x2 = σx1

2 x1 + 11x2 = σx2

Ergibt z B nach Umformungen (hier Zeilenabzug)

10x1minus10x2 = σx1minusσx2

und damit Eigenwert σ1 = 10Ergibt z B nach Umformungen (hier Zeilenaddition)

12x1 + 12x2 = σx1 + σx2

und damit Eigenwert σ2 = 12

11

Schritt II Bestimme die Eigenwerte und Eigenvektoren vonA middotAT

1 11x1 + x2 = σx1

2 x1 + 11x2 = σx2

Zwei Eigenwerte σ1 = 10 und σ2 = 12 Damit ergibt sich fur dieEigenvektoren

1 11x1 + x2 = 10x1

2 x1 + 11x2 = 10x2 und damit3 x1 =minusx2

4 Wir wahlen x1 = 1 und damit x2 =minus1

sowie

1 11x1 + x2 = 12x1

2 x1 + 11x2 = 12x2 und damit3 x1 = x2

4 Wir wahlen x1 = 1 und damit x2 = 112

Schritt III Bestimme U

Starte mit einer Matrix U die die bestimmten Eigenvektoren von A middotAT

geordnet nach der Groszlige der jeweiligen Eigenwerte enthalt

1 Fur Eigenwert σ1 = 10 hatten wir x1 = 1 und damit x2 =minus1gewahlt

2 Fur Eigenwert σ1 = 12 hatten wir x1 = 1 und damit x2 = 1 gewahlt3 Spaltenvektoren nach Eigenwertgroszlige geordnet

U =

(1 11 minus1

)

13

Schritt III Bestimme U

Orthonormalisiere mit Gram-Schmidt die Spaltenvektoren von U

U =

(1 11 minus1

)

1 Normalisiere ersten Spaltenvektor u(1) = u(1)

u(1) =

(1radic2

1radic2

)2 Berechne die Senkrechte u(2)minus〈u(1) u(2)〉 middotu(1)

3 Also

(1minus1

)minus〈

(1radic2

1radic2

)

(1minus1

)〉 middot

(1radic2

1radic2

)=

(1minus1

)4 Normalisiere die Senkrechte

(1minus1

)ergibt u(2) =

(1radic2minus1radic

2

)

14

Schritt III Bestimme U

Damit ist

U =

(1radic2

1radic2

1radic2

minus1radic2

)

15

Schritt IV Berechne AT middotA

AT middotA =

3 minus11 31 1

( 3 1 1minus1 3 1

)=

10 0 20 10 42 4 2

16

Schritt V Bestimme die Eigenwerte und Eigenvektoren vonAT middotA

Setze 10 0 20 10 42 4 2

middotx1

x2

x3

= σ

x1

x2

x3

Damit ergibt sich das Gleichungssystem

1 10x1 + 2x3 = σx1

2 10x2 + 4x3 = σx2

3 2x1 + 4x2 + 2x3 = σx3

17

Schritt V Bestimme die Eigenwerte und Eigenvektoren vonAT middotA

Setze 10 0 20 10 42 4 2

middotx1

x2

x3

= σ

x1

x2

x3

Damit ergibt sich das Gleichungssystem

1 10x1 + 2x3 = σx1

2 10x2 + 4x3 = σx2

3 2x1 + 4x2 + 2x3 = σx3

17

Schritt V Bestimme die Eigenwerte und Eigenvektoren vonAT middotA

1 10x1 + 2x3 = σx1

2 10x2 + 4x3 = σx2

3 2x1 + 4x2 + 2x3 = σx3

Gleichung (ii) minus zweimal (i)

10x2 + 4x3minus20x1minus4x3 = σx2minus2σx2

und damit σ1 = 10

Mit ahnlichen Umformungen kann man σ2 = 12 sowie σ3 = 0berechnen

18

Schritt V Bestimme die Eigenwerte und Eigenvektoren vonAT middotA

Drei Eigenwerte σ1 = 10 σ2 = 12 und σ3 = 0 Damit ergibt sich furdie Eigenvektoren

1 10x1 + 2x3 = 10x12 10x2 + 4x3 = 10x23 2x1 + 4x2 + 2x3 = 10x3 und damit4 x3 = 0 aus der ersten Gleichung und damit5 2x1 + 4x2 = 0 bzw x1 =minus2x26 Wir konnen die Lange des Eigenvektors wieder frei wahlen da

wir danach eh normalisieren Allerdings sind die Vorzeichen nichtmehr frei wahlbar da ja insgesamt bei U middotΣ middotV T wieder Aherauskommen muss Darauf macht das Tutorial nichtaufmerksamWir wahlen x1 = 2x2 =minus1 hatten aber auch(falschlicherweise)x1 =minus2x2 = 1 wahlen konnen

Ebenso bestimmen wir fur σ2 = 12 einen Eigenvektor (121) und furσ3 = 0 einen Eigenvektor (12minus5)19

Schritt VI Bestimme V

Starte mit einer Matrix V die die bestimmten Eigenvektoren von AT middotAnach der Groszlige der jeweiligen Eigenwerte als Spaltenvektoren enthalt

1 Fur Eigenwert σ1 = 10 hatten wir (2minus10) gewahlt2 Fur Eigenwert σ2 = 12 hatten wir (121) bestimmt3 Fur Eigenwert σ3 = 0 hatten wir (12minus5) bestimmt4 Spaltenvektoren nach Eigenwertgroszlige geordnet

V =

1 2 12 minus1 21 0 minus5

20

Schritt VI Bestimme V

Orthonormalisiere mit Gram-Schmidt die Spaltenvektoren von V

V =

1 2 12 minus1 21 0 minus5

1 Normalisiere ersten Spaltenvektor v (1) = v(1)

v(1) =

1radic6

2radic6

1radic6

2 Berechne die Senkrechte v (2)minus〈v (1) v (2)〉 middot v (1)

3 Also

2minus10

minus〈

1radic6

2radic6

1radic6

2minus10

〉 middot

1radic6

2radic6

1radic6

=

2minus10

4 Normalisiere die Senkrechte

2minus10

ergibt v (2) =

2radic5minus1radic

50

21

Schritt VI Bestimme V

V =

1 2 12 minus1 21 0 minus5

Schon bestimmt

v (1) =

1radic6

2radic6

1radic6

sowie v (2) =

2radic5minus1radic

50

Dann kann man auch noch v (3) berechnen mit der Senkrechten

v (3)minus〈v (1) v (3)〉 middot v (1)minus〈v (2) v (3)〉 middot v (2)

Dies ergibt

minus23minus43103

Normalisiert v (3) =

1radic302radic30minus5radic

30

22

Schritt VI Bestimme V

Damit

V =

1radic6

2radic5

1radic30

2radic6

minus1radic5

2radic30

1radic6

0 minus5radic30

und damit

V T =

1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

23

Schritt VII Bestimme Σ

Σ ist eine mtimesn (hier 2times3) ldquoDiagonalmatrixrdquo mit den Wurzeln derEigenwerte (von A middotAT bzw U bzw V auf der Diagonale) nach Groszligegeordnet

Σ =

(radic12 0 00

radic10 0

)

24

Alles Zusammen

A = UΣV T =

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00

radic10 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(radic12radic2

radic10radic2

0radic

12radic2

minusradic

10radic2

0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(3 1 1minus1 3 1

)

25

Moglicher Schritt VIII Vorzeichenverbesserung

Nehmen wir mal an wir hatten bei V die falschen Vorzeichen gewahltZum Beispiel wir hatten fur σ2 = 10 anstatt (2minus10) den Vektor(minus210) gewahlt Damit ergibt sich

V =

1 minus2 12 1 21 0 minus5

und

V =

1radic6

minus2radic5

1radic30

2radic6

1radic5

2radic30

1radic6

0 minus5radic30

und

V T =

1radic6

2radic6

1radic6

minus2radic5

1radic5

01radic30

2radic30

minus5radic30

26

Moglicher Schritt VIII Vorzeichenverbesserung

Leider ist nun

UΣV T =

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00

radic10 0

)1radic6

2radic6

1radic6

minus2radic5

1radic5

01radic30

2radic30

minus5radic30

=

(radic12radic2

radic10radic2

0radic

12radic2

minusradic

10radic2

0

)1radic6

2radic6

1radic6

minus2radic5

1radic5

01radic30

2radic30

minus5radic30

=

(minus1 3 13 1 1

)

27

Moglicher Schritt VIII Vorzeichenverbesserung

Die unelegante Losung Gehe durch alle Zeilen von V T (Spalten vonV ) multizipliere sie systematisch mit minus1 bis es passt Durch dieMultiplikation mit minus1 bleiben die Vektoren immer noch normal undauch die Orthogonalitat andert sich nicht

Da eventuell auch mehrere Zeilen mit minus1 multipliziert werdenmussen ist dies leider exponentiell in der Zeilenanzahl von V T

(alle moglichen Kombinationen mussen probiert werden)

Es ist nicht gerade elegant

Man kann naturlich stattdessen auch durch die Spalten von Ugehen und diese anpassen

28

Konstruktionsmethodologie II

1 Berechne die quadratische ntimesn Matrix AT middotA2 Berechne die Eigenwerte σ2

j und Eigenvektoren vj von AT middotA3 Die Vektoren vj werden orthonormalisiert (Gram-Schmidt) und

bilden die Spaltenvektoren von V4 Die Wurzeln der σ2-Werte werden in absteigender Reihenfolge

die Eintrage von Σ

5 Die Spaltenvektoren von U bis zum Rang r der AT middotA Matrix sindnun eindeutig bestimmt aus der Vorgabe A = UΣV T und werdendaraus berechnet

6 Wenn r lt m mussen noch mminus r Vektoren zur Orthonormalbasiserganzt werden

29

Konstruktionsmethodologie II

1 Berechne die quadratische ntimesn Matrix AT middotA2 Berechne die Eigenwerte σ2

j und Eigenvektoren vj von AT middotA3 Die Vektoren vj werden orthonormalisiert (Gram-Schmidt) und

bilden die Spaltenvektoren von V4 Die Wurzeln der σ2-Werte werden in absteigender Reihenfolge

die Eintrage von Σ

5 Die Spaltenvektoren von U bis zum Rang r der AT middotA Matrix sindnun eindeutig bestimmt aus der Vorgabe A = UΣV T und werdendaraus berechnet

6 Wenn r lt m mussen noch mminus r Vektoren zur Orthonormalbasiserganzt werden

29

Konstruktionsmethodologie II

1 Berechne die quadratische ntimesn Matrix AT middotA2 Berechne die Eigenwerte σ2

j und Eigenvektoren vj von AT middotA3 Die Vektoren vj werden orthonormalisiert (Gram-Schmidt) und

bilden die Spaltenvektoren von V4 Die Wurzeln der σ2-Werte werden in absteigender Reihenfolge

die Eintrage von Σ

5 Die Spaltenvektoren von U bis zum Rang r der AT middotA Matrix sindnun eindeutig bestimmt aus der Vorgabe A = UΣV T und werdendaraus berechnet

6 Wenn r lt m mussen noch mminus r Vektoren zur Orthonormalbasiserganzt werden

29

Konstruktionsmethodologie II

1 Berechne die quadratische ntimesn Matrix AT middotA2 Berechne die Eigenwerte σ2

j und Eigenvektoren vj von AT middotA3 Die Vektoren vj werden orthonormalisiert (Gram-Schmidt) und

bilden die Spaltenvektoren von V4 Die Wurzeln der σ2-Werte werden in absteigender Reihenfolge

die Eintrage von Σ

5 Die Spaltenvektoren von U bis zum Rang r der AT middotA Matrix sindnun eindeutig bestimmt aus der Vorgabe A = UΣV T und werdendaraus berechnet

6 Wenn r lt m mussen noch mminus r Vektoren zur Orthonormalbasiserganzt werden

29

Schritt I Bestimme V T und Σ wie bisher

Nach dem ublichen Verfahren sei also V T zum Beispiel1radic6

2radic6

1radic6

minus2radic5

1radic5

01radic30

2radic30

minus5radic30

bzw V

V =

1radic6

minus2radic5

1radic30

2radic6

1radic5

2radic30

1radic6

0 minus5radic30

Die Vorzeichen konnten auch anders seinWeiterhin ist

Σ =

(radic12 0 00

radic10 0

)

30

Schritt II Bestimme U

Es muss gelten

A = UΣV T

und damit

AV = UΣV T V

Da V orthogonal ist V T V die Einheitsmatrix und damit

AV = UΣ

31

Schritt II Bestimme U

Man bilde nun eine ntimesm Matrix Σprime die genau auf denentsprechenden Diagonaleintragen 1σi stehen hat Im Beispiel ist

Σprime =

1radic12

0

0 1radic10

0 0

Es gilt dass Σ middotΣprime die mtimesm Einheitsmatrix istUnd damit

AVΣprime = UΣΣprime = U

32

Schritt II Bestimme U

Also giltU = AVΣprime

Damit gilt fur die Spalten von U wenn man sich dieMatrixmultiplikation genauer anschaut

u(j) =1σj

Av (j)

In unserem Beispiel

u(1) =1radic12

(3 1 1minus1 3 1

)1radic6

2radic6

1radic6

=

(1radic2

1radic2

)

33

Schritt II Bestimme U

Und ebenso

u(2) =1radic10

(3 1 1minus1 3 1

)minus2radic

51radic5

0

=

(minus1radic2

1radic2

)

Man sieht dass sich hier das veranderte Vorzeichen von v (2) imentgegengesetzten Vorzeichen von u(2) widerspiegelt Wir musstenauch nicht zweimal Eigenvektoren berechnen sondern U ist aus denvorherigen Berechnungen bestimmt

34

Beispiel mit einer Matrix mit niedrigerem Rang

Da wir durch 1σj

dividieren mussten geht dies nur fur Eigenwerteungleich Null Wenn aber die Matrizen niedrigere Range haben als mdann bekommen wir so nicht genugend U-Vektoren Was machen wirdann

Beispiel Sei eine Matrix von Rang 1 gegeben

A =

(1 01 0

)

35

Berechnung von V

AT A =

(1 10 0

)(1 01 0

)=

(2 00 0

)

36

Berechnung von V

(2 00 0

)hat die Eigenwerte 2 und 0 mit den jeweiligen Eigenvektoren (10)sowie (01)Daraus folgt

V =

(1 00 1

)Die ist schon eine Orthonormalmatrix also gilt V = V sowie daDiagonalmatrix V T = V

37

Bestimmung von Σ

Es gilt

Σ =

(radic2 0

0 0

)

38

Bestimmung von U

Der erste Spaltenvektor u(1) kann wie ublich bestimmt werden mit

u(1) =1radic2

Av (1) =1radic2

(1 01 0

)(10

)

=1radic2

(11

)=

(1radic2

1radic2

)

39

Bestimmung von U

Da wir keinen weiteren Eigenwert 6= 0 haben konnen wir leider sonicht weitermachen dh es geht nur bis zum Rang von A Es gilt aber(

1radic2

x21radic2

y2

)(radic2 0

0 0

)(1 00 1

)

=

(1 01 0

)= A

unabhangig von x2 und y2 Das heisst unser halb vollstandiges U istgenug fur eine Zerlegung

40

Bestimmung von U

1 Wir konnen also jedes x2 und y2 wahlen solange normiert undsenkrecht auf dem ersten Vektor stehend

2 Nach dem sogenannten Basiserganzungssatz geht dies immer3 In unserem Beispiel konnte man zum Beispiel (minus1radic

2 1radic

2) wahlen

4 Wie genau man diese weiteren Vektoren von U konstruiert ist furuns unerheblich da wir ja sowieso die letzten Spalten von U diezu den niedrigeren Eigenwerten gehoren ldquoabschneidenrdquowerden

41

SVD Zwischenfazit

Wir haben eine Matrix in das Produkt einer OrthonormalmatrixDiagonalmatrix und Orthogonalmatrix zerlegt

Die Diagonalmatrix enthalt die Wurzeln von den Eigenwerten vonA middotAT nach Groszlige geordnet

Die erste Orthonormalmatrix enthalt die orthonormalisiertenEigenvektoren von A middotAT nach Eigenwertgrosse geordnet alsSpalten

Die zweite Orthonormalmatrix ist die Transponierte der Matrixdie die orthonormalisierten Eigenvektoren von AT middotA nachEigenwertgrosse geordnet als Spalten enthalt

42

Ubersicht

1 SVD HauptsatzDer SVD-SatzKonstruktion am Beispiel Methodologie IKonstruktionsmethodologie II

2 Interpretation der SVD

3 Reduced SVD

4 Verwendung in NLP

43

Geometrische Interpretation bei quadratischen Matrizen

Bedeutung der SVD ist dass sich die Funktion in eine DrehungDrehspiegelung (V T )eine Verzerrung (Σ) und eine zweite DrehungDrehspiegelung (U) zerlegen lsst

Matrix

(1 10 1

)SVD Geometrische Interpretationa

aQuelle httpscommonswikimediaorgwikiFileSingular-Value-Decompositionsvg

44

Noch einige Bemerkungen

Die Eigenwerte und damit Σ sind eindeutig bestimmt

U und V sind nicht eindeutig bestimmt Es konnen Drehungenum 180 Grad oder Spiegelungen hinzukommen

Wir konnen in vielen Fallen einen Eigenvektor wahlen(Freiheitsgrade) mussen aber dann bei den Vorzeichen derzweiten Matrix aufpassen

45

Noch einige Bemerkungen

Wir haben implizit den Rang der Ursprungsmatrix A bestimmtDies kann man klar an U middotΣ sehen

A = UΣV T =

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00

radic10 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(radic12radic2

radic10radic2

0radic

12radic2

minusradic

10radic2

0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(3 1 1minus1 3 1

)

46

Noch einige Bemerkungen

Deswegen wird manchmal die Singularwertzerlegung auch alsZerlegung in drei Matrizen Amtimesn = Umtimesr Σrtimesr V T

rtimesn wobei r der Rangder Matrix A ist beschrieben

A = UΣV T =

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00

radic10 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 00

radic10

)( 1radic6

2radic6

1radic6

2radic5

minus1radic5

0

)=

(radic12radic2

radic10radic2radic

12radic2

minusradic

10radic2

)(1radic6

2radic6

1radic6

2radic5

minus1radic5

0

)=

(3 1 1minus1 3 1

)47

Noch einige Bemerkungen

Bisher haben wir immer die Ausgangsmatrix einfach reproduziert(mit dem gleichen Rang) Man sieht den Rang besser und es gilt

Die ldquoZerrungrdquo durch die Matrix Σ ist bei den Dimensionen mit denhochsten Eigenwerten am groszligten Beispiel

(radic12 0 00

radic10 0

)x1

x2

x3

=

(radic12 middot x1radic10 middot x2

)Es macht also Sinn dass wir wenn wir eine Approximationunserer Ausgangsmatrix mit niedrigerem Rang wollen dann dieunwichtigen Dimensionen die durch niedrige Eigenwertegekennzeichnet sind weglassen

48

Ubersicht

1 SVD HauptsatzDer SVD-SatzKonstruktion am Beispiel Methodologie IKonstruktionsmethodologie II

2 Interpretation der SVD

3 Reduced SVD

4 Verwendung in NLP

49

Reduced SVD Approximation niedrigeren Ranges

Approximation von mtimesn Matrix A mit Rang r durch mtimesn -Matrix Ak mit Rang k lt r

A = UΣV T asymp Ak = UΣk V T

Σk ist eine ldquodiagonalerdquo mtimesn - Matrix bei der nur auf den erstenk Stellen der Diagonalmatrix Werte 6= 0 stehen

U und V wie zuvor

50

Beispiel

A = UΣV T =

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00

radic10 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

asymp

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00 0 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(radic12radic2

0 0radic

12radic2

0 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(1 2 11 2 1

)51

Reduced SVD

Wir hatten auch nur die ersten k Spalten von U sowie die ersten kZeilen von V T behalten konnen

Aasymp

(1radic2

1radic2

)(radic12)( 1radic

62radic6

1radic6

)=

(radic12radic2radic

12radic2

)(1radic6

2radic6

1radic6

)=

(1 2 11 2 1

)

52

Als Bild

53

Als Algorithmus

Gegeben mtimesn Matrix A und gewunschter Rank k Wir produziereneine Rangminus k Approximation wie folgt

1 Wir berechnen eine SVD Zerlegung von A

Amtimesn = UmtimesmΣmtimesnV Tntimesn

2 Wir behalten nur die ersten k Spalten von U resultierend in Umtimesk

3 Wir behalten nur die Top k sprich die ersten k Diagonalwerte vonΣ resultierend in Σktimesk

4 Wir behalten nur die ersten k Reihen von V T resultierend in V Tktimesn

54

Reduced SVD

Diagonale Eintrage in Σk sind die k groszligten Eigenwerte vonA middotAT

Satz UΣk V T minimiert die Differenz der Frobenius-Normzwischen A und Ak unter der Bedingung rang(Ak ) = k

Das heisst Fur jede mtimesn Matrix A mit Rang r angestrebtemRang k lt r und jede mtimesn Matrix B mit Rang k gilt

Aminus Ak2 le AminusB2

wobei Ak die Rang-k Approximation ist die man aus der SVD vonA ableiten kann

55

Was hat man erreicht

Unkorrelierte Dimensionen (Orthonormalbasis) die nur nochverzerrt werden

Wir haben die Dimensionen mit der meisten Variation identifiziertund danach geordnet

ldquoUnwichtigerdquo Dimensionen werden weggelassenrarr Rauschenvermindert

Man braucht viel weniger Speicherplatz O(k(n + m)) anstattO(nm)

Die neuen ldquoverstecktenrdquo Dimensionen konnen zurAhnlichkeitsberechnung verwendet werden und funktionieren oftbesser

56

Wie wahlt man k

Meist empirisch Gesehen

1 In NLP oft die ersten 200 bis 300 Dimensionen2 In Recommender Systems Wahle k so dass die Summe der

ersten k Eigenwerte mindestens 10-mal der Summe alleranderen Eigenwerte

57

Ubersicht

1 SVD HauptsatzDer SVD-SatzKonstruktion am Beispiel Methodologie IKonstruktionsmethodologie II

2 Interpretation der SVD

3 Reduced SVD

4 Verwendung in NLP

58

Dichte Embeddings

A ist Matrix von m WorternTermen und n Kontexten (PPMIfrequency )Reduced SVD resultiert in Ak mit

Umtimesk ist mtimes k - MatrixZeilen von Umtimesk reprasentieren TermeSpalten in Umtimesk latente Reprasentation der KontexteBenutze Umtimesk middotΣktimesk zur Berechnung von Termahnlichkeiten

Vorteile gegenuber der vollen Term-Kontext-MatrixDichte MatrixDimensionsreduktion effizientere VerarbeitungDe-Noising

59

Dichte Embeddings

A ist Matrix von m WorternTermen und n Kontexten (PPMIfrequency )Reduced SVD resultiert in Ak mit

Umtimesk ist mtimes k - MatrixZeilen von Umtimesk reprasentieren TermeSpalten in Umtimesk latente Reprasentation der KontexteBenutze Umtimesk middotΣktimesk zur Berechnung von Termahnlichkeiten

Vorteile gegenuber der vollen Term-Kontext-MatrixDichte MatrixDimensionsreduktion effizientere VerarbeitungDe-Noising

59

Dichte Embeddings

A ist Matrix von m WorternTermen und n Kontexten (PPMIfrequency )Reduced SVD resultiert in Ak mit

Umtimesk ist mtimes k - MatrixZeilen von Umtimesk reprasentieren TermeSpalten in Umtimesk latente Reprasentation der KontexteBenutze Umtimesk middotΣktimesk zur Berechnung von Termahnlichkeiten

Vorteile gegenuber der vollen Term-Kontext-MatrixDichte MatrixDimensionsreduktion effizientere VerarbeitungDe-Noising

59

Das Beispiel vom Anfang

Eine Wort-Dokument-Matrix M aus dem R5times3

d1 d2 d3ship 1 1 0boat 0 0 1

ocean 1 0 1motor 1 0 1wood 0 1 0

cossim(shipboat) = 0

cossim(shipocean) =12

cossim(boatocean) =1radic2

= 07

60

SVD Zerlegung war

minus041 07 024minus029 minus033 minus072minus061 minus02 014minus061 minus02 014minus01 057 minus062

227 0 0

0 149 00 0 078

minus072 minus023 minus066019 085 minus05067 minus048 minus056

=

minus093 104 0187minus0658 minus049 minus056minus138 minus0298 01092minus138 minus0298 minus1092minus0227 084 minus0483

minus072 minus023 minus066

019 085 minus05067 minus048 minus056

=

1 1 00 0 11 0 11 0 10 1 0

Abweichungen sind Rundungsfehler61

Niedrigdimensionale Approximation

Die kleinsten Eigenwerte sind die unwichtigsten Wir konnen dieseldquoweglassenrdquo = auf Null setzenrarr eine Matrix mit kleinerem Rang dieaber relativ ahnlich zur Ausgangsmatrix istminus041 07 024minus029 minus033 minus072minus061 minus02 014minus061 minus02 014minus01 057 minus062

227 0 0

0 149 00 0 0

minus072 minus023 minus066019 085 minus05067 minus048 minus056

=

minus093 104 0minus0658 minus049 0minus138 minus0298 0minus138 minus0298 0minus0227 084 0

minus072 minus023 minus066

019 085 minus05067 minus048 minus056

=

087 109 011038 minus027 068093 005 106093 005 106032 077 minus027

62

Die niedrigdimensionale Approximation

Wir interessieren uns fur die Matrix U2 = UΣ2 also die Matrix mit demniedrigerem Rang

minus093 104 0minus0658 minus049 0minus138 minus0298 0minus138 minus0298 0minus0227 084 0

Man kann diese nun als die Reprasentation unserer 5 Worter mit zweiversteckten Dimensionen auffassen

h1 h2ship minus093 104boat minus0658 minus049

ocean minus138 minus0298motor minus138 minus0298wood minus0227 084

63

Neue Ahnlichkeitsberechnungen

h1 h2ship minus093 104boat minus0658 minus049

ocean minus138 minus0298motor minus138 minus0298wood minus0227 084

cossim(shipboat) =(minus093) middot (minus0658) + 104 middot (minus049)radic

(0932 + 1042) middotradic

(06582 + 0492)= 009

cossim(shipocean) =(minus093) middot (minus138) + 104 middot (minus029)radic

(0932 + 1042) middotradic

(1382 + 0292)= 049

cossim(boatocean) = 09

64

Variationen

Benutze nur Umtimesk zur Ahnlichkeitsberechnung

Benutze Umtimesk middotΣpktimesk zur Ahnlichkeitsberechnungrarr Parameter p

sollte getuned werden Kann groszlige Unterschiede machen

Oft p = 0p = 05p = 1

65

Performanz der Reduced-SVD-Embeddings

Levy O Goldberg Y Neural word embedding as implicit matrix factorization In

Advances in neural information processing systems 2014 S 2177-2185

(Englische) Wikipedia 15 Milliarden Tokens

Fenster 2 beiderseits

Vokabular 189 533 fur Terme sowie Kontexte

PPMI Matrizen

SVD sowie ohne Zerlegung (PPMI) sowie neurale (SGNS)

Algorithmus Spearman Rank zu WordSim 353SVD 0652SGNS 0633PPMI 0605

66

Latent Semantic Analysis und Word Embeddings

Levy2014

ldquoWe analyze skip-gram with negative-sampling (SGNS) [] and show that it isimplicitly factorizing a word-context matrix whose cells are the pointwise mutualinformation (PMI) of the respective word and context pairs shifted by a globalconstant When dense low-dimensional vectors are preferred exact factorizationwith SVD can achieve solutions that are at least as good as SGNSrsquoss solutions forword similarity tasks On analogy questions SGNS remains superior to SVD Weconjecture that this stems from the weighted nature of SGNSrsquos factorizationrdquo

67

Zusammenfassung

Reduced SVD resultiert in einer optimalen Approximation derOriginalmatrix mit niedrigerem Rang Optimal = optimal bzgl derFrobeniusnorm (bzw mean squared error)

Dadurch erhalten wir eine mathematisch fundierte dichtereMatrix die Rauschen (weniger wichtige Dimensionen) eliminiert

Wir konnen mittels Umtimesk Σktimesk weiterhin Wortahnlichkeitenberechnen

Es konnen Resultate erreicht werden die bei word similaritymindestens ebensogut sind wie mit neuralen word embeddings

Nachteile Kosten der SVD Berechnung fur mtimesn matrixO(n middotm2) (when m lt n)rarr Nicht gut fur sehr grosse Matrizen

Nachteile Geht nicht gut mit unbekannten Wortern um

Nachteile schlechter bei Wortanalogieaufgaben

68

Literatur

Guter erweiterter Hintergrundhttptheorystanfordedu˜tims15ll7pdf bishttptheorystanfordedu˜tims15ll9pdf

SVD Tutorial (ohne vollstandigen Hintergrund) Kirk Baker(2005) Singular Value Decomposition Tutorialhttpsdatajobscomdata-science-repoSVD-Tutorial-[Kirk-Baker]pdf Leider ist hier imKonstruktionsverfahren I die Vorzeichenproblematikfalschlicherweise nicht behandelt worden

Levy O Goldberg Y Neural word embedding as implicit matrixfactorization In Advances in neural information processingsystems 2014 S 2177-2185

Ubungsblatt II

69

  • SVD Hauptsatz
    • Der SVD-Satz
    • Konstruktion am Beispiel Methodologie I
    • Konstruktionsmethodologie II
      • Interpretation der SVD
      • Reduced SVD
      • Verwendung in NLP

Konstruktionsmethodologie I

1 Berechne die quadratische mtimesm Matrix A middotAT

2 Berechne die Eigenwerte σ2i und Eigenvektoren ui von A middotAT

3 Die Vektoren ui werden orthonormalisiert (Gram-Schmidt) undbilden die Spaltenvektoren von U

4 Berechne die quadratische ntimesn Matrix AT middotA5 Berechne die Eigenwerte σ2

j und Eigenvektoren vj von AT middotATip die positiven Eigenwerte sind gleich zu denen von A middotAT

6 Die Vektoren vj werden orthonormalisiert (Gram-Schmidt) undbilden die Spaltenvektoren von V

7 Die Wurzeln der σ2-Werte werden in absteigender Reihenfolgedie Eintrage von Σ

8 Eventuell Korrektur der Vorzeichen von U bzw V

7

Konstruktionsmethodologie I

1 Berechne die quadratische mtimesm Matrix A middotAT

2 Berechne die Eigenwerte σ2i und Eigenvektoren ui von A middotAT

3 Die Vektoren ui werden orthonormalisiert (Gram-Schmidt) undbilden die Spaltenvektoren von U

4 Berechne die quadratische ntimesn Matrix AT middotA5 Berechne die Eigenwerte σ2

j und Eigenvektoren vj von AT middotATip die positiven Eigenwerte sind gleich zu denen von A middotAT

6 Die Vektoren vj werden orthonormalisiert (Gram-Schmidt) undbilden die Spaltenvektoren von V

7 Die Wurzeln der σ2-Werte werden in absteigender Reihenfolgedie Eintrage von Σ

8 Eventuell Korrektur der Vorzeichen von U bzw V

7

Konstruktionsmethodologie I

1 Berechne die quadratische mtimesm Matrix A middotAT

2 Berechne die Eigenwerte σ2i und Eigenvektoren ui von A middotAT

3 Die Vektoren ui werden orthonormalisiert (Gram-Schmidt) undbilden die Spaltenvektoren von U

4 Berechne die quadratische ntimesn Matrix AT middotA5 Berechne die Eigenwerte σ2

j und Eigenvektoren vj von AT middotATip die positiven Eigenwerte sind gleich zu denen von A middotAT

6 Die Vektoren vj werden orthonormalisiert (Gram-Schmidt) undbilden die Spaltenvektoren von V

7 Die Wurzeln der σ2-Werte werden in absteigender Reihenfolgedie Eintrage von Σ

8 Eventuell Korrektur der Vorzeichen von U bzw V

7

Konstruktionsmethodologie I

1 Berechne die quadratische mtimesm Matrix A middotAT

2 Berechne die Eigenwerte σ2i und Eigenvektoren ui von A middotAT

3 Die Vektoren ui werden orthonormalisiert (Gram-Schmidt) undbilden die Spaltenvektoren von U

4 Berechne die quadratische ntimesn Matrix AT middotA5 Berechne die Eigenwerte σ2

j und Eigenvektoren vj von AT middotATip die positiven Eigenwerte sind gleich zu denen von A middotAT

6 Die Vektoren vj werden orthonormalisiert (Gram-Schmidt) undbilden die Spaltenvektoren von V

7 Die Wurzeln der σ2-Werte werden in absteigender Reihenfolgedie Eintrage von Σ

8 Eventuell Korrektur der Vorzeichen von U bzw V

7

Beispiel (aus Kirk Bakers Tutorial)

Sei

A =

(3 1 1minus1 3 1

)

8

Schritt 1 Berechne A middotAT

A middotAT =

(3 1 1minus1 3 1

)3 minus11 31 1

=

(11 11 11

)

9

Schritt II Bestimme die Eigenwerte und Eigenvektoren vonA middotAT

Setze (11 11 11

)middot(

x1

x2

)= σ

(x1

x2

)Damit ergibt sich das Gleichungssystem

1 11x1 + x2 = σx1

2 x1 + 11x2 = σx2

10

Schritt II Bestimme die Eigenwerte und Eigenvektoren vonA middotAT

Setze (11 11 11

)middot(

x1

x2

)= σ

(x1

x2

)Damit ergibt sich das Gleichungssystem

1 11x1 + x2 = σx1

2 x1 + 11x2 = σx2

10

Schritt II Bestimme die Eigenwerte und Eigenvektoren vonA middotAT

1 11x1 + x2 = σx1

2 x1 + 11x2 = σx2

Ergibt z B nach Umformungen (hier Zeilenabzug)

10x1minus10x2 = σx1minusσx2

und damit Eigenwert σ1 = 10Ergibt z B nach Umformungen (hier Zeilenaddition)

12x1 + 12x2 = σx1 + σx2

und damit Eigenwert σ2 = 12

11

Schritt II Bestimme die Eigenwerte und Eigenvektoren vonA middotAT

1 11x1 + x2 = σx1

2 x1 + 11x2 = σx2

Zwei Eigenwerte σ1 = 10 und σ2 = 12 Damit ergibt sich fur dieEigenvektoren

1 11x1 + x2 = 10x1

2 x1 + 11x2 = 10x2 und damit3 x1 =minusx2

4 Wir wahlen x1 = 1 und damit x2 =minus1

sowie

1 11x1 + x2 = 12x1

2 x1 + 11x2 = 12x2 und damit3 x1 = x2

4 Wir wahlen x1 = 1 und damit x2 = 112

Schritt III Bestimme U

Starte mit einer Matrix U die die bestimmten Eigenvektoren von A middotAT

geordnet nach der Groszlige der jeweiligen Eigenwerte enthalt

1 Fur Eigenwert σ1 = 10 hatten wir x1 = 1 und damit x2 =minus1gewahlt

2 Fur Eigenwert σ1 = 12 hatten wir x1 = 1 und damit x2 = 1 gewahlt3 Spaltenvektoren nach Eigenwertgroszlige geordnet

U =

(1 11 minus1

)

13

Schritt III Bestimme U

Orthonormalisiere mit Gram-Schmidt die Spaltenvektoren von U

U =

(1 11 minus1

)

1 Normalisiere ersten Spaltenvektor u(1) = u(1)

u(1) =

(1radic2

1radic2

)2 Berechne die Senkrechte u(2)minus〈u(1) u(2)〉 middotu(1)

3 Also

(1minus1

)minus〈

(1radic2

1radic2

)

(1minus1

)〉 middot

(1radic2

1radic2

)=

(1minus1

)4 Normalisiere die Senkrechte

(1minus1

)ergibt u(2) =

(1radic2minus1radic

2

)

14

Schritt III Bestimme U

Damit ist

U =

(1radic2

1radic2

1radic2

minus1radic2

)

15

Schritt IV Berechne AT middotA

AT middotA =

3 minus11 31 1

( 3 1 1minus1 3 1

)=

10 0 20 10 42 4 2

16

Schritt V Bestimme die Eigenwerte und Eigenvektoren vonAT middotA

Setze 10 0 20 10 42 4 2

middotx1

x2

x3

= σ

x1

x2

x3

Damit ergibt sich das Gleichungssystem

1 10x1 + 2x3 = σx1

2 10x2 + 4x3 = σx2

3 2x1 + 4x2 + 2x3 = σx3

17

Schritt V Bestimme die Eigenwerte und Eigenvektoren vonAT middotA

Setze 10 0 20 10 42 4 2

middotx1

x2

x3

= σ

x1

x2

x3

Damit ergibt sich das Gleichungssystem

1 10x1 + 2x3 = σx1

2 10x2 + 4x3 = σx2

3 2x1 + 4x2 + 2x3 = σx3

17

Schritt V Bestimme die Eigenwerte und Eigenvektoren vonAT middotA

1 10x1 + 2x3 = σx1

2 10x2 + 4x3 = σx2

3 2x1 + 4x2 + 2x3 = σx3

Gleichung (ii) minus zweimal (i)

10x2 + 4x3minus20x1minus4x3 = σx2minus2σx2

und damit σ1 = 10

Mit ahnlichen Umformungen kann man σ2 = 12 sowie σ3 = 0berechnen

18

Schritt V Bestimme die Eigenwerte und Eigenvektoren vonAT middotA

Drei Eigenwerte σ1 = 10 σ2 = 12 und σ3 = 0 Damit ergibt sich furdie Eigenvektoren

1 10x1 + 2x3 = 10x12 10x2 + 4x3 = 10x23 2x1 + 4x2 + 2x3 = 10x3 und damit4 x3 = 0 aus der ersten Gleichung und damit5 2x1 + 4x2 = 0 bzw x1 =minus2x26 Wir konnen die Lange des Eigenvektors wieder frei wahlen da

wir danach eh normalisieren Allerdings sind die Vorzeichen nichtmehr frei wahlbar da ja insgesamt bei U middotΣ middotV T wieder Aherauskommen muss Darauf macht das Tutorial nichtaufmerksamWir wahlen x1 = 2x2 =minus1 hatten aber auch(falschlicherweise)x1 =minus2x2 = 1 wahlen konnen

Ebenso bestimmen wir fur σ2 = 12 einen Eigenvektor (121) und furσ3 = 0 einen Eigenvektor (12minus5)19

Schritt VI Bestimme V

Starte mit einer Matrix V die die bestimmten Eigenvektoren von AT middotAnach der Groszlige der jeweiligen Eigenwerte als Spaltenvektoren enthalt

1 Fur Eigenwert σ1 = 10 hatten wir (2minus10) gewahlt2 Fur Eigenwert σ2 = 12 hatten wir (121) bestimmt3 Fur Eigenwert σ3 = 0 hatten wir (12minus5) bestimmt4 Spaltenvektoren nach Eigenwertgroszlige geordnet

V =

1 2 12 minus1 21 0 minus5

20

Schritt VI Bestimme V

Orthonormalisiere mit Gram-Schmidt die Spaltenvektoren von V

V =

1 2 12 minus1 21 0 minus5

1 Normalisiere ersten Spaltenvektor v (1) = v(1)

v(1) =

1radic6

2radic6

1radic6

2 Berechne die Senkrechte v (2)minus〈v (1) v (2)〉 middot v (1)

3 Also

2minus10

minus〈

1radic6

2radic6

1radic6

2minus10

〉 middot

1radic6

2radic6

1radic6

=

2minus10

4 Normalisiere die Senkrechte

2minus10

ergibt v (2) =

2radic5minus1radic

50

21

Schritt VI Bestimme V

V =

1 2 12 minus1 21 0 minus5

Schon bestimmt

v (1) =

1radic6

2radic6

1radic6

sowie v (2) =

2radic5minus1radic

50

Dann kann man auch noch v (3) berechnen mit der Senkrechten

v (3)minus〈v (1) v (3)〉 middot v (1)minus〈v (2) v (3)〉 middot v (2)

Dies ergibt

minus23minus43103

Normalisiert v (3) =

1radic302radic30minus5radic

30

22

Schritt VI Bestimme V

Damit

V =

1radic6

2radic5

1radic30

2radic6

minus1radic5

2radic30

1radic6

0 minus5radic30

und damit

V T =

1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

23

Schritt VII Bestimme Σ

Σ ist eine mtimesn (hier 2times3) ldquoDiagonalmatrixrdquo mit den Wurzeln derEigenwerte (von A middotAT bzw U bzw V auf der Diagonale) nach Groszligegeordnet

Σ =

(radic12 0 00

radic10 0

)

24

Alles Zusammen

A = UΣV T =

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00

radic10 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(radic12radic2

radic10radic2

0radic

12radic2

minusradic

10radic2

0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(3 1 1minus1 3 1

)

25

Moglicher Schritt VIII Vorzeichenverbesserung

Nehmen wir mal an wir hatten bei V die falschen Vorzeichen gewahltZum Beispiel wir hatten fur σ2 = 10 anstatt (2minus10) den Vektor(minus210) gewahlt Damit ergibt sich

V =

1 minus2 12 1 21 0 minus5

und

V =

1radic6

minus2radic5

1radic30

2radic6

1radic5

2radic30

1radic6

0 minus5radic30

und

V T =

1radic6

2radic6

1radic6

minus2radic5

1radic5

01radic30

2radic30

minus5radic30

26

Moglicher Schritt VIII Vorzeichenverbesserung

Leider ist nun

UΣV T =

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00

radic10 0

)1radic6

2radic6

1radic6

minus2radic5

1radic5

01radic30

2radic30

minus5radic30

=

(radic12radic2

radic10radic2

0radic

12radic2

minusradic

10radic2

0

)1radic6

2radic6

1radic6

minus2radic5

1radic5

01radic30

2radic30

minus5radic30

=

(minus1 3 13 1 1

)

27

Moglicher Schritt VIII Vorzeichenverbesserung

Die unelegante Losung Gehe durch alle Zeilen von V T (Spalten vonV ) multizipliere sie systematisch mit minus1 bis es passt Durch dieMultiplikation mit minus1 bleiben die Vektoren immer noch normal undauch die Orthogonalitat andert sich nicht

Da eventuell auch mehrere Zeilen mit minus1 multipliziert werdenmussen ist dies leider exponentiell in der Zeilenanzahl von V T

(alle moglichen Kombinationen mussen probiert werden)

Es ist nicht gerade elegant

Man kann naturlich stattdessen auch durch die Spalten von Ugehen und diese anpassen

28

Konstruktionsmethodologie II

1 Berechne die quadratische ntimesn Matrix AT middotA2 Berechne die Eigenwerte σ2

j und Eigenvektoren vj von AT middotA3 Die Vektoren vj werden orthonormalisiert (Gram-Schmidt) und

bilden die Spaltenvektoren von V4 Die Wurzeln der σ2-Werte werden in absteigender Reihenfolge

die Eintrage von Σ

5 Die Spaltenvektoren von U bis zum Rang r der AT middotA Matrix sindnun eindeutig bestimmt aus der Vorgabe A = UΣV T und werdendaraus berechnet

6 Wenn r lt m mussen noch mminus r Vektoren zur Orthonormalbasiserganzt werden

29

Konstruktionsmethodologie II

1 Berechne die quadratische ntimesn Matrix AT middotA2 Berechne die Eigenwerte σ2

j und Eigenvektoren vj von AT middotA3 Die Vektoren vj werden orthonormalisiert (Gram-Schmidt) und

bilden die Spaltenvektoren von V4 Die Wurzeln der σ2-Werte werden in absteigender Reihenfolge

die Eintrage von Σ

5 Die Spaltenvektoren von U bis zum Rang r der AT middotA Matrix sindnun eindeutig bestimmt aus der Vorgabe A = UΣV T und werdendaraus berechnet

6 Wenn r lt m mussen noch mminus r Vektoren zur Orthonormalbasiserganzt werden

29

Konstruktionsmethodologie II

1 Berechne die quadratische ntimesn Matrix AT middotA2 Berechne die Eigenwerte σ2

j und Eigenvektoren vj von AT middotA3 Die Vektoren vj werden orthonormalisiert (Gram-Schmidt) und

bilden die Spaltenvektoren von V4 Die Wurzeln der σ2-Werte werden in absteigender Reihenfolge

die Eintrage von Σ

5 Die Spaltenvektoren von U bis zum Rang r der AT middotA Matrix sindnun eindeutig bestimmt aus der Vorgabe A = UΣV T und werdendaraus berechnet

6 Wenn r lt m mussen noch mminus r Vektoren zur Orthonormalbasiserganzt werden

29

Konstruktionsmethodologie II

1 Berechne die quadratische ntimesn Matrix AT middotA2 Berechne die Eigenwerte σ2

j und Eigenvektoren vj von AT middotA3 Die Vektoren vj werden orthonormalisiert (Gram-Schmidt) und

bilden die Spaltenvektoren von V4 Die Wurzeln der σ2-Werte werden in absteigender Reihenfolge

die Eintrage von Σ

5 Die Spaltenvektoren von U bis zum Rang r der AT middotA Matrix sindnun eindeutig bestimmt aus der Vorgabe A = UΣV T und werdendaraus berechnet

6 Wenn r lt m mussen noch mminus r Vektoren zur Orthonormalbasiserganzt werden

29

Schritt I Bestimme V T und Σ wie bisher

Nach dem ublichen Verfahren sei also V T zum Beispiel1radic6

2radic6

1radic6

minus2radic5

1radic5

01radic30

2radic30

minus5radic30

bzw V

V =

1radic6

minus2radic5

1radic30

2radic6

1radic5

2radic30

1radic6

0 minus5radic30

Die Vorzeichen konnten auch anders seinWeiterhin ist

Σ =

(radic12 0 00

radic10 0

)

30

Schritt II Bestimme U

Es muss gelten

A = UΣV T

und damit

AV = UΣV T V

Da V orthogonal ist V T V die Einheitsmatrix und damit

AV = UΣ

31

Schritt II Bestimme U

Man bilde nun eine ntimesm Matrix Σprime die genau auf denentsprechenden Diagonaleintragen 1σi stehen hat Im Beispiel ist

Σprime =

1radic12

0

0 1radic10

0 0

Es gilt dass Σ middotΣprime die mtimesm Einheitsmatrix istUnd damit

AVΣprime = UΣΣprime = U

32

Schritt II Bestimme U

Also giltU = AVΣprime

Damit gilt fur die Spalten von U wenn man sich dieMatrixmultiplikation genauer anschaut

u(j) =1σj

Av (j)

In unserem Beispiel

u(1) =1radic12

(3 1 1minus1 3 1

)1radic6

2radic6

1radic6

=

(1radic2

1radic2

)

33

Schritt II Bestimme U

Und ebenso

u(2) =1radic10

(3 1 1minus1 3 1

)minus2radic

51radic5

0

=

(minus1radic2

1radic2

)

Man sieht dass sich hier das veranderte Vorzeichen von v (2) imentgegengesetzten Vorzeichen von u(2) widerspiegelt Wir musstenauch nicht zweimal Eigenvektoren berechnen sondern U ist aus denvorherigen Berechnungen bestimmt

34

Beispiel mit einer Matrix mit niedrigerem Rang

Da wir durch 1σj

dividieren mussten geht dies nur fur Eigenwerteungleich Null Wenn aber die Matrizen niedrigere Range haben als mdann bekommen wir so nicht genugend U-Vektoren Was machen wirdann

Beispiel Sei eine Matrix von Rang 1 gegeben

A =

(1 01 0

)

35

Berechnung von V

AT A =

(1 10 0

)(1 01 0

)=

(2 00 0

)

36

Berechnung von V

(2 00 0

)hat die Eigenwerte 2 und 0 mit den jeweiligen Eigenvektoren (10)sowie (01)Daraus folgt

V =

(1 00 1

)Die ist schon eine Orthonormalmatrix also gilt V = V sowie daDiagonalmatrix V T = V

37

Bestimmung von Σ

Es gilt

Σ =

(radic2 0

0 0

)

38

Bestimmung von U

Der erste Spaltenvektor u(1) kann wie ublich bestimmt werden mit

u(1) =1radic2

Av (1) =1radic2

(1 01 0

)(10

)

=1radic2

(11

)=

(1radic2

1radic2

)

39

Bestimmung von U

Da wir keinen weiteren Eigenwert 6= 0 haben konnen wir leider sonicht weitermachen dh es geht nur bis zum Rang von A Es gilt aber(

1radic2

x21radic2

y2

)(radic2 0

0 0

)(1 00 1

)

=

(1 01 0

)= A

unabhangig von x2 und y2 Das heisst unser halb vollstandiges U istgenug fur eine Zerlegung

40

Bestimmung von U

1 Wir konnen also jedes x2 und y2 wahlen solange normiert undsenkrecht auf dem ersten Vektor stehend

2 Nach dem sogenannten Basiserganzungssatz geht dies immer3 In unserem Beispiel konnte man zum Beispiel (minus1radic

2 1radic

2) wahlen

4 Wie genau man diese weiteren Vektoren von U konstruiert ist furuns unerheblich da wir ja sowieso die letzten Spalten von U diezu den niedrigeren Eigenwerten gehoren ldquoabschneidenrdquowerden

41

SVD Zwischenfazit

Wir haben eine Matrix in das Produkt einer OrthonormalmatrixDiagonalmatrix und Orthogonalmatrix zerlegt

Die Diagonalmatrix enthalt die Wurzeln von den Eigenwerten vonA middotAT nach Groszlige geordnet

Die erste Orthonormalmatrix enthalt die orthonormalisiertenEigenvektoren von A middotAT nach Eigenwertgrosse geordnet alsSpalten

Die zweite Orthonormalmatrix ist die Transponierte der Matrixdie die orthonormalisierten Eigenvektoren von AT middotA nachEigenwertgrosse geordnet als Spalten enthalt

42

Ubersicht

1 SVD HauptsatzDer SVD-SatzKonstruktion am Beispiel Methodologie IKonstruktionsmethodologie II

2 Interpretation der SVD

3 Reduced SVD

4 Verwendung in NLP

43

Geometrische Interpretation bei quadratischen Matrizen

Bedeutung der SVD ist dass sich die Funktion in eine DrehungDrehspiegelung (V T )eine Verzerrung (Σ) und eine zweite DrehungDrehspiegelung (U) zerlegen lsst

Matrix

(1 10 1

)SVD Geometrische Interpretationa

aQuelle httpscommonswikimediaorgwikiFileSingular-Value-Decompositionsvg

44

Noch einige Bemerkungen

Die Eigenwerte und damit Σ sind eindeutig bestimmt

U und V sind nicht eindeutig bestimmt Es konnen Drehungenum 180 Grad oder Spiegelungen hinzukommen

Wir konnen in vielen Fallen einen Eigenvektor wahlen(Freiheitsgrade) mussen aber dann bei den Vorzeichen derzweiten Matrix aufpassen

45

Noch einige Bemerkungen

Wir haben implizit den Rang der Ursprungsmatrix A bestimmtDies kann man klar an U middotΣ sehen

A = UΣV T =

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00

radic10 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(radic12radic2

radic10radic2

0radic

12radic2

minusradic

10radic2

0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(3 1 1minus1 3 1

)

46

Noch einige Bemerkungen

Deswegen wird manchmal die Singularwertzerlegung auch alsZerlegung in drei Matrizen Amtimesn = Umtimesr Σrtimesr V T

rtimesn wobei r der Rangder Matrix A ist beschrieben

A = UΣV T =

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00

radic10 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 00

radic10

)( 1radic6

2radic6

1radic6

2radic5

minus1radic5

0

)=

(radic12radic2

radic10radic2radic

12radic2

minusradic

10radic2

)(1radic6

2radic6

1radic6

2radic5

minus1radic5

0

)=

(3 1 1minus1 3 1

)47

Noch einige Bemerkungen

Bisher haben wir immer die Ausgangsmatrix einfach reproduziert(mit dem gleichen Rang) Man sieht den Rang besser und es gilt

Die ldquoZerrungrdquo durch die Matrix Σ ist bei den Dimensionen mit denhochsten Eigenwerten am groszligten Beispiel

(radic12 0 00

radic10 0

)x1

x2

x3

=

(radic12 middot x1radic10 middot x2

)Es macht also Sinn dass wir wenn wir eine Approximationunserer Ausgangsmatrix mit niedrigerem Rang wollen dann dieunwichtigen Dimensionen die durch niedrige Eigenwertegekennzeichnet sind weglassen

48

Ubersicht

1 SVD HauptsatzDer SVD-SatzKonstruktion am Beispiel Methodologie IKonstruktionsmethodologie II

2 Interpretation der SVD

3 Reduced SVD

4 Verwendung in NLP

49

Reduced SVD Approximation niedrigeren Ranges

Approximation von mtimesn Matrix A mit Rang r durch mtimesn -Matrix Ak mit Rang k lt r

A = UΣV T asymp Ak = UΣk V T

Σk ist eine ldquodiagonalerdquo mtimesn - Matrix bei der nur auf den erstenk Stellen der Diagonalmatrix Werte 6= 0 stehen

U und V wie zuvor

50

Beispiel

A = UΣV T =

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00

radic10 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

asymp

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00 0 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(radic12radic2

0 0radic

12radic2

0 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(1 2 11 2 1

)51

Reduced SVD

Wir hatten auch nur die ersten k Spalten von U sowie die ersten kZeilen von V T behalten konnen

Aasymp

(1radic2

1radic2

)(radic12)( 1radic

62radic6

1radic6

)=

(radic12radic2radic

12radic2

)(1radic6

2radic6

1radic6

)=

(1 2 11 2 1

)

52

Als Bild

53

Als Algorithmus

Gegeben mtimesn Matrix A und gewunschter Rank k Wir produziereneine Rangminus k Approximation wie folgt

1 Wir berechnen eine SVD Zerlegung von A

Amtimesn = UmtimesmΣmtimesnV Tntimesn

2 Wir behalten nur die ersten k Spalten von U resultierend in Umtimesk

3 Wir behalten nur die Top k sprich die ersten k Diagonalwerte vonΣ resultierend in Σktimesk

4 Wir behalten nur die ersten k Reihen von V T resultierend in V Tktimesn

54

Reduced SVD

Diagonale Eintrage in Σk sind die k groszligten Eigenwerte vonA middotAT

Satz UΣk V T minimiert die Differenz der Frobenius-Normzwischen A und Ak unter der Bedingung rang(Ak ) = k

Das heisst Fur jede mtimesn Matrix A mit Rang r angestrebtemRang k lt r und jede mtimesn Matrix B mit Rang k gilt

Aminus Ak2 le AminusB2

wobei Ak die Rang-k Approximation ist die man aus der SVD vonA ableiten kann

55

Was hat man erreicht

Unkorrelierte Dimensionen (Orthonormalbasis) die nur nochverzerrt werden

Wir haben die Dimensionen mit der meisten Variation identifiziertund danach geordnet

ldquoUnwichtigerdquo Dimensionen werden weggelassenrarr Rauschenvermindert

Man braucht viel weniger Speicherplatz O(k(n + m)) anstattO(nm)

Die neuen ldquoverstecktenrdquo Dimensionen konnen zurAhnlichkeitsberechnung verwendet werden und funktionieren oftbesser

56

Wie wahlt man k

Meist empirisch Gesehen

1 In NLP oft die ersten 200 bis 300 Dimensionen2 In Recommender Systems Wahle k so dass die Summe der

ersten k Eigenwerte mindestens 10-mal der Summe alleranderen Eigenwerte

57

Ubersicht

1 SVD HauptsatzDer SVD-SatzKonstruktion am Beispiel Methodologie IKonstruktionsmethodologie II

2 Interpretation der SVD

3 Reduced SVD

4 Verwendung in NLP

58

Dichte Embeddings

A ist Matrix von m WorternTermen und n Kontexten (PPMIfrequency )Reduced SVD resultiert in Ak mit

Umtimesk ist mtimes k - MatrixZeilen von Umtimesk reprasentieren TermeSpalten in Umtimesk latente Reprasentation der KontexteBenutze Umtimesk middotΣktimesk zur Berechnung von Termahnlichkeiten

Vorteile gegenuber der vollen Term-Kontext-MatrixDichte MatrixDimensionsreduktion effizientere VerarbeitungDe-Noising

59

Dichte Embeddings

A ist Matrix von m WorternTermen und n Kontexten (PPMIfrequency )Reduced SVD resultiert in Ak mit

Umtimesk ist mtimes k - MatrixZeilen von Umtimesk reprasentieren TermeSpalten in Umtimesk latente Reprasentation der KontexteBenutze Umtimesk middotΣktimesk zur Berechnung von Termahnlichkeiten

Vorteile gegenuber der vollen Term-Kontext-MatrixDichte MatrixDimensionsreduktion effizientere VerarbeitungDe-Noising

59

Dichte Embeddings

A ist Matrix von m WorternTermen und n Kontexten (PPMIfrequency )Reduced SVD resultiert in Ak mit

Umtimesk ist mtimes k - MatrixZeilen von Umtimesk reprasentieren TermeSpalten in Umtimesk latente Reprasentation der KontexteBenutze Umtimesk middotΣktimesk zur Berechnung von Termahnlichkeiten

Vorteile gegenuber der vollen Term-Kontext-MatrixDichte MatrixDimensionsreduktion effizientere VerarbeitungDe-Noising

59

Das Beispiel vom Anfang

Eine Wort-Dokument-Matrix M aus dem R5times3

d1 d2 d3ship 1 1 0boat 0 0 1

ocean 1 0 1motor 1 0 1wood 0 1 0

cossim(shipboat) = 0

cossim(shipocean) =12

cossim(boatocean) =1radic2

= 07

60

SVD Zerlegung war

minus041 07 024minus029 minus033 minus072minus061 minus02 014minus061 minus02 014minus01 057 minus062

227 0 0

0 149 00 0 078

minus072 minus023 minus066019 085 minus05067 minus048 minus056

=

minus093 104 0187minus0658 minus049 minus056minus138 minus0298 01092minus138 minus0298 minus1092minus0227 084 minus0483

minus072 minus023 minus066

019 085 minus05067 minus048 minus056

=

1 1 00 0 11 0 11 0 10 1 0

Abweichungen sind Rundungsfehler61

Niedrigdimensionale Approximation

Die kleinsten Eigenwerte sind die unwichtigsten Wir konnen dieseldquoweglassenrdquo = auf Null setzenrarr eine Matrix mit kleinerem Rang dieaber relativ ahnlich zur Ausgangsmatrix istminus041 07 024minus029 minus033 minus072minus061 minus02 014minus061 minus02 014minus01 057 minus062

227 0 0

0 149 00 0 0

minus072 minus023 minus066019 085 minus05067 minus048 minus056

=

minus093 104 0minus0658 minus049 0minus138 minus0298 0minus138 minus0298 0minus0227 084 0

minus072 minus023 minus066

019 085 minus05067 minus048 minus056

=

087 109 011038 minus027 068093 005 106093 005 106032 077 minus027

62

Die niedrigdimensionale Approximation

Wir interessieren uns fur die Matrix U2 = UΣ2 also die Matrix mit demniedrigerem Rang

minus093 104 0minus0658 minus049 0minus138 minus0298 0minus138 minus0298 0minus0227 084 0

Man kann diese nun als die Reprasentation unserer 5 Worter mit zweiversteckten Dimensionen auffassen

h1 h2ship minus093 104boat minus0658 minus049

ocean minus138 minus0298motor minus138 minus0298wood minus0227 084

63

Neue Ahnlichkeitsberechnungen

h1 h2ship minus093 104boat minus0658 minus049

ocean minus138 minus0298motor minus138 minus0298wood minus0227 084

cossim(shipboat) =(minus093) middot (minus0658) + 104 middot (minus049)radic

(0932 + 1042) middotradic

(06582 + 0492)= 009

cossim(shipocean) =(minus093) middot (minus138) + 104 middot (minus029)radic

(0932 + 1042) middotradic

(1382 + 0292)= 049

cossim(boatocean) = 09

64

Variationen

Benutze nur Umtimesk zur Ahnlichkeitsberechnung

Benutze Umtimesk middotΣpktimesk zur Ahnlichkeitsberechnungrarr Parameter p

sollte getuned werden Kann groszlige Unterschiede machen

Oft p = 0p = 05p = 1

65

Performanz der Reduced-SVD-Embeddings

Levy O Goldberg Y Neural word embedding as implicit matrix factorization In

Advances in neural information processing systems 2014 S 2177-2185

(Englische) Wikipedia 15 Milliarden Tokens

Fenster 2 beiderseits

Vokabular 189 533 fur Terme sowie Kontexte

PPMI Matrizen

SVD sowie ohne Zerlegung (PPMI) sowie neurale (SGNS)

Algorithmus Spearman Rank zu WordSim 353SVD 0652SGNS 0633PPMI 0605

66

Latent Semantic Analysis und Word Embeddings

Levy2014

ldquoWe analyze skip-gram with negative-sampling (SGNS) [] and show that it isimplicitly factorizing a word-context matrix whose cells are the pointwise mutualinformation (PMI) of the respective word and context pairs shifted by a globalconstant When dense low-dimensional vectors are preferred exact factorizationwith SVD can achieve solutions that are at least as good as SGNSrsquoss solutions forword similarity tasks On analogy questions SGNS remains superior to SVD Weconjecture that this stems from the weighted nature of SGNSrsquos factorizationrdquo

67

Zusammenfassung

Reduced SVD resultiert in einer optimalen Approximation derOriginalmatrix mit niedrigerem Rang Optimal = optimal bzgl derFrobeniusnorm (bzw mean squared error)

Dadurch erhalten wir eine mathematisch fundierte dichtereMatrix die Rauschen (weniger wichtige Dimensionen) eliminiert

Wir konnen mittels Umtimesk Σktimesk weiterhin Wortahnlichkeitenberechnen

Es konnen Resultate erreicht werden die bei word similaritymindestens ebensogut sind wie mit neuralen word embeddings

Nachteile Kosten der SVD Berechnung fur mtimesn matrixO(n middotm2) (when m lt n)rarr Nicht gut fur sehr grosse Matrizen

Nachteile Geht nicht gut mit unbekannten Wortern um

Nachteile schlechter bei Wortanalogieaufgaben

68

Literatur

Guter erweiterter Hintergrundhttptheorystanfordedu˜tims15ll7pdf bishttptheorystanfordedu˜tims15ll9pdf

SVD Tutorial (ohne vollstandigen Hintergrund) Kirk Baker(2005) Singular Value Decomposition Tutorialhttpsdatajobscomdata-science-repoSVD-Tutorial-[Kirk-Baker]pdf Leider ist hier imKonstruktionsverfahren I die Vorzeichenproblematikfalschlicherweise nicht behandelt worden

Levy O Goldberg Y Neural word embedding as implicit matrixfactorization In Advances in neural information processingsystems 2014 S 2177-2185

Ubungsblatt II

69

  • SVD Hauptsatz
    • Der SVD-Satz
    • Konstruktion am Beispiel Methodologie I
    • Konstruktionsmethodologie II
      • Interpretation der SVD
      • Reduced SVD
      • Verwendung in NLP

Konstruktionsmethodologie I

1 Berechne die quadratische mtimesm Matrix A middotAT

2 Berechne die Eigenwerte σ2i und Eigenvektoren ui von A middotAT

3 Die Vektoren ui werden orthonormalisiert (Gram-Schmidt) undbilden die Spaltenvektoren von U

4 Berechne die quadratische ntimesn Matrix AT middotA5 Berechne die Eigenwerte σ2

j und Eigenvektoren vj von AT middotATip die positiven Eigenwerte sind gleich zu denen von A middotAT

6 Die Vektoren vj werden orthonormalisiert (Gram-Schmidt) undbilden die Spaltenvektoren von V

7 Die Wurzeln der σ2-Werte werden in absteigender Reihenfolgedie Eintrage von Σ

8 Eventuell Korrektur der Vorzeichen von U bzw V

7

Konstruktionsmethodologie I

1 Berechne die quadratische mtimesm Matrix A middotAT

2 Berechne die Eigenwerte σ2i und Eigenvektoren ui von A middotAT

3 Die Vektoren ui werden orthonormalisiert (Gram-Schmidt) undbilden die Spaltenvektoren von U

4 Berechne die quadratische ntimesn Matrix AT middotA5 Berechne die Eigenwerte σ2

j und Eigenvektoren vj von AT middotATip die positiven Eigenwerte sind gleich zu denen von A middotAT

6 Die Vektoren vj werden orthonormalisiert (Gram-Schmidt) undbilden die Spaltenvektoren von V

7 Die Wurzeln der σ2-Werte werden in absteigender Reihenfolgedie Eintrage von Σ

8 Eventuell Korrektur der Vorzeichen von U bzw V

7

Konstruktionsmethodologie I

1 Berechne die quadratische mtimesm Matrix A middotAT

2 Berechne die Eigenwerte σ2i und Eigenvektoren ui von A middotAT

3 Die Vektoren ui werden orthonormalisiert (Gram-Schmidt) undbilden die Spaltenvektoren von U

4 Berechne die quadratische ntimesn Matrix AT middotA5 Berechne die Eigenwerte σ2

j und Eigenvektoren vj von AT middotATip die positiven Eigenwerte sind gleich zu denen von A middotAT

6 Die Vektoren vj werden orthonormalisiert (Gram-Schmidt) undbilden die Spaltenvektoren von V

7 Die Wurzeln der σ2-Werte werden in absteigender Reihenfolgedie Eintrage von Σ

8 Eventuell Korrektur der Vorzeichen von U bzw V

7

Beispiel (aus Kirk Bakers Tutorial)

Sei

A =

(3 1 1minus1 3 1

)

8

Schritt 1 Berechne A middotAT

A middotAT =

(3 1 1minus1 3 1

)3 minus11 31 1

=

(11 11 11

)

9

Schritt II Bestimme die Eigenwerte und Eigenvektoren vonA middotAT

Setze (11 11 11

)middot(

x1

x2

)= σ

(x1

x2

)Damit ergibt sich das Gleichungssystem

1 11x1 + x2 = σx1

2 x1 + 11x2 = σx2

10

Schritt II Bestimme die Eigenwerte und Eigenvektoren vonA middotAT

Setze (11 11 11

)middot(

x1

x2

)= σ

(x1

x2

)Damit ergibt sich das Gleichungssystem

1 11x1 + x2 = σx1

2 x1 + 11x2 = σx2

10

Schritt II Bestimme die Eigenwerte und Eigenvektoren vonA middotAT

1 11x1 + x2 = σx1

2 x1 + 11x2 = σx2

Ergibt z B nach Umformungen (hier Zeilenabzug)

10x1minus10x2 = σx1minusσx2

und damit Eigenwert σ1 = 10Ergibt z B nach Umformungen (hier Zeilenaddition)

12x1 + 12x2 = σx1 + σx2

und damit Eigenwert σ2 = 12

11

Schritt II Bestimme die Eigenwerte und Eigenvektoren vonA middotAT

1 11x1 + x2 = σx1

2 x1 + 11x2 = σx2

Zwei Eigenwerte σ1 = 10 und σ2 = 12 Damit ergibt sich fur dieEigenvektoren

1 11x1 + x2 = 10x1

2 x1 + 11x2 = 10x2 und damit3 x1 =minusx2

4 Wir wahlen x1 = 1 und damit x2 =minus1

sowie

1 11x1 + x2 = 12x1

2 x1 + 11x2 = 12x2 und damit3 x1 = x2

4 Wir wahlen x1 = 1 und damit x2 = 112

Schritt III Bestimme U

Starte mit einer Matrix U die die bestimmten Eigenvektoren von A middotAT

geordnet nach der Groszlige der jeweiligen Eigenwerte enthalt

1 Fur Eigenwert σ1 = 10 hatten wir x1 = 1 und damit x2 =minus1gewahlt

2 Fur Eigenwert σ1 = 12 hatten wir x1 = 1 und damit x2 = 1 gewahlt3 Spaltenvektoren nach Eigenwertgroszlige geordnet

U =

(1 11 minus1

)

13

Schritt III Bestimme U

Orthonormalisiere mit Gram-Schmidt die Spaltenvektoren von U

U =

(1 11 minus1

)

1 Normalisiere ersten Spaltenvektor u(1) = u(1)

u(1) =

(1radic2

1radic2

)2 Berechne die Senkrechte u(2)minus〈u(1) u(2)〉 middotu(1)

3 Also

(1minus1

)minus〈

(1radic2

1radic2

)

(1minus1

)〉 middot

(1radic2

1radic2

)=

(1minus1

)4 Normalisiere die Senkrechte

(1minus1

)ergibt u(2) =

(1radic2minus1radic

2

)

14

Schritt III Bestimme U

Damit ist

U =

(1radic2

1radic2

1radic2

minus1radic2

)

15

Schritt IV Berechne AT middotA

AT middotA =

3 minus11 31 1

( 3 1 1minus1 3 1

)=

10 0 20 10 42 4 2

16

Schritt V Bestimme die Eigenwerte und Eigenvektoren vonAT middotA

Setze 10 0 20 10 42 4 2

middotx1

x2

x3

= σ

x1

x2

x3

Damit ergibt sich das Gleichungssystem

1 10x1 + 2x3 = σx1

2 10x2 + 4x3 = σx2

3 2x1 + 4x2 + 2x3 = σx3

17

Schritt V Bestimme die Eigenwerte und Eigenvektoren vonAT middotA

Setze 10 0 20 10 42 4 2

middotx1

x2

x3

= σ

x1

x2

x3

Damit ergibt sich das Gleichungssystem

1 10x1 + 2x3 = σx1

2 10x2 + 4x3 = σx2

3 2x1 + 4x2 + 2x3 = σx3

17

Schritt V Bestimme die Eigenwerte und Eigenvektoren vonAT middotA

1 10x1 + 2x3 = σx1

2 10x2 + 4x3 = σx2

3 2x1 + 4x2 + 2x3 = σx3

Gleichung (ii) minus zweimal (i)

10x2 + 4x3minus20x1minus4x3 = σx2minus2σx2

und damit σ1 = 10

Mit ahnlichen Umformungen kann man σ2 = 12 sowie σ3 = 0berechnen

18

Schritt V Bestimme die Eigenwerte und Eigenvektoren vonAT middotA

Drei Eigenwerte σ1 = 10 σ2 = 12 und σ3 = 0 Damit ergibt sich furdie Eigenvektoren

1 10x1 + 2x3 = 10x12 10x2 + 4x3 = 10x23 2x1 + 4x2 + 2x3 = 10x3 und damit4 x3 = 0 aus der ersten Gleichung und damit5 2x1 + 4x2 = 0 bzw x1 =minus2x26 Wir konnen die Lange des Eigenvektors wieder frei wahlen da

wir danach eh normalisieren Allerdings sind die Vorzeichen nichtmehr frei wahlbar da ja insgesamt bei U middotΣ middotV T wieder Aherauskommen muss Darauf macht das Tutorial nichtaufmerksamWir wahlen x1 = 2x2 =minus1 hatten aber auch(falschlicherweise)x1 =minus2x2 = 1 wahlen konnen

Ebenso bestimmen wir fur σ2 = 12 einen Eigenvektor (121) und furσ3 = 0 einen Eigenvektor (12minus5)19

Schritt VI Bestimme V

Starte mit einer Matrix V die die bestimmten Eigenvektoren von AT middotAnach der Groszlige der jeweiligen Eigenwerte als Spaltenvektoren enthalt

1 Fur Eigenwert σ1 = 10 hatten wir (2minus10) gewahlt2 Fur Eigenwert σ2 = 12 hatten wir (121) bestimmt3 Fur Eigenwert σ3 = 0 hatten wir (12minus5) bestimmt4 Spaltenvektoren nach Eigenwertgroszlige geordnet

V =

1 2 12 minus1 21 0 minus5

20

Schritt VI Bestimme V

Orthonormalisiere mit Gram-Schmidt die Spaltenvektoren von V

V =

1 2 12 minus1 21 0 minus5

1 Normalisiere ersten Spaltenvektor v (1) = v(1)

v(1) =

1radic6

2radic6

1radic6

2 Berechne die Senkrechte v (2)minus〈v (1) v (2)〉 middot v (1)

3 Also

2minus10

minus〈

1radic6

2radic6

1radic6

2minus10

〉 middot

1radic6

2radic6

1radic6

=

2minus10

4 Normalisiere die Senkrechte

2minus10

ergibt v (2) =

2radic5minus1radic

50

21

Schritt VI Bestimme V

V =

1 2 12 minus1 21 0 minus5

Schon bestimmt

v (1) =

1radic6

2radic6

1radic6

sowie v (2) =

2radic5minus1radic

50

Dann kann man auch noch v (3) berechnen mit der Senkrechten

v (3)minus〈v (1) v (3)〉 middot v (1)minus〈v (2) v (3)〉 middot v (2)

Dies ergibt

minus23minus43103

Normalisiert v (3) =

1radic302radic30minus5radic

30

22

Schritt VI Bestimme V

Damit

V =

1radic6

2radic5

1radic30

2radic6

minus1radic5

2radic30

1radic6

0 minus5radic30

und damit

V T =

1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

23

Schritt VII Bestimme Σ

Σ ist eine mtimesn (hier 2times3) ldquoDiagonalmatrixrdquo mit den Wurzeln derEigenwerte (von A middotAT bzw U bzw V auf der Diagonale) nach Groszligegeordnet

Σ =

(radic12 0 00

radic10 0

)

24

Alles Zusammen

A = UΣV T =

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00

radic10 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(radic12radic2

radic10radic2

0radic

12radic2

minusradic

10radic2

0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(3 1 1minus1 3 1

)

25

Moglicher Schritt VIII Vorzeichenverbesserung

Nehmen wir mal an wir hatten bei V die falschen Vorzeichen gewahltZum Beispiel wir hatten fur σ2 = 10 anstatt (2minus10) den Vektor(minus210) gewahlt Damit ergibt sich

V =

1 minus2 12 1 21 0 minus5

und

V =

1radic6

minus2radic5

1radic30

2radic6

1radic5

2radic30

1radic6

0 minus5radic30

und

V T =

1radic6

2radic6

1radic6

minus2radic5

1radic5

01radic30

2radic30

minus5radic30

26

Moglicher Schritt VIII Vorzeichenverbesserung

Leider ist nun

UΣV T =

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00

radic10 0

)1radic6

2radic6

1radic6

minus2radic5

1radic5

01radic30

2radic30

minus5radic30

=

(radic12radic2

radic10radic2

0radic

12radic2

minusradic

10radic2

0

)1radic6

2radic6

1radic6

minus2radic5

1radic5

01radic30

2radic30

minus5radic30

=

(minus1 3 13 1 1

)

27

Moglicher Schritt VIII Vorzeichenverbesserung

Die unelegante Losung Gehe durch alle Zeilen von V T (Spalten vonV ) multizipliere sie systematisch mit minus1 bis es passt Durch dieMultiplikation mit minus1 bleiben die Vektoren immer noch normal undauch die Orthogonalitat andert sich nicht

Da eventuell auch mehrere Zeilen mit minus1 multipliziert werdenmussen ist dies leider exponentiell in der Zeilenanzahl von V T

(alle moglichen Kombinationen mussen probiert werden)

Es ist nicht gerade elegant

Man kann naturlich stattdessen auch durch die Spalten von Ugehen und diese anpassen

28

Konstruktionsmethodologie II

1 Berechne die quadratische ntimesn Matrix AT middotA2 Berechne die Eigenwerte σ2

j und Eigenvektoren vj von AT middotA3 Die Vektoren vj werden orthonormalisiert (Gram-Schmidt) und

bilden die Spaltenvektoren von V4 Die Wurzeln der σ2-Werte werden in absteigender Reihenfolge

die Eintrage von Σ

5 Die Spaltenvektoren von U bis zum Rang r der AT middotA Matrix sindnun eindeutig bestimmt aus der Vorgabe A = UΣV T und werdendaraus berechnet

6 Wenn r lt m mussen noch mminus r Vektoren zur Orthonormalbasiserganzt werden

29

Konstruktionsmethodologie II

1 Berechne die quadratische ntimesn Matrix AT middotA2 Berechne die Eigenwerte σ2

j und Eigenvektoren vj von AT middotA3 Die Vektoren vj werden orthonormalisiert (Gram-Schmidt) und

bilden die Spaltenvektoren von V4 Die Wurzeln der σ2-Werte werden in absteigender Reihenfolge

die Eintrage von Σ

5 Die Spaltenvektoren von U bis zum Rang r der AT middotA Matrix sindnun eindeutig bestimmt aus der Vorgabe A = UΣV T und werdendaraus berechnet

6 Wenn r lt m mussen noch mminus r Vektoren zur Orthonormalbasiserganzt werden

29

Konstruktionsmethodologie II

1 Berechne die quadratische ntimesn Matrix AT middotA2 Berechne die Eigenwerte σ2

j und Eigenvektoren vj von AT middotA3 Die Vektoren vj werden orthonormalisiert (Gram-Schmidt) und

bilden die Spaltenvektoren von V4 Die Wurzeln der σ2-Werte werden in absteigender Reihenfolge

die Eintrage von Σ

5 Die Spaltenvektoren von U bis zum Rang r der AT middotA Matrix sindnun eindeutig bestimmt aus der Vorgabe A = UΣV T und werdendaraus berechnet

6 Wenn r lt m mussen noch mminus r Vektoren zur Orthonormalbasiserganzt werden

29

Konstruktionsmethodologie II

1 Berechne die quadratische ntimesn Matrix AT middotA2 Berechne die Eigenwerte σ2

j und Eigenvektoren vj von AT middotA3 Die Vektoren vj werden orthonormalisiert (Gram-Schmidt) und

bilden die Spaltenvektoren von V4 Die Wurzeln der σ2-Werte werden in absteigender Reihenfolge

die Eintrage von Σ

5 Die Spaltenvektoren von U bis zum Rang r der AT middotA Matrix sindnun eindeutig bestimmt aus der Vorgabe A = UΣV T und werdendaraus berechnet

6 Wenn r lt m mussen noch mminus r Vektoren zur Orthonormalbasiserganzt werden

29

Schritt I Bestimme V T und Σ wie bisher

Nach dem ublichen Verfahren sei also V T zum Beispiel1radic6

2radic6

1radic6

minus2radic5

1radic5

01radic30

2radic30

minus5radic30

bzw V

V =

1radic6

minus2radic5

1radic30

2radic6

1radic5

2radic30

1radic6

0 minus5radic30

Die Vorzeichen konnten auch anders seinWeiterhin ist

Σ =

(radic12 0 00

radic10 0

)

30

Schritt II Bestimme U

Es muss gelten

A = UΣV T

und damit

AV = UΣV T V

Da V orthogonal ist V T V die Einheitsmatrix und damit

AV = UΣ

31

Schritt II Bestimme U

Man bilde nun eine ntimesm Matrix Σprime die genau auf denentsprechenden Diagonaleintragen 1σi stehen hat Im Beispiel ist

Σprime =

1radic12

0

0 1radic10

0 0

Es gilt dass Σ middotΣprime die mtimesm Einheitsmatrix istUnd damit

AVΣprime = UΣΣprime = U

32

Schritt II Bestimme U

Also giltU = AVΣprime

Damit gilt fur die Spalten von U wenn man sich dieMatrixmultiplikation genauer anschaut

u(j) =1σj

Av (j)

In unserem Beispiel

u(1) =1radic12

(3 1 1minus1 3 1

)1radic6

2radic6

1radic6

=

(1radic2

1radic2

)

33

Schritt II Bestimme U

Und ebenso

u(2) =1radic10

(3 1 1minus1 3 1

)minus2radic

51radic5

0

=

(minus1radic2

1radic2

)

Man sieht dass sich hier das veranderte Vorzeichen von v (2) imentgegengesetzten Vorzeichen von u(2) widerspiegelt Wir musstenauch nicht zweimal Eigenvektoren berechnen sondern U ist aus denvorherigen Berechnungen bestimmt

34

Beispiel mit einer Matrix mit niedrigerem Rang

Da wir durch 1σj

dividieren mussten geht dies nur fur Eigenwerteungleich Null Wenn aber die Matrizen niedrigere Range haben als mdann bekommen wir so nicht genugend U-Vektoren Was machen wirdann

Beispiel Sei eine Matrix von Rang 1 gegeben

A =

(1 01 0

)

35

Berechnung von V

AT A =

(1 10 0

)(1 01 0

)=

(2 00 0

)

36

Berechnung von V

(2 00 0

)hat die Eigenwerte 2 und 0 mit den jeweiligen Eigenvektoren (10)sowie (01)Daraus folgt

V =

(1 00 1

)Die ist schon eine Orthonormalmatrix also gilt V = V sowie daDiagonalmatrix V T = V

37

Bestimmung von Σ

Es gilt

Σ =

(radic2 0

0 0

)

38

Bestimmung von U

Der erste Spaltenvektor u(1) kann wie ublich bestimmt werden mit

u(1) =1radic2

Av (1) =1radic2

(1 01 0

)(10

)

=1radic2

(11

)=

(1radic2

1radic2

)

39

Bestimmung von U

Da wir keinen weiteren Eigenwert 6= 0 haben konnen wir leider sonicht weitermachen dh es geht nur bis zum Rang von A Es gilt aber(

1radic2

x21radic2

y2

)(radic2 0

0 0

)(1 00 1

)

=

(1 01 0

)= A

unabhangig von x2 und y2 Das heisst unser halb vollstandiges U istgenug fur eine Zerlegung

40

Bestimmung von U

1 Wir konnen also jedes x2 und y2 wahlen solange normiert undsenkrecht auf dem ersten Vektor stehend

2 Nach dem sogenannten Basiserganzungssatz geht dies immer3 In unserem Beispiel konnte man zum Beispiel (minus1radic

2 1radic

2) wahlen

4 Wie genau man diese weiteren Vektoren von U konstruiert ist furuns unerheblich da wir ja sowieso die letzten Spalten von U diezu den niedrigeren Eigenwerten gehoren ldquoabschneidenrdquowerden

41

SVD Zwischenfazit

Wir haben eine Matrix in das Produkt einer OrthonormalmatrixDiagonalmatrix und Orthogonalmatrix zerlegt

Die Diagonalmatrix enthalt die Wurzeln von den Eigenwerten vonA middotAT nach Groszlige geordnet

Die erste Orthonormalmatrix enthalt die orthonormalisiertenEigenvektoren von A middotAT nach Eigenwertgrosse geordnet alsSpalten

Die zweite Orthonormalmatrix ist die Transponierte der Matrixdie die orthonormalisierten Eigenvektoren von AT middotA nachEigenwertgrosse geordnet als Spalten enthalt

42

Ubersicht

1 SVD HauptsatzDer SVD-SatzKonstruktion am Beispiel Methodologie IKonstruktionsmethodologie II

2 Interpretation der SVD

3 Reduced SVD

4 Verwendung in NLP

43

Geometrische Interpretation bei quadratischen Matrizen

Bedeutung der SVD ist dass sich die Funktion in eine DrehungDrehspiegelung (V T )eine Verzerrung (Σ) und eine zweite DrehungDrehspiegelung (U) zerlegen lsst

Matrix

(1 10 1

)SVD Geometrische Interpretationa

aQuelle httpscommonswikimediaorgwikiFileSingular-Value-Decompositionsvg

44

Noch einige Bemerkungen

Die Eigenwerte und damit Σ sind eindeutig bestimmt

U und V sind nicht eindeutig bestimmt Es konnen Drehungenum 180 Grad oder Spiegelungen hinzukommen

Wir konnen in vielen Fallen einen Eigenvektor wahlen(Freiheitsgrade) mussen aber dann bei den Vorzeichen derzweiten Matrix aufpassen

45

Noch einige Bemerkungen

Wir haben implizit den Rang der Ursprungsmatrix A bestimmtDies kann man klar an U middotΣ sehen

A = UΣV T =

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00

radic10 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(radic12radic2

radic10radic2

0radic

12radic2

minusradic

10radic2

0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(3 1 1minus1 3 1

)

46

Noch einige Bemerkungen

Deswegen wird manchmal die Singularwertzerlegung auch alsZerlegung in drei Matrizen Amtimesn = Umtimesr Σrtimesr V T

rtimesn wobei r der Rangder Matrix A ist beschrieben

A = UΣV T =

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00

radic10 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 00

radic10

)( 1radic6

2radic6

1radic6

2radic5

minus1radic5

0

)=

(radic12radic2

radic10radic2radic

12radic2

minusradic

10radic2

)(1radic6

2radic6

1radic6

2radic5

minus1radic5

0

)=

(3 1 1minus1 3 1

)47

Noch einige Bemerkungen

Bisher haben wir immer die Ausgangsmatrix einfach reproduziert(mit dem gleichen Rang) Man sieht den Rang besser und es gilt

Die ldquoZerrungrdquo durch die Matrix Σ ist bei den Dimensionen mit denhochsten Eigenwerten am groszligten Beispiel

(radic12 0 00

radic10 0

)x1

x2

x3

=

(radic12 middot x1radic10 middot x2

)Es macht also Sinn dass wir wenn wir eine Approximationunserer Ausgangsmatrix mit niedrigerem Rang wollen dann dieunwichtigen Dimensionen die durch niedrige Eigenwertegekennzeichnet sind weglassen

48

Ubersicht

1 SVD HauptsatzDer SVD-SatzKonstruktion am Beispiel Methodologie IKonstruktionsmethodologie II

2 Interpretation der SVD

3 Reduced SVD

4 Verwendung in NLP

49

Reduced SVD Approximation niedrigeren Ranges

Approximation von mtimesn Matrix A mit Rang r durch mtimesn -Matrix Ak mit Rang k lt r

A = UΣV T asymp Ak = UΣk V T

Σk ist eine ldquodiagonalerdquo mtimesn - Matrix bei der nur auf den erstenk Stellen der Diagonalmatrix Werte 6= 0 stehen

U und V wie zuvor

50

Beispiel

A = UΣV T =

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00

radic10 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

asymp

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00 0 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(radic12radic2

0 0radic

12radic2

0 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(1 2 11 2 1

)51

Reduced SVD

Wir hatten auch nur die ersten k Spalten von U sowie die ersten kZeilen von V T behalten konnen

Aasymp

(1radic2

1radic2

)(radic12)( 1radic

62radic6

1radic6

)=

(radic12radic2radic

12radic2

)(1radic6

2radic6

1radic6

)=

(1 2 11 2 1

)

52

Als Bild

53

Als Algorithmus

Gegeben mtimesn Matrix A und gewunschter Rank k Wir produziereneine Rangminus k Approximation wie folgt

1 Wir berechnen eine SVD Zerlegung von A

Amtimesn = UmtimesmΣmtimesnV Tntimesn

2 Wir behalten nur die ersten k Spalten von U resultierend in Umtimesk

3 Wir behalten nur die Top k sprich die ersten k Diagonalwerte vonΣ resultierend in Σktimesk

4 Wir behalten nur die ersten k Reihen von V T resultierend in V Tktimesn

54

Reduced SVD

Diagonale Eintrage in Σk sind die k groszligten Eigenwerte vonA middotAT

Satz UΣk V T minimiert die Differenz der Frobenius-Normzwischen A und Ak unter der Bedingung rang(Ak ) = k

Das heisst Fur jede mtimesn Matrix A mit Rang r angestrebtemRang k lt r und jede mtimesn Matrix B mit Rang k gilt

Aminus Ak2 le AminusB2

wobei Ak die Rang-k Approximation ist die man aus der SVD vonA ableiten kann

55

Was hat man erreicht

Unkorrelierte Dimensionen (Orthonormalbasis) die nur nochverzerrt werden

Wir haben die Dimensionen mit der meisten Variation identifiziertund danach geordnet

ldquoUnwichtigerdquo Dimensionen werden weggelassenrarr Rauschenvermindert

Man braucht viel weniger Speicherplatz O(k(n + m)) anstattO(nm)

Die neuen ldquoverstecktenrdquo Dimensionen konnen zurAhnlichkeitsberechnung verwendet werden und funktionieren oftbesser

56

Wie wahlt man k

Meist empirisch Gesehen

1 In NLP oft die ersten 200 bis 300 Dimensionen2 In Recommender Systems Wahle k so dass die Summe der

ersten k Eigenwerte mindestens 10-mal der Summe alleranderen Eigenwerte

57

Ubersicht

1 SVD HauptsatzDer SVD-SatzKonstruktion am Beispiel Methodologie IKonstruktionsmethodologie II

2 Interpretation der SVD

3 Reduced SVD

4 Verwendung in NLP

58

Dichte Embeddings

A ist Matrix von m WorternTermen und n Kontexten (PPMIfrequency )Reduced SVD resultiert in Ak mit

Umtimesk ist mtimes k - MatrixZeilen von Umtimesk reprasentieren TermeSpalten in Umtimesk latente Reprasentation der KontexteBenutze Umtimesk middotΣktimesk zur Berechnung von Termahnlichkeiten

Vorteile gegenuber der vollen Term-Kontext-MatrixDichte MatrixDimensionsreduktion effizientere VerarbeitungDe-Noising

59

Dichte Embeddings

A ist Matrix von m WorternTermen und n Kontexten (PPMIfrequency )Reduced SVD resultiert in Ak mit

Umtimesk ist mtimes k - MatrixZeilen von Umtimesk reprasentieren TermeSpalten in Umtimesk latente Reprasentation der KontexteBenutze Umtimesk middotΣktimesk zur Berechnung von Termahnlichkeiten

Vorteile gegenuber der vollen Term-Kontext-MatrixDichte MatrixDimensionsreduktion effizientere VerarbeitungDe-Noising

59

Dichte Embeddings

A ist Matrix von m WorternTermen und n Kontexten (PPMIfrequency )Reduced SVD resultiert in Ak mit

Umtimesk ist mtimes k - MatrixZeilen von Umtimesk reprasentieren TermeSpalten in Umtimesk latente Reprasentation der KontexteBenutze Umtimesk middotΣktimesk zur Berechnung von Termahnlichkeiten

Vorteile gegenuber der vollen Term-Kontext-MatrixDichte MatrixDimensionsreduktion effizientere VerarbeitungDe-Noising

59

Das Beispiel vom Anfang

Eine Wort-Dokument-Matrix M aus dem R5times3

d1 d2 d3ship 1 1 0boat 0 0 1

ocean 1 0 1motor 1 0 1wood 0 1 0

cossim(shipboat) = 0

cossim(shipocean) =12

cossim(boatocean) =1radic2

= 07

60

SVD Zerlegung war

minus041 07 024minus029 minus033 minus072minus061 minus02 014minus061 minus02 014minus01 057 minus062

227 0 0

0 149 00 0 078

minus072 minus023 minus066019 085 minus05067 minus048 minus056

=

minus093 104 0187minus0658 minus049 minus056minus138 minus0298 01092minus138 minus0298 minus1092minus0227 084 minus0483

minus072 minus023 minus066

019 085 minus05067 minus048 minus056

=

1 1 00 0 11 0 11 0 10 1 0

Abweichungen sind Rundungsfehler61

Niedrigdimensionale Approximation

Die kleinsten Eigenwerte sind die unwichtigsten Wir konnen dieseldquoweglassenrdquo = auf Null setzenrarr eine Matrix mit kleinerem Rang dieaber relativ ahnlich zur Ausgangsmatrix istminus041 07 024minus029 minus033 minus072minus061 minus02 014minus061 minus02 014minus01 057 minus062

227 0 0

0 149 00 0 0

minus072 minus023 minus066019 085 minus05067 minus048 minus056

=

minus093 104 0minus0658 minus049 0minus138 minus0298 0minus138 minus0298 0minus0227 084 0

minus072 minus023 minus066

019 085 minus05067 minus048 minus056

=

087 109 011038 minus027 068093 005 106093 005 106032 077 minus027

62

Die niedrigdimensionale Approximation

Wir interessieren uns fur die Matrix U2 = UΣ2 also die Matrix mit demniedrigerem Rang

minus093 104 0minus0658 minus049 0minus138 minus0298 0minus138 minus0298 0minus0227 084 0

Man kann diese nun als die Reprasentation unserer 5 Worter mit zweiversteckten Dimensionen auffassen

h1 h2ship minus093 104boat minus0658 minus049

ocean minus138 minus0298motor minus138 minus0298wood minus0227 084

63

Neue Ahnlichkeitsberechnungen

h1 h2ship minus093 104boat minus0658 minus049

ocean minus138 minus0298motor minus138 minus0298wood minus0227 084

cossim(shipboat) =(minus093) middot (minus0658) + 104 middot (minus049)radic

(0932 + 1042) middotradic

(06582 + 0492)= 009

cossim(shipocean) =(minus093) middot (minus138) + 104 middot (minus029)radic

(0932 + 1042) middotradic

(1382 + 0292)= 049

cossim(boatocean) = 09

64

Variationen

Benutze nur Umtimesk zur Ahnlichkeitsberechnung

Benutze Umtimesk middotΣpktimesk zur Ahnlichkeitsberechnungrarr Parameter p

sollte getuned werden Kann groszlige Unterschiede machen

Oft p = 0p = 05p = 1

65

Performanz der Reduced-SVD-Embeddings

Levy O Goldberg Y Neural word embedding as implicit matrix factorization In

Advances in neural information processing systems 2014 S 2177-2185

(Englische) Wikipedia 15 Milliarden Tokens

Fenster 2 beiderseits

Vokabular 189 533 fur Terme sowie Kontexte

PPMI Matrizen

SVD sowie ohne Zerlegung (PPMI) sowie neurale (SGNS)

Algorithmus Spearman Rank zu WordSim 353SVD 0652SGNS 0633PPMI 0605

66

Latent Semantic Analysis und Word Embeddings

Levy2014

ldquoWe analyze skip-gram with negative-sampling (SGNS) [] and show that it isimplicitly factorizing a word-context matrix whose cells are the pointwise mutualinformation (PMI) of the respective word and context pairs shifted by a globalconstant When dense low-dimensional vectors are preferred exact factorizationwith SVD can achieve solutions that are at least as good as SGNSrsquoss solutions forword similarity tasks On analogy questions SGNS remains superior to SVD Weconjecture that this stems from the weighted nature of SGNSrsquos factorizationrdquo

67

Zusammenfassung

Reduced SVD resultiert in einer optimalen Approximation derOriginalmatrix mit niedrigerem Rang Optimal = optimal bzgl derFrobeniusnorm (bzw mean squared error)

Dadurch erhalten wir eine mathematisch fundierte dichtereMatrix die Rauschen (weniger wichtige Dimensionen) eliminiert

Wir konnen mittels Umtimesk Σktimesk weiterhin Wortahnlichkeitenberechnen

Es konnen Resultate erreicht werden die bei word similaritymindestens ebensogut sind wie mit neuralen word embeddings

Nachteile Kosten der SVD Berechnung fur mtimesn matrixO(n middotm2) (when m lt n)rarr Nicht gut fur sehr grosse Matrizen

Nachteile Geht nicht gut mit unbekannten Wortern um

Nachteile schlechter bei Wortanalogieaufgaben

68

Literatur

Guter erweiterter Hintergrundhttptheorystanfordedu˜tims15ll7pdf bishttptheorystanfordedu˜tims15ll9pdf

SVD Tutorial (ohne vollstandigen Hintergrund) Kirk Baker(2005) Singular Value Decomposition Tutorialhttpsdatajobscomdata-science-repoSVD-Tutorial-[Kirk-Baker]pdf Leider ist hier imKonstruktionsverfahren I die Vorzeichenproblematikfalschlicherweise nicht behandelt worden

Levy O Goldberg Y Neural word embedding as implicit matrixfactorization In Advances in neural information processingsystems 2014 S 2177-2185

Ubungsblatt II

69

  • SVD Hauptsatz
    • Der SVD-Satz
    • Konstruktion am Beispiel Methodologie I
    • Konstruktionsmethodologie II
      • Interpretation der SVD
      • Reduced SVD
      • Verwendung in NLP

Konstruktionsmethodologie I

1 Berechne die quadratische mtimesm Matrix A middotAT

2 Berechne die Eigenwerte σ2i und Eigenvektoren ui von A middotAT

3 Die Vektoren ui werden orthonormalisiert (Gram-Schmidt) undbilden die Spaltenvektoren von U

4 Berechne die quadratische ntimesn Matrix AT middotA5 Berechne die Eigenwerte σ2

j und Eigenvektoren vj von AT middotATip die positiven Eigenwerte sind gleich zu denen von A middotAT

6 Die Vektoren vj werden orthonormalisiert (Gram-Schmidt) undbilden die Spaltenvektoren von V

7 Die Wurzeln der σ2-Werte werden in absteigender Reihenfolgedie Eintrage von Σ

8 Eventuell Korrektur der Vorzeichen von U bzw V

7

Konstruktionsmethodologie I

1 Berechne die quadratische mtimesm Matrix A middotAT

2 Berechne die Eigenwerte σ2i und Eigenvektoren ui von A middotAT

3 Die Vektoren ui werden orthonormalisiert (Gram-Schmidt) undbilden die Spaltenvektoren von U

4 Berechne die quadratische ntimesn Matrix AT middotA5 Berechne die Eigenwerte σ2

j und Eigenvektoren vj von AT middotATip die positiven Eigenwerte sind gleich zu denen von A middotAT

6 Die Vektoren vj werden orthonormalisiert (Gram-Schmidt) undbilden die Spaltenvektoren von V

7 Die Wurzeln der σ2-Werte werden in absteigender Reihenfolgedie Eintrage von Σ

8 Eventuell Korrektur der Vorzeichen von U bzw V

7

Beispiel (aus Kirk Bakers Tutorial)

Sei

A =

(3 1 1minus1 3 1

)

8

Schritt 1 Berechne A middotAT

A middotAT =

(3 1 1minus1 3 1

)3 minus11 31 1

=

(11 11 11

)

9

Schritt II Bestimme die Eigenwerte und Eigenvektoren vonA middotAT

Setze (11 11 11

)middot(

x1

x2

)= σ

(x1

x2

)Damit ergibt sich das Gleichungssystem

1 11x1 + x2 = σx1

2 x1 + 11x2 = σx2

10

Schritt II Bestimme die Eigenwerte und Eigenvektoren vonA middotAT

Setze (11 11 11

)middot(

x1

x2

)= σ

(x1

x2

)Damit ergibt sich das Gleichungssystem

1 11x1 + x2 = σx1

2 x1 + 11x2 = σx2

10

Schritt II Bestimme die Eigenwerte und Eigenvektoren vonA middotAT

1 11x1 + x2 = σx1

2 x1 + 11x2 = σx2

Ergibt z B nach Umformungen (hier Zeilenabzug)

10x1minus10x2 = σx1minusσx2

und damit Eigenwert σ1 = 10Ergibt z B nach Umformungen (hier Zeilenaddition)

12x1 + 12x2 = σx1 + σx2

und damit Eigenwert σ2 = 12

11

Schritt II Bestimme die Eigenwerte und Eigenvektoren vonA middotAT

1 11x1 + x2 = σx1

2 x1 + 11x2 = σx2

Zwei Eigenwerte σ1 = 10 und σ2 = 12 Damit ergibt sich fur dieEigenvektoren

1 11x1 + x2 = 10x1

2 x1 + 11x2 = 10x2 und damit3 x1 =minusx2

4 Wir wahlen x1 = 1 und damit x2 =minus1

sowie

1 11x1 + x2 = 12x1

2 x1 + 11x2 = 12x2 und damit3 x1 = x2

4 Wir wahlen x1 = 1 und damit x2 = 112

Schritt III Bestimme U

Starte mit einer Matrix U die die bestimmten Eigenvektoren von A middotAT

geordnet nach der Groszlige der jeweiligen Eigenwerte enthalt

1 Fur Eigenwert σ1 = 10 hatten wir x1 = 1 und damit x2 =minus1gewahlt

2 Fur Eigenwert σ1 = 12 hatten wir x1 = 1 und damit x2 = 1 gewahlt3 Spaltenvektoren nach Eigenwertgroszlige geordnet

U =

(1 11 minus1

)

13

Schritt III Bestimme U

Orthonormalisiere mit Gram-Schmidt die Spaltenvektoren von U

U =

(1 11 minus1

)

1 Normalisiere ersten Spaltenvektor u(1) = u(1)

u(1) =

(1radic2

1radic2

)2 Berechne die Senkrechte u(2)minus〈u(1) u(2)〉 middotu(1)

3 Also

(1minus1

)minus〈

(1radic2

1radic2

)

(1minus1

)〉 middot

(1radic2

1radic2

)=

(1minus1

)4 Normalisiere die Senkrechte

(1minus1

)ergibt u(2) =

(1radic2minus1radic

2

)

14

Schritt III Bestimme U

Damit ist

U =

(1radic2

1radic2

1radic2

minus1radic2

)

15

Schritt IV Berechne AT middotA

AT middotA =

3 minus11 31 1

( 3 1 1minus1 3 1

)=

10 0 20 10 42 4 2

16

Schritt V Bestimme die Eigenwerte und Eigenvektoren vonAT middotA

Setze 10 0 20 10 42 4 2

middotx1

x2

x3

= σ

x1

x2

x3

Damit ergibt sich das Gleichungssystem

1 10x1 + 2x3 = σx1

2 10x2 + 4x3 = σx2

3 2x1 + 4x2 + 2x3 = σx3

17

Schritt V Bestimme die Eigenwerte und Eigenvektoren vonAT middotA

Setze 10 0 20 10 42 4 2

middotx1

x2

x3

= σ

x1

x2

x3

Damit ergibt sich das Gleichungssystem

1 10x1 + 2x3 = σx1

2 10x2 + 4x3 = σx2

3 2x1 + 4x2 + 2x3 = σx3

17

Schritt V Bestimme die Eigenwerte und Eigenvektoren vonAT middotA

1 10x1 + 2x3 = σx1

2 10x2 + 4x3 = σx2

3 2x1 + 4x2 + 2x3 = σx3

Gleichung (ii) minus zweimal (i)

10x2 + 4x3minus20x1minus4x3 = σx2minus2σx2

und damit σ1 = 10

Mit ahnlichen Umformungen kann man σ2 = 12 sowie σ3 = 0berechnen

18

Schritt V Bestimme die Eigenwerte und Eigenvektoren vonAT middotA

Drei Eigenwerte σ1 = 10 σ2 = 12 und σ3 = 0 Damit ergibt sich furdie Eigenvektoren

1 10x1 + 2x3 = 10x12 10x2 + 4x3 = 10x23 2x1 + 4x2 + 2x3 = 10x3 und damit4 x3 = 0 aus der ersten Gleichung und damit5 2x1 + 4x2 = 0 bzw x1 =minus2x26 Wir konnen die Lange des Eigenvektors wieder frei wahlen da

wir danach eh normalisieren Allerdings sind die Vorzeichen nichtmehr frei wahlbar da ja insgesamt bei U middotΣ middotV T wieder Aherauskommen muss Darauf macht das Tutorial nichtaufmerksamWir wahlen x1 = 2x2 =minus1 hatten aber auch(falschlicherweise)x1 =minus2x2 = 1 wahlen konnen

Ebenso bestimmen wir fur σ2 = 12 einen Eigenvektor (121) und furσ3 = 0 einen Eigenvektor (12minus5)19

Schritt VI Bestimme V

Starte mit einer Matrix V die die bestimmten Eigenvektoren von AT middotAnach der Groszlige der jeweiligen Eigenwerte als Spaltenvektoren enthalt

1 Fur Eigenwert σ1 = 10 hatten wir (2minus10) gewahlt2 Fur Eigenwert σ2 = 12 hatten wir (121) bestimmt3 Fur Eigenwert σ3 = 0 hatten wir (12minus5) bestimmt4 Spaltenvektoren nach Eigenwertgroszlige geordnet

V =

1 2 12 minus1 21 0 minus5

20

Schritt VI Bestimme V

Orthonormalisiere mit Gram-Schmidt die Spaltenvektoren von V

V =

1 2 12 minus1 21 0 minus5

1 Normalisiere ersten Spaltenvektor v (1) = v(1)

v(1) =

1radic6

2radic6

1radic6

2 Berechne die Senkrechte v (2)minus〈v (1) v (2)〉 middot v (1)

3 Also

2minus10

minus〈

1radic6

2radic6

1radic6

2minus10

〉 middot

1radic6

2radic6

1radic6

=

2minus10

4 Normalisiere die Senkrechte

2minus10

ergibt v (2) =

2radic5minus1radic

50

21

Schritt VI Bestimme V

V =

1 2 12 minus1 21 0 minus5

Schon bestimmt

v (1) =

1radic6

2radic6

1radic6

sowie v (2) =

2radic5minus1radic

50

Dann kann man auch noch v (3) berechnen mit der Senkrechten

v (3)minus〈v (1) v (3)〉 middot v (1)minus〈v (2) v (3)〉 middot v (2)

Dies ergibt

minus23minus43103

Normalisiert v (3) =

1radic302radic30minus5radic

30

22

Schritt VI Bestimme V

Damit

V =

1radic6

2radic5

1radic30

2radic6

minus1radic5

2radic30

1radic6

0 minus5radic30

und damit

V T =

1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

23

Schritt VII Bestimme Σ

Σ ist eine mtimesn (hier 2times3) ldquoDiagonalmatrixrdquo mit den Wurzeln derEigenwerte (von A middotAT bzw U bzw V auf der Diagonale) nach Groszligegeordnet

Σ =

(radic12 0 00

radic10 0

)

24

Alles Zusammen

A = UΣV T =

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00

radic10 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(radic12radic2

radic10radic2

0radic

12radic2

minusradic

10radic2

0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(3 1 1minus1 3 1

)

25

Moglicher Schritt VIII Vorzeichenverbesserung

Nehmen wir mal an wir hatten bei V die falschen Vorzeichen gewahltZum Beispiel wir hatten fur σ2 = 10 anstatt (2minus10) den Vektor(minus210) gewahlt Damit ergibt sich

V =

1 minus2 12 1 21 0 minus5

und

V =

1radic6

minus2radic5

1radic30

2radic6

1radic5

2radic30

1radic6

0 minus5radic30

und

V T =

1radic6

2radic6

1radic6

minus2radic5

1radic5

01radic30

2radic30

minus5radic30

26

Moglicher Schritt VIII Vorzeichenverbesserung

Leider ist nun

UΣV T =

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00

radic10 0

)1radic6

2radic6

1radic6

minus2radic5

1radic5

01radic30

2radic30

minus5radic30

=

(radic12radic2

radic10radic2

0radic

12radic2

minusradic

10radic2

0

)1radic6

2radic6

1radic6

minus2radic5

1radic5

01radic30

2radic30

minus5radic30

=

(minus1 3 13 1 1

)

27

Moglicher Schritt VIII Vorzeichenverbesserung

Die unelegante Losung Gehe durch alle Zeilen von V T (Spalten vonV ) multizipliere sie systematisch mit minus1 bis es passt Durch dieMultiplikation mit minus1 bleiben die Vektoren immer noch normal undauch die Orthogonalitat andert sich nicht

Da eventuell auch mehrere Zeilen mit minus1 multipliziert werdenmussen ist dies leider exponentiell in der Zeilenanzahl von V T

(alle moglichen Kombinationen mussen probiert werden)

Es ist nicht gerade elegant

Man kann naturlich stattdessen auch durch die Spalten von Ugehen und diese anpassen

28

Konstruktionsmethodologie II

1 Berechne die quadratische ntimesn Matrix AT middotA2 Berechne die Eigenwerte σ2

j und Eigenvektoren vj von AT middotA3 Die Vektoren vj werden orthonormalisiert (Gram-Schmidt) und

bilden die Spaltenvektoren von V4 Die Wurzeln der σ2-Werte werden in absteigender Reihenfolge

die Eintrage von Σ

5 Die Spaltenvektoren von U bis zum Rang r der AT middotA Matrix sindnun eindeutig bestimmt aus der Vorgabe A = UΣV T und werdendaraus berechnet

6 Wenn r lt m mussen noch mminus r Vektoren zur Orthonormalbasiserganzt werden

29

Konstruktionsmethodologie II

1 Berechne die quadratische ntimesn Matrix AT middotA2 Berechne die Eigenwerte σ2

j und Eigenvektoren vj von AT middotA3 Die Vektoren vj werden orthonormalisiert (Gram-Schmidt) und

bilden die Spaltenvektoren von V4 Die Wurzeln der σ2-Werte werden in absteigender Reihenfolge

die Eintrage von Σ

5 Die Spaltenvektoren von U bis zum Rang r der AT middotA Matrix sindnun eindeutig bestimmt aus der Vorgabe A = UΣV T und werdendaraus berechnet

6 Wenn r lt m mussen noch mminus r Vektoren zur Orthonormalbasiserganzt werden

29

Konstruktionsmethodologie II

1 Berechne die quadratische ntimesn Matrix AT middotA2 Berechne die Eigenwerte σ2

j und Eigenvektoren vj von AT middotA3 Die Vektoren vj werden orthonormalisiert (Gram-Schmidt) und

bilden die Spaltenvektoren von V4 Die Wurzeln der σ2-Werte werden in absteigender Reihenfolge

die Eintrage von Σ

5 Die Spaltenvektoren von U bis zum Rang r der AT middotA Matrix sindnun eindeutig bestimmt aus der Vorgabe A = UΣV T und werdendaraus berechnet

6 Wenn r lt m mussen noch mminus r Vektoren zur Orthonormalbasiserganzt werden

29

Konstruktionsmethodologie II

1 Berechne die quadratische ntimesn Matrix AT middotA2 Berechne die Eigenwerte σ2

j und Eigenvektoren vj von AT middotA3 Die Vektoren vj werden orthonormalisiert (Gram-Schmidt) und

bilden die Spaltenvektoren von V4 Die Wurzeln der σ2-Werte werden in absteigender Reihenfolge

die Eintrage von Σ

5 Die Spaltenvektoren von U bis zum Rang r der AT middotA Matrix sindnun eindeutig bestimmt aus der Vorgabe A = UΣV T und werdendaraus berechnet

6 Wenn r lt m mussen noch mminus r Vektoren zur Orthonormalbasiserganzt werden

29

Schritt I Bestimme V T und Σ wie bisher

Nach dem ublichen Verfahren sei also V T zum Beispiel1radic6

2radic6

1radic6

minus2radic5

1radic5

01radic30

2radic30

minus5radic30

bzw V

V =

1radic6

minus2radic5

1radic30

2radic6

1radic5

2radic30

1radic6

0 minus5radic30

Die Vorzeichen konnten auch anders seinWeiterhin ist

Σ =

(radic12 0 00

radic10 0

)

30

Schritt II Bestimme U

Es muss gelten

A = UΣV T

und damit

AV = UΣV T V

Da V orthogonal ist V T V die Einheitsmatrix und damit

AV = UΣ

31

Schritt II Bestimme U

Man bilde nun eine ntimesm Matrix Σprime die genau auf denentsprechenden Diagonaleintragen 1σi stehen hat Im Beispiel ist

Σprime =

1radic12

0

0 1radic10

0 0

Es gilt dass Σ middotΣprime die mtimesm Einheitsmatrix istUnd damit

AVΣprime = UΣΣprime = U

32

Schritt II Bestimme U

Also giltU = AVΣprime

Damit gilt fur die Spalten von U wenn man sich dieMatrixmultiplikation genauer anschaut

u(j) =1σj

Av (j)

In unserem Beispiel

u(1) =1radic12

(3 1 1minus1 3 1

)1radic6

2radic6

1radic6

=

(1radic2

1radic2

)

33

Schritt II Bestimme U

Und ebenso

u(2) =1radic10

(3 1 1minus1 3 1

)minus2radic

51radic5

0

=

(minus1radic2

1radic2

)

Man sieht dass sich hier das veranderte Vorzeichen von v (2) imentgegengesetzten Vorzeichen von u(2) widerspiegelt Wir musstenauch nicht zweimal Eigenvektoren berechnen sondern U ist aus denvorherigen Berechnungen bestimmt

34

Beispiel mit einer Matrix mit niedrigerem Rang

Da wir durch 1σj

dividieren mussten geht dies nur fur Eigenwerteungleich Null Wenn aber die Matrizen niedrigere Range haben als mdann bekommen wir so nicht genugend U-Vektoren Was machen wirdann

Beispiel Sei eine Matrix von Rang 1 gegeben

A =

(1 01 0

)

35

Berechnung von V

AT A =

(1 10 0

)(1 01 0

)=

(2 00 0

)

36

Berechnung von V

(2 00 0

)hat die Eigenwerte 2 und 0 mit den jeweiligen Eigenvektoren (10)sowie (01)Daraus folgt

V =

(1 00 1

)Die ist schon eine Orthonormalmatrix also gilt V = V sowie daDiagonalmatrix V T = V

37

Bestimmung von Σ

Es gilt

Σ =

(radic2 0

0 0

)

38

Bestimmung von U

Der erste Spaltenvektor u(1) kann wie ublich bestimmt werden mit

u(1) =1radic2

Av (1) =1radic2

(1 01 0

)(10

)

=1radic2

(11

)=

(1radic2

1radic2

)

39

Bestimmung von U

Da wir keinen weiteren Eigenwert 6= 0 haben konnen wir leider sonicht weitermachen dh es geht nur bis zum Rang von A Es gilt aber(

1radic2

x21radic2

y2

)(radic2 0

0 0

)(1 00 1

)

=

(1 01 0

)= A

unabhangig von x2 und y2 Das heisst unser halb vollstandiges U istgenug fur eine Zerlegung

40

Bestimmung von U

1 Wir konnen also jedes x2 und y2 wahlen solange normiert undsenkrecht auf dem ersten Vektor stehend

2 Nach dem sogenannten Basiserganzungssatz geht dies immer3 In unserem Beispiel konnte man zum Beispiel (minus1radic

2 1radic

2) wahlen

4 Wie genau man diese weiteren Vektoren von U konstruiert ist furuns unerheblich da wir ja sowieso die letzten Spalten von U diezu den niedrigeren Eigenwerten gehoren ldquoabschneidenrdquowerden

41

SVD Zwischenfazit

Wir haben eine Matrix in das Produkt einer OrthonormalmatrixDiagonalmatrix und Orthogonalmatrix zerlegt

Die Diagonalmatrix enthalt die Wurzeln von den Eigenwerten vonA middotAT nach Groszlige geordnet

Die erste Orthonormalmatrix enthalt die orthonormalisiertenEigenvektoren von A middotAT nach Eigenwertgrosse geordnet alsSpalten

Die zweite Orthonormalmatrix ist die Transponierte der Matrixdie die orthonormalisierten Eigenvektoren von AT middotA nachEigenwertgrosse geordnet als Spalten enthalt

42

Ubersicht

1 SVD HauptsatzDer SVD-SatzKonstruktion am Beispiel Methodologie IKonstruktionsmethodologie II

2 Interpretation der SVD

3 Reduced SVD

4 Verwendung in NLP

43

Geometrische Interpretation bei quadratischen Matrizen

Bedeutung der SVD ist dass sich die Funktion in eine DrehungDrehspiegelung (V T )eine Verzerrung (Σ) und eine zweite DrehungDrehspiegelung (U) zerlegen lsst

Matrix

(1 10 1

)SVD Geometrische Interpretationa

aQuelle httpscommonswikimediaorgwikiFileSingular-Value-Decompositionsvg

44

Noch einige Bemerkungen

Die Eigenwerte und damit Σ sind eindeutig bestimmt

U und V sind nicht eindeutig bestimmt Es konnen Drehungenum 180 Grad oder Spiegelungen hinzukommen

Wir konnen in vielen Fallen einen Eigenvektor wahlen(Freiheitsgrade) mussen aber dann bei den Vorzeichen derzweiten Matrix aufpassen

45

Noch einige Bemerkungen

Wir haben implizit den Rang der Ursprungsmatrix A bestimmtDies kann man klar an U middotΣ sehen

A = UΣV T =

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00

radic10 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(radic12radic2

radic10radic2

0radic

12radic2

minusradic

10radic2

0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(3 1 1minus1 3 1

)

46

Noch einige Bemerkungen

Deswegen wird manchmal die Singularwertzerlegung auch alsZerlegung in drei Matrizen Amtimesn = Umtimesr Σrtimesr V T

rtimesn wobei r der Rangder Matrix A ist beschrieben

A = UΣV T =

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00

radic10 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 00

radic10

)( 1radic6

2radic6

1radic6

2radic5

minus1radic5

0

)=

(radic12radic2

radic10radic2radic

12radic2

minusradic

10radic2

)(1radic6

2radic6

1radic6

2radic5

minus1radic5

0

)=

(3 1 1minus1 3 1

)47

Noch einige Bemerkungen

Bisher haben wir immer die Ausgangsmatrix einfach reproduziert(mit dem gleichen Rang) Man sieht den Rang besser und es gilt

Die ldquoZerrungrdquo durch die Matrix Σ ist bei den Dimensionen mit denhochsten Eigenwerten am groszligten Beispiel

(radic12 0 00

radic10 0

)x1

x2

x3

=

(radic12 middot x1radic10 middot x2

)Es macht also Sinn dass wir wenn wir eine Approximationunserer Ausgangsmatrix mit niedrigerem Rang wollen dann dieunwichtigen Dimensionen die durch niedrige Eigenwertegekennzeichnet sind weglassen

48

Ubersicht

1 SVD HauptsatzDer SVD-SatzKonstruktion am Beispiel Methodologie IKonstruktionsmethodologie II

2 Interpretation der SVD

3 Reduced SVD

4 Verwendung in NLP

49

Reduced SVD Approximation niedrigeren Ranges

Approximation von mtimesn Matrix A mit Rang r durch mtimesn -Matrix Ak mit Rang k lt r

A = UΣV T asymp Ak = UΣk V T

Σk ist eine ldquodiagonalerdquo mtimesn - Matrix bei der nur auf den erstenk Stellen der Diagonalmatrix Werte 6= 0 stehen

U und V wie zuvor

50

Beispiel

A = UΣV T =

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00

radic10 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

asymp

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00 0 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(radic12radic2

0 0radic

12radic2

0 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(1 2 11 2 1

)51

Reduced SVD

Wir hatten auch nur die ersten k Spalten von U sowie die ersten kZeilen von V T behalten konnen

Aasymp

(1radic2

1radic2

)(radic12)( 1radic

62radic6

1radic6

)=

(radic12radic2radic

12radic2

)(1radic6

2radic6

1radic6

)=

(1 2 11 2 1

)

52

Als Bild

53

Als Algorithmus

Gegeben mtimesn Matrix A und gewunschter Rank k Wir produziereneine Rangminus k Approximation wie folgt

1 Wir berechnen eine SVD Zerlegung von A

Amtimesn = UmtimesmΣmtimesnV Tntimesn

2 Wir behalten nur die ersten k Spalten von U resultierend in Umtimesk

3 Wir behalten nur die Top k sprich die ersten k Diagonalwerte vonΣ resultierend in Σktimesk

4 Wir behalten nur die ersten k Reihen von V T resultierend in V Tktimesn

54

Reduced SVD

Diagonale Eintrage in Σk sind die k groszligten Eigenwerte vonA middotAT

Satz UΣk V T minimiert die Differenz der Frobenius-Normzwischen A und Ak unter der Bedingung rang(Ak ) = k

Das heisst Fur jede mtimesn Matrix A mit Rang r angestrebtemRang k lt r und jede mtimesn Matrix B mit Rang k gilt

Aminus Ak2 le AminusB2

wobei Ak die Rang-k Approximation ist die man aus der SVD vonA ableiten kann

55

Was hat man erreicht

Unkorrelierte Dimensionen (Orthonormalbasis) die nur nochverzerrt werden

Wir haben die Dimensionen mit der meisten Variation identifiziertund danach geordnet

ldquoUnwichtigerdquo Dimensionen werden weggelassenrarr Rauschenvermindert

Man braucht viel weniger Speicherplatz O(k(n + m)) anstattO(nm)

Die neuen ldquoverstecktenrdquo Dimensionen konnen zurAhnlichkeitsberechnung verwendet werden und funktionieren oftbesser

56

Wie wahlt man k

Meist empirisch Gesehen

1 In NLP oft die ersten 200 bis 300 Dimensionen2 In Recommender Systems Wahle k so dass die Summe der

ersten k Eigenwerte mindestens 10-mal der Summe alleranderen Eigenwerte

57

Ubersicht

1 SVD HauptsatzDer SVD-SatzKonstruktion am Beispiel Methodologie IKonstruktionsmethodologie II

2 Interpretation der SVD

3 Reduced SVD

4 Verwendung in NLP

58

Dichte Embeddings

A ist Matrix von m WorternTermen und n Kontexten (PPMIfrequency )Reduced SVD resultiert in Ak mit

Umtimesk ist mtimes k - MatrixZeilen von Umtimesk reprasentieren TermeSpalten in Umtimesk latente Reprasentation der KontexteBenutze Umtimesk middotΣktimesk zur Berechnung von Termahnlichkeiten

Vorteile gegenuber der vollen Term-Kontext-MatrixDichte MatrixDimensionsreduktion effizientere VerarbeitungDe-Noising

59

Dichte Embeddings

A ist Matrix von m WorternTermen und n Kontexten (PPMIfrequency )Reduced SVD resultiert in Ak mit

Umtimesk ist mtimes k - MatrixZeilen von Umtimesk reprasentieren TermeSpalten in Umtimesk latente Reprasentation der KontexteBenutze Umtimesk middotΣktimesk zur Berechnung von Termahnlichkeiten

Vorteile gegenuber der vollen Term-Kontext-MatrixDichte MatrixDimensionsreduktion effizientere VerarbeitungDe-Noising

59

Dichte Embeddings

A ist Matrix von m WorternTermen und n Kontexten (PPMIfrequency )Reduced SVD resultiert in Ak mit

Umtimesk ist mtimes k - MatrixZeilen von Umtimesk reprasentieren TermeSpalten in Umtimesk latente Reprasentation der KontexteBenutze Umtimesk middotΣktimesk zur Berechnung von Termahnlichkeiten

Vorteile gegenuber der vollen Term-Kontext-MatrixDichte MatrixDimensionsreduktion effizientere VerarbeitungDe-Noising

59

Das Beispiel vom Anfang

Eine Wort-Dokument-Matrix M aus dem R5times3

d1 d2 d3ship 1 1 0boat 0 0 1

ocean 1 0 1motor 1 0 1wood 0 1 0

cossim(shipboat) = 0

cossim(shipocean) =12

cossim(boatocean) =1radic2

= 07

60

SVD Zerlegung war

minus041 07 024minus029 minus033 minus072minus061 minus02 014minus061 minus02 014minus01 057 minus062

227 0 0

0 149 00 0 078

minus072 minus023 minus066019 085 minus05067 minus048 minus056

=

minus093 104 0187minus0658 minus049 minus056minus138 minus0298 01092minus138 minus0298 minus1092minus0227 084 minus0483

minus072 minus023 minus066

019 085 minus05067 minus048 minus056

=

1 1 00 0 11 0 11 0 10 1 0

Abweichungen sind Rundungsfehler61

Niedrigdimensionale Approximation

Die kleinsten Eigenwerte sind die unwichtigsten Wir konnen dieseldquoweglassenrdquo = auf Null setzenrarr eine Matrix mit kleinerem Rang dieaber relativ ahnlich zur Ausgangsmatrix istminus041 07 024minus029 minus033 minus072minus061 minus02 014minus061 minus02 014minus01 057 minus062

227 0 0

0 149 00 0 0

minus072 minus023 minus066019 085 minus05067 minus048 minus056

=

minus093 104 0minus0658 minus049 0minus138 minus0298 0minus138 minus0298 0minus0227 084 0

minus072 minus023 minus066

019 085 minus05067 minus048 minus056

=

087 109 011038 minus027 068093 005 106093 005 106032 077 minus027

62

Die niedrigdimensionale Approximation

Wir interessieren uns fur die Matrix U2 = UΣ2 also die Matrix mit demniedrigerem Rang

minus093 104 0minus0658 minus049 0minus138 minus0298 0minus138 minus0298 0minus0227 084 0

Man kann diese nun als die Reprasentation unserer 5 Worter mit zweiversteckten Dimensionen auffassen

h1 h2ship minus093 104boat minus0658 minus049

ocean minus138 minus0298motor minus138 minus0298wood minus0227 084

63

Neue Ahnlichkeitsberechnungen

h1 h2ship minus093 104boat minus0658 minus049

ocean minus138 minus0298motor minus138 minus0298wood minus0227 084

cossim(shipboat) =(minus093) middot (minus0658) + 104 middot (minus049)radic

(0932 + 1042) middotradic

(06582 + 0492)= 009

cossim(shipocean) =(minus093) middot (minus138) + 104 middot (minus029)radic

(0932 + 1042) middotradic

(1382 + 0292)= 049

cossim(boatocean) = 09

64

Variationen

Benutze nur Umtimesk zur Ahnlichkeitsberechnung

Benutze Umtimesk middotΣpktimesk zur Ahnlichkeitsberechnungrarr Parameter p

sollte getuned werden Kann groszlige Unterschiede machen

Oft p = 0p = 05p = 1

65

Performanz der Reduced-SVD-Embeddings

Levy O Goldberg Y Neural word embedding as implicit matrix factorization In

Advances in neural information processing systems 2014 S 2177-2185

(Englische) Wikipedia 15 Milliarden Tokens

Fenster 2 beiderseits

Vokabular 189 533 fur Terme sowie Kontexte

PPMI Matrizen

SVD sowie ohne Zerlegung (PPMI) sowie neurale (SGNS)

Algorithmus Spearman Rank zu WordSim 353SVD 0652SGNS 0633PPMI 0605

66

Latent Semantic Analysis und Word Embeddings

Levy2014

ldquoWe analyze skip-gram with negative-sampling (SGNS) [] and show that it isimplicitly factorizing a word-context matrix whose cells are the pointwise mutualinformation (PMI) of the respective word and context pairs shifted by a globalconstant When dense low-dimensional vectors are preferred exact factorizationwith SVD can achieve solutions that are at least as good as SGNSrsquoss solutions forword similarity tasks On analogy questions SGNS remains superior to SVD Weconjecture that this stems from the weighted nature of SGNSrsquos factorizationrdquo

67

Zusammenfassung

Reduced SVD resultiert in einer optimalen Approximation derOriginalmatrix mit niedrigerem Rang Optimal = optimal bzgl derFrobeniusnorm (bzw mean squared error)

Dadurch erhalten wir eine mathematisch fundierte dichtereMatrix die Rauschen (weniger wichtige Dimensionen) eliminiert

Wir konnen mittels Umtimesk Σktimesk weiterhin Wortahnlichkeitenberechnen

Es konnen Resultate erreicht werden die bei word similaritymindestens ebensogut sind wie mit neuralen word embeddings

Nachteile Kosten der SVD Berechnung fur mtimesn matrixO(n middotm2) (when m lt n)rarr Nicht gut fur sehr grosse Matrizen

Nachteile Geht nicht gut mit unbekannten Wortern um

Nachteile schlechter bei Wortanalogieaufgaben

68

Literatur

Guter erweiterter Hintergrundhttptheorystanfordedu˜tims15ll7pdf bishttptheorystanfordedu˜tims15ll9pdf

SVD Tutorial (ohne vollstandigen Hintergrund) Kirk Baker(2005) Singular Value Decomposition Tutorialhttpsdatajobscomdata-science-repoSVD-Tutorial-[Kirk-Baker]pdf Leider ist hier imKonstruktionsverfahren I die Vorzeichenproblematikfalschlicherweise nicht behandelt worden

Levy O Goldberg Y Neural word embedding as implicit matrixfactorization In Advances in neural information processingsystems 2014 S 2177-2185

Ubungsblatt II

69

  • SVD Hauptsatz
    • Der SVD-Satz
    • Konstruktion am Beispiel Methodologie I
    • Konstruktionsmethodologie II
      • Interpretation der SVD
      • Reduced SVD
      • Verwendung in NLP

Konstruktionsmethodologie I

1 Berechne die quadratische mtimesm Matrix A middotAT

2 Berechne die Eigenwerte σ2i und Eigenvektoren ui von A middotAT

3 Die Vektoren ui werden orthonormalisiert (Gram-Schmidt) undbilden die Spaltenvektoren von U

4 Berechne die quadratische ntimesn Matrix AT middotA5 Berechne die Eigenwerte σ2

j und Eigenvektoren vj von AT middotATip die positiven Eigenwerte sind gleich zu denen von A middotAT

6 Die Vektoren vj werden orthonormalisiert (Gram-Schmidt) undbilden die Spaltenvektoren von V

7 Die Wurzeln der σ2-Werte werden in absteigender Reihenfolgedie Eintrage von Σ

8 Eventuell Korrektur der Vorzeichen von U bzw V

7

Beispiel (aus Kirk Bakers Tutorial)

Sei

A =

(3 1 1minus1 3 1

)

8

Schritt 1 Berechne A middotAT

A middotAT =

(3 1 1minus1 3 1

)3 minus11 31 1

=

(11 11 11

)

9

Schritt II Bestimme die Eigenwerte und Eigenvektoren vonA middotAT

Setze (11 11 11

)middot(

x1

x2

)= σ

(x1

x2

)Damit ergibt sich das Gleichungssystem

1 11x1 + x2 = σx1

2 x1 + 11x2 = σx2

10

Schritt II Bestimme die Eigenwerte und Eigenvektoren vonA middotAT

Setze (11 11 11

)middot(

x1

x2

)= σ

(x1

x2

)Damit ergibt sich das Gleichungssystem

1 11x1 + x2 = σx1

2 x1 + 11x2 = σx2

10

Schritt II Bestimme die Eigenwerte und Eigenvektoren vonA middotAT

1 11x1 + x2 = σx1

2 x1 + 11x2 = σx2

Ergibt z B nach Umformungen (hier Zeilenabzug)

10x1minus10x2 = σx1minusσx2

und damit Eigenwert σ1 = 10Ergibt z B nach Umformungen (hier Zeilenaddition)

12x1 + 12x2 = σx1 + σx2

und damit Eigenwert σ2 = 12

11

Schritt II Bestimme die Eigenwerte und Eigenvektoren vonA middotAT

1 11x1 + x2 = σx1

2 x1 + 11x2 = σx2

Zwei Eigenwerte σ1 = 10 und σ2 = 12 Damit ergibt sich fur dieEigenvektoren

1 11x1 + x2 = 10x1

2 x1 + 11x2 = 10x2 und damit3 x1 =minusx2

4 Wir wahlen x1 = 1 und damit x2 =minus1

sowie

1 11x1 + x2 = 12x1

2 x1 + 11x2 = 12x2 und damit3 x1 = x2

4 Wir wahlen x1 = 1 und damit x2 = 112

Schritt III Bestimme U

Starte mit einer Matrix U die die bestimmten Eigenvektoren von A middotAT

geordnet nach der Groszlige der jeweiligen Eigenwerte enthalt

1 Fur Eigenwert σ1 = 10 hatten wir x1 = 1 und damit x2 =minus1gewahlt

2 Fur Eigenwert σ1 = 12 hatten wir x1 = 1 und damit x2 = 1 gewahlt3 Spaltenvektoren nach Eigenwertgroszlige geordnet

U =

(1 11 minus1

)

13

Schritt III Bestimme U

Orthonormalisiere mit Gram-Schmidt die Spaltenvektoren von U

U =

(1 11 minus1

)

1 Normalisiere ersten Spaltenvektor u(1) = u(1)

u(1) =

(1radic2

1radic2

)2 Berechne die Senkrechte u(2)minus〈u(1) u(2)〉 middotu(1)

3 Also

(1minus1

)minus〈

(1radic2

1radic2

)

(1minus1

)〉 middot

(1radic2

1radic2

)=

(1minus1

)4 Normalisiere die Senkrechte

(1minus1

)ergibt u(2) =

(1radic2minus1radic

2

)

14

Schritt III Bestimme U

Damit ist

U =

(1radic2

1radic2

1radic2

minus1radic2

)

15

Schritt IV Berechne AT middotA

AT middotA =

3 minus11 31 1

( 3 1 1minus1 3 1

)=

10 0 20 10 42 4 2

16

Schritt V Bestimme die Eigenwerte und Eigenvektoren vonAT middotA

Setze 10 0 20 10 42 4 2

middotx1

x2

x3

= σ

x1

x2

x3

Damit ergibt sich das Gleichungssystem

1 10x1 + 2x3 = σx1

2 10x2 + 4x3 = σx2

3 2x1 + 4x2 + 2x3 = σx3

17

Schritt V Bestimme die Eigenwerte und Eigenvektoren vonAT middotA

Setze 10 0 20 10 42 4 2

middotx1

x2

x3

= σ

x1

x2

x3

Damit ergibt sich das Gleichungssystem

1 10x1 + 2x3 = σx1

2 10x2 + 4x3 = σx2

3 2x1 + 4x2 + 2x3 = σx3

17

Schritt V Bestimme die Eigenwerte und Eigenvektoren vonAT middotA

1 10x1 + 2x3 = σx1

2 10x2 + 4x3 = σx2

3 2x1 + 4x2 + 2x3 = σx3

Gleichung (ii) minus zweimal (i)

10x2 + 4x3minus20x1minus4x3 = σx2minus2σx2

und damit σ1 = 10

Mit ahnlichen Umformungen kann man σ2 = 12 sowie σ3 = 0berechnen

18

Schritt V Bestimme die Eigenwerte und Eigenvektoren vonAT middotA

Drei Eigenwerte σ1 = 10 σ2 = 12 und σ3 = 0 Damit ergibt sich furdie Eigenvektoren

1 10x1 + 2x3 = 10x12 10x2 + 4x3 = 10x23 2x1 + 4x2 + 2x3 = 10x3 und damit4 x3 = 0 aus der ersten Gleichung und damit5 2x1 + 4x2 = 0 bzw x1 =minus2x26 Wir konnen die Lange des Eigenvektors wieder frei wahlen da

wir danach eh normalisieren Allerdings sind die Vorzeichen nichtmehr frei wahlbar da ja insgesamt bei U middotΣ middotV T wieder Aherauskommen muss Darauf macht das Tutorial nichtaufmerksamWir wahlen x1 = 2x2 =minus1 hatten aber auch(falschlicherweise)x1 =minus2x2 = 1 wahlen konnen

Ebenso bestimmen wir fur σ2 = 12 einen Eigenvektor (121) und furσ3 = 0 einen Eigenvektor (12minus5)19

Schritt VI Bestimme V

Starte mit einer Matrix V die die bestimmten Eigenvektoren von AT middotAnach der Groszlige der jeweiligen Eigenwerte als Spaltenvektoren enthalt

1 Fur Eigenwert σ1 = 10 hatten wir (2minus10) gewahlt2 Fur Eigenwert σ2 = 12 hatten wir (121) bestimmt3 Fur Eigenwert σ3 = 0 hatten wir (12minus5) bestimmt4 Spaltenvektoren nach Eigenwertgroszlige geordnet

V =

1 2 12 minus1 21 0 minus5

20

Schritt VI Bestimme V

Orthonormalisiere mit Gram-Schmidt die Spaltenvektoren von V

V =

1 2 12 minus1 21 0 minus5

1 Normalisiere ersten Spaltenvektor v (1) = v(1)

v(1) =

1radic6

2radic6

1radic6

2 Berechne die Senkrechte v (2)minus〈v (1) v (2)〉 middot v (1)

3 Also

2minus10

minus〈

1radic6

2radic6

1radic6

2minus10

〉 middot

1radic6

2radic6

1radic6

=

2minus10

4 Normalisiere die Senkrechte

2minus10

ergibt v (2) =

2radic5minus1radic

50

21

Schritt VI Bestimme V

V =

1 2 12 minus1 21 0 minus5

Schon bestimmt

v (1) =

1radic6

2radic6

1radic6

sowie v (2) =

2radic5minus1radic

50

Dann kann man auch noch v (3) berechnen mit der Senkrechten

v (3)minus〈v (1) v (3)〉 middot v (1)minus〈v (2) v (3)〉 middot v (2)

Dies ergibt

minus23minus43103

Normalisiert v (3) =

1radic302radic30minus5radic

30

22

Schritt VI Bestimme V

Damit

V =

1radic6

2radic5

1radic30

2radic6

minus1radic5

2radic30

1radic6

0 minus5radic30

und damit

V T =

1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

23

Schritt VII Bestimme Σ

Σ ist eine mtimesn (hier 2times3) ldquoDiagonalmatrixrdquo mit den Wurzeln derEigenwerte (von A middotAT bzw U bzw V auf der Diagonale) nach Groszligegeordnet

Σ =

(radic12 0 00

radic10 0

)

24

Alles Zusammen

A = UΣV T =

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00

radic10 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(radic12radic2

radic10radic2

0radic

12radic2

minusradic

10radic2

0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(3 1 1minus1 3 1

)

25

Moglicher Schritt VIII Vorzeichenverbesserung

Nehmen wir mal an wir hatten bei V die falschen Vorzeichen gewahltZum Beispiel wir hatten fur σ2 = 10 anstatt (2minus10) den Vektor(minus210) gewahlt Damit ergibt sich

V =

1 minus2 12 1 21 0 minus5

und

V =

1radic6

minus2radic5

1radic30

2radic6

1radic5

2radic30

1radic6

0 minus5radic30

und

V T =

1radic6

2radic6

1radic6

minus2radic5

1radic5

01radic30

2radic30

minus5radic30

26

Moglicher Schritt VIII Vorzeichenverbesserung

Leider ist nun

UΣV T =

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00

radic10 0

)1radic6

2radic6

1radic6

minus2radic5

1radic5

01radic30

2radic30

minus5radic30

=

(radic12radic2

radic10radic2

0radic

12radic2

minusradic

10radic2

0

)1radic6

2radic6

1radic6

minus2radic5

1radic5

01radic30

2radic30

minus5radic30

=

(minus1 3 13 1 1

)

27

Moglicher Schritt VIII Vorzeichenverbesserung

Die unelegante Losung Gehe durch alle Zeilen von V T (Spalten vonV ) multizipliere sie systematisch mit minus1 bis es passt Durch dieMultiplikation mit minus1 bleiben die Vektoren immer noch normal undauch die Orthogonalitat andert sich nicht

Da eventuell auch mehrere Zeilen mit minus1 multipliziert werdenmussen ist dies leider exponentiell in der Zeilenanzahl von V T

(alle moglichen Kombinationen mussen probiert werden)

Es ist nicht gerade elegant

Man kann naturlich stattdessen auch durch die Spalten von Ugehen und diese anpassen

28

Konstruktionsmethodologie II

1 Berechne die quadratische ntimesn Matrix AT middotA2 Berechne die Eigenwerte σ2

j und Eigenvektoren vj von AT middotA3 Die Vektoren vj werden orthonormalisiert (Gram-Schmidt) und

bilden die Spaltenvektoren von V4 Die Wurzeln der σ2-Werte werden in absteigender Reihenfolge

die Eintrage von Σ

5 Die Spaltenvektoren von U bis zum Rang r der AT middotA Matrix sindnun eindeutig bestimmt aus der Vorgabe A = UΣV T und werdendaraus berechnet

6 Wenn r lt m mussen noch mminus r Vektoren zur Orthonormalbasiserganzt werden

29

Konstruktionsmethodologie II

1 Berechne die quadratische ntimesn Matrix AT middotA2 Berechne die Eigenwerte σ2

j und Eigenvektoren vj von AT middotA3 Die Vektoren vj werden orthonormalisiert (Gram-Schmidt) und

bilden die Spaltenvektoren von V4 Die Wurzeln der σ2-Werte werden in absteigender Reihenfolge

die Eintrage von Σ

5 Die Spaltenvektoren von U bis zum Rang r der AT middotA Matrix sindnun eindeutig bestimmt aus der Vorgabe A = UΣV T und werdendaraus berechnet

6 Wenn r lt m mussen noch mminus r Vektoren zur Orthonormalbasiserganzt werden

29

Konstruktionsmethodologie II

1 Berechne die quadratische ntimesn Matrix AT middotA2 Berechne die Eigenwerte σ2

j und Eigenvektoren vj von AT middotA3 Die Vektoren vj werden orthonormalisiert (Gram-Schmidt) und

bilden die Spaltenvektoren von V4 Die Wurzeln der σ2-Werte werden in absteigender Reihenfolge

die Eintrage von Σ

5 Die Spaltenvektoren von U bis zum Rang r der AT middotA Matrix sindnun eindeutig bestimmt aus der Vorgabe A = UΣV T und werdendaraus berechnet

6 Wenn r lt m mussen noch mminus r Vektoren zur Orthonormalbasiserganzt werden

29

Konstruktionsmethodologie II

1 Berechne die quadratische ntimesn Matrix AT middotA2 Berechne die Eigenwerte σ2

j und Eigenvektoren vj von AT middotA3 Die Vektoren vj werden orthonormalisiert (Gram-Schmidt) und

bilden die Spaltenvektoren von V4 Die Wurzeln der σ2-Werte werden in absteigender Reihenfolge

die Eintrage von Σ

5 Die Spaltenvektoren von U bis zum Rang r der AT middotA Matrix sindnun eindeutig bestimmt aus der Vorgabe A = UΣV T und werdendaraus berechnet

6 Wenn r lt m mussen noch mminus r Vektoren zur Orthonormalbasiserganzt werden

29

Schritt I Bestimme V T und Σ wie bisher

Nach dem ublichen Verfahren sei also V T zum Beispiel1radic6

2radic6

1radic6

minus2radic5

1radic5

01radic30

2radic30

minus5radic30

bzw V

V =

1radic6

minus2radic5

1radic30

2radic6

1radic5

2radic30

1radic6

0 minus5radic30

Die Vorzeichen konnten auch anders seinWeiterhin ist

Σ =

(radic12 0 00

radic10 0

)

30

Schritt II Bestimme U

Es muss gelten

A = UΣV T

und damit

AV = UΣV T V

Da V orthogonal ist V T V die Einheitsmatrix und damit

AV = UΣ

31

Schritt II Bestimme U

Man bilde nun eine ntimesm Matrix Σprime die genau auf denentsprechenden Diagonaleintragen 1σi stehen hat Im Beispiel ist

Σprime =

1radic12

0

0 1radic10

0 0

Es gilt dass Σ middotΣprime die mtimesm Einheitsmatrix istUnd damit

AVΣprime = UΣΣprime = U

32

Schritt II Bestimme U

Also giltU = AVΣprime

Damit gilt fur die Spalten von U wenn man sich dieMatrixmultiplikation genauer anschaut

u(j) =1σj

Av (j)

In unserem Beispiel

u(1) =1radic12

(3 1 1minus1 3 1

)1radic6

2radic6

1radic6

=

(1radic2

1radic2

)

33

Schritt II Bestimme U

Und ebenso

u(2) =1radic10

(3 1 1minus1 3 1

)minus2radic

51radic5

0

=

(minus1radic2

1radic2

)

Man sieht dass sich hier das veranderte Vorzeichen von v (2) imentgegengesetzten Vorzeichen von u(2) widerspiegelt Wir musstenauch nicht zweimal Eigenvektoren berechnen sondern U ist aus denvorherigen Berechnungen bestimmt

34

Beispiel mit einer Matrix mit niedrigerem Rang

Da wir durch 1σj

dividieren mussten geht dies nur fur Eigenwerteungleich Null Wenn aber die Matrizen niedrigere Range haben als mdann bekommen wir so nicht genugend U-Vektoren Was machen wirdann

Beispiel Sei eine Matrix von Rang 1 gegeben

A =

(1 01 0

)

35

Berechnung von V

AT A =

(1 10 0

)(1 01 0

)=

(2 00 0

)

36

Berechnung von V

(2 00 0

)hat die Eigenwerte 2 und 0 mit den jeweiligen Eigenvektoren (10)sowie (01)Daraus folgt

V =

(1 00 1

)Die ist schon eine Orthonormalmatrix also gilt V = V sowie daDiagonalmatrix V T = V

37

Bestimmung von Σ

Es gilt

Σ =

(radic2 0

0 0

)

38

Bestimmung von U

Der erste Spaltenvektor u(1) kann wie ublich bestimmt werden mit

u(1) =1radic2

Av (1) =1radic2

(1 01 0

)(10

)

=1radic2

(11

)=

(1radic2

1radic2

)

39

Bestimmung von U

Da wir keinen weiteren Eigenwert 6= 0 haben konnen wir leider sonicht weitermachen dh es geht nur bis zum Rang von A Es gilt aber(

1radic2

x21radic2

y2

)(radic2 0

0 0

)(1 00 1

)

=

(1 01 0

)= A

unabhangig von x2 und y2 Das heisst unser halb vollstandiges U istgenug fur eine Zerlegung

40

Bestimmung von U

1 Wir konnen also jedes x2 und y2 wahlen solange normiert undsenkrecht auf dem ersten Vektor stehend

2 Nach dem sogenannten Basiserganzungssatz geht dies immer3 In unserem Beispiel konnte man zum Beispiel (minus1radic

2 1radic

2) wahlen

4 Wie genau man diese weiteren Vektoren von U konstruiert ist furuns unerheblich da wir ja sowieso die letzten Spalten von U diezu den niedrigeren Eigenwerten gehoren ldquoabschneidenrdquowerden

41

SVD Zwischenfazit

Wir haben eine Matrix in das Produkt einer OrthonormalmatrixDiagonalmatrix und Orthogonalmatrix zerlegt

Die Diagonalmatrix enthalt die Wurzeln von den Eigenwerten vonA middotAT nach Groszlige geordnet

Die erste Orthonormalmatrix enthalt die orthonormalisiertenEigenvektoren von A middotAT nach Eigenwertgrosse geordnet alsSpalten

Die zweite Orthonormalmatrix ist die Transponierte der Matrixdie die orthonormalisierten Eigenvektoren von AT middotA nachEigenwertgrosse geordnet als Spalten enthalt

42

Ubersicht

1 SVD HauptsatzDer SVD-SatzKonstruktion am Beispiel Methodologie IKonstruktionsmethodologie II

2 Interpretation der SVD

3 Reduced SVD

4 Verwendung in NLP

43

Geometrische Interpretation bei quadratischen Matrizen

Bedeutung der SVD ist dass sich die Funktion in eine DrehungDrehspiegelung (V T )eine Verzerrung (Σ) und eine zweite DrehungDrehspiegelung (U) zerlegen lsst

Matrix

(1 10 1

)SVD Geometrische Interpretationa

aQuelle httpscommonswikimediaorgwikiFileSingular-Value-Decompositionsvg

44

Noch einige Bemerkungen

Die Eigenwerte und damit Σ sind eindeutig bestimmt

U und V sind nicht eindeutig bestimmt Es konnen Drehungenum 180 Grad oder Spiegelungen hinzukommen

Wir konnen in vielen Fallen einen Eigenvektor wahlen(Freiheitsgrade) mussen aber dann bei den Vorzeichen derzweiten Matrix aufpassen

45

Noch einige Bemerkungen

Wir haben implizit den Rang der Ursprungsmatrix A bestimmtDies kann man klar an U middotΣ sehen

A = UΣV T =

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00

radic10 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(radic12radic2

radic10radic2

0radic

12radic2

minusradic

10radic2

0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(3 1 1minus1 3 1

)

46

Noch einige Bemerkungen

Deswegen wird manchmal die Singularwertzerlegung auch alsZerlegung in drei Matrizen Amtimesn = Umtimesr Σrtimesr V T

rtimesn wobei r der Rangder Matrix A ist beschrieben

A = UΣV T =

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00

radic10 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 00

radic10

)( 1radic6

2radic6

1radic6

2radic5

minus1radic5

0

)=

(radic12radic2

radic10radic2radic

12radic2

minusradic

10radic2

)(1radic6

2radic6

1radic6

2radic5

minus1radic5

0

)=

(3 1 1minus1 3 1

)47

Noch einige Bemerkungen

Bisher haben wir immer die Ausgangsmatrix einfach reproduziert(mit dem gleichen Rang) Man sieht den Rang besser und es gilt

Die ldquoZerrungrdquo durch die Matrix Σ ist bei den Dimensionen mit denhochsten Eigenwerten am groszligten Beispiel

(radic12 0 00

radic10 0

)x1

x2

x3

=

(radic12 middot x1radic10 middot x2

)Es macht also Sinn dass wir wenn wir eine Approximationunserer Ausgangsmatrix mit niedrigerem Rang wollen dann dieunwichtigen Dimensionen die durch niedrige Eigenwertegekennzeichnet sind weglassen

48

Ubersicht

1 SVD HauptsatzDer SVD-SatzKonstruktion am Beispiel Methodologie IKonstruktionsmethodologie II

2 Interpretation der SVD

3 Reduced SVD

4 Verwendung in NLP

49

Reduced SVD Approximation niedrigeren Ranges

Approximation von mtimesn Matrix A mit Rang r durch mtimesn -Matrix Ak mit Rang k lt r

A = UΣV T asymp Ak = UΣk V T

Σk ist eine ldquodiagonalerdquo mtimesn - Matrix bei der nur auf den erstenk Stellen der Diagonalmatrix Werte 6= 0 stehen

U und V wie zuvor

50

Beispiel

A = UΣV T =

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00

radic10 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

asymp

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00 0 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(radic12radic2

0 0radic

12radic2

0 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(1 2 11 2 1

)51

Reduced SVD

Wir hatten auch nur die ersten k Spalten von U sowie die ersten kZeilen von V T behalten konnen

Aasymp

(1radic2

1radic2

)(radic12)( 1radic

62radic6

1radic6

)=

(radic12radic2radic

12radic2

)(1radic6

2radic6

1radic6

)=

(1 2 11 2 1

)

52

Als Bild

53

Als Algorithmus

Gegeben mtimesn Matrix A und gewunschter Rank k Wir produziereneine Rangminus k Approximation wie folgt

1 Wir berechnen eine SVD Zerlegung von A

Amtimesn = UmtimesmΣmtimesnV Tntimesn

2 Wir behalten nur die ersten k Spalten von U resultierend in Umtimesk

3 Wir behalten nur die Top k sprich die ersten k Diagonalwerte vonΣ resultierend in Σktimesk

4 Wir behalten nur die ersten k Reihen von V T resultierend in V Tktimesn

54

Reduced SVD

Diagonale Eintrage in Σk sind die k groszligten Eigenwerte vonA middotAT

Satz UΣk V T minimiert die Differenz der Frobenius-Normzwischen A und Ak unter der Bedingung rang(Ak ) = k

Das heisst Fur jede mtimesn Matrix A mit Rang r angestrebtemRang k lt r und jede mtimesn Matrix B mit Rang k gilt

Aminus Ak2 le AminusB2

wobei Ak die Rang-k Approximation ist die man aus der SVD vonA ableiten kann

55

Was hat man erreicht

Unkorrelierte Dimensionen (Orthonormalbasis) die nur nochverzerrt werden

Wir haben die Dimensionen mit der meisten Variation identifiziertund danach geordnet

ldquoUnwichtigerdquo Dimensionen werden weggelassenrarr Rauschenvermindert

Man braucht viel weniger Speicherplatz O(k(n + m)) anstattO(nm)

Die neuen ldquoverstecktenrdquo Dimensionen konnen zurAhnlichkeitsberechnung verwendet werden und funktionieren oftbesser

56

Wie wahlt man k

Meist empirisch Gesehen

1 In NLP oft die ersten 200 bis 300 Dimensionen2 In Recommender Systems Wahle k so dass die Summe der

ersten k Eigenwerte mindestens 10-mal der Summe alleranderen Eigenwerte

57

Ubersicht

1 SVD HauptsatzDer SVD-SatzKonstruktion am Beispiel Methodologie IKonstruktionsmethodologie II

2 Interpretation der SVD

3 Reduced SVD

4 Verwendung in NLP

58

Dichte Embeddings

A ist Matrix von m WorternTermen und n Kontexten (PPMIfrequency )Reduced SVD resultiert in Ak mit

Umtimesk ist mtimes k - MatrixZeilen von Umtimesk reprasentieren TermeSpalten in Umtimesk latente Reprasentation der KontexteBenutze Umtimesk middotΣktimesk zur Berechnung von Termahnlichkeiten

Vorteile gegenuber der vollen Term-Kontext-MatrixDichte MatrixDimensionsreduktion effizientere VerarbeitungDe-Noising

59

Dichte Embeddings

A ist Matrix von m WorternTermen und n Kontexten (PPMIfrequency )Reduced SVD resultiert in Ak mit

Umtimesk ist mtimes k - MatrixZeilen von Umtimesk reprasentieren TermeSpalten in Umtimesk latente Reprasentation der KontexteBenutze Umtimesk middotΣktimesk zur Berechnung von Termahnlichkeiten

Vorteile gegenuber der vollen Term-Kontext-MatrixDichte MatrixDimensionsreduktion effizientere VerarbeitungDe-Noising

59

Dichte Embeddings

A ist Matrix von m WorternTermen und n Kontexten (PPMIfrequency )Reduced SVD resultiert in Ak mit

Umtimesk ist mtimes k - MatrixZeilen von Umtimesk reprasentieren TermeSpalten in Umtimesk latente Reprasentation der KontexteBenutze Umtimesk middotΣktimesk zur Berechnung von Termahnlichkeiten

Vorteile gegenuber der vollen Term-Kontext-MatrixDichte MatrixDimensionsreduktion effizientere VerarbeitungDe-Noising

59

Das Beispiel vom Anfang

Eine Wort-Dokument-Matrix M aus dem R5times3

d1 d2 d3ship 1 1 0boat 0 0 1

ocean 1 0 1motor 1 0 1wood 0 1 0

cossim(shipboat) = 0

cossim(shipocean) =12

cossim(boatocean) =1radic2

= 07

60

SVD Zerlegung war

minus041 07 024minus029 minus033 minus072minus061 minus02 014minus061 minus02 014minus01 057 minus062

227 0 0

0 149 00 0 078

minus072 minus023 minus066019 085 minus05067 minus048 minus056

=

minus093 104 0187minus0658 minus049 minus056minus138 minus0298 01092minus138 minus0298 minus1092minus0227 084 minus0483

minus072 minus023 minus066

019 085 minus05067 minus048 minus056

=

1 1 00 0 11 0 11 0 10 1 0

Abweichungen sind Rundungsfehler61

Niedrigdimensionale Approximation

Die kleinsten Eigenwerte sind die unwichtigsten Wir konnen dieseldquoweglassenrdquo = auf Null setzenrarr eine Matrix mit kleinerem Rang dieaber relativ ahnlich zur Ausgangsmatrix istminus041 07 024minus029 minus033 minus072minus061 minus02 014minus061 minus02 014minus01 057 minus062

227 0 0

0 149 00 0 0

minus072 minus023 minus066019 085 minus05067 minus048 minus056

=

minus093 104 0minus0658 minus049 0minus138 minus0298 0minus138 minus0298 0minus0227 084 0

minus072 minus023 minus066

019 085 minus05067 minus048 minus056

=

087 109 011038 minus027 068093 005 106093 005 106032 077 minus027

62

Die niedrigdimensionale Approximation

Wir interessieren uns fur die Matrix U2 = UΣ2 also die Matrix mit demniedrigerem Rang

minus093 104 0minus0658 minus049 0minus138 minus0298 0minus138 minus0298 0minus0227 084 0

Man kann diese nun als die Reprasentation unserer 5 Worter mit zweiversteckten Dimensionen auffassen

h1 h2ship minus093 104boat minus0658 minus049

ocean minus138 minus0298motor minus138 minus0298wood minus0227 084

63

Neue Ahnlichkeitsberechnungen

h1 h2ship minus093 104boat minus0658 minus049

ocean minus138 minus0298motor minus138 minus0298wood minus0227 084

cossim(shipboat) =(minus093) middot (minus0658) + 104 middot (minus049)radic

(0932 + 1042) middotradic

(06582 + 0492)= 009

cossim(shipocean) =(minus093) middot (minus138) + 104 middot (minus029)radic

(0932 + 1042) middotradic

(1382 + 0292)= 049

cossim(boatocean) = 09

64

Variationen

Benutze nur Umtimesk zur Ahnlichkeitsberechnung

Benutze Umtimesk middotΣpktimesk zur Ahnlichkeitsberechnungrarr Parameter p

sollte getuned werden Kann groszlige Unterschiede machen

Oft p = 0p = 05p = 1

65

Performanz der Reduced-SVD-Embeddings

Levy O Goldberg Y Neural word embedding as implicit matrix factorization In

Advances in neural information processing systems 2014 S 2177-2185

(Englische) Wikipedia 15 Milliarden Tokens

Fenster 2 beiderseits

Vokabular 189 533 fur Terme sowie Kontexte

PPMI Matrizen

SVD sowie ohne Zerlegung (PPMI) sowie neurale (SGNS)

Algorithmus Spearman Rank zu WordSim 353SVD 0652SGNS 0633PPMI 0605

66

Latent Semantic Analysis und Word Embeddings

Levy2014

ldquoWe analyze skip-gram with negative-sampling (SGNS) [] and show that it isimplicitly factorizing a word-context matrix whose cells are the pointwise mutualinformation (PMI) of the respective word and context pairs shifted by a globalconstant When dense low-dimensional vectors are preferred exact factorizationwith SVD can achieve solutions that are at least as good as SGNSrsquoss solutions forword similarity tasks On analogy questions SGNS remains superior to SVD Weconjecture that this stems from the weighted nature of SGNSrsquos factorizationrdquo

67

Zusammenfassung

Reduced SVD resultiert in einer optimalen Approximation derOriginalmatrix mit niedrigerem Rang Optimal = optimal bzgl derFrobeniusnorm (bzw mean squared error)

Dadurch erhalten wir eine mathematisch fundierte dichtereMatrix die Rauschen (weniger wichtige Dimensionen) eliminiert

Wir konnen mittels Umtimesk Σktimesk weiterhin Wortahnlichkeitenberechnen

Es konnen Resultate erreicht werden die bei word similaritymindestens ebensogut sind wie mit neuralen word embeddings

Nachteile Kosten der SVD Berechnung fur mtimesn matrixO(n middotm2) (when m lt n)rarr Nicht gut fur sehr grosse Matrizen

Nachteile Geht nicht gut mit unbekannten Wortern um

Nachteile schlechter bei Wortanalogieaufgaben

68

Literatur

Guter erweiterter Hintergrundhttptheorystanfordedu˜tims15ll7pdf bishttptheorystanfordedu˜tims15ll9pdf

SVD Tutorial (ohne vollstandigen Hintergrund) Kirk Baker(2005) Singular Value Decomposition Tutorialhttpsdatajobscomdata-science-repoSVD-Tutorial-[Kirk-Baker]pdf Leider ist hier imKonstruktionsverfahren I die Vorzeichenproblematikfalschlicherweise nicht behandelt worden

Levy O Goldberg Y Neural word embedding as implicit matrixfactorization In Advances in neural information processingsystems 2014 S 2177-2185

Ubungsblatt II

69

  • SVD Hauptsatz
    • Der SVD-Satz
    • Konstruktion am Beispiel Methodologie I
    • Konstruktionsmethodologie II
      • Interpretation der SVD
      • Reduced SVD
      • Verwendung in NLP

Beispiel (aus Kirk Bakers Tutorial)

Sei

A =

(3 1 1minus1 3 1

)

8

Schritt 1 Berechne A middotAT

A middotAT =

(3 1 1minus1 3 1

)3 minus11 31 1

=

(11 11 11

)

9

Schritt II Bestimme die Eigenwerte und Eigenvektoren vonA middotAT

Setze (11 11 11

)middot(

x1

x2

)= σ

(x1

x2

)Damit ergibt sich das Gleichungssystem

1 11x1 + x2 = σx1

2 x1 + 11x2 = σx2

10

Schritt II Bestimme die Eigenwerte und Eigenvektoren vonA middotAT

Setze (11 11 11

)middot(

x1

x2

)= σ

(x1

x2

)Damit ergibt sich das Gleichungssystem

1 11x1 + x2 = σx1

2 x1 + 11x2 = σx2

10

Schritt II Bestimme die Eigenwerte und Eigenvektoren vonA middotAT

1 11x1 + x2 = σx1

2 x1 + 11x2 = σx2

Ergibt z B nach Umformungen (hier Zeilenabzug)

10x1minus10x2 = σx1minusσx2

und damit Eigenwert σ1 = 10Ergibt z B nach Umformungen (hier Zeilenaddition)

12x1 + 12x2 = σx1 + σx2

und damit Eigenwert σ2 = 12

11

Schritt II Bestimme die Eigenwerte und Eigenvektoren vonA middotAT

1 11x1 + x2 = σx1

2 x1 + 11x2 = σx2

Zwei Eigenwerte σ1 = 10 und σ2 = 12 Damit ergibt sich fur dieEigenvektoren

1 11x1 + x2 = 10x1

2 x1 + 11x2 = 10x2 und damit3 x1 =minusx2

4 Wir wahlen x1 = 1 und damit x2 =minus1

sowie

1 11x1 + x2 = 12x1

2 x1 + 11x2 = 12x2 und damit3 x1 = x2

4 Wir wahlen x1 = 1 und damit x2 = 112

Schritt III Bestimme U

Starte mit einer Matrix U die die bestimmten Eigenvektoren von A middotAT

geordnet nach der Groszlige der jeweiligen Eigenwerte enthalt

1 Fur Eigenwert σ1 = 10 hatten wir x1 = 1 und damit x2 =minus1gewahlt

2 Fur Eigenwert σ1 = 12 hatten wir x1 = 1 und damit x2 = 1 gewahlt3 Spaltenvektoren nach Eigenwertgroszlige geordnet

U =

(1 11 minus1

)

13

Schritt III Bestimme U

Orthonormalisiere mit Gram-Schmidt die Spaltenvektoren von U

U =

(1 11 minus1

)

1 Normalisiere ersten Spaltenvektor u(1) = u(1)

u(1) =

(1radic2

1radic2

)2 Berechne die Senkrechte u(2)minus〈u(1) u(2)〉 middotu(1)

3 Also

(1minus1

)minus〈

(1radic2

1radic2

)

(1minus1

)〉 middot

(1radic2

1radic2

)=

(1minus1

)4 Normalisiere die Senkrechte

(1minus1

)ergibt u(2) =

(1radic2minus1radic

2

)

14

Schritt III Bestimme U

Damit ist

U =

(1radic2

1radic2

1radic2

minus1radic2

)

15

Schritt IV Berechne AT middotA

AT middotA =

3 minus11 31 1

( 3 1 1minus1 3 1

)=

10 0 20 10 42 4 2

16

Schritt V Bestimme die Eigenwerte und Eigenvektoren vonAT middotA

Setze 10 0 20 10 42 4 2

middotx1

x2

x3

= σ

x1

x2

x3

Damit ergibt sich das Gleichungssystem

1 10x1 + 2x3 = σx1

2 10x2 + 4x3 = σx2

3 2x1 + 4x2 + 2x3 = σx3

17

Schritt V Bestimme die Eigenwerte und Eigenvektoren vonAT middotA

Setze 10 0 20 10 42 4 2

middotx1

x2

x3

= σ

x1

x2

x3

Damit ergibt sich das Gleichungssystem

1 10x1 + 2x3 = σx1

2 10x2 + 4x3 = σx2

3 2x1 + 4x2 + 2x3 = σx3

17

Schritt V Bestimme die Eigenwerte und Eigenvektoren vonAT middotA

1 10x1 + 2x3 = σx1

2 10x2 + 4x3 = σx2

3 2x1 + 4x2 + 2x3 = σx3

Gleichung (ii) minus zweimal (i)

10x2 + 4x3minus20x1minus4x3 = σx2minus2σx2

und damit σ1 = 10

Mit ahnlichen Umformungen kann man σ2 = 12 sowie σ3 = 0berechnen

18

Schritt V Bestimme die Eigenwerte und Eigenvektoren vonAT middotA

Drei Eigenwerte σ1 = 10 σ2 = 12 und σ3 = 0 Damit ergibt sich furdie Eigenvektoren

1 10x1 + 2x3 = 10x12 10x2 + 4x3 = 10x23 2x1 + 4x2 + 2x3 = 10x3 und damit4 x3 = 0 aus der ersten Gleichung und damit5 2x1 + 4x2 = 0 bzw x1 =minus2x26 Wir konnen die Lange des Eigenvektors wieder frei wahlen da

wir danach eh normalisieren Allerdings sind die Vorzeichen nichtmehr frei wahlbar da ja insgesamt bei U middotΣ middotV T wieder Aherauskommen muss Darauf macht das Tutorial nichtaufmerksamWir wahlen x1 = 2x2 =minus1 hatten aber auch(falschlicherweise)x1 =minus2x2 = 1 wahlen konnen

Ebenso bestimmen wir fur σ2 = 12 einen Eigenvektor (121) und furσ3 = 0 einen Eigenvektor (12minus5)19

Schritt VI Bestimme V

Starte mit einer Matrix V die die bestimmten Eigenvektoren von AT middotAnach der Groszlige der jeweiligen Eigenwerte als Spaltenvektoren enthalt

1 Fur Eigenwert σ1 = 10 hatten wir (2minus10) gewahlt2 Fur Eigenwert σ2 = 12 hatten wir (121) bestimmt3 Fur Eigenwert σ3 = 0 hatten wir (12minus5) bestimmt4 Spaltenvektoren nach Eigenwertgroszlige geordnet

V =

1 2 12 minus1 21 0 minus5

20

Schritt VI Bestimme V

Orthonormalisiere mit Gram-Schmidt die Spaltenvektoren von V

V =

1 2 12 minus1 21 0 minus5

1 Normalisiere ersten Spaltenvektor v (1) = v(1)

v(1) =

1radic6

2radic6

1radic6

2 Berechne die Senkrechte v (2)minus〈v (1) v (2)〉 middot v (1)

3 Also

2minus10

minus〈

1radic6

2radic6

1radic6

2minus10

〉 middot

1radic6

2radic6

1radic6

=

2minus10

4 Normalisiere die Senkrechte

2minus10

ergibt v (2) =

2radic5minus1radic

50

21

Schritt VI Bestimme V

V =

1 2 12 minus1 21 0 minus5

Schon bestimmt

v (1) =

1radic6

2radic6

1radic6

sowie v (2) =

2radic5minus1radic

50

Dann kann man auch noch v (3) berechnen mit der Senkrechten

v (3)minus〈v (1) v (3)〉 middot v (1)minus〈v (2) v (3)〉 middot v (2)

Dies ergibt

minus23minus43103

Normalisiert v (3) =

1radic302radic30minus5radic

30

22

Schritt VI Bestimme V

Damit

V =

1radic6

2radic5

1radic30

2radic6

minus1radic5

2radic30

1radic6

0 minus5radic30

und damit

V T =

1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

23

Schritt VII Bestimme Σ

Σ ist eine mtimesn (hier 2times3) ldquoDiagonalmatrixrdquo mit den Wurzeln derEigenwerte (von A middotAT bzw U bzw V auf der Diagonale) nach Groszligegeordnet

Σ =

(radic12 0 00

radic10 0

)

24

Alles Zusammen

A = UΣV T =

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00

radic10 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(radic12radic2

radic10radic2

0radic

12radic2

minusradic

10radic2

0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(3 1 1minus1 3 1

)

25

Moglicher Schritt VIII Vorzeichenverbesserung

Nehmen wir mal an wir hatten bei V die falschen Vorzeichen gewahltZum Beispiel wir hatten fur σ2 = 10 anstatt (2minus10) den Vektor(minus210) gewahlt Damit ergibt sich

V =

1 minus2 12 1 21 0 minus5

und

V =

1radic6

minus2radic5

1radic30

2radic6

1radic5

2radic30

1radic6

0 minus5radic30

und

V T =

1radic6

2radic6

1radic6

minus2radic5

1radic5

01radic30

2radic30

minus5radic30

26

Moglicher Schritt VIII Vorzeichenverbesserung

Leider ist nun

UΣV T =

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00

radic10 0

)1radic6

2radic6

1radic6

minus2radic5

1radic5

01radic30

2radic30

minus5radic30

=

(radic12radic2

radic10radic2

0radic

12radic2

minusradic

10radic2

0

)1radic6

2radic6

1radic6

minus2radic5

1radic5

01radic30

2radic30

minus5radic30

=

(minus1 3 13 1 1

)

27

Moglicher Schritt VIII Vorzeichenverbesserung

Die unelegante Losung Gehe durch alle Zeilen von V T (Spalten vonV ) multizipliere sie systematisch mit minus1 bis es passt Durch dieMultiplikation mit minus1 bleiben die Vektoren immer noch normal undauch die Orthogonalitat andert sich nicht

Da eventuell auch mehrere Zeilen mit minus1 multipliziert werdenmussen ist dies leider exponentiell in der Zeilenanzahl von V T

(alle moglichen Kombinationen mussen probiert werden)

Es ist nicht gerade elegant

Man kann naturlich stattdessen auch durch die Spalten von Ugehen und diese anpassen

28

Konstruktionsmethodologie II

1 Berechne die quadratische ntimesn Matrix AT middotA2 Berechne die Eigenwerte σ2

j und Eigenvektoren vj von AT middotA3 Die Vektoren vj werden orthonormalisiert (Gram-Schmidt) und

bilden die Spaltenvektoren von V4 Die Wurzeln der σ2-Werte werden in absteigender Reihenfolge

die Eintrage von Σ

5 Die Spaltenvektoren von U bis zum Rang r der AT middotA Matrix sindnun eindeutig bestimmt aus der Vorgabe A = UΣV T und werdendaraus berechnet

6 Wenn r lt m mussen noch mminus r Vektoren zur Orthonormalbasiserganzt werden

29

Konstruktionsmethodologie II

1 Berechne die quadratische ntimesn Matrix AT middotA2 Berechne die Eigenwerte σ2

j und Eigenvektoren vj von AT middotA3 Die Vektoren vj werden orthonormalisiert (Gram-Schmidt) und

bilden die Spaltenvektoren von V4 Die Wurzeln der σ2-Werte werden in absteigender Reihenfolge

die Eintrage von Σ

5 Die Spaltenvektoren von U bis zum Rang r der AT middotA Matrix sindnun eindeutig bestimmt aus der Vorgabe A = UΣV T und werdendaraus berechnet

6 Wenn r lt m mussen noch mminus r Vektoren zur Orthonormalbasiserganzt werden

29

Konstruktionsmethodologie II

1 Berechne die quadratische ntimesn Matrix AT middotA2 Berechne die Eigenwerte σ2

j und Eigenvektoren vj von AT middotA3 Die Vektoren vj werden orthonormalisiert (Gram-Schmidt) und

bilden die Spaltenvektoren von V4 Die Wurzeln der σ2-Werte werden in absteigender Reihenfolge

die Eintrage von Σ

5 Die Spaltenvektoren von U bis zum Rang r der AT middotA Matrix sindnun eindeutig bestimmt aus der Vorgabe A = UΣV T und werdendaraus berechnet

6 Wenn r lt m mussen noch mminus r Vektoren zur Orthonormalbasiserganzt werden

29

Konstruktionsmethodologie II

1 Berechne die quadratische ntimesn Matrix AT middotA2 Berechne die Eigenwerte σ2

j und Eigenvektoren vj von AT middotA3 Die Vektoren vj werden orthonormalisiert (Gram-Schmidt) und

bilden die Spaltenvektoren von V4 Die Wurzeln der σ2-Werte werden in absteigender Reihenfolge

die Eintrage von Σ

5 Die Spaltenvektoren von U bis zum Rang r der AT middotA Matrix sindnun eindeutig bestimmt aus der Vorgabe A = UΣV T und werdendaraus berechnet

6 Wenn r lt m mussen noch mminus r Vektoren zur Orthonormalbasiserganzt werden

29

Schritt I Bestimme V T und Σ wie bisher

Nach dem ublichen Verfahren sei also V T zum Beispiel1radic6

2radic6

1radic6

minus2radic5

1radic5

01radic30

2radic30

minus5radic30

bzw V

V =

1radic6

minus2radic5

1radic30

2radic6

1radic5

2radic30

1radic6

0 minus5radic30

Die Vorzeichen konnten auch anders seinWeiterhin ist

Σ =

(radic12 0 00

radic10 0

)

30

Schritt II Bestimme U

Es muss gelten

A = UΣV T

und damit

AV = UΣV T V

Da V orthogonal ist V T V die Einheitsmatrix und damit

AV = UΣ

31

Schritt II Bestimme U

Man bilde nun eine ntimesm Matrix Σprime die genau auf denentsprechenden Diagonaleintragen 1σi stehen hat Im Beispiel ist

Σprime =

1radic12

0

0 1radic10

0 0

Es gilt dass Σ middotΣprime die mtimesm Einheitsmatrix istUnd damit

AVΣprime = UΣΣprime = U

32

Schritt II Bestimme U

Also giltU = AVΣprime

Damit gilt fur die Spalten von U wenn man sich dieMatrixmultiplikation genauer anschaut

u(j) =1σj

Av (j)

In unserem Beispiel

u(1) =1radic12

(3 1 1minus1 3 1

)1radic6

2radic6

1radic6

=

(1radic2

1radic2

)

33

Schritt II Bestimme U

Und ebenso

u(2) =1radic10

(3 1 1minus1 3 1

)minus2radic

51radic5

0

=

(minus1radic2

1radic2

)

Man sieht dass sich hier das veranderte Vorzeichen von v (2) imentgegengesetzten Vorzeichen von u(2) widerspiegelt Wir musstenauch nicht zweimal Eigenvektoren berechnen sondern U ist aus denvorherigen Berechnungen bestimmt

34

Beispiel mit einer Matrix mit niedrigerem Rang

Da wir durch 1σj

dividieren mussten geht dies nur fur Eigenwerteungleich Null Wenn aber die Matrizen niedrigere Range haben als mdann bekommen wir so nicht genugend U-Vektoren Was machen wirdann

Beispiel Sei eine Matrix von Rang 1 gegeben

A =

(1 01 0

)

35

Berechnung von V

AT A =

(1 10 0

)(1 01 0

)=

(2 00 0

)

36

Berechnung von V

(2 00 0

)hat die Eigenwerte 2 und 0 mit den jeweiligen Eigenvektoren (10)sowie (01)Daraus folgt

V =

(1 00 1

)Die ist schon eine Orthonormalmatrix also gilt V = V sowie daDiagonalmatrix V T = V

37

Bestimmung von Σ

Es gilt

Σ =

(radic2 0

0 0

)

38

Bestimmung von U

Der erste Spaltenvektor u(1) kann wie ublich bestimmt werden mit

u(1) =1radic2

Av (1) =1radic2

(1 01 0

)(10

)

=1radic2

(11

)=

(1radic2

1radic2

)

39

Bestimmung von U

Da wir keinen weiteren Eigenwert 6= 0 haben konnen wir leider sonicht weitermachen dh es geht nur bis zum Rang von A Es gilt aber(

1radic2

x21radic2

y2

)(radic2 0

0 0

)(1 00 1

)

=

(1 01 0

)= A

unabhangig von x2 und y2 Das heisst unser halb vollstandiges U istgenug fur eine Zerlegung

40

Bestimmung von U

1 Wir konnen also jedes x2 und y2 wahlen solange normiert undsenkrecht auf dem ersten Vektor stehend

2 Nach dem sogenannten Basiserganzungssatz geht dies immer3 In unserem Beispiel konnte man zum Beispiel (minus1radic

2 1radic

2) wahlen

4 Wie genau man diese weiteren Vektoren von U konstruiert ist furuns unerheblich da wir ja sowieso die letzten Spalten von U diezu den niedrigeren Eigenwerten gehoren ldquoabschneidenrdquowerden

41

SVD Zwischenfazit

Wir haben eine Matrix in das Produkt einer OrthonormalmatrixDiagonalmatrix und Orthogonalmatrix zerlegt

Die Diagonalmatrix enthalt die Wurzeln von den Eigenwerten vonA middotAT nach Groszlige geordnet

Die erste Orthonormalmatrix enthalt die orthonormalisiertenEigenvektoren von A middotAT nach Eigenwertgrosse geordnet alsSpalten

Die zweite Orthonormalmatrix ist die Transponierte der Matrixdie die orthonormalisierten Eigenvektoren von AT middotA nachEigenwertgrosse geordnet als Spalten enthalt

42

Ubersicht

1 SVD HauptsatzDer SVD-SatzKonstruktion am Beispiel Methodologie IKonstruktionsmethodologie II

2 Interpretation der SVD

3 Reduced SVD

4 Verwendung in NLP

43

Geometrische Interpretation bei quadratischen Matrizen

Bedeutung der SVD ist dass sich die Funktion in eine DrehungDrehspiegelung (V T )eine Verzerrung (Σ) und eine zweite DrehungDrehspiegelung (U) zerlegen lsst

Matrix

(1 10 1

)SVD Geometrische Interpretationa

aQuelle httpscommonswikimediaorgwikiFileSingular-Value-Decompositionsvg

44

Noch einige Bemerkungen

Die Eigenwerte und damit Σ sind eindeutig bestimmt

U und V sind nicht eindeutig bestimmt Es konnen Drehungenum 180 Grad oder Spiegelungen hinzukommen

Wir konnen in vielen Fallen einen Eigenvektor wahlen(Freiheitsgrade) mussen aber dann bei den Vorzeichen derzweiten Matrix aufpassen

45

Noch einige Bemerkungen

Wir haben implizit den Rang der Ursprungsmatrix A bestimmtDies kann man klar an U middotΣ sehen

A = UΣV T =

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00

radic10 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(radic12radic2

radic10radic2

0radic

12radic2

minusradic

10radic2

0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(3 1 1minus1 3 1

)

46

Noch einige Bemerkungen

Deswegen wird manchmal die Singularwertzerlegung auch alsZerlegung in drei Matrizen Amtimesn = Umtimesr Σrtimesr V T

rtimesn wobei r der Rangder Matrix A ist beschrieben

A = UΣV T =

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00

radic10 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 00

radic10

)( 1radic6

2radic6

1radic6

2radic5

minus1radic5

0

)=

(radic12radic2

radic10radic2radic

12radic2

minusradic

10radic2

)(1radic6

2radic6

1radic6

2radic5

minus1radic5

0

)=

(3 1 1minus1 3 1

)47

Noch einige Bemerkungen

Bisher haben wir immer die Ausgangsmatrix einfach reproduziert(mit dem gleichen Rang) Man sieht den Rang besser und es gilt

Die ldquoZerrungrdquo durch die Matrix Σ ist bei den Dimensionen mit denhochsten Eigenwerten am groszligten Beispiel

(radic12 0 00

radic10 0

)x1

x2

x3

=

(radic12 middot x1radic10 middot x2

)Es macht also Sinn dass wir wenn wir eine Approximationunserer Ausgangsmatrix mit niedrigerem Rang wollen dann dieunwichtigen Dimensionen die durch niedrige Eigenwertegekennzeichnet sind weglassen

48

Ubersicht

1 SVD HauptsatzDer SVD-SatzKonstruktion am Beispiel Methodologie IKonstruktionsmethodologie II

2 Interpretation der SVD

3 Reduced SVD

4 Verwendung in NLP

49

Reduced SVD Approximation niedrigeren Ranges

Approximation von mtimesn Matrix A mit Rang r durch mtimesn -Matrix Ak mit Rang k lt r

A = UΣV T asymp Ak = UΣk V T

Σk ist eine ldquodiagonalerdquo mtimesn - Matrix bei der nur auf den erstenk Stellen der Diagonalmatrix Werte 6= 0 stehen

U und V wie zuvor

50

Beispiel

A = UΣV T =

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00

radic10 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

asymp

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00 0 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(radic12radic2

0 0radic

12radic2

0 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(1 2 11 2 1

)51

Reduced SVD

Wir hatten auch nur die ersten k Spalten von U sowie die ersten kZeilen von V T behalten konnen

Aasymp

(1radic2

1radic2

)(radic12)( 1radic

62radic6

1radic6

)=

(radic12radic2radic

12radic2

)(1radic6

2radic6

1radic6

)=

(1 2 11 2 1

)

52

Als Bild

53

Als Algorithmus

Gegeben mtimesn Matrix A und gewunschter Rank k Wir produziereneine Rangminus k Approximation wie folgt

1 Wir berechnen eine SVD Zerlegung von A

Amtimesn = UmtimesmΣmtimesnV Tntimesn

2 Wir behalten nur die ersten k Spalten von U resultierend in Umtimesk

3 Wir behalten nur die Top k sprich die ersten k Diagonalwerte vonΣ resultierend in Σktimesk

4 Wir behalten nur die ersten k Reihen von V T resultierend in V Tktimesn

54

Reduced SVD

Diagonale Eintrage in Σk sind die k groszligten Eigenwerte vonA middotAT

Satz UΣk V T minimiert die Differenz der Frobenius-Normzwischen A und Ak unter der Bedingung rang(Ak ) = k

Das heisst Fur jede mtimesn Matrix A mit Rang r angestrebtemRang k lt r und jede mtimesn Matrix B mit Rang k gilt

Aminus Ak2 le AminusB2

wobei Ak die Rang-k Approximation ist die man aus der SVD vonA ableiten kann

55

Was hat man erreicht

Unkorrelierte Dimensionen (Orthonormalbasis) die nur nochverzerrt werden

Wir haben die Dimensionen mit der meisten Variation identifiziertund danach geordnet

ldquoUnwichtigerdquo Dimensionen werden weggelassenrarr Rauschenvermindert

Man braucht viel weniger Speicherplatz O(k(n + m)) anstattO(nm)

Die neuen ldquoverstecktenrdquo Dimensionen konnen zurAhnlichkeitsberechnung verwendet werden und funktionieren oftbesser

56

Wie wahlt man k

Meist empirisch Gesehen

1 In NLP oft die ersten 200 bis 300 Dimensionen2 In Recommender Systems Wahle k so dass die Summe der

ersten k Eigenwerte mindestens 10-mal der Summe alleranderen Eigenwerte

57

Ubersicht

1 SVD HauptsatzDer SVD-SatzKonstruktion am Beispiel Methodologie IKonstruktionsmethodologie II

2 Interpretation der SVD

3 Reduced SVD

4 Verwendung in NLP

58

Dichte Embeddings

A ist Matrix von m WorternTermen und n Kontexten (PPMIfrequency )Reduced SVD resultiert in Ak mit

Umtimesk ist mtimes k - MatrixZeilen von Umtimesk reprasentieren TermeSpalten in Umtimesk latente Reprasentation der KontexteBenutze Umtimesk middotΣktimesk zur Berechnung von Termahnlichkeiten

Vorteile gegenuber der vollen Term-Kontext-MatrixDichte MatrixDimensionsreduktion effizientere VerarbeitungDe-Noising

59

Dichte Embeddings

A ist Matrix von m WorternTermen und n Kontexten (PPMIfrequency )Reduced SVD resultiert in Ak mit

Umtimesk ist mtimes k - MatrixZeilen von Umtimesk reprasentieren TermeSpalten in Umtimesk latente Reprasentation der KontexteBenutze Umtimesk middotΣktimesk zur Berechnung von Termahnlichkeiten

Vorteile gegenuber der vollen Term-Kontext-MatrixDichte MatrixDimensionsreduktion effizientere VerarbeitungDe-Noising

59

Dichte Embeddings

A ist Matrix von m WorternTermen und n Kontexten (PPMIfrequency )Reduced SVD resultiert in Ak mit

Umtimesk ist mtimes k - MatrixZeilen von Umtimesk reprasentieren TermeSpalten in Umtimesk latente Reprasentation der KontexteBenutze Umtimesk middotΣktimesk zur Berechnung von Termahnlichkeiten

Vorteile gegenuber der vollen Term-Kontext-MatrixDichte MatrixDimensionsreduktion effizientere VerarbeitungDe-Noising

59

Das Beispiel vom Anfang

Eine Wort-Dokument-Matrix M aus dem R5times3

d1 d2 d3ship 1 1 0boat 0 0 1

ocean 1 0 1motor 1 0 1wood 0 1 0

cossim(shipboat) = 0

cossim(shipocean) =12

cossim(boatocean) =1radic2

= 07

60

SVD Zerlegung war

minus041 07 024minus029 minus033 minus072minus061 minus02 014minus061 minus02 014minus01 057 minus062

227 0 0

0 149 00 0 078

minus072 minus023 minus066019 085 minus05067 minus048 minus056

=

minus093 104 0187minus0658 minus049 minus056minus138 minus0298 01092minus138 minus0298 minus1092minus0227 084 minus0483

minus072 minus023 minus066

019 085 minus05067 minus048 minus056

=

1 1 00 0 11 0 11 0 10 1 0

Abweichungen sind Rundungsfehler61

Niedrigdimensionale Approximation

Die kleinsten Eigenwerte sind die unwichtigsten Wir konnen dieseldquoweglassenrdquo = auf Null setzenrarr eine Matrix mit kleinerem Rang dieaber relativ ahnlich zur Ausgangsmatrix istminus041 07 024minus029 minus033 minus072minus061 minus02 014minus061 minus02 014minus01 057 minus062

227 0 0

0 149 00 0 0

minus072 minus023 minus066019 085 minus05067 minus048 minus056

=

minus093 104 0minus0658 minus049 0minus138 minus0298 0minus138 minus0298 0minus0227 084 0

minus072 minus023 minus066

019 085 minus05067 minus048 minus056

=

087 109 011038 minus027 068093 005 106093 005 106032 077 minus027

62

Die niedrigdimensionale Approximation

Wir interessieren uns fur die Matrix U2 = UΣ2 also die Matrix mit demniedrigerem Rang

minus093 104 0minus0658 minus049 0minus138 minus0298 0minus138 minus0298 0minus0227 084 0

Man kann diese nun als die Reprasentation unserer 5 Worter mit zweiversteckten Dimensionen auffassen

h1 h2ship minus093 104boat minus0658 minus049

ocean minus138 minus0298motor minus138 minus0298wood minus0227 084

63

Neue Ahnlichkeitsberechnungen

h1 h2ship minus093 104boat minus0658 minus049

ocean minus138 minus0298motor minus138 minus0298wood minus0227 084

cossim(shipboat) =(minus093) middot (minus0658) + 104 middot (minus049)radic

(0932 + 1042) middotradic

(06582 + 0492)= 009

cossim(shipocean) =(minus093) middot (minus138) + 104 middot (minus029)radic

(0932 + 1042) middotradic

(1382 + 0292)= 049

cossim(boatocean) = 09

64

Variationen

Benutze nur Umtimesk zur Ahnlichkeitsberechnung

Benutze Umtimesk middotΣpktimesk zur Ahnlichkeitsberechnungrarr Parameter p

sollte getuned werden Kann groszlige Unterschiede machen

Oft p = 0p = 05p = 1

65

Performanz der Reduced-SVD-Embeddings

Levy O Goldberg Y Neural word embedding as implicit matrix factorization In

Advances in neural information processing systems 2014 S 2177-2185

(Englische) Wikipedia 15 Milliarden Tokens

Fenster 2 beiderseits

Vokabular 189 533 fur Terme sowie Kontexte

PPMI Matrizen

SVD sowie ohne Zerlegung (PPMI) sowie neurale (SGNS)

Algorithmus Spearman Rank zu WordSim 353SVD 0652SGNS 0633PPMI 0605

66

Latent Semantic Analysis und Word Embeddings

Levy2014

ldquoWe analyze skip-gram with negative-sampling (SGNS) [] and show that it isimplicitly factorizing a word-context matrix whose cells are the pointwise mutualinformation (PMI) of the respective word and context pairs shifted by a globalconstant When dense low-dimensional vectors are preferred exact factorizationwith SVD can achieve solutions that are at least as good as SGNSrsquoss solutions forword similarity tasks On analogy questions SGNS remains superior to SVD Weconjecture that this stems from the weighted nature of SGNSrsquos factorizationrdquo

67

Zusammenfassung

Reduced SVD resultiert in einer optimalen Approximation derOriginalmatrix mit niedrigerem Rang Optimal = optimal bzgl derFrobeniusnorm (bzw mean squared error)

Dadurch erhalten wir eine mathematisch fundierte dichtereMatrix die Rauschen (weniger wichtige Dimensionen) eliminiert

Wir konnen mittels Umtimesk Σktimesk weiterhin Wortahnlichkeitenberechnen

Es konnen Resultate erreicht werden die bei word similaritymindestens ebensogut sind wie mit neuralen word embeddings

Nachteile Kosten der SVD Berechnung fur mtimesn matrixO(n middotm2) (when m lt n)rarr Nicht gut fur sehr grosse Matrizen

Nachteile Geht nicht gut mit unbekannten Wortern um

Nachteile schlechter bei Wortanalogieaufgaben

68

Literatur

Guter erweiterter Hintergrundhttptheorystanfordedu˜tims15ll7pdf bishttptheorystanfordedu˜tims15ll9pdf

SVD Tutorial (ohne vollstandigen Hintergrund) Kirk Baker(2005) Singular Value Decomposition Tutorialhttpsdatajobscomdata-science-repoSVD-Tutorial-[Kirk-Baker]pdf Leider ist hier imKonstruktionsverfahren I die Vorzeichenproblematikfalschlicherweise nicht behandelt worden

Levy O Goldberg Y Neural word embedding as implicit matrixfactorization In Advances in neural information processingsystems 2014 S 2177-2185

Ubungsblatt II

69

  • SVD Hauptsatz
    • Der SVD-Satz
    • Konstruktion am Beispiel Methodologie I
    • Konstruktionsmethodologie II
      • Interpretation der SVD
      • Reduced SVD
      • Verwendung in NLP

Schritt 1 Berechne A middotAT

A middotAT =

(3 1 1minus1 3 1

)3 minus11 31 1

=

(11 11 11

)

9

Schritt II Bestimme die Eigenwerte und Eigenvektoren vonA middotAT

Setze (11 11 11

)middot(

x1

x2

)= σ

(x1

x2

)Damit ergibt sich das Gleichungssystem

1 11x1 + x2 = σx1

2 x1 + 11x2 = σx2

10

Schritt II Bestimme die Eigenwerte und Eigenvektoren vonA middotAT

Setze (11 11 11

)middot(

x1

x2

)= σ

(x1

x2

)Damit ergibt sich das Gleichungssystem

1 11x1 + x2 = σx1

2 x1 + 11x2 = σx2

10

Schritt II Bestimme die Eigenwerte und Eigenvektoren vonA middotAT

1 11x1 + x2 = σx1

2 x1 + 11x2 = σx2

Ergibt z B nach Umformungen (hier Zeilenabzug)

10x1minus10x2 = σx1minusσx2

und damit Eigenwert σ1 = 10Ergibt z B nach Umformungen (hier Zeilenaddition)

12x1 + 12x2 = σx1 + σx2

und damit Eigenwert σ2 = 12

11

Schritt II Bestimme die Eigenwerte und Eigenvektoren vonA middotAT

1 11x1 + x2 = σx1

2 x1 + 11x2 = σx2

Zwei Eigenwerte σ1 = 10 und σ2 = 12 Damit ergibt sich fur dieEigenvektoren

1 11x1 + x2 = 10x1

2 x1 + 11x2 = 10x2 und damit3 x1 =minusx2

4 Wir wahlen x1 = 1 und damit x2 =minus1

sowie

1 11x1 + x2 = 12x1

2 x1 + 11x2 = 12x2 und damit3 x1 = x2

4 Wir wahlen x1 = 1 und damit x2 = 112

Schritt III Bestimme U

Starte mit einer Matrix U die die bestimmten Eigenvektoren von A middotAT

geordnet nach der Groszlige der jeweiligen Eigenwerte enthalt

1 Fur Eigenwert σ1 = 10 hatten wir x1 = 1 und damit x2 =minus1gewahlt

2 Fur Eigenwert σ1 = 12 hatten wir x1 = 1 und damit x2 = 1 gewahlt3 Spaltenvektoren nach Eigenwertgroszlige geordnet

U =

(1 11 minus1

)

13

Schritt III Bestimme U

Orthonormalisiere mit Gram-Schmidt die Spaltenvektoren von U

U =

(1 11 minus1

)

1 Normalisiere ersten Spaltenvektor u(1) = u(1)

u(1) =

(1radic2

1radic2

)2 Berechne die Senkrechte u(2)minus〈u(1) u(2)〉 middotu(1)

3 Also

(1minus1

)minus〈

(1radic2

1radic2

)

(1minus1

)〉 middot

(1radic2

1radic2

)=

(1minus1

)4 Normalisiere die Senkrechte

(1minus1

)ergibt u(2) =

(1radic2minus1radic

2

)

14

Schritt III Bestimme U

Damit ist

U =

(1radic2

1radic2

1radic2

minus1radic2

)

15

Schritt IV Berechne AT middotA

AT middotA =

3 minus11 31 1

( 3 1 1minus1 3 1

)=

10 0 20 10 42 4 2

16

Schritt V Bestimme die Eigenwerte und Eigenvektoren vonAT middotA

Setze 10 0 20 10 42 4 2

middotx1

x2

x3

= σ

x1

x2

x3

Damit ergibt sich das Gleichungssystem

1 10x1 + 2x3 = σx1

2 10x2 + 4x3 = σx2

3 2x1 + 4x2 + 2x3 = σx3

17

Schritt V Bestimme die Eigenwerte und Eigenvektoren vonAT middotA

Setze 10 0 20 10 42 4 2

middotx1

x2

x3

= σ

x1

x2

x3

Damit ergibt sich das Gleichungssystem

1 10x1 + 2x3 = σx1

2 10x2 + 4x3 = σx2

3 2x1 + 4x2 + 2x3 = σx3

17

Schritt V Bestimme die Eigenwerte und Eigenvektoren vonAT middotA

1 10x1 + 2x3 = σx1

2 10x2 + 4x3 = σx2

3 2x1 + 4x2 + 2x3 = σx3

Gleichung (ii) minus zweimal (i)

10x2 + 4x3minus20x1minus4x3 = σx2minus2σx2

und damit σ1 = 10

Mit ahnlichen Umformungen kann man σ2 = 12 sowie σ3 = 0berechnen

18

Schritt V Bestimme die Eigenwerte und Eigenvektoren vonAT middotA

Drei Eigenwerte σ1 = 10 σ2 = 12 und σ3 = 0 Damit ergibt sich furdie Eigenvektoren

1 10x1 + 2x3 = 10x12 10x2 + 4x3 = 10x23 2x1 + 4x2 + 2x3 = 10x3 und damit4 x3 = 0 aus der ersten Gleichung und damit5 2x1 + 4x2 = 0 bzw x1 =minus2x26 Wir konnen die Lange des Eigenvektors wieder frei wahlen da

wir danach eh normalisieren Allerdings sind die Vorzeichen nichtmehr frei wahlbar da ja insgesamt bei U middotΣ middotV T wieder Aherauskommen muss Darauf macht das Tutorial nichtaufmerksamWir wahlen x1 = 2x2 =minus1 hatten aber auch(falschlicherweise)x1 =minus2x2 = 1 wahlen konnen

Ebenso bestimmen wir fur σ2 = 12 einen Eigenvektor (121) und furσ3 = 0 einen Eigenvektor (12minus5)19

Schritt VI Bestimme V

Starte mit einer Matrix V die die bestimmten Eigenvektoren von AT middotAnach der Groszlige der jeweiligen Eigenwerte als Spaltenvektoren enthalt

1 Fur Eigenwert σ1 = 10 hatten wir (2minus10) gewahlt2 Fur Eigenwert σ2 = 12 hatten wir (121) bestimmt3 Fur Eigenwert σ3 = 0 hatten wir (12minus5) bestimmt4 Spaltenvektoren nach Eigenwertgroszlige geordnet

V =

1 2 12 minus1 21 0 minus5

20

Schritt VI Bestimme V

Orthonormalisiere mit Gram-Schmidt die Spaltenvektoren von V

V =

1 2 12 minus1 21 0 minus5

1 Normalisiere ersten Spaltenvektor v (1) = v(1)

v(1) =

1radic6

2radic6

1radic6

2 Berechne die Senkrechte v (2)minus〈v (1) v (2)〉 middot v (1)

3 Also

2minus10

minus〈

1radic6

2radic6

1radic6

2minus10

〉 middot

1radic6

2radic6

1radic6

=

2minus10

4 Normalisiere die Senkrechte

2minus10

ergibt v (2) =

2radic5minus1radic

50

21

Schritt VI Bestimme V

V =

1 2 12 minus1 21 0 minus5

Schon bestimmt

v (1) =

1radic6

2radic6

1radic6

sowie v (2) =

2radic5minus1radic

50

Dann kann man auch noch v (3) berechnen mit der Senkrechten

v (3)minus〈v (1) v (3)〉 middot v (1)minus〈v (2) v (3)〉 middot v (2)

Dies ergibt

minus23minus43103

Normalisiert v (3) =

1radic302radic30minus5radic

30

22

Schritt VI Bestimme V

Damit

V =

1radic6

2radic5

1radic30

2radic6

minus1radic5

2radic30

1radic6

0 minus5radic30

und damit

V T =

1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

23

Schritt VII Bestimme Σ

Σ ist eine mtimesn (hier 2times3) ldquoDiagonalmatrixrdquo mit den Wurzeln derEigenwerte (von A middotAT bzw U bzw V auf der Diagonale) nach Groszligegeordnet

Σ =

(radic12 0 00

radic10 0

)

24

Alles Zusammen

A = UΣV T =

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00

radic10 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(radic12radic2

radic10radic2

0radic

12radic2

minusradic

10radic2

0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(3 1 1minus1 3 1

)

25

Moglicher Schritt VIII Vorzeichenverbesserung

Nehmen wir mal an wir hatten bei V die falschen Vorzeichen gewahltZum Beispiel wir hatten fur σ2 = 10 anstatt (2minus10) den Vektor(minus210) gewahlt Damit ergibt sich

V =

1 minus2 12 1 21 0 minus5

und

V =

1radic6

minus2radic5

1radic30

2radic6

1radic5

2radic30

1radic6

0 minus5radic30

und

V T =

1radic6

2radic6

1radic6

minus2radic5

1radic5

01radic30

2radic30

minus5radic30

26

Moglicher Schritt VIII Vorzeichenverbesserung

Leider ist nun

UΣV T =

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00

radic10 0

)1radic6

2radic6

1radic6

minus2radic5

1radic5

01radic30

2radic30

minus5radic30

=

(radic12radic2

radic10radic2

0radic

12radic2

minusradic

10radic2

0

)1radic6

2radic6

1radic6

minus2radic5

1radic5

01radic30

2radic30

minus5radic30

=

(minus1 3 13 1 1

)

27

Moglicher Schritt VIII Vorzeichenverbesserung

Die unelegante Losung Gehe durch alle Zeilen von V T (Spalten vonV ) multizipliere sie systematisch mit minus1 bis es passt Durch dieMultiplikation mit minus1 bleiben die Vektoren immer noch normal undauch die Orthogonalitat andert sich nicht

Da eventuell auch mehrere Zeilen mit minus1 multipliziert werdenmussen ist dies leider exponentiell in der Zeilenanzahl von V T

(alle moglichen Kombinationen mussen probiert werden)

Es ist nicht gerade elegant

Man kann naturlich stattdessen auch durch die Spalten von Ugehen und diese anpassen

28

Konstruktionsmethodologie II

1 Berechne die quadratische ntimesn Matrix AT middotA2 Berechne die Eigenwerte σ2

j und Eigenvektoren vj von AT middotA3 Die Vektoren vj werden orthonormalisiert (Gram-Schmidt) und

bilden die Spaltenvektoren von V4 Die Wurzeln der σ2-Werte werden in absteigender Reihenfolge

die Eintrage von Σ

5 Die Spaltenvektoren von U bis zum Rang r der AT middotA Matrix sindnun eindeutig bestimmt aus der Vorgabe A = UΣV T und werdendaraus berechnet

6 Wenn r lt m mussen noch mminus r Vektoren zur Orthonormalbasiserganzt werden

29

Konstruktionsmethodologie II

1 Berechne die quadratische ntimesn Matrix AT middotA2 Berechne die Eigenwerte σ2

j und Eigenvektoren vj von AT middotA3 Die Vektoren vj werden orthonormalisiert (Gram-Schmidt) und

bilden die Spaltenvektoren von V4 Die Wurzeln der σ2-Werte werden in absteigender Reihenfolge

die Eintrage von Σ

5 Die Spaltenvektoren von U bis zum Rang r der AT middotA Matrix sindnun eindeutig bestimmt aus der Vorgabe A = UΣV T und werdendaraus berechnet

6 Wenn r lt m mussen noch mminus r Vektoren zur Orthonormalbasiserganzt werden

29

Konstruktionsmethodologie II

1 Berechne die quadratische ntimesn Matrix AT middotA2 Berechne die Eigenwerte σ2

j und Eigenvektoren vj von AT middotA3 Die Vektoren vj werden orthonormalisiert (Gram-Schmidt) und

bilden die Spaltenvektoren von V4 Die Wurzeln der σ2-Werte werden in absteigender Reihenfolge

die Eintrage von Σ

5 Die Spaltenvektoren von U bis zum Rang r der AT middotA Matrix sindnun eindeutig bestimmt aus der Vorgabe A = UΣV T und werdendaraus berechnet

6 Wenn r lt m mussen noch mminus r Vektoren zur Orthonormalbasiserganzt werden

29

Konstruktionsmethodologie II

1 Berechne die quadratische ntimesn Matrix AT middotA2 Berechne die Eigenwerte σ2

j und Eigenvektoren vj von AT middotA3 Die Vektoren vj werden orthonormalisiert (Gram-Schmidt) und

bilden die Spaltenvektoren von V4 Die Wurzeln der σ2-Werte werden in absteigender Reihenfolge

die Eintrage von Σ

5 Die Spaltenvektoren von U bis zum Rang r der AT middotA Matrix sindnun eindeutig bestimmt aus der Vorgabe A = UΣV T und werdendaraus berechnet

6 Wenn r lt m mussen noch mminus r Vektoren zur Orthonormalbasiserganzt werden

29

Schritt I Bestimme V T und Σ wie bisher

Nach dem ublichen Verfahren sei also V T zum Beispiel1radic6

2radic6

1radic6

minus2radic5

1radic5

01radic30

2radic30

minus5radic30

bzw V

V =

1radic6

minus2radic5

1radic30

2radic6

1radic5

2radic30

1radic6

0 minus5radic30

Die Vorzeichen konnten auch anders seinWeiterhin ist

Σ =

(radic12 0 00

radic10 0

)

30

Schritt II Bestimme U

Es muss gelten

A = UΣV T

und damit

AV = UΣV T V

Da V orthogonal ist V T V die Einheitsmatrix und damit

AV = UΣ

31

Schritt II Bestimme U

Man bilde nun eine ntimesm Matrix Σprime die genau auf denentsprechenden Diagonaleintragen 1σi stehen hat Im Beispiel ist

Σprime =

1radic12

0

0 1radic10

0 0

Es gilt dass Σ middotΣprime die mtimesm Einheitsmatrix istUnd damit

AVΣprime = UΣΣprime = U

32

Schritt II Bestimme U

Also giltU = AVΣprime

Damit gilt fur die Spalten von U wenn man sich dieMatrixmultiplikation genauer anschaut

u(j) =1σj

Av (j)

In unserem Beispiel

u(1) =1radic12

(3 1 1minus1 3 1

)1radic6

2radic6

1radic6

=

(1radic2

1radic2

)

33

Schritt II Bestimme U

Und ebenso

u(2) =1radic10

(3 1 1minus1 3 1

)minus2radic

51radic5

0

=

(minus1radic2

1radic2

)

Man sieht dass sich hier das veranderte Vorzeichen von v (2) imentgegengesetzten Vorzeichen von u(2) widerspiegelt Wir musstenauch nicht zweimal Eigenvektoren berechnen sondern U ist aus denvorherigen Berechnungen bestimmt

34

Beispiel mit einer Matrix mit niedrigerem Rang

Da wir durch 1σj

dividieren mussten geht dies nur fur Eigenwerteungleich Null Wenn aber die Matrizen niedrigere Range haben als mdann bekommen wir so nicht genugend U-Vektoren Was machen wirdann

Beispiel Sei eine Matrix von Rang 1 gegeben

A =

(1 01 0

)

35

Berechnung von V

AT A =

(1 10 0

)(1 01 0

)=

(2 00 0

)

36

Berechnung von V

(2 00 0

)hat die Eigenwerte 2 und 0 mit den jeweiligen Eigenvektoren (10)sowie (01)Daraus folgt

V =

(1 00 1

)Die ist schon eine Orthonormalmatrix also gilt V = V sowie daDiagonalmatrix V T = V

37

Bestimmung von Σ

Es gilt

Σ =

(radic2 0

0 0

)

38

Bestimmung von U

Der erste Spaltenvektor u(1) kann wie ublich bestimmt werden mit

u(1) =1radic2

Av (1) =1radic2

(1 01 0

)(10

)

=1radic2

(11

)=

(1radic2

1radic2

)

39

Bestimmung von U

Da wir keinen weiteren Eigenwert 6= 0 haben konnen wir leider sonicht weitermachen dh es geht nur bis zum Rang von A Es gilt aber(

1radic2

x21radic2

y2

)(radic2 0

0 0

)(1 00 1

)

=

(1 01 0

)= A

unabhangig von x2 und y2 Das heisst unser halb vollstandiges U istgenug fur eine Zerlegung

40

Bestimmung von U

1 Wir konnen also jedes x2 und y2 wahlen solange normiert undsenkrecht auf dem ersten Vektor stehend

2 Nach dem sogenannten Basiserganzungssatz geht dies immer3 In unserem Beispiel konnte man zum Beispiel (minus1radic

2 1radic

2) wahlen

4 Wie genau man diese weiteren Vektoren von U konstruiert ist furuns unerheblich da wir ja sowieso die letzten Spalten von U diezu den niedrigeren Eigenwerten gehoren ldquoabschneidenrdquowerden

41

SVD Zwischenfazit

Wir haben eine Matrix in das Produkt einer OrthonormalmatrixDiagonalmatrix und Orthogonalmatrix zerlegt

Die Diagonalmatrix enthalt die Wurzeln von den Eigenwerten vonA middotAT nach Groszlige geordnet

Die erste Orthonormalmatrix enthalt die orthonormalisiertenEigenvektoren von A middotAT nach Eigenwertgrosse geordnet alsSpalten

Die zweite Orthonormalmatrix ist die Transponierte der Matrixdie die orthonormalisierten Eigenvektoren von AT middotA nachEigenwertgrosse geordnet als Spalten enthalt

42

Ubersicht

1 SVD HauptsatzDer SVD-SatzKonstruktion am Beispiel Methodologie IKonstruktionsmethodologie II

2 Interpretation der SVD

3 Reduced SVD

4 Verwendung in NLP

43

Geometrische Interpretation bei quadratischen Matrizen

Bedeutung der SVD ist dass sich die Funktion in eine DrehungDrehspiegelung (V T )eine Verzerrung (Σ) und eine zweite DrehungDrehspiegelung (U) zerlegen lsst

Matrix

(1 10 1

)SVD Geometrische Interpretationa

aQuelle httpscommonswikimediaorgwikiFileSingular-Value-Decompositionsvg

44

Noch einige Bemerkungen

Die Eigenwerte und damit Σ sind eindeutig bestimmt

U und V sind nicht eindeutig bestimmt Es konnen Drehungenum 180 Grad oder Spiegelungen hinzukommen

Wir konnen in vielen Fallen einen Eigenvektor wahlen(Freiheitsgrade) mussen aber dann bei den Vorzeichen derzweiten Matrix aufpassen

45

Noch einige Bemerkungen

Wir haben implizit den Rang der Ursprungsmatrix A bestimmtDies kann man klar an U middotΣ sehen

A = UΣV T =

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00

radic10 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(radic12radic2

radic10radic2

0radic

12radic2

minusradic

10radic2

0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(3 1 1minus1 3 1

)

46

Noch einige Bemerkungen

Deswegen wird manchmal die Singularwertzerlegung auch alsZerlegung in drei Matrizen Amtimesn = Umtimesr Σrtimesr V T

rtimesn wobei r der Rangder Matrix A ist beschrieben

A = UΣV T =

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00

radic10 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 00

radic10

)( 1radic6

2radic6

1radic6

2radic5

minus1radic5

0

)=

(radic12radic2

radic10radic2radic

12radic2

minusradic

10radic2

)(1radic6

2radic6

1radic6

2radic5

minus1radic5

0

)=

(3 1 1minus1 3 1

)47

Noch einige Bemerkungen

Bisher haben wir immer die Ausgangsmatrix einfach reproduziert(mit dem gleichen Rang) Man sieht den Rang besser und es gilt

Die ldquoZerrungrdquo durch die Matrix Σ ist bei den Dimensionen mit denhochsten Eigenwerten am groszligten Beispiel

(radic12 0 00

radic10 0

)x1

x2

x3

=

(radic12 middot x1radic10 middot x2

)Es macht also Sinn dass wir wenn wir eine Approximationunserer Ausgangsmatrix mit niedrigerem Rang wollen dann dieunwichtigen Dimensionen die durch niedrige Eigenwertegekennzeichnet sind weglassen

48

Ubersicht

1 SVD HauptsatzDer SVD-SatzKonstruktion am Beispiel Methodologie IKonstruktionsmethodologie II

2 Interpretation der SVD

3 Reduced SVD

4 Verwendung in NLP

49

Reduced SVD Approximation niedrigeren Ranges

Approximation von mtimesn Matrix A mit Rang r durch mtimesn -Matrix Ak mit Rang k lt r

A = UΣV T asymp Ak = UΣk V T

Σk ist eine ldquodiagonalerdquo mtimesn - Matrix bei der nur auf den erstenk Stellen der Diagonalmatrix Werte 6= 0 stehen

U und V wie zuvor

50

Beispiel

A = UΣV T =

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00

radic10 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

asymp

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00 0 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(radic12radic2

0 0radic

12radic2

0 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(1 2 11 2 1

)51

Reduced SVD

Wir hatten auch nur die ersten k Spalten von U sowie die ersten kZeilen von V T behalten konnen

Aasymp

(1radic2

1radic2

)(radic12)( 1radic

62radic6

1radic6

)=

(radic12radic2radic

12radic2

)(1radic6

2radic6

1radic6

)=

(1 2 11 2 1

)

52

Als Bild

53

Als Algorithmus

Gegeben mtimesn Matrix A und gewunschter Rank k Wir produziereneine Rangminus k Approximation wie folgt

1 Wir berechnen eine SVD Zerlegung von A

Amtimesn = UmtimesmΣmtimesnV Tntimesn

2 Wir behalten nur die ersten k Spalten von U resultierend in Umtimesk

3 Wir behalten nur die Top k sprich die ersten k Diagonalwerte vonΣ resultierend in Σktimesk

4 Wir behalten nur die ersten k Reihen von V T resultierend in V Tktimesn

54

Reduced SVD

Diagonale Eintrage in Σk sind die k groszligten Eigenwerte vonA middotAT

Satz UΣk V T minimiert die Differenz der Frobenius-Normzwischen A und Ak unter der Bedingung rang(Ak ) = k

Das heisst Fur jede mtimesn Matrix A mit Rang r angestrebtemRang k lt r und jede mtimesn Matrix B mit Rang k gilt

Aminus Ak2 le AminusB2

wobei Ak die Rang-k Approximation ist die man aus der SVD vonA ableiten kann

55

Was hat man erreicht

Unkorrelierte Dimensionen (Orthonormalbasis) die nur nochverzerrt werden

Wir haben die Dimensionen mit der meisten Variation identifiziertund danach geordnet

ldquoUnwichtigerdquo Dimensionen werden weggelassenrarr Rauschenvermindert

Man braucht viel weniger Speicherplatz O(k(n + m)) anstattO(nm)

Die neuen ldquoverstecktenrdquo Dimensionen konnen zurAhnlichkeitsberechnung verwendet werden und funktionieren oftbesser

56

Wie wahlt man k

Meist empirisch Gesehen

1 In NLP oft die ersten 200 bis 300 Dimensionen2 In Recommender Systems Wahle k so dass die Summe der

ersten k Eigenwerte mindestens 10-mal der Summe alleranderen Eigenwerte

57

Ubersicht

1 SVD HauptsatzDer SVD-SatzKonstruktion am Beispiel Methodologie IKonstruktionsmethodologie II

2 Interpretation der SVD

3 Reduced SVD

4 Verwendung in NLP

58

Dichte Embeddings

A ist Matrix von m WorternTermen und n Kontexten (PPMIfrequency )Reduced SVD resultiert in Ak mit

Umtimesk ist mtimes k - MatrixZeilen von Umtimesk reprasentieren TermeSpalten in Umtimesk latente Reprasentation der KontexteBenutze Umtimesk middotΣktimesk zur Berechnung von Termahnlichkeiten

Vorteile gegenuber der vollen Term-Kontext-MatrixDichte MatrixDimensionsreduktion effizientere VerarbeitungDe-Noising

59

Dichte Embeddings

A ist Matrix von m WorternTermen und n Kontexten (PPMIfrequency )Reduced SVD resultiert in Ak mit

Umtimesk ist mtimes k - MatrixZeilen von Umtimesk reprasentieren TermeSpalten in Umtimesk latente Reprasentation der KontexteBenutze Umtimesk middotΣktimesk zur Berechnung von Termahnlichkeiten

Vorteile gegenuber der vollen Term-Kontext-MatrixDichte MatrixDimensionsreduktion effizientere VerarbeitungDe-Noising

59

Dichte Embeddings

A ist Matrix von m WorternTermen und n Kontexten (PPMIfrequency )Reduced SVD resultiert in Ak mit

Umtimesk ist mtimes k - MatrixZeilen von Umtimesk reprasentieren TermeSpalten in Umtimesk latente Reprasentation der KontexteBenutze Umtimesk middotΣktimesk zur Berechnung von Termahnlichkeiten

Vorteile gegenuber der vollen Term-Kontext-MatrixDichte MatrixDimensionsreduktion effizientere VerarbeitungDe-Noising

59

Das Beispiel vom Anfang

Eine Wort-Dokument-Matrix M aus dem R5times3

d1 d2 d3ship 1 1 0boat 0 0 1

ocean 1 0 1motor 1 0 1wood 0 1 0

cossim(shipboat) = 0

cossim(shipocean) =12

cossim(boatocean) =1radic2

= 07

60

SVD Zerlegung war

minus041 07 024minus029 minus033 minus072minus061 minus02 014minus061 minus02 014minus01 057 minus062

227 0 0

0 149 00 0 078

minus072 minus023 minus066019 085 minus05067 minus048 minus056

=

minus093 104 0187minus0658 minus049 minus056minus138 minus0298 01092minus138 minus0298 minus1092minus0227 084 minus0483

minus072 minus023 minus066

019 085 minus05067 minus048 minus056

=

1 1 00 0 11 0 11 0 10 1 0

Abweichungen sind Rundungsfehler61

Niedrigdimensionale Approximation

Die kleinsten Eigenwerte sind die unwichtigsten Wir konnen dieseldquoweglassenrdquo = auf Null setzenrarr eine Matrix mit kleinerem Rang dieaber relativ ahnlich zur Ausgangsmatrix istminus041 07 024minus029 minus033 minus072minus061 minus02 014minus061 minus02 014minus01 057 minus062

227 0 0

0 149 00 0 0

minus072 minus023 minus066019 085 minus05067 minus048 minus056

=

minus093 104 0minus0658 minus049 0minus138 minus0298 0minus138 minus0298 0minus0227 084 0

minus072 minus023 minus066

019 085 minus05067 minus048 minus056

=

087 109 011038 minus027 068093 005 106093 005 106032 077 minus027

62

Die niedrigdimensionale Approximation

Wir interessieren uns fur die Matrix U2 = UΣ2 also die Matrix mit demniedrigerem Rang

minus093 104 0minus0658 minus049 0minus138 minus0298 0minus138 minus0298 0minus0227 084 0

Man kann diese nun als die Reprasentation unserer 5 Worter mit zweiversteckten Dimensionen auffassen

h1 h2ship minus093 104boat minus0658 minus049

ocean minus138 minus0298motor minus138 minus0298wood minus0227 084

63

Neue Ahnlichkeitsberechnungen

h1 h2ship minus093 104boat minus0658 minus049

ocean minus138 minus0298motor minus138 minus0298wood minus0227 084

cossim(shipboat) =(minus093) middot (minus0658) + 104 middot (minus049)radic

(0932 + 1042) middotradic

(06582 + 0492)= 009

cossim(shipocean) =(minus093) middot (minus138) + 104 middot (minus029)radic

(0932 + 1042) middotradic

(1382 + 0292)= 049

cossim(boatocean) = 09

64

Variationen

Benutze nur Umtimesk zur Ahnlichkeitsberechnung

Benutze Umtimesk middotΣpktimesk zur Ahnlichkeitsberechnungrarr Parameter p

sollte getuned werden Kann groszlige Unterschiede machen

Oft p = 0p = 05p = 1

65

Performanz der Reduced-SVD-Embeddings

Levy O Goldberg Y Neural word embedding as implicit matrix factorization In

Advances in neural information processing systems 2014 S 2177-2185

(Englische) Wikipedia 15 Milliarden Tokens

Fenster 2 beiderseits

Vokabular 189 533 fur Terme sowie Kontexte

PPMI Matrizen

SVD sowie ohne Zerlegung (PPMI) sowie neurale (SGNS)

Algorithmus Spearman Rank zu WordSim 353SVD 0652SGNS 0633PPMI 0605

66

Latent Semantic Analysis und Word Embeddings

Levy2014

ldquoWe analyze skip-gram with negative-sampling (SGNS) [] and show that it isimplicitly factorizing a word-context matrix whose cells are the pointwise mutualinformation (PMI) of the respective word and context pairs shifted by a globalconstant When dense low-dimensional vectors are preferred exact factorizationwith SVD can achieve solutions that are at least as good as SGNSrsquoss solutions forword similarity tasks On analogy questions SGNS remains superior to SVD Weconjecture that this stems from the weighted nature of SGNSrsquos factorizationrdquo

67

Zusammenfassung

Reduced SVD resultiert in einer optimalen Approximation derOriginalmatrix mit niedrigerem Rang Optimal = optimal bzgl derFrobeniusnorm (bzw mean squared error)

Dadurch erhalten wir eine mathematisch fundierte dichtereMatrix die Rauschen (weniger wichtige Dimensionen) eliminiert

Wir konnen mittels Umtimesk Σktimesk weiterhin Wortahnlichkeitenberechnen

Es konnen Resultate erreicht werden die bei word similaritymindestens ebensogut sind wie mit neuralen word embeddings

Nachteile Kosten der SVD Berechnung fur mtimesn matrixO(n middotm2) (when m lt n)rarr Nicht gut fur sehr grosse Matrizen

Nachteile Geht nicht gut mit unbekannten Wortern um

Nachteile schlechter bei Wortanalogieaufgaben

68

Literatur

Guter erweiterter Hintergrundhttptheorystanfordedu˜tims15ll7pdf bishttptheorystanfordedu˜tims15ll9pdf

SVD Tutorial (ohne vollstandigen Hintergrund) Kirk Baker(2005) Singular Value Decomposition Tutorialhttpsdatajobscomdata-science-repoSVD-Tutorial-[Kirk-Baker]pdf Leider ist hier imKonstruktionsverfahren I die Vorzeichenproblematikfalschlicherweise nicht behandelt worden

Levy O Goldberg Y Neural word embedding as implicit matrixfactorization In Advances in neural information processingsystems 2014 S 2177-2185

Ubungsblatt II

69

  • SVD Hauptsatz
    • Der SVD-Satz
    • Konstruktion am Beispiel Methodologie I
    • Konstruktionsmethodologie II
      • Interpretation der SVD
      • Reduced SVD
      • Verwendung in NLP

Schritt II Bestimme die Eigenwerte und Eigenvektoren vonA middotAT

Setze (11 11 11

)middot(

x1

x2

)= σ

(x1

x2

)Damit ergibt sich das Gleichungssystem

1 11x1 + x2 = σx1

2 x1 + 11x2 = σx2

10

Schritt II Bestimme die Eigenwerte und Eigenvektoren vonA middotAT

Setze (11 11 11

)middot(

x1

x2

)= σ

(x1

x2

)Damit ergibt sich das Gleichungssystem

1 11x1 + x2 = σx1

2 x1 + 11x2 = σx2

10

Schritt II Bestimme die Eigenwerte und Eigenvektoren vonA middotAT

1 11x1 + x2 = σx1

2 x1 + 11x2 = σx2

Ergibt z B nach Umformungen (hier Zeilenabzug)

10x1minus10x2 = σx1minusσx2

und damit Eigenwert σ1 = 10Ergibt z B nach Umformungen (hier Zeilenaddition)

12x1 + 12x2 = σx1 + σx2

und damit Eigenwert σ2 = 12

11

Schritt II Bestimme die Eigenwerte und Eigenvektoren vonA middotAT

1 11x1 + x2 = σx1

2 x1 + 11x2 = σx2

Zwei Eigenwerte σ1 = 10 und σ2 = 12 Damit ergibt sich fur dieEigenvektoren

1 11x1 + x2 = 10x1

2 x1 + 11x2 = 10x2 und damit3 x1 =minusx2

4 Wir wahlen x1 = 1 und damit x2 =minus1

sowie

1 11x1 + x2 = 12x1

2 x1 + 11x2 = 12x2 und damit3 x1 = x2

4 Wir wahlen x1 = 1 und damit x2 = 112

Schritt III Bestimme U

Starte mit einer Matrix U die die bestimmten Eigenvektoren von A middotAT

geordnet nach der Groszlige der jeweiligen Eigenwerte enthalt

1 Fur Eigenwert σ1 = 10 hatten wir x1 = 1 und damit x2 =minus1gewahlt

2 Fur Eigenwert σ1 = 12 hatten wir x1 = 1 und damit x2 = 1 gewahlt3 Spaltenvektoren nach Eigenwertgroszlige geordnet

U =

(1 11 minus1

)

13

Schritt III Bestimme U

Orthonormalisiere mit Gram-Schmidt die Spaltenvektoren von U

U =

(1 11 minus1

)

1 Normalisiere ersten Spaltenvektor u(1) = u(1)

u(1) =

(1radic2

1radic2

)2 Berechne die Senkrechte u(2)minus〈u(1) u(2)〉 middotu(1)

3 Also

(1minus1

)minus〈

(1radic2

1radic2

)

(1minus1

)〉 middot

(1radic2

1radic2

)=

(1minus1

)4 Normalisiere die Senkrechte

(1minus1

)ergibt u(2) =

(1radic2minus1radic

2

)

14

Schritt III Bestimme U

Damit ist

U =

(1radic2

1radic2

1radic2

minus1radic2

)

15

Schritt IV Berechne AT middotA

AT middotA =

3 minus11 31 1

( 3 1 1minus1 3 1

)=

10 0 20 10 42 4 2

16

Schritt V Bestimme die Eigenwerte und Eigenvektoren vonAT middotA

Setze 10 0 20 10 42 4 2

middotx1

x2

x3

= σ

x1

x2

x3

Damit ergibt sich das Gleichungssystem

1 10x1 + 2x3 = σx1

2 10x2 + 4x3 = σx2

3 2x1 + 4x2 + 2x3 = σx3

17

Schritt V Bestimme die Eigenwerte und Eigenvektoren vonAT middotA

Setze 10 0 20 10 42 4 2

middotx1

x2

x3

= σ

x1

x2

x3

Damit ergibt sich das Gleichungssystem

1 10x1 + 2x3 = σx1

2 10x2 + 4x3 = σx2

3 2x1 + 4x2 + 2x3 = σx3

17

Schritt V Bestimme die Eigenwerte und Eigenvektoren vonAT middotA

1 10x1 + 2x3 = σx1

2 10x2 + 4x3 = σx2

3 2x1 + 4x2 + 2x3 = σx3

Gleichung (ii) minus zweimal (i)

10x2 + 4x3minus20x1minus4x3 = σx2minus2σx2

und damit σ1 = 10

Mit ahnlichen Umformungen kann man σ2 = 12 sowie σ3 = 0berechnen

18

Schritt V Bestimme die Eigenwerte und Eigenvektoren vonAT middotA

Drei Eigenwerte σ1 = 10 σ2 = 12 und σ3 = 0 Damit ergibt sich furdie Eigenvektoren

1 10x1 + 2x3 = 10x12 10x2 + 4x3 = 10x23 2x1 + 4x2 + 2x3 = 10x3 und damit4 x3 = 0 aus der ersten Gleichung und damit5 2x1 + 4x2 = 0 bzw x1 =minus2x26 Wir konnen die Lange des Eigenvektors wieder frei wahlen da

wir danach eh normalisieren Allerdings sind die Vorzeichen nichtmehr frei wahlbar da ja insgesamt bei U middotΣ middotV T wieder Aherauskommen muss Darauf macht das Tutorial nichtaufmerksamWir wahlen x1 = 2x2 =minus1 hatten aber auch(falschlicherweise)x1 =minus2x2 = 1 wahlen konnen

Ebenso bestimmen wir fur σ2 = 12 einen Eigenvektor (121) und furσ3 = 0 einen Eigenvektor (12minus5)19

Schritt VI Bestimme V

Starte mit einer Matrix V die die bestimmten Eigenvektoren von AT middotAnach der Groszlige der jeweiligen Eigenwerte als Spaltenvektoren enthalt

1 Fur Eigenwert σ1 = 10 hatten wir (2minus10) gewahlt2 Fur Eigenwert σ2 = 12 hatten wir (121) bestimmt3 Fur Eigenwert σ3 = 0 hatten wir (12minus5) bestimmt4 Spaltenvektoren nach Eigenwertgroszlige geordnet

V =

1 2 12 minus1 21 0 minus5

20

Schritt VI Bestimme V

Orthonormalisiere mit Gram-Schmidt die Spaltenvektoren von V

V =

1 2 12 minus1 21 0 minus5

1 Normalisiere ersten Spaltenvektor v (1) = v(1)

v(1) =

1radic6

2radic6

1radic6

2 Berechne die Senkrechte v (2)minus〈v (1) v (2)〉 middot v (1)

3 Also

2minus10

minus〈

1radic6

2radic6

1radic6

2minus10

〉 middot

1radic6

2radic6

1radic6

=

2minus10

4 Normalisiere die Senkrechte

2minus10

ergibt v (2) =

2radic5minus1radic

50

21

Schritt VI Bestimme V

V =

1 2 12 minus1 21 0 minus5

Schon bestimmt

v (1) =

1radic6

2radic6

1radic6

sowie v (2) =

2radic5minus1radic

50

Dann kann man auch noch v (3) berechnen mit der Senkrechten

v (3)minus〈v (1) v (3)〉 middot v (1)minus〈v (2) v (3)〉 middot v (2)

Dies ergibt

minus23minus43103

Normalisiert v (3) =

1radic302radic30minus5radic

30

22

Schritt VI Bestimme V

Damit

V =

1radic6

2radic5

1radic30

2radic6

minus1radic5

2radic30

1radic6

0 minus5radic30

und damit

V T =

1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

23

Schritt VII Bestimme Σ

Σ ist eine mtimesn (hier 2times3) ldquoDiagonalmatrixrdquo mit den Wurzeln derEigenwerte (von A middotAT bzw U bzw V auf der Diagonale) nach Groszligegeordnet

Σ =

(radic12 0 00

radic10 0

)

24

Alles Zusammen

A = UΣV T =

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00

radic10 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(radic12radic2

radic10radic2

0radic

12radic2

minusradic

10radic2

0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(3 1 1minus1 3 1

)

25

Moglicher Schritt VIII Vorzeichenverbesserung

Nehmen wir mal an wir hatten bei V die falschen Vorzeichen gewahltZum Beispiel wir hatten fur σ2 = 10 anstatt (2minus10) den Vektor(minus210) gewahlt Damit ergibt sich

V =

1 minus2 12 1 21 0 minus5

und

V =

1radic6

minus2radic5

1radic30

2radic6

1radic5

2radic30

1radic6

0 minus5radic30

und

V T =

1radic6

2radic6

1radic6

minus2radic5

1radic5

01radic30

2radic30

minus5radic30

26

Moglicher Schritt VIII Vorzeichenverbesserung

Leider ist nun

UΣV T =

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00

radic10 0

)1radic6

2radic6

1radic6

minus2radic5

1radic5

01radic30

2radic30

minus5radic30

=

(radic12radic2

radic10radic2

0radic

12radic2

minusradic

10radic2

0

)1radic6

2radic6

1radic6

minus2radic5

1radic5

01radic30

2radic30

minus5radic30

=

(minus1 3 13 1 1

)

27

Moglicher Schritt VIII Vorzeichenverbesserung

Die unelegante Losung Gehe durch alle Zeilen von V T (Spalten vonV ) multizipliere sie systematisch mit minus1 bis es passt Durch dieMultiplikation mit minus1 bleiben die Vektoren immer noch normal undauch die Orthogonalitat andert sich nicht

Da eventuell auch mehrere Zeilen mit minus1 multipliziert werdenmussen ist dies leider exponentiell in der Zeilenanzahl von V T

(alle moglichen Kombinationen mussen probiert werden)

Es ist nicht gerade elegant

Man kann naturlich stattdessen auch durch die Spalten von Ugehen und diese anpassen

28

Konstruktionsmethodologie II

1 Berechne die quadratische ntimesn Matrix AT middotA2 Berechne die Eigenwerte σ2

j und Eigenvektoren vj von AT middotA3 Die Vektoren vj werden orthonormalisiert (Gram-Schmidt) und

bilden die Spaltenvektoren von V4 Die Wurzeln der σ2-Werte werden in absteigender Reihenfolge

die Eintrage von Σ

5 Die Spaltenvektoren von U bis zum Rang r der AT middotA Matrix sindnun eindeutig bestimmt aus der Vorgabe A = UΣV T und werdendaraus berechnet

6 Wenn r lt m mussen noch mminus r Vektoren zur Orthonormalbasiserganzt werden

29

Konstruktionsmethodologie II

1 Berechne die quadratische ntimesn Matrix AT middotA2 Berechne die Eigenwerte σ2

j und Eigenvektoren vj von AT middotA3 Die Vektoren vj werden orthonormalisiert (Gram-Schmidt) und

bilden die Spaltenvektoren von V4 Die Wurzeln der σ2-Werte werden in absteigender Reihenfolge

die Eintrage von Σ

5 Die Spaltenvektoren von U bis zum Rang r der AT middotA Matrix sindnun eindeutig bestimmt aus der Vorgabe A = UΣV T und werdendaraus berechnet

6 Wenn r lt m mussen noch mminus r Vektoren zur Orthonormalbasiserganzt werden

29

Konstruktionsmethodologie II

1 Berechne die quadratische ntimesn Matrix AT middotA2 Berechne die Eigenwerte σ2

j und Eigenvektoren vj von AT middotA3 Die Vektoren vj werden orthonormalisiert (Gram-Schmidt) und

bilden die Spaltenvektoren von V4 Die Wurzeln der σ2-Werte werden in absteigender Reihenfolge

die Eintrage von Σ

5 Die Spaltenvektoren von U bis zum Rang r der AT middotA Matrix sindnun eindeutig bestimmt aus der Vorgabe A = UΣV T und werdendaraus berechnet

6 Wenn r lt m mussen noch mminus r Vektoren zur Orthonormalbasiserganzt werden

29

Konstruktionsmethodologie II

1 Berechne die quadratische ntimesn Matrix AT middotA2 Berechne die Eigenwerte σ2

j und Eigenvektoren vj von AT middotA3 Die Vektoren vj werden orthonormalisiert (Gram-Schmidt) und

bilden die Spaltenvektoren von V4 Die Wurzeln der σ2-Werte werden in absteigender Reihenfolge

die Eintrage von Σ

5 Die Spaltenvektoren von U bis zum Rang r der AT middotA Matrix sindnun eindeutig bestimmt aus der Vorgabe A = UΣV T und werdendaraus berechnet

6 Wenn r lt m mussen noch mminus r Vektoren zur Orthonormalbasiserganzt werden

29

Schritt I Bestimme V T und Σ wie bisher

Nach dem ublichen Verfahren sei also V T zum Beispiel1radic6

2radic6

1radic6

minus2radic5

1radic5

01radic30

2radic30

minus5radic30

bzw V

V =

1radic6

minus2radic5

1radic30

2radic6

1radic5

2radic30

1radic6

0 minus5radic30

Die Vorzeichen konnten auch anders seinWeiterhin ist

Σ =

(radic12 0 00

radic10 0

)

30

Schritt II Bestimme U

Es muss gelten

A = UΣV T

und damit

AV = UΣV T V

Da V orthogonal ist V T V die Einheitsmatrix und damit

AV = UΣ

31

Schritt II Bestimme U

Man bilde nun eine ntimesm Matrix Σprime die genau auf denentsprechenden Diagonaleintragen 1σi stehen hat Im Beispiel ist

Σprime =

1radic12

0

0 1radic10

0 0

Es gilt dass Σ middotΣprime die mtimesm Einheitsmatrix istUnd damit

AVΣprime = UΣΣprime = U

32

Schritt II Bestimme U

Also giltU = AVΣprime

Damit gilt fur die Spalten von U wenn man sich dieMatrixmultiplikation genauer anschaut

u(j) =1σj

Av (j)

In unserem Beispiel

u(1) =1radic12

(3 1 1minus1 3 1

)1radic6

2radic6

1radic6

=

(1radic2

1radic2

)

33

Schritt II Bestimme U

Und ebenso

u(2) =1radic10

(3 1 1minus1 3 1

)minus2radic

51radic5

0

=

(minus1radic2

1radic2

)

Man sieht dass sich hier das veranderte Vorzeichen von v (2) imentgegengesetzten Vorzeichen von u(2) widerspiegelt Wir musstenauch nicht zweimal Eigenvektoren berechnen sondern U ist aus denvorherigen Berechnungen bestimmt

34

Beispiel mit einer Matrix mit niedrigerem Rang

Da wir durch 1σj

dividieren mussten geht dies nur fur Eigenwerteungleich Null Wenn aber die Matrizen niedrigere Range haben als mdann bekommen wir so nicht genugend U-Vektoren Was machen wirdann

Beispiel Sei eine Matrix von Rang 1 gegeben

A =

(1 01 0

)

35

Berechnung von V

AT A =

(1 10 0

)(1 01 0

)=

(2 00 0

)

36

Berechnung von V

(2 00 0

)hat die Eigenwerte 2 und 0 mit den jeweiligen Eigenvektoren (10)sowie (01)Daraus folgt

V =

(1 00 1

)Die ist schon eine Orthonormalmatrix also gilt V = V sowie daDiagonalmatrix V T = V

37

Bestimmung von Σ

Es gilt

Σ =

(radic2 0

0 0

)

38

Bestimmung von U

Der erste Spaltenvektor u(1) kann wie ublich bestimmt werden mit

u(1) =1radic2

Av (1) =1radic2

(1 01 0

)(10

)

=1radic2

(11

)=

(1radic2

1radic2

)

39

Bestimmung von U

Da wir keinen weiteren Eigenwert 6= 0 haben konnen wir leider sonicht weitermachen dh es geht nur bis zum Rang von A Es gilt aber(

1radic2

x21radic2

y2

)(radic2 0

0 0

)(1 00 1

)

=

(1 01 0

)= A

unabhangig von x2 und y2 Das heisst unser halb vollstandiges U istgenug fur eine Zerlegung

40

Bestimmung von U

1 Wir konnen also jedes x2 und y2 wahlen solange normiert undsenkrecht auf dem ersten Vektor stehend

2 Nach dem sogenannten Basiserganzungssatz geht dies immer3 In unserem Beispiel konnte man zum Beispiel (minus1radic

2 1radic

2) wahlen

4 Wie genau man diese weiteren Vektoren von U konstruiert ist furuns unerheblich da wir ja sowieso die letzten Spalten von U diezu den niedrigeren Eigenwerten gehoren ldquoabschneidenrdquowerden

41

SVD Zwischenfazit

Wir haben eine Matrix in das Produkt einer OrthonormalmatrixDiagonalmatrix und Orthogonalmatrix zerlegt

Die Diagonalmatrix enthalt die Wurzeln von den Eigenwerten vonA middotAT nach Groszlige geordnet

Die erste Orthonormalmatrix enthalt die orthonormalisiertenEigenvektoren von A middotAT nach Eigenwertgrosse geordnet alsSpalten

Die zweite Orthonormalmatrix ist die Transponierte der Matrixdie die orthonormalisierten Eigenvektoren von AT middotA nachEigenwertgrosse geordnet als Spalten enthalt

42

Ubersicht

1 SVD HauptsatzDer SVD-SatzKonstruktion am Beispiel Methodologie IKonstruktionsmethodologie II

2 Interpretation der SVD

3 Reduced SVD

4 Verwendung in NLP

43

Geometrische Interpretation bei quadratischen Matrizen

Bedeutung der SVD ist dass sich die Funktion in eine DrehungDrehspiegelung (V T )eine Verzerrung (Σ) und eine zweite DrehungDrehspiegelung (U) zerlegen lsst

Matrix

(1 10 1

)SVD Geometrische Interpretationa

aQuelle httpscommonswikimediaorgwikiFileSingular-Value-Decompositionsvg

44

Noch einige Bemerkungen

Die Eigenwerte und damit Σ sind eindeutig bestimmt

U und V sind nicht eindeutig bestimmt Es konnen Drehungenum 180 Grad oder Spiegelungen hinzukommen

Wir konnen in vielen Fallen einen Eigenvektor wahlen(Freiheitsgrade) mussen aber dann bei den Vorzeichen derzweiten Matrix aufpassen

45

Noch einige Bemerkungen

Wir haben implizit den Rang der Ursprungsmatrix A bestimmtDies kann man klar an U middotΣ sehen

A = UΣV T =

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00

radic10 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(radic12radic2

radic10radic2

0radic

12radic2

minusradic

10radic2

0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(3 1 1minus1 3 1

)

46

Noch einige Bemerkungen

Deswegen wird manchmal die Singularwertzerlegung auch alsZerlegung in drei Matrizen Amtimesn = Umtimesr Σrtimesr V T

rtimesn wobei r der Rangder Matrix A ist beschrieben

A = UΣV T =

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00

radic10 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 00

radic10

)( 1radic6

2radic6

1radic6

2radic5

minus1radic5

0

)=

(radic12radic2

radic10radic2radic

12radic2

minusradic

10radic2

)(1radic6

2radic6

1radic6

2radic5

minus1radic5

0

)=

(3 1 1minus1 3 1

)47

Noch einige Bemerkungen

Bisher haben wir immer die Ausgangsmatrix einfach reproduziert(mit dem gleichen Rang) Man sieht den Rang besser und es gilt

Die ldquoZerrungrdquo durch die Matrix Σ ist bei den Dimensionen mit denhochsten Eigenwerten am groszligten Beispiel

(radic12 0 00

radic10 0

)x1

x2

x3

=

(radic12 middot x1radic10 middot x2

)Es macht also Sinn dass wir wenn wir eine Approximationunserer Ausgangsmatrix mit niedrigerem Rang wollen dann dieunwichtigen Dimensionen die durch niedrige Eigenwertegekennzeichnet sind weglassen

48

Ubersicht

1 SVD HauptsatzDer SVD-SatzKonstruktion am Beispiel Methodologie IKonstruktionsmethodologie II

2 Interpretation der SVD

3 Reduced SVD

4 Verwendung in NLP

49

Reduced SVD Approximation niedrigeren Ranges

Approximation von mtimesn Matrix A mit Rang r durch mtimesn -Matrix Ak mit Rang k lt r

A = UΣV T asymp Ak = UΣk V T

Σk ist eine ldquodiagonalerdquo mtimesn - Matrix bei der nur auf den erstenk Stellen der Diagonalmatrix Werte 6= 0 stehen

U und V wie zuvor

50

Beispiel

A = UΣV T =

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00

radic10 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

asymp

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00 0 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(radic12radic2

0 0radic

12radic2

0 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(1 2 11 2 1

)51

Reduced SVD

Wir hatten auch nur die ersten k Spalten von U sowie die ersten kZeilen von V T behalten konnen

Aasymp

(1radic2

1radic2

)(radic12)( 1radic

62radic6

1radic6

)=

(radic12radic2radic

12radic2

)(1radic6

2radic6

1radic6

)=

(1 2 11 2 1

)

52

Als Bild

53

Als Algorithmus

Gegeben mtimesn Matrix A und gewunschter Rank k Wir produziereneine Rangminus k Approximation wie folgt

1 Wir berechnen eine SVD Zerlegung von A

Amtimesn = UmtimesmΣmtimesnV Tntimesn

2 Wir behalten nur die ersten k Spalten von U resultierend in Umtimesk

3 Wir behalten nur die Top k sprich die ersten k Diagonalwerte vonΣ resultierend in Σktimesk

4 Wir behalten nur die ersten k Reihen von V T resultierend in V Tktimesn

54

Reduced SVD

Diagonale Eintrage in Σk sind die k groszligten Eigenwerte vonA middotAT

Satz UΣk V T minimiert die Differenz der Frobenius-Normzwischen A und Ak unter der Bedingung rang(Ak ) = k

Das heisst Fur jede mtimesn Matrix A mit Rang r angestrebtemRang k lt r und jede mtimesn Matrix B mit Rang k gilt

Aminus Ak2 le AminusB2

wobei Ak die Rang-k Approximation ist die man aus der SVD vonA ableiten kann

55

Was hat man erreicht

Unkorrelierte Dimensionen (Orthonormalbasis) die nur nochverzerrt werden

Wir haben die Dimensionen mit der meisten Variation identifiziertund danach geordnet

ldquoUnwichtigerdquo Dimensionen werden weggelassenrarr Rauschenvermindert

Man braucht viel weniger Speicherplatz O(k(n + m)) anstattO(nm)

Die neuen ldquoverstecktenrdquo Dimensionen konnen zurAhnlichkeitsberechnung verwendet werden und funktionieren oftbesser

56

Wie wahlt man k

Meist empirisch Gesehen

1 In NLP oft die ersten 200 bis 300 Dimensionen2 In Recommender Systems Wahle k so dass die Summe der

ersten k Eigenwerte mindestens 10-mal der Summe alleranderen Eigenwerte

57

Ubersicht

1 SVD HauptsatzDer SVD-SatzKonstruktion am Beispiel Methodologie IKonstruktionsmethodologie II

2 Interpretation der SVD

3 Reduced SVD

4 Verwendung in NLP

58

Dichte Embeddings

A ist Matrix von m WorternTermen und n Kontexten (PPMIfrequency )Reduced SVD resultiert in Ak mit

Umtimesk ist mtimes k - MatrixZeilen von Umtimesk reprasentieren TermeSpalten in Umtimesk latente Reprasentation der KontexteBenutze Umtimesk middotΣktimesk zur Berechnung von Termahnlichkeiten

Vorteile gegenuber der vollen Term-Kontext-MatrixDichte MatrixDimensionsreduktion effizientere VerarbeitungDe-Noising

59

Dichte Embeddings

A ist Matrix von m WorternTermen und n Kontexten (PPMIfrequency )Reduced SVD resultiert in Ak mit

Umtimesk ist mtimes k - MatrixZeilen von Umtimesk reprasentieren TermeSpalten in Umtimesk latente Reprasentation der KontexteBenutze Umtimesk middotΣktimesk zur Berechnung von Termahnlichkeiten

Vorteile gegenuber der vollen Term-Kontext-MatrixDichte MatrixDimensionsreduktion effizientere VerarbeitungDe-Noising

59

Dichte Embeddings

A ist Matrix von m WorternTermen und n Kontexten (PPMIfrequency )Reduced SVD resultiert in Ak mit

Umtimesk ist mtimes k - MatrixZeilen von Umtimesk reprasentieren TermeSpalten in Umtimesk latente Reprasentation der KontexteBenutze Umtimesk middotΣktimesk zur Berechnung von Termahnlichkeiten

Vorteile gegenuber der vollen Term-Kontext-MatrixDichte MatrixDimensionsreduktion effizientere VerarbeitungDe-Noising

59

Das Beispiel vom Anfang

Eine Wort-Dokument-Matrix M aus dem R5times3

d1 d2 d3ship 1 1 0boat 0 0 1

ocean 1 0 1motor 1 0 1wood 0 1 0

cossim(shipboat) = 0

cossim(shipocean) =12

cossim(boatocean) =1radic2

= 07

60

SVD Zerlegung war

minus041 07 024minus029 minus033 minus072minus061 minus02 014minus061 minus02 014minus01 057 minus062

227 0 0

0 149 00 0 078

minus072 minus023 minus066019 085 minus05067 minus048 minus056

=

minus093 104 0187minus0658 minus049 minus056minus138 minus0298 01092minus138 minus0298 minus1092minus0227 084 minus0483

minus072 minus023 minus066

019 085 minus05067 minus048 minus056

=

1 1 00 0 11 0 11 0 10 1 0

Abweichungen sind Rundungsfehler61

Niedrigdimensionale Approximation

Die kleinsten Eigenwerte sind die unwichtigsten Wir konnen dieseldquoweglassenrdquo = auf Null setzenrarr eine Matrix mit kleinerem Rang dieaber relativ ahnlich zur Ausgangsmatrix istminus041 07 024minus029 minus033 minus072minus061 minus02 014minus061 minus02 014minus01 057 minus062

227 0 0

0 149 00 0 0

minus072 minus023 minus066019 085 minus05067 minus048 minus056

=

minus093 104 0minus0658 minus049 0minus138 minus0298 0minus138 minus0298 0minus0227 084 0

minus072 minus023 minus066

019 085 minus05067 minus048 minus056

=

087 109 011038 minus027 068093 005 106093 005 106032 077 minus027

62

Die niedrigdimensionale Approximation

Wir interessieren uns fur die Matrix U2 = UΣ2 also die Matrix mit demniedrigerem Rang

minus093 104 0minus0658 minus049 0minus138 minus0298 0minus138 minus0298 0minus0227 084 0

Man kann diese nun als die Reprasentation unserer 5 Worter mit zweiversteckten Dimensionen auffassen

h1 h2ship minus093 104boat minus0658 minus049

ocean minus138 minus0298motor minus138 minus0298wood minus0227 084

63

Neue Ahnlichkeitsberechnungen

h1 h2ship minus093 104boat minus0658 minus049

ocean minus138 minus0298motor minus138 minus0298wood minus0227 084

cossim(shipboat) =(minus093) middot (minus0658) + 104 middot (minus049)radic

(0932 + 1042) middotradic

(06582 + 0492)= 009

cossim(shipocean) =(minus093) middot (minus138) + 104 middot (minus029)radic

(0932 + 1042) middotradic

(1382 + 0292)= 049

cossim(boatocean) = 09

64

Variationen

Benutze nur Umtimesk zur Ahnlichkeitsberechnung

Benutze Umtimesk middotΣpktimesk zur Ahnlichkeitsberechnungrarr Parameter p

sollte getuned werden Kann groszlige Unterschiede machen

Oft p = 0p = 05p = 1

65

Performanz der Reduced-SVD-Embeddings

Levy O Goldberg Y Neural word embedding as implicit matrix factorization In

Advances in neural information processing systems 2014 S 2177-2185

(Englische) Wikipedia 15 Milliarden Tokens

Fenster 2 beiderseits

Vokabular 189 533 fur Terme sowie Kontexte

PPMI Matrizen

SVD sowie ohne Zerlegung (PPMI) sowie neurale (SGNS)

Algorithmus Spearman Rank zu WordSim 353SVD 0652SGNS 0633PPMI 0605

66

Latent Semantic Analysis und Word Embeddings

Levy2014

ldquoWe analyze skip-gram with negative-sampling (SGNS) [] and show that it isimplicitly factorizing a word-context matrix whose cells are the pointwise mutualinformation (PMI) of the respective word and context pairs shifted by a globalconstant When dense low-dimensional vectors are preferred exact factorizationwith SVD can achieve solutions that are at least as good as SGNSrsquoss solutions forword similarity tasks On analogy questions SGNS remains superior to SVD Weconjecture that this stems from the weighted nature of SGNSrsquos factorizationrdquo

67

Zusammenfassung

Reduced SVD resultiert in einer optimalen Approximation derOriginalmatrix mit niedrigerem Rang Optimal = optimal bzgl derFrobeniusnorm (bzw mean squared error)

Dadurch erhalten wir eine mathematisch fundierte dichtereMatrix die Rauschen (weniger wichtige Dimensionen) eliminiert

Wir konnen mittels Umtimesk Σktimesk weiterhin Wortahnlichkeitenberechnen

Es konnen Resultate erreicht werden die bei word similaritymindestens ebensogut sind wie mit neuralen word embeddings

Nachteile Kosten der SVD Berechnung fur mtimesn matrixO(n middotm2) (when m lt n)rarr Nicht gut fur sehr grosse Matrizen

Nachteile Geht nicht gut mit unbekannten Wortern um

Nachteile schlechter bei Wortanalogieaufgaben

68

Literatur

Guter erweiterter Hintergrundhttptheorystanfordedu˜tims15ll7pdf bishttptheorystanfordedu˜tims15ll9pdf

SVD Tutorial (ohne vollstandigen Hintergrund) Kirk Baker(2005) Singular Value Decomposition Tutorialhttpsdatajobscomdata-science-repoSVD-Tutorial-[Kirk-Baker]pdf Leider ist hier imKonstruktionsverfahren I die Vorzeichenproblematikfalschlicherweise nicht behandelt worden

Levy O Goldberg Y Neural word embedding as implicit matrixfactorization In Advances in neural information processingsystems 2014 S 2177-2185

Ubungsblatt II

69

  • SVD Hauptsatz
    • Der SVD-Satz
    • Konstruktion am Beispiel Methodologie I
    • Konstruktionsmethodologie II
      • Interpretation der SVD
      • Reduced SVD
      • Verwendung in NLP

Schritt II Bestimme die Eigenwerte und Eigenvektoren vonA middotAT

Setze (11 11 11

)middot(

x1

x2

)= σ

(x1

x2

)Damit ergibt sich das Gleichungssystem

1 11x1 + x2 = σx1

2 x1 + 11x2 = σx2

10

Schritt II Bestimme die Eigenwerte und Eigenvektoren vonA middotAT

1 11x1 + x2 = σx1

2 x1 + 11x2 = σx2

Ergibt z B nach Umformungen (hier Zeilenabzug)

10x1minus10x2 = σx1minusσx2

und damit Eigenwert σ1 = 10Ergibt z B nach Umformungen (hier Zeilenaddition)

12x1 + 12x2 = σx1 + σx2

und damit Eigenwert σ2 = 12

11

Schritt II Bestimme die Eigenwerte und Eigenvektoren vonA middotAT

1 11x1 + x2 = σx1

2 x1 + 11x2 = σx2

Zwei Eigenwerte σ1 = 10 und σ2 = 12 Damit ergibt sich fur dieEigenvektoren

1 11x1 + x2 = 10x1

2 x1 + 11x2 = 10x2 und damit3 x1 =minusx2

4 Wir wahlen x1 = 1 und damit x2 =minus1

sowie

1 11x1 + x2 = 12x1

2 x1 + 11x2 = 12x2 und damit3 x1 = x2

4 Wir wahlen x1 = 1 und damit x2 = 112

Schritt III Bestimme U

Starte mit einer Matrix U die die bestimmten Eigenvektoren von A middotAT

geordnet nach der Groszlige der jeweiligen Eigenwerte enthalt

1 Fur Eigenwert σ1 = 10 hatten wir x1 = 1 und damit x2 =minus1gewahlt

2 Fur Eigenwert σ1 = 12 hatten wir x1 = 1 und damit x2 = 1 gewahlt3 Spaltenvektoren nach Eigenwertgroszlige geordnet

U =

(1 11 minus1

)

13

Schritt III Bestimme U

Orthonormalisiere mit Gram-Schmidt die Spaltenvektoren von U

U =

(1 11 minus1

)

1 Normalisiere ersten Spaltenvektor u(1) = u(1)

u(1) =

(1radic2

1radic2

)2 Berechne die Senkrechte u(2)minus〈u(1) u(2)〉 middotu(1)

3 Also

(1minus1

)minus〈

(1radic2

1radic2

)

(1minus1

)〉 middot

(1radic2

1radic2

)=

(1minus1

)4 Normalisiere die Senkrechte

(1minus1

)ergibt u(2) =

(1radic2minus1radic

2

)

14

Schritt III Bestimme U

Damit ist

U =

(1radic2

1radic2

1radic2

minus1radic2

)

15

Schritt IV Berechne AT middotA

AT middotA =

3 minus11 31 1

( 3 1 1minus1 3 1

)=

10 0 20 10 42 4 2

16

Schritt V Bestimme die Eigenwerte und Eigenvektoren vonAT middotA

Setze 10 0 20 10 42 4 2

middotx1

x2

x3

= σ

x1

x2

x3

Damit ergibt sich das Gleichungssystem

1 10x1 + 2x3 = σx1

2 10x2 + 4x3 = σx2

3 2x1 + 4x2 + 2x3 = σx3

17

Schritt V Bestimme die Eigenwerte und Eigenvektoren vonAT middotA

Setze 10 0 20 10 42 4 2

middotx1

x2

x3

= σ

x1

x2

x3

Damit ergibt sich das Gleichungssystem

1 10x1 + 2x3 = σx1

2 10x2 + 4x3 = σx2

3 2x1 + 4x2 + 2x3 = σx3

17

Schritt V Bestimme die Eigenwerte und Eigenvektoren vonAT middotA

1 10x1 + 2x3 = σx1

2 10x2 + 4x3 = σx2

3 2x1 + 4x2 + 2x3 = σx3

Gleichung (ii) minus zweimal (i)

10x2 + 4x3minus20x1minus4x3 = σx2minus2σx2

und damit σ1 = 10

Mit ahnlichen Umformungen kann man σ2 = 12 sowie σ3 = 0berechnen

18

Schritt V Bestimme die Eigenwerte und Eigenvektoren vonAT middotA

Drei Eigenwerte σ1 = 10 σ2 = 12 und σ3 = 0 Damit ergibt sich furdie Eigenvektoren

1 10x1 + 2x3 = 10x12 10x2 + 4x3 = 10x23 2x1 + 4x2 + 2x3 = 10x3 und damit4 x3 = 0 aus der ersten Gleichung und damit5 2x1 + 4x2 = 0 bzw x1 =minus2x26 Wir konnen die Lange des Eigenvektors wieder frei wahlen da

wir danach eh normalisieren Allerdings sind die Vorzeichen nichtmehr frei wahlbar da ja insgesamt bei U middotΣ middotV T wieder Aherauskommen muss Darauf macht das Tutorial nichtaufmerksamWir wahlen x1 = 2x2 =minus1 hatten aber auch(falschlicherweise)x1 =minus2x2 = 1 wahlen konnen

Ebenso bestimmen wir fur σ2 = 12 einen Eigenvektor (121) und furσ3 = 0 einen Eigenvektor (12minus5)19

Schritt VI Bestimme V

Starte mit einer Matrix V die die bestimmten Eigenvektoren von AT middotAnach der Groszlige der jeweiligen Eigenwerte als Spaltenvektoren enthalt

1 Fur Eigenwert σ1 = 10 hatten wir (2minus10) gewahlt2 Fur Eigenwert σ2 = 12 hatten wir (121) bestimmt3 Fur Eigenwert σ3 = 0 hatten wir (12minus5) bestimmt4 Spaltenvektoren nach Eigenwertgroszlige geordnet

V =

1 2 12 minus1 21 0 minus5

20

Schritt VI Bestimme V

Orthonormalisiere mit Gram-Schmidt die Spaltenvektoren von V

V =

1 2 12 minus1 21 0 minus5

1 Normalisiere ersten Spaltenvektor v (1) = v(1)

v(1) =

1radic6

2radic6

1radic6

2 Berechne die Senkrechte v (2)minus〈v (1) v (2)〉 middot v (1)

3 Also

2minus10

minus〈

1radic6

2radic6

1radic6

2minus10

〉 middot

1radic6

2radic6

1radic6

=

2minus10

4 Normalisiere die Senkrechte

2minus10

ergibt v (2) =

2radic5minus1radic

50

21

Schritt VI Bestimme V

V =

1 2 12 minus1 21 0 minus5

Schon bestimmt

v (1) =

1radic6

2radic6

1radic6

sowie v (2) =

2radic5minus1radic

50

Dann kann man auch noch v (3) berechnen mit der Senkrechten

v (3)minus〈v (1) v (3)〉 middot v (1)minus〈v (2) v (3)〉 middot v (2)

Dies ergibt

minus23minus43103

Normalisiert v (3) =

1radic302radic30minus5radic

30

22

Schritt VI Bestimme V

Damit

V =

1radic6

2radic5

1radic30

2radic6

minus1radic5

2radic30

1radic6

0 minus5radic30

und damit

V T =

1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

23

Schritt VII Bestimme Σ

Σ ist eine mtimesn (hier 2times3) ldquoDiagonalmatrixrdquo mit den Wurzeln derEigenwerte (von A middotAT bzw U bzw V auf der Diagonale) nach Groszligegeordnet

Σ =

(radic12 0 00

radic10 0

)

24

Alles Zusammen

A = UΣV T =

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00

radic10 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(radic12radic2

radic10radic2

0radic

12radic2

minusradic

10radic2

0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(3 1 1minus1 3 1

)

25

Moglicher Schritt VIII Vorzeichenverbesserung

Nehmen wir mal an wir hatten bei V die falschen Vorzeichen gewahltZum Beispiel wir hatten fur σ2 = 10 anstatt (2minus10) den Vektor(minus210) gewahlt Damit ergibt sich

V =

1 minus2 12 1 21 0 minus5

und

V =

1radic6

minus2radic5

1radic30

2radic6

1radic5

2radic30

1radic6

0 minus5radic30

und

V T =

1radic6

2radic6

1radic6

minus2radic5

1radic5

01radic30

2radic30

minus5radic30

26

Moglicher Schritt VIII Vorzeichenverbesserung

Leider ist nun

UΣV T =

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00

radic10 0

)1radic6

2radic6

1radic6

minus2radic5

1radic5

01radic30

2radic30

minus5radic30

=

(radic12radic2

radic10radic2

0radic

12radic2

minusradic

10radic2

0

)1radic6

2radic6

1radic6

minus2radic5

1radic5

01radic30

2radic30

minus5radic30

=

(minus1 3 13 1 1

)

27

Moglicher Schritt VIII Vorzeichenverbesserung

Die unelegante Losung Gehe durch alle Zeilen von V T (Spalten vonV ) multizipliere sie systematisch mit minus1 bis es passt Durch dieMultiplikation mit minus1 bleiben die Vektoren immer noch normal undauch die Orthogonalitat andert sich nicht

Da eventuell auch mehrere Zeilen mit minus1 multipliziert werdenmussen ist dies leider exponentiell in der Zeilenanzahl von V T

(alle moglichen Kombinationen mussen probiert werden)

Es ist nicht gerade elegant

Man kann naturlich stattdessen auch durch die Spalten von Ugehen und diese anpassen

28

Konstruktionsmethodologie II

1 Berechne die quadratische ntimesn Matrix AT middotA2 Berechne die Eigenwerte σ2

j und Eigenvektoren vj von AT middotA3 Die Vektoren vj werden orthonormalisiert (Gram-Schmidt) und

bilden die Spaltenvektoren von V4 Die Wurzeln der σ2-Werte werden in absteigender Reihenfolge

die Eintrage von Σ

5 Die Spaltenvektoren von U bis zum Rang r der AT middotA Matrix sindnun eindeutig bestimmt aus der Vorgabe A = UΣV T und werdendaraus berechnet

6 Wenn r lt m mussen noch mminus r Vektoren zur Orthonormalbasiserganzt werden

29

Konstruktionsmethodologie II

1 Berechne die quadratische ntimesn Matrix AT middotA2 Berechne die Eigenwerte σ2

j und Eigenvektoren vj von AT middotA3 Die Vektoren vj werden orthonormalisiert (Gram-Schmidt) und

bilden die Spaltenvektoren von V4 Die Wurzeln der σ2-Werte werden in absteigender Reihenfolge

die Eintrage von Σ

5 Die Spaltenvektoren von U bis zum Rang r der AT middotA Matrix sindnun eindeutig bestimmt aus der Vorgabe A = UΣV T und werdendaraus berechnet

6 Wenn r lt m mussen noch mminus r Vektoren zur Orthonormalbasiserganzt werden

29

Konstruktionsmethodologie II

1 Berechne die quadratische ntimesn Matrix AT middotA2 Berechne die Eigenwerte σ2

j und Eigenvektoren vj von AT middotA3 Die Vektoren vj werden orthonormalisiert (Gram-Schmidt) und

bilden die Spaltenvektoren von V4 Die Wurzeln der σ2-Werte werden in absteigender Reihenfolge

die Eintrage von Σ

5 Die Spaltenvektoren von U bis zum Rang r der AT middotA Matrix sindnun eindeutig bestimmt aus der Vorgabe A = UΣV T und werdendaraus berechnet

6 Wenn r lt m mussen noch mminus r Vektoren zur Orthonormalbasiserganzt werden

29

Konstruktionsmethodologie II

1 Berechne die quadratische ntimesn Matrix AT middotA2 Berechne die Eigenwerte σ2

j und Eigenvektoren vj von AT middotA3 Die Vektoren vj werden orthonormalisiert (Gram-Schmidt) und

bilden die Spaltenvektoren von V4 Die Wurzeln der σ2-Werte werden in absteigender Reihenfolge

die Eintrage von Σ

5 Die Spaltenvektoren von U bis zum Rang r der AT middotA Matrix sindnun eindeutig bestimmt aus der Vorgabe A = UΣV T und werdendaraus berechnet

6 Wenn r lt m mussen noch mminus r Vektoren zur Orthonormalbasiserganzt werden

29

Schritt I Bestimme V T und Σ wie bisher

Nach dem ublichen Verfahren sei also V T zum Beispiel1radic6

2radic6

1radic6

minus2radic5

1radic5

01radic30

2radic30

minus5radic30

bzw V

V =

1radic6

minus2radic5

1radic30

2radic6

1radic5

2radic30

1radic6

0 minus5radic30

Die Vorzeichen konnten auch anders seinWeiterhin ist

Σ =

(radic12 0 00

radic10 0

)

30

Schritt II Bestimme U

Es muss gelten

A = UΣV T

und damit

AV = UΣV T V

Da V orthogonal ist V T V die Einheitsmatrix und damit

AV = UΣ

31

Schritt II Bestimme U

Man bilde nun eine ntimesm Matrix Σprime die genau auf denentsprechenden Diagonaleintragen 1σi stehen hat Im Beispiel ist

Σprime =

1radic12

0

0 1radic10

0 0

Es gilt dass Σ middotΣprime die mtimesm Einheitsmatrix istUnd damit

AVΣprime = UΣΣprime = U

32

Schritt II Bestimme U

Also giltU = AVΣprime

Damit gilt fur die Spalten von U wenn man sich dieMatrixmultiplikation genauer anschaut

u(j) =1σj

Av (j)

In unserem Beispiel

u(1) =1radic12

(3 1 1minus1 3 1

)1radic6

2radic6

1radic6

=

(1radic2

1radic2

)

33

Schritt II Bestimme U

Und ebenso

u(2) =1radic10

(3 1 1minus1 3 1

)minus2radic

51radic5

0

=

(minus1radic2

1radic2

)

Man sieht dass sich hier das veranderte Vorzeichen von v (2) imentgegengesetzten Vorzeichen von u(2) widerspiegelt Wir musstenauch nicht zweimal Eigenvektoren berechnen sondern U ist aus denvorherigen Berechnungen bestimmt

34

Beispiel mit einer Matrix mit niedrigerem Rang

Da wir durch 1σj

dividieren mussten geht dies nur fur Eigenwerteungleich Null Wenn aber die Matrizen niedrigere Range haben als mdann bekommen wir so nicht genugend U-Vektoren Was machen wirdann

Beispiel Sei eine Matrix von Rang 1 gegeben

A =

(1 01 0

)

35

Berechnung von V

AT A =

(1 10 0

)(1 01 0

)=

(2 00 0

)

36

Berechnung von V

(2 00 0

)hat die Eigenwerte 2 und 0 mit den jeweiligen Eigenvektoren (10)sowie (01)Daraus folgt

V =

(1 00 1

)Die ist schon eine Orthonormalmatrix also gilt V = V sowie daDiagonalmatrix V T = V

37

Bestimmung von Σ

Es gilt

Σ =

(radic2 0

0 0

)

38

Bestimmung von U

Der erste Spaltenvektor u(1) kann wie ublich bestimmt werden mit

u(1) =1radic2

Av (1) =1radic2

(1 01 0

)(10

)

=1radic2

(11

)=

(1radic2

1radic2

)

39

Bestimmung von U

Da wir keinen weiteren Eigenwert 6= 0 haben konnen wir leider sonicht weitermachen dh es geht nur bis zum Rang von A Es gilt aber(

1radic2

x21radic2

y2

)(radic2 0

0 0

)(1 00 1

)

=

(1 01 0

)= A

unabhangig von x2 und y2 Das heisst unser halb vollstandiges U istgenug fur eine Zerlegung

40

Bestimmung von U

1 Wir konnen also jedes x2 und y2 wahlen solange normiert undsenkrecht auf dem ersten Vektor stehend

2 Nach dem sogenannten Basiserganzungssatz geht dies immer3 In unserem Beispiel konnte man zum Beispiel (minus1radic

2 1radic

2) wahlen

4 Wie genau man diese weiteren Vektoren von U konstruiert ist furuns unerheblich da wir ja sowieso die letzten Spalten von U diezu den niedrigeren Eigenwerten gehoren ldquoabschneidenrdquowerden

41

SVD Zwischenfazit

Wir haben eine Matrix in das Produkt einer OrthonormalmatrixDiagonalmatrix und Orthogonalmatrix zerlegt

Die Diagonalmatrix enthalt die Wurzeln von den Eigenwerten vonA middotAT nach Groszlige geordnet

Die erste Orthonormalmatrix enthalt die orthonormalisiertenEigenvektoren von A middotAT nach Eigenwertgrosse geordnet alsSpalten

Die zweite Orthonormalmatrix ist die Transponierte der Matrixdie die orthonormalisierten Eigenvektoren von AT middotA nachEigenwertgrosse geordnet als Spalten enthalt

42

Ubersicht

1 SVD HauptsatzDer SVD-SatzKonstruktion am Beispiel Methodologie IKonstruktionsmethodologie II

2 Interpretation der SVD

3 Reduced SVD

4 Verwendung in NLP

43

Geometrische Interpretation bei quadratischen Matrizen

Bedeutung der SVD ist dass sich die Funktion in eine DrehungDrehspiegelung (V T )eine Verzerrung (Σ) und eine zweite DrehungDrehspiegelung (U) zerlegen lsst

Matrix

(1 10 1

)SVD Geometrische Interpretationa

aQuelle httpscommonswikimediaorgwikiFileSingular-Value-Decompositionsvg

44

Noch einige Bemerkungen

Die Eigenwerte und damit Σ sind eindeutig bestimmt

U und V sind nicht eindeutig bestimmt Es konnen Drehungenum 180 Grad oder Spiegelungen hinzukommen

Wir konnen in vielen Fallen einen Eigenvektor wahlen(Freiheitsgrade) mussen aber dann bei den Vorzeichen derzweiten Matrix aufpassen

45

Noch einige Bemerkungen

Wir haben implizit den Rang der Ursprungsmatrix A bestimmtDies kann man klar an U middotΣ sehen

A = UΣV T =

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00

radic10 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(radic12radic2

radic10radic2

0radic

12radic2

minusradic

10radic2

0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(3 1 1minus1 3 1

)

46

Noch einige Bemerkungen

Deswegen wird manchmal die Singularwertzerlegung auch alsZerlegung in drei Matrizen Amtimesn = Umtimesr Σrtimesr V T

rtimesn wobei r der Rangder Matrix A ist beschrieben

A = UΣV T =

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00

radic10 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 00

radic10

)( 1radic6

2radic6

1radic6

2radic5

minus1radic5

0

)=

(radic12radic2

radic10radic2radic

12radic2

minusradic

10radic2

)(1radic6

2radic6

1radic6

2radic5

minus1radic5

0

)=

(3 1 1minus1 3 1

)47

Noch einige Bemerkungen

Bisher haben wir immer die Ausgangsmatrix einfach reproduziert(mit dem gleichen Rang) Man sieht den Rang besser und es gilt

Die ldquoZerrungrdquo durch die Matrix Σ ist bei den Dimensionen mit denhochsten Eigenwerten am groszligten Beispiel

(radic12 0 00

radic10 0

)x1

x2

x3

=

(radic12 middot x1radic10 middot x2

)Es macht also Sinn dass wir wenn wir eine Approximationunserer Ausgangsmatrix mit niedrigerem Rang wollen dann dieunwichtigen Dimensionen die durch niedrige Eigenwertegekennzeichnet sind weglassen

48

Ubersicht

1 SVD HauptsatzDer SVD-SatzKonstruktion am Beispiel Methodologie IKonstruktionsmethodologie II

2 Interpretation der SVD

3 Reduced SVD

4 Verwendung in NLP

49

Reduced SVD Approximation niedrigeren Ranges

Approximation von mtimesn Matrix A mit Rang r durch mtimesn -Matrix Ak mit Rang k lt r

A = UΣV T asymp Ak = UΣk V T

Σk ist eine ldquodiagonalerdquo mtimesn - Matrix bei der nur auf den erstenk Stellen der Diagonalmatrix Werte 6= 0 stehen

U und V wie zuvor

50

Beispiel

A = UΣV T =

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00

radic10 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

asymp

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00 0 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(radic12radic2

0 0radic

12radic2

0 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(1 2 11 2 1

)51

Reduced SVD

Wir hatten auch nur die ersten k Spalten von U sowie die ersten kZeilen von V T behalten konnen

Aasymp

(1radic2

1radic2

)(radic12)( 1radic

62radic6

1radic6

)=

(radic12radic2radic

12radic2

)(1radic6

2radic6

1radic6

)=

(1 2 11 2 1

)

52

Als Bild

53

Als Algorithmus

Gegeben mtimesn Matrix A und gewunschter Rank k Wir produziereneine Rangminus k Approximation wie folgt

1 Wir berechnen eine SVD Zerlegung von A

Amtimesn = UmtimesmΣmtimesnV Tntimesn

2 Wir behalten nur die ersten k Spalten von U resultierend in Umtimesk

3 Wir behalten nur die Top k sprich die ersten k Diagonalwerte vonΣ resultierend in Σktimesk

4 Wir behalten nur die ersten k Reihen von V T resultierend in V Tktimesn

54

Reduced SVD

Diagonale Eintrage in Σk sind die k groszligten Eigenwerte vonA middotAT

Satz UΣk V T minimiert die Differenz der Frobenius-Normzwischen A und Ak unter der Bedingung rang(Ak ) = k

Das heisst Fur jede mtimesn Matrix A mit Rang r angestrebtemRang k lt r und jede mtimesn Matrix B mit Rang k gilt

Aminus Ak2 le AminusB2

wobei Ak die Rang-k Approximation ist die man aus der SVD vonA ableiten kann

55

Was hat man erreicht

Unkorrelierte Dimensionen (Orthonormalbasis) die nur nochverzerrt werden

Wir haben die Dimensionen mit der meisten Variation identifiziertund danach geordnet

ldquoUnwichtigerdquo Dimensionen werden weggelassenrarr Rauschenvermindert

Man braucht viel weniger Speicherplatz O(k(n + m)) anstattO(nm)

Die neuen ldquoverstecktenrdquo Dimensionen konnen zurAhnlichkeitsberechnung verwendet werden und funktionieren oftbesser

56

Wie wahlt man k

Meist empirisch Gesehen

1 In NLP oft die ersten 200 bis 300 Dimensionen2 In Recommender Systems Wahle k so dass die Summe der

ersten k Eigenwerte mindestens 10-mal der Summe alleranderen Eigenwerte

57

Ubersicht

1 SVD HauptsatzDer SVD-SatzKonstruktion am Beispiel Methodologie IKonstruktionsmethodologie II

2 Interpretation der SVD

3 Reduced SVD

4 Verwendung in NLP

58

Dichte Embeddings

A ist Matrix von m WorternTermen und n Kontexten (PPMIfrequency )Reduced SVD resultiert in Ak mit

Umtimesk ist mtimes k - MatrixZeilen von Umtimesk reprasentieren TermeSpalten in Umtimesk latente Reprasentation der KontexteBenutze Umtimesk middotΣktimesk zur Berechnung von Termahnlichkeiten

Vorteile gegenuber der vollen Term-Kontext-MatrixDichte MatrixDimensionsreduktion effizientere VerarbeitungDe-Noising

59

Dichte Embeddings

A ist Matrix von m WorternTermen und n Kontexten (PPMIfrequency )Reduced SVD resultiert in Ak mit

Umtimesk ist mtimes k - MatrixZeilen von Umtimesk reprasentieren TermeSpalten in Umtimesk latente Reprasentation der KontexteBenutze Umtimesk middotΣktimesk zur Berechnung von Termahnlichkeiten

Vorteile gegenuber der vollen Term-Kontext-MatrixDichte MatrixDimensionsreduktion effizientere VerarbeitungDe-Noising

59

Dichte Embeddings

A ist Matrix von m WorternTermen und n Kontexten (PPMIfrequency )Reduced SVD resultiert in Ak mit

Umtimesk ist mtimes k - MatrixZeilen von Umtimesk reprasentieren TermeSpalten in Umtimesk latente Reprasentation der KontexteBenutze Umtimesk middotΣktimesk zur Berechnung von Termahnlichkeiten

Vorteile gegenuber der vollen Term-Kontext-MatrixDichte MatrixDimensionsreduktion effizientere VerarbeitungDe-Noising

59

Das Beispiel vom Anfang

Eine Wort-Dokument-Matrix M aus dem R5times3

d1 d2 d3ship 1 1 0boat 0 0 1

ocean 1 0 1motor 1 0 1wood 0 1 0

cossim(shipboat) = 0

cossim(shipocean) =12

cossim(boatocean) =1radic2

= 07

60

SVD Zerlegung war

minus041 07 024minus029 minus033 minus072minus061 minus02 014minus061 minus02 014minus01 057 minus062

227 0 0

0 149 00 0 078

minus072 minus023 minus066019 085 minus05067 minus048 minus056

=

minus093 104 0187minus0658 minus049 minus056minus138 minus0298 01092minus138 minus0298 minus1092minus0227 084 minus0483

minus072 minus023 minus066

019 085 minus05067 minus048 minus056

=

1 1 00 0 11 0 11 0 10 1 0

Abweichungen sind Rundungsfehler61

Niedrigdimensionale Approximation

Die kleinsten Eigenwerte sind die unwichtigsten Wir konnen dieseldquoweglassenrdquo = auf Null setzenrarr eine Matrix mit kleinerem Rang dieaber relativ ahnlich zur Ausgangsmatrix istminus041 07 024minus029 minus033 minus072minus061 minus02 014minus061 minus02 014minus01 057 minus062

227 0 0

0 149 00 0 0

minus072 minus023 minus066019 085 minus05067 minus048 minus056

=

minus093 104 0minus0658 minus049 0minus138 minus0298 0minus138 minus0298 0minus0227 084 0

minus072 minus023 minus066

019 085 minus05067 minus048 minus056

=

087 109 011038 minus027 068093 005 106093 005 106032 077 minus027

62

Die niedrigdimensionale Approximation

Wir interessieren uns fur die Matrix U2 = UΣ2 also die Matrix mit demniedrigerem Rang

minus093 104 0minus0658 minus049 0minus138 minus0298 0minus138 minus0298 0minus0227 084 0

Man kann diese nun als die Reprasentation unserer 5 Worter mit zweiversteckten Dimensionen auffassen

h1 h2ship minus093 104boat minus0658 minus049

ocean minus138 minus0298motor minus138 minus0298wood minus0227 084

63

Neue Ahnlichkeitsberechnungen

h1 h2ship minus093 104boat minus0658 minus049

ocean minus138 minus0298motor minus138 minus0298wood minus0227 084

cossim(shipboat) =(minus093) middot (minus0658) + 104 middot (minus049)radic

(0932 + 1042) middotradic

(06582 + 0492)= 009

cossim(shipocean) =(minus093) middot (minus138) + 104 middot (minus029)radic

(0932 + 1042) middotradic

(1382 + 0292)= 049

cossim(boatocean) = 09

64

Variationen

Benutze nur Umtimesk zur Ahnlichkeitsberechnung

Benutze Umtimesk middotΣpktimesk zur Ahnlichkeitsberechnungrarr Parameter p

sollte getuned werden Kann groszlige Unterschiede machen

Oft p = 0p = 05p = 1

65

Performanz der Reduced-SVD-Embeddings

Levy O Goldberg Y Neural word embedding as implicit matrix factorization In

Advances in neural information processing systems 2014 S 2177-2185

(Englische) Wikipedia 15 Milliarden Tokens

Fenster 2 beiderseits

Vokabular 189 533 fur Terme sowie Kontexte

PPMI Matrizen

SVD sowie ohne Zerlegung (PPMI) sowie neurale (SGNS)

Algorithmus Spearman Rank zu WordSim 353SVD 0652SGNS 0633PPMI 0605

66

Latent Semantic Analysis und Word Embeddings

Levy2014

ldquoWe analyze skip-gram with negative-sampling (SGNS) [] and show that it isimplicitly factorizing a word-context matrix whose cells are the pointwise mutualinformation (PMI) of the respective word and context pairs shifted by a globalconstant When dense low-dimensional vectors are preferred exact factorizationwith SVD can achieve solutions that are at least as good as SGNSrsquoss solutions forword similarity tasks On analogy questions SGNS remains superior to SVD Weconjecture that this stems from the weighted nature of SGNSrsquos factorizationrdquo

67

Zusammenfassung

Reduced SVD resultiert in einer optimalen Approximation derOriginalmatrix mit niedrigerem Rang Optimal = optimal bzgl derFrobeniusnorm (bzw mean squared error)

Dadurch erhalten wir eine mathematisch fundierte dichtereMatrix die Rauschen (weniger wichtige Dimensionen) eliminiert

Wir konnen mittels Umtimesk Σktimesk weiterhin Wortahnlichkeitenberechnen

Es konnen Resultate erreicht werden die bei word similaritymindestens ebensogut sind wie mit neuralen word embeddings

Nachteile Kosten der SVD Berechnung fur mtimesn matrixO(n middotm2) (when m lt n)rarr Nicht gut fur sehr grosse Matrizen

Nachteile Geht nicht gut mit unbekannten Wortern um

Nachteile schlechter bei Wortanalogieaufgaben

68

Literatur

Guter erweiterter Hintergrundhttptheorystanfordedu˜tims15ll7pdf bishttptheorystanfordedu˜tims15ll9pdf

SVD Tutorial (ohne vollstandigen Hintergrund) Kirk Baker(2005) Singular Value Decomposition Tutorialhttpsdatajobscomdata-science-repoSVD-Tutorial-[Kirk-Baker]pdf Leider ist hier imKonstruktionsverfahren I die Vorzeichenproblematikfalschlicherweise nicht behandelt worden

Levy O Goldberg Y Neural word embedding as implicit matrixfactorization In Advances in neural information processingsystems 2014 S 2177-2185

Ubungsblatt II

69

  • SVD Hauptsatz
    • Der SVD-Satz
    • Konstruktion am Beispiel Methodologie I
    • Konstruktionsmethodologie II
      • Interpretation der SVD
      • Reduced SVD
      • Verwendung in NLP

Schritt II Bestimme die Eigenwerte und Eigenvektoren vonA middotAT

1 11x1 + x2 = σx1

2 x1 + 11x2 = σx2

Ergibt z B nach Umformungen (hier Zeilenabzug)

10x1minus10x2 = σx1minusσx2

und damit Eigenwert σ1 = 10Ergibt z B nach Umformungen (hier Zeilenaddition)

12x1 + 12x2 = σx1 + σx2

und damit Eigenwert σ2 = 12

11

Schritt II Bestimme die Eigenwerte und Eigenvektoren vonA middotAT

1 11x1 + x2 = σx1

2 x1 + 11x2 = σx2

Zwei Eigenwerte σ1 = 10 und σ2 = 12 Damit ergibt sich fur dieEigenvektoren

1 11x1 + x2 = 10x1

2 x1 + 11x2 = 10x2 und damit3 x1 =minusx2

4 Wir wahlen x1 = 1 und damit x2 =minus1

sowie

1 11x1 + x2 = 12x1

2 x1 + 11x2 = 12x2 und damit3 x1 = x2

4 Wir wahlen x1 = 1 und damit x2 = 112

Schritt III Bestimme U

Starte mit einer Matrix U die die bestimmten Eigenvektoren von A middotAT

geordnet nach der Groszlige der jeweiligen Eigenwerte enthalt

1 Fur Eigenwert σ1 = 10 hatten wir x1 = 1 und damit x2 =minus1gewahlt

2 Fur Eigenwert σ1 = 12 hatten wir x1 = 1 und damit x2 = 1 gewahlt3 Spaltenvektoren nach Eigenwertgroszlige geordnet

U =

(1 11 minus1

)

13

Schritt III Bestimme U

Orthonormalisiere mit Gram-Schmidt die Spaltenvektoren von U

U =

(1 11 minus1

)

1 Normalisiere ersten Spaltenvektor u(1) = u(1)

u(1) =

(1radic2

1radic2

)2 Berechne die Senkrechte u(2)minus〈u(1) u(2)〉 middotu(1)

3 Also

(1minus1

)minus〈

(1radic2

1radic2

)

(1minus1

)〉 middot

(1radic2

1radic2

)=

(1minus1

)4 Normalisiere die Senkrechte

(1minus1

)ergibt u(2) =

(1radic2minus1radic

2

)

14

Schritt III Bestimme U

Damit ist

U =

(1radic2

1radic2

1radic2

minus1radic2

)

15

Schritt IV Berechne AT middotA

AT middotA =

3 minus11 31 1

( 3 1 1minus1 3 1

)=

10 0 20 10 42 4 2

16

Schritt V Bestimme die Eigenwerte und Eigenvektoren vonAT middotA

Setze 10 0 20 10 42 4 2

middotx1

x2

x3

= σ

x1

x2

x3

Damit ergibt sich das Gleichungssystem

1 10x1 + 2x3 = σx1

2 10x2 + 4x3 = σx2

3 2x1 + 4x2 + 2x3 = σx3

17

Schritt V Bestimme die Eigenwerte und Eigenvektoren vonAT middotA

Setze 10 0 20 10 42 4 2

middotx1

x2

x3

= σ

x1

x2

x3

Damit ergibt sich das Gleichungssystem

1 10x1 + 2x3 = σx1

2 10x2 + 4x3 = σx2

3 2x1 + 4x2 + 2x3 = σx3

17

Schritt V Bestimme die Eigenwerte und Eigenvektoren vonAT middotA

1 10x1 + 2x3 = σx1

2 10x2 + 4x3 = σx2

3 2x1 + 4x2 + 2x3 = σx3

Gleichung (ii) minus zweimal (i)

10x2 + 4x3minus20x1minus4x3 = σx2minus2σx2

und damit σ1 = 10

Mit ahnlichen Umformungen kann man σ2 = 12 sowie σ3 = 0berechnen

18

Schritt V Bestimme die Eigenwerte und Eigenvektoren vonAT middotA

Drei Eigenwerte σ1 = 10 σ2 = 12 und σ3 = 0 Damit ergibt sich furdie Eigenvektoren

1 10x1 + 2x3 = 10x12 10x2 + 4x3 = 10x23 2x1 + 4x2 + 2x3 = 10x3 und damit4 x3 = 0 aus der ersten Gleichung und damit5 2x1 + 4x2 = 0 bzw x1 =minus2x26 Wir konnen die Lange des Eigenvektors wieder frei wahlen da

wir danach eh normalisieren Allerdings sind die Vorzeichen nichtmehr frei wahlbar da ja insgesamt bei U middotΣ middotV T wieder Aherauskommen muss Darauf macht das Tutorial nichtaufmerksamWir wahlen x1 = 2x2 =minus1 hatten aber auch(falschlicherweise)x1 =minus2x2 = 1 wahlen konnen

Ebenso bestimmen wir fur σ2 = 12 einen Eigenvektor (121) und furσ3 = 0 einen Eigenvektor (12minus5)19

Schritt VI Bestimme V

Starte mit einer Matrix V die die bestimmten Eigenvektoren von AT middotAnach der Groszlige der jeweiligen Eigenwerte als Spaltenvektoren enthalt

1 Fur Eigenwert σ1 = 10 hatten wir (2minus10) gewahlt2 Fur Eigenwert σ2 = 12 hatten wir (121) bestimmt3 Fur Eigenwert σ3 = 0 hatten wir (12minus5) bestimmt4 Spaltenvektoren nach Eigenwertgroszlige geordnet

V =

1 2 12 minus1 21 0 minus5

20

Schritt VI Bestimme V

Orthonormalisiere mit Gram-Schmidt die Spaltenvektoren von V

V =

1 2 12 minus1 21 0 minus5

1 Normalisiere ersten Spaltenvektor v (1) = v(1)

v(1) =

1radic6

2radic6

1radic6

2 Berechne die Senkrechte v (2)minus〈v (1) v (2)〉 middot v (1)

3 Also

2minus10

minus〈

1radic6

2radic6

1radic6

2minus10

〉 middot

1radic6

2radic6

1radic6

=

2minus10

4 Normalisiere die Senkrechte

2minus10

ergibt v (2) =

2radic5minus1radic

50

21

Schritt VI Bestimme V

V =

1 2 12 minus1 21 0 minus5

Schon bestimmt

v (1) =

1radic6

2radic6

1radic6

sowie v (2) =

2radic5minus1radic

50

Dann kann man auch noch v (3) berechnen mit der Senkrechten

v (3)minus〈v (1) v (3)〉 middot v (1)minus〈v (2) v (3)〉 middot v (2)

Dies ergibt

minus23minus43103

Normalisiert v (3) =

1radic302radic30minus5radic

30

22

Schritt VI Bestimme V

Damit

V =

1radic6

2radic5

1radic30

2radic6

minus1radic5

2radic30

1radic6

0 minus5radic30

und damit

V T =

1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

23

Schritt VII Bestimme Σ

Σ ist eine mtimesn (hier 2times3) ldquoDiagonalmatrixrdquo mit den Wurzeln derEigenwerte (von A middotAT bzw U bzw V auf der Diagonale) nach Groszligegeordnet

Σ =

(radic12 0 00

radic10 0

)

24

Alles Zusammen

A = UΣV T =

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00

radic10 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(radic12radic2

radic10radic2

0radic

12radic2

minusradic

10radic2

0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(3 1 1minus1 3 1

)

25

Moglicher Schritt VIII Vorzeichenverbesserung

Nehmen wir mal an wir hatten bei V die falschen Vorzeichen gewahltZum Beispiel wir hatten fur σ2 = 10 anstatt (2minus10) den Vektor(minus210) gewahlt Damit ergibt sich

V =

1 minus2 12 1 21 0 minus5

und

V =

1radic6

minus2radic5

1radic30

2radic6

1radic5

2radic30

1radic6

0 minus5radic30

und

V T =

1radic6

2radic6

1radic6

minus2radic5

1radic5

01radic30

2radic30

minus5radic30

26

Moglicher Schritt VIII Vorzeichenverbesserung

Leider ist nun

UΣV T =

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00

radic10 0

)1radic6

2radic6

1radic6

minus2radic5

1radic5

01radic30

2radic30

minus5radic30

=

(radic12radic2

radic10radic2

0radic

12radic2

minusradic

10radic2

0

)1radic6

2radic6

1radic6

minus2radic5

1radic5

01radic30

2radic30

minus5radic30

=

(minus1 3 13 1 1

)

27

Moglicher Schritt VIII Vorzeichenverbesserung

Die unelegante Losung Gehe durch alle Zeilen von V T (Spalten vonV ) multizipliere sie systematisch mit minus1 bis es passt Durch dieMultiplikation mit minus1 bleiben die Vektoren immer noch normal undauch die Orthogonalitat andert sich nicht

Da eventuell auch mehrere Zeilen mit minus1 multipliziert werdenmussen ist dies leider exponentiell in der Zeilenanzahl von V T

(alle moglichen Kombinationen mussen probiert werden)

Es ist nicht gerade elegant

Man kann naturlich stattdessen auch durch die Spalten von Ugehen und diese anpassen

28

Konstruktionsmethodologie II

1 Berechne die quadratische ntimesn Matrix AT middotA2 Berechne die Eigenwerte σ2

j und Eigenvektoren vj von AT middotA3 Die Vektoren vj werden orthonormalisiert (Gram-Schmidt) und

bilden die Spaltenvektoren von V4 Die Wurzeln der σ2-Werte werden in absteigender Reihenfolge

die Eintrage von Σ

5 Die Spaltenvektoren von U bis zum Rang r der AT middotA Matrix sindnun eindeutig bestimmt aus der Vorgabe A = UΣV T und werdendaraus berechnet

6 Wenn r lt m mussen noch mminus r Vektoren zur Orthonormalbasiserganzt werden

29

Konstruktionsmethodologie II

1 Berechne die quadratische ntimesn Matrix AT middotA2 Berechne die Eigenwerte σ2

j und Eigenvektoren vj von AT middotA3 Die Vektoren vj werden orthonormalisiert (Gram-Schmidt) und

bilden die Spaltenvektoren von V4 Die Wurzeln der σ2-Werte werden in absteigender Reihenfolge

die Eintrage von Σ

5 Die Spaltenvektoren von U bis zum Rang r der AT middotA Matrix sindnun eindeutig bestimmt aus der Vorgabe A = UΣV T und werdendaraus berechnet

6 Wenn r lt m mussen noch mminus r Vektoren zur Orthonormalbasiserganzt werden

29

Konstruktionsmethodologie II

1 Berechne die quadratische ntimesn Matrix AT middotA2 Berechne die Eigenwerte σ2

j und Eigenvektoren vj von AT middotA3 Die Vektoren vj werden orthonormalisiert (Gram-Schmidt) und

bilden die Spaltenvektoren von V4 Die Wurzeln der σ2-Werte werden in absteigender Reihenfolge

die Eintrage von Σ

5 Die Spaltenvektoren von U bis zum Rang r der AT middotA Matrix sindnun eindeutig bestimmt aus der Vorgabe A = UΣV T und werdendaraus berechnet

6 Wenn r lt m mussen noch mminus r Vektoren zur Orthonormalbasiserganzt werden

29

Konstruktionsmethodologie II

1 Berechne die quadratische ntimesn Matrix AT middotA2 Berechne die Eigenwerte σ2

j und Eigenvektoren vj von AT middotA3 Die Vektoren vj werden orthonormalisiert (Gram-Schmidt) und

bilden die Spaltenvektoren von V4 Die Wurzeln der σ2-Werte werden in absteigender Reihenfolge

die Eintrage von Σ

5 Die Spaltenvektoren von U bis zum Rang r der AT middotA Matrix sindnun eindeutig bestimmt aus der Vorgabe A = UΣV T und werdendaraus berechnet

6 Wenn r lt m mussen noch mminus r Vektoren zur Orthonormalbasiserganzt werden

29

Schritt I Bestimme V T und Σ wie bisher

Nach dem ublichen Verfahren sei also V T zum Beispiel1radic6

2radic6

1radic6

minus2radic5

1radic5

01radic30

2radic30

minus5radic30

bzw V

V =

1radic6

minus2radic5

1radic30

2radic6

1radic5

2radic30

1radic6

0 minus5radic30

Die Vorzeichen konnten auch anders seinWeiterhin ist

Σ =

(radic12 0 00

radic10 0

)

30

Schritt II Bestimme U

Es muss gelten

A = UΣV T

und damit

AV = UΣV T V

Da V orthogonal ist V T V die Einheitsmatrix und damit

AV = UΣ

31

Schritt II Bestimme U

Man bilde nun eine ntimesm Matrix Σprime die genau auf denentsprechenden Diagonaleintragen 1σi stehen hat Im Beispiel ist

Σprime =

1radic12

0

0 1radic10

0 0

Es gilt dass Σ middotΣprime die mtimesm Einheitsmatrix istUnd damit

AVΣprime = UΣΣprime = U

32

Schritt II Bestimme U

Also giltU = AVΣprime

Damit gilt fur die Spalten von U wenn man sich dieMatrixmultiplikation genauer anschaut

u(j) =1σj

Av (j)

In unserem Beispiel

u(1) =1radic12

(3 1 1minus1 3 1

)1radic6

2radic6

1radic6

=

(1radic2

1radic2

)

33

Schritt II Bestimme U

Und ebenso

u(2) =1radic10

(3 1 1minus1 3 1

)minus2radic

51radic5

0

=

(minus1radic2

1radic2

)

Man sieht dass sich hier das veranderte Vorzeichen von v (2) imentgegengesetzten Vorzeichen von u(2) widerspiegelt Wir musstenauch nicht zweimal Eigenvektoren berechnen sondern U ist aus denvorherigen Berechnungen bestimmt

34

Beispiel mit einer Matrix mit niedrigerem Rang

Da wir durch 1σj

dividieren mussten geht dies nur fur Eigenwerteungleich Null Wenn aber die Matrizen niedrigere Range haben als mdann bekommen wir so nicht genugend U-Vektoren Was machen wirdann

Beispiel Sei eine Matrix von Rang 1 gegeben

A =

(1 01 0

)

35

Berechnung von V

AT A =

(1 10 0

)(1 01 0

)=

(2 00 0

)

36

Berechnung von V

(2 00 0

)hat die Eigenwerte 2 und 0 mit den jeweiligen Eigenvektoren (10)sowie (01)Daraus folgt

V =

(1 00 1

)Die ist schon eine Orthonormalmatrix also gilt V = V sowie daDiagonalmatrix V T = V

37

Bestimmung von Σ

Es gilt

Σ =

(radic2 0

0 0

)

38

Bestimmung von U

Der erste Spaltenvektor u(1) kann wie ublich bestimmt werden mit

u(1) =1radic2

Av (1) =1radic2

(1 01 0

)(10

)

=1radic2

(11

)=

(1radic2

1radic2

)

39

Bestimmung von U

Da wir keinen weiteren Eigenwert 6= 0 haben konnen wir leider sonicht weitermachen dh es geht nur bis zum Rang von A Es gilt aber(

1radic2

x21radic2

y2

)(radic2 0

0 0

)(1 00 1

)

=

(1 01 0

)= A

unabhangig von x2 und y2 Das heisst unser halb vollstandiges U istgenug fur eine Zerlegung

40

Bestimmung von U

1 Wir konnen also jedes x2 und y2 wahlen solange normiert undsenkrecht auf dem ersten Vektor stehend

2 Nach dem sogenannten Basiserganzungssatz geht dies immer3 In unserem Beispiel konnte man zum Beispiel (minus1radic

2 1radic

2) wahlen

4 Wie genau man diese weiteren Vektoren von U konstruiert ist furuns unerheblich da wir ja sowieso die letzten Spalten von U diezu den niedrigeren Eigenwerten gehoren ldquoabschneidenrdquowerden

41

SVD Zwischenfazit

Wir haben eine Matrix in das Produkt einer OrthonormalmatrixDiagonalmatrix und Orthogonalmatrix zerlegt

Die Diagonalmatrix enthalt die Wurzeln von den Eigenwerten vonA middotAT nach Groszlige geordnet

Die erste Orthonormalmatrix enthalt die orthonormalisiertenEigenvektoren von A middotAT nach Eigenwertgrosse geordnet alsSpalten

Die zweite Orthonormalmatrix ist die Transponierte der Matrixdie die orthonormalisierten Eigenvektoren von AT middotA nachEigenwertgrosse geordnet als Spalten enthalt

42

Ubersicht

1 SVD HauptsatzDer SVD-SatzKonstruktion am Beispiel Methodologie IKonstruktionsmethodologie II

2 Interpretation der SVD

3 Reduced SVD

4 Verwendung in NLP

43

Geometrische Interpretation bei quadratischen Matrizen

Bedeutung der SVD ist dass sich die Funktion in eine DrehungDrehspiegelung (V T )eine Verzerrung (Σ) und eine zweite DrehungDrehspiegelung (U) zerlegen lsst

Matrix

(1 10 1

)SVD Geometrische Interpretationa

aQuelle httpscommonswikimediaorgwikiFileSingular-Value-Decompositionsvg

44

Noch einige Bemerkungen

Die Eigenwerte und damit Σ sind eindeutig bestimmt

U und V sind nicht eindeutig bestimmt Es konnen Drehungenum 180 Grad oder Spiegelungen hinzukommen

Wir konnen in vielen Fallen einen Eigenvektor wahlen(Freiheitsgrade) mussen aber dann bei den Vorzeichen derzweiten Matrix aufpassen

45

Noch einige Bemerkungen

Wir haben implizit den Rang der Ursprungsmatrix A bestimmtDies kann man klar an U middotΣ sehen

A = UΣV T =

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00

radic10 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(radic12radic2

radic10radic2

0radic

12radic2

minusradic

10radic2

0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(3 1 1minus1 3 1

)

46

Noch einige Bemerkungen

Deswegen wird manchmal die Singularwertzerlegung auch alsZerlegung in drei Matrizen Amtimesn = Umtimesr Σrtimesr V T

rtimesn wobei r der Rangder Matrix A ist beschrieben

A = UΣV T =

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00

radic10 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 00

radic10

)( 1radic6

2radic6

1radic6

2radic5

minus1radic5

0

)=

(radic12radic2

radic10radic2radic

12radic2

minusradic

10radic2

)(1radic6

2radic6

1radic6

2radic5

minus1radic5

0

)=

(3 1 1minus1 3 1

)47

Noch einige Bemerkungen

Bisher haben wir immer die Ausgangsmatrix einfach reproduziert(mit dem gleichen Rang) Man sieht den Rang besser und es gilt

Die ldquoZerrungrdquo durch die Matrix Σ ist bei den Dimensionen mit denhochsten Eigenwerten am groszligten Beispiel

(radic12 0 00

radic10 0

)x1

x2

x3

=

(radic12 middot x1radic10 middot x2

)Es macht also Sinn dass wir wenn wir eine Approximationunserer Ausgangsmatrix mit niedrigerem Rang wollen dann dieunwichtigen Dimensionen die durch niedrige Eigenwertegekennzeichnet sind weglassen

48

Ubersicht

1 SVD HauptsatzDer SVD-SatzKonstruktion am Beispiel Methodologie IKonstruktionsmethodologie II

2 Interpretation der SVD

3 Reduced SVD

4 Verwendung in NLP

49

Reduced SVD Approximation niedrigeren Ranges

Approximation von mtimesn Matrix A mit Rang r durch mtimesn -Matrix Ak mit Rang k lt r

A = UΣV T asymp Ak = UΣk V T

Σk ist eine ldquodiagonalerdquo mtimesn - Matrix bei der nur auf den erstenk Stellen der Diagonalmatrix Werte 6= 0 stehen

U und V wie zuvor

50

Beispiel

A = UΣV T =

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00

radic10 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

asymp

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00 0 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(radic12radic2

0 0radic

12radic2

0 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(1 2 11 2 1

)51

Reduced SVD

Wir hatten auch nur die ersten k Spalten von U sowie die ersten kZeilen von V T behalten konnen

Aasymp

(1radic2

1radic2

)(radic12)( 1radic

62radic6

1radic6

)=

(radic12radic2radic

12radic2

)(1radic6

2radic6

1radic6

)=

(1 2 11 2 1

)

52

Als Bild

53

Als Algorithmus

Gegeben mtimesn Matrix A und gewunschter Rank k Wir produziereneine Rangminus k Approximation wie folgt

1 Wir berechnen eine SVD Zerlegung von A

Amtimesn = UmtimesmΣmtimesnV Tntimesn

2 Wir behalten nur die ersten k Spalten von U resultierend in Umtimesk

3 Wir behalten nur die Top k sprich die ersten k Diagonalwerte vonΣ resultierend in Σktimesk

4 Wir behalten nur die ersten k Reihen von V T resultierend in V Tktimesn

54

Reduced SVD

Diagonale Eintrage in Σk sind die k groszligten Eigenwerte vonA middotAT

Satz UΣk V T minimiert die Differenz der Frobenius-Normzwischen A und Ak unter der Bedingung rang(Ak ) = k

Das heisst Fur jede mtimesn Matrix A mit Rang r angestrebtemRang k lt r und jede mtimesn Matrix B mit Rang k gilt

Aminus Ak2 le AminusB2

wobei Ak die Rang-k Approximation ist die man aus der SVD vonA ableiten kann

55

Was hat man erreicht

Unkorrelierte Dimensionen (Orthonormalbasis) die nur nochverzerrt werden

Wir haben die Dimensionen mit der meisten Variation identifiziertund danach geordnet

ldquoUnwichtigerdquo Dimensionen werden weggelassenrarr Rauschenvermindert

Man braucht viel weniger Speicherplatz O(k(n + m)) anstattO(nm)

Die neuen ldquoverstecktenrdquo Dimensionen konnen zurAhnlichkeitsberechnung verwendet werden und funktionieren oftbesser

56

Wie wahlt man k

Meist empirisch Gesehen

1 In NLP oft die ersten 200 bis 300 Dimensionen2 In Recommender Systems Wahle k so dass die Summe der

ersten k Eigenwerte mindestens 10-mal der Summe alleranderen Eigenwerte

57

Ubersicht

1 SVD HauptsatzDer SVD-SatzKonstruktion am Beispiel Methodologie IKonstruktionsmethodologie II

2 Interpretation der SVD

3 Reduced SVD

4 Verwendung in NLP

58

Dichte Embeddings

A ist Matrix von m WorternTermen und n Kontexten (PPMIfrequency )Reduced SVD resultiert in Ak mit

Umtimesk ist mtimes k - MatrixZeilen von Umtimesk reprasentieren TermeSpalten in Umtimesk latente Reprasentation der KontexteBenutze Umtimesk middotΣktimesk zur Berechnung von Termahnlichkeiten

Vorteile gegenuber der vollen Term-Kontext-MatrixDichte MatrixDimensionsreduktion effizientere VerarbeitungDe-Noising

59

Dichte Embeddings

A ist Matrix von m WorternTermen und n Kontexten (PPMIfrequency )Reduced SVD resultiert in Ak mit

Umtimesk ist mtimes k - MatrixZeilen von Umtimesk reprasentieren TermeSpalten in Umtimesk latente Reprasentation der KontexteBenutze Umtimesk middotΣktimesk zur Berechnung von Termahnlichkeiten

Vorteile gegenuber der vollen Term-Kontext-MatrixDichte MatrixDimensionsreduktion effizientere VerarbeitungDe-Noising

59

Dichte Embeddings

A ist Matrix von m WorternTermen und n Kontexten (PPMIfrequency )Reduced SVD resultiert in Ak mit

Umtimesk ist mtimes k - MatrixZeilen von Umtimesk reprasentieren TermeSpalten in Umtimesk latente Reprasentation der KontexteBenutze Umtimesk middotΣktimesk zur Berechnung von Termahnlichkeiten

Vorteile gegenuber der vollen Term-Kontext-MatrixDichte MatrixDimensionsreduktion effizientere VerarbeitungDe-Noising

59

Das Beispiel vom Anfang

Eine Wort-Dokument-Matrix M aus dem R5times3

d1 d2 d3ship 1 1 0boat 0 0 1

ocean 1 0 1motor 1 0 1wood 0 1 0

cossim(shipboat) = 0

cossim(shipocean) =12

cossim(boatocean) =1radic2

= 07

60

SVD Zerlegung war

minus041 07 024minus029 minus033 minus072minus061 minus02 014minus061 minus02 014minus01 057 minus062

227 0 0

0 149 00 0 078

minus072 minus023 minus066019 085 minus05067 minus048 minus056

=

minus093 104 0187minus0658 minus049 minus056minus138 minus0298 01092minus138 minus0298 minus1092minus0227 084 minus0483

minus072 minus023 minus066

019 085 minus05067 minus048 minus056

=

1 1 00 0 11 0 11 0 10 1 0

Abweichungen sind Rundungsfehler61

Niedrigdimensionale Approximation

Die kleinsten Eigenwerte sind die unwichtigsten Wir konnen dieseldquoweglassenrdquo = auf Null setzenrarr eine Matrix mit kleinerem Rang dieaber relativ ahnlich zur Ausgangsmatrix istminus041 07 024minus029 minus033 minus072minus061 minus02 014minus061 minus02 014minus01 057 minus062

227 0 0

0 149 00 0 0

minus072 minus023 minus066019 085 minus05067 minus048 minus056

=

minus093 104 0minus0658 minus049 0minus138 minus0298 0minus138 minus0298 0minus0227 084 0

minus072 minus023 minus066

019 085 minus05067 minus048 minus056

=

087 109 011038 minus027 068093 005 106093 005 106032 077 minus027

62

Die niedrigdimensionale Approximation

Wir interessieren uns fur die Matrix U2 = UΣ2 also die Matrix mit demniedrigerem Rang

minus093 104 0minus0658 minus049 0minus138 minus0298 0minus138 minus0298 0minus0227 084 0

Man kann diese nun als die Reprasentation unserer 5 Worter mit zweiversteckten Dimensionen auffassen

h1 h2ship minus093 104boat minus0658 minus049

ocean minus138 minus0298motor minus138 minus0298wood minus0227 084

63

Neue Ahnlichkeitsberechnungen

h1 h2ship minus093 104boat minus0658 minus049

ocean minus138 minus0298motor minus138 minus0298wood minus0227 084

cossim(shipboat) =(minus093) middot (minus0658) + 104 middot (minus049)radic

(0932 + 1042) middotradic

(06582 + 0492)= 009

cossim(shipocean) =(minus093) middot (minus138) + 104 middot (minus029)radic

(0932 + 1042) middotradic

(1382 + 0292)= 049

cossim(boatocean) = 09

64

Variationen

Benutze nur Umtimesk zur Ahnlichkeitsberechnung

Benutze Umtimesk middotΣpktimesk zur Ahnlichkeitsberechnungrarr Parameter p

sollte getuned werden Kann groszlige Unterschiede machen

Oft p = 0p = 05p = 1

65

Performanz der Reduced-SVD-Embeddings

Levy O Goldberg Y Neural word embedding as implicit matrix factorization In

Advances in neural information processing systems 2014 S 2177-2185

(Englische) Wikipedia 15 Milliarden Tokens

Fenster 2 beiderseits

Vokabular 189 533 fur Terme sowie Kontexte

PPMI Matrizen

SVD sowie ohne Zerlegung (PPMI) sowie neurale (SGNS)

Algorithmus Spearman Rank zu WordSim 353SVD 0652SGNS 0633PPMI 0605

66

Latent Semantic Analysis und Word Embeddings

Levy2014

ldquoWe analyze skip-gram with negative-sampling (SGNS) [] and show that it isimplicitly factorizing a word-context matrix whose cells are the pointwise mutualinformation (PMI) of the respective word and context pairs shifted by a globalconstant When dense low-dimensional vectors are preferred exact factorizationwith SVD can achieve solutions that are at least as good as SGNSrsquoss solutions forword similarity tasks On analogy questions SGNS remains superior to SVD Weconjecture that this stems from the weighted nature of SGNSrsquos factorizationrdquo

67

Zusammenfassung

Reduced SVD resultiert in einer optimalen Approximation derOriginalmatrix mit niedrigerem Rang Optimal = optimal bzgl derFrobeniusnorm (bzw mean squared error)

Dadurch erhalten wir eine mathematisch fundierte dichtereMatrix die Rauschen (weniger wichtige Dimensionen) eliminiert

Wir konnen mittels Umtimesk Σktimesk weiterhin Wortahnlichkeitenberechnen

Es konnen Resultate erreicht werden die bei word similaritymindestens ebensogut sind wie mit neuralen word embeddings

Nachteile Kosten der SVD Berechnung fur mtimesn matrixO(n middotm2) (when m lt n)rarr Nicht gut fur sehr grosse Matrizen

Nachteile Geht nicht gut mit unbekannten Wortern um

Nachteile schlechter bei Wortanalogieaufgaben

68

Literatur

Guter erweiterter Hintergrundhttptheorystanfordedu˜tims15ll7pdf bishttptheorystanfordedu˜tims15ll9pdf

SVD Tutorial (ohne vollstandigen Hintergrund) Kirk Baker(2005) Singular Value Decomposition Tutorialhttpsdatajobscomdata-science-repoSVD-Tutorial-[Kirk-Baker]pdf Leider ist hier imKonstruktionsverfahren I die Vorzeichenproblematikfalschlicherweise nicht behandelt worden

Levy O Goldberg Y Neural word embedding as implicit matrixfactorization In Advances in neural information processingsystems 2014 S 2177-2185

Ubungsblatt II

69

  • SVD Hauptsatz
    • Der SVD-Satz
    • Konstruktion am Beispiel Methodologie I
    • Konstruktionsmethodologie II
      • Interpretation der SVD
      • Reduced SVD
      • Verwendung in NLP

Schritt II Bestimme die Eigenwerte und Eigenvektoren vonA middotAT

1 11x1 + x2 = σx1

2 x1 + 11x2 = σx2

Zwei Eigenwerte σ1 = 10 und σ2 = 12 Damit ergibt sich fur dieEigenvektoren

1 11x1 + x2 = 10x1

2 x1 + 11x2 = 10x2 und damit3 x1 =minusx2

4 Wir wahlen x1 = 1 und damit x2 =minus1

sowie

1 11x1 + x2 = 12x1

2 x1 + 11x2 = 12x2 und damit3 x1 = x2

4 Wir wahlen x1 = 1 und damit x2 = 112

Schritt III Bestimme U

Starte mit einer Matrix U die die bestimmten Eigenvektoren von A middotAT

geordnet nach der Groszlige der jeweiligen Eigenwerte enthalt

1 Fur Eigenwert σ1 = 10 hatten wir x1 = 1 und damit x2 =minus1gewahlt

2 Fur Eigenwert σ1 = 12 hatten wir x1 = 1 und damit x2 = 1 gewahlt3 Spaltenvektoren nach Eigenwertgroszlige geordnet

U =

(1 11 minus1

)

13

Schritt III Bestimme U

Orthonormalisiere mit Gram-Schmidt die Spaltenvektoren von U

U =

(1 11 minus1

)

1 Normalisiere ersten Spaltenvektor u(1) = u(1)

u(1) =

(1radic2

1radic2

)2 Berechne die Senkrechte u(2)minus〈u(1) u(2)〉 middotu(1)

3 Also

(1minus1

)minus〈

(1radic2

1radic2

)

(1minus1

)〉 middot

(1radic2

1radic2

)=

(1minus1

)4 Normalisiere die Senkrechte

(1minus1

)ergibt u(2) =

(1radic2minus1radic

2

)

14

Schritt III Bestimme U

Damit ist

U =

(1radic2

1radic2

1radic2

minus1radic2

)

15

Schritt IV Berechne AT middotA

AT middotA =

3 minus11 31 1

( 3 1 1minus1 3 1

)=

10 0 20 10 42 4 2

16

Schritt V Bestimme die Eigenwerte und Eigenvektoren vonAT middotA

Setze 10 0 20 10 42 4 2

middotx1

x2

x3

= σ

x1

x2

x3

Damit ergibt sich das Gleichungssystem

1 10x1 + 2x3 = σx1

2 10x2 + 4x3 = σx2

3 2x1 + 4x2 + 2x3 = σx3

17

Schritt V Bestimme die Eigenwerte und Eigenvektoren vonAT middotA

Setze 10 0 20 10 42 4 2

middotx1

x2

x3

= σ

x1

x2

x3

Damit ergibt sich das Gleichungssystem

1 10x1 + 2x3 = σx1

2 10x2 + 4x3 = σx2

3 2x1 + 4x2 + 2x3 = σx3

17

Schritt V Bestimme die Eigenwerte und Eigenvektoren vonAT middotA

1 10x1 + 2x3 = σx1

2 10x2 + 4x3 = σx2

3 2x1 + 4x2 + 2x3 = σx3

Gleichung (ii) minus zweimal (i)

10x2 + 4x3minus20x1minus4x3 = σx2minus2σx2

und damit σ1 = 10

Mit ahnlichen Umformungen kann man σ2 = 12 sowie σ3 = 0berechnen

18

Schritt V Bestimme die Eigenwerte und Eigenvektoren vonAT middotA

Drei Eigenwerte σ1 = 10 σ2 = 12 und σ3 = 0 Damit ergibt sich furdie Eigenvektoren

1 10x1 + 2x3 = 10x12 10x2 + 4x3 = 10x23 2x1 + 4x2 + 2x3 = 10x3 und damit4 x3 = 0 aus der ersten Gleichung und damit5 2x1 + 4x2 = 0 bzw x1 =minus2x26 Wir konnen die Lange des Eigenvektors wieder frei wahlen da

wir danach eh normalisieren Allerdings sind die Vorzeichen nichtmehr frei wahlbar da ja insgesamt bei U middotΣ middotV T wieder Aherauskommen muss Darauf macht das Tutorial nichtaufmerksamWir wahlen x1 = 2x2 =minus1 hatten aber auch(falschlicherweise)x1 =minus2x2 = 1 wahlen konnen

Ebenso bestimmen wir fur σ2 = 12 einen Eigenvektor (121) und furσ3 = 0 einen Eigenvektor (12minus5)19

Schritt VI Bestimme V

Starte mit einer Matrix V die die bestimmten Eigenvektoren von AT middotAnach der Groszlige der jeweiligen Eigenwerte als Spaltenvektoren enthalt

1 Fur Eigenwert σ1 = 10 hatten wir (2minus10) gewahlt2 Fur Eigenwert σ2 = 12 hatten wir (121) bestimmt3 Fur Eigenwert σ3 = 0 hatten wir (12minus5) bestimmt4 Spaltenvektoren nach Eigenwertgroszlige geordnet

V =

1 2 12 minus1 21 0 minus5

20

Schritt VI Bestimme V

Orthonormalisiere mit Gram-Schmidt die Spaltenvektoren von V

V =

1 2 12 minus1 21 0 minus5

1 Normalisiere ersten Spaltenvektor v (1) = v(1)

v(1) =

1radic6

2radic6

1radic6

2 Berechne die Senkrechte v (2)minus〈v (1) v (2)〉 middot v (1)

3 Also

2minus10

minus〈

1radic6

2radic6

1radic6

2minus10

〉 middot

1radic6

2radic6

1radic6

=

2minus10

4 Normalisiere die Senkrechte

2minus10

ergibt v (2) =

2radic5minus1radic

50

21

Schritt VI Bestimme V

V =

1 2 12 minus1 21 0 minus5

Schon bestimmt

v (1) =

1radic6

2radic6

1radic6

sowie v (2) =

2radic5minus1radic

50

Dann kann man auch noch v (3) berechnen mit der Senkrechten

v (3)minus〈v (1) v (3)〉 middot v (1)minus〈v (2) v (3)〉 middot v (2)

Dies ergibt

minus23minus43103

Normalisiert v (3) =

1radic302radic30minus5radic

30

22

Schritt VI Bestimme V

Damit

V =

1radic6

2radic5

1radic30

2radic6

minus1radic5

2radic30

1radic6

0 minus5radic30

und damit

V T =

1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

23

Schritt VII Bestimme Σ

Σ ist eine mtimesn (hier 2times3) ldquoDiagonalmatrixrdquo mit den Wurzeln derEigenwerte (von A middotAT bzw U bzw V auf der Diagonale) nach Groszligegeordnet

Σ =

(radic12 0 00

radic10 0

)

24

Alles Zusammen

A = UΣV T =

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00

radic10 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(radic12radic2

radic10radic2

0radic

12radic2

minusradic

10radic2

0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(3 1 1minus1 3 1

)

25

Moglicher Schritt VIII Vorzeichenverbesserung

Nehmen wir mal an wir hatten bei V die falschen Vorzeichen gewahltZum Beispiel wir hatten fur σ2 = 10 anstatt (2minus10) den Vektor(minus210) gewahlt Damit ergibt sich

V =

1 minus2 12 1 21 0 minus5

und

V =

1radic6

minus2radic5

1radic30

2radic6

1radic5

2radic30

1radic6

0 minus5radic30

und

V T =

1radic6

2radic6

1radic6

minus2radic5

1radic5

01radic30

2radic30

minus5radic30

26

Moglicher Schritt VIII Vorzeichenverbesserung

Leider ist nun

UΣV T =

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00

radic10 0

)1radic6

2radic6

1radic6

minus2radic5

1radic5

01radic30

2radic30

minus5radic30

=

(radic12radic2

radic10radic2

0radic

12radic2

minusradic

10radic2

0

)1radic6

2radic6

1radic6

minus2radic5

1radic5

01radic30

2radic30

minus5radic30

=

(minus1 3 13 1 1

)

27

Moglicher Schritt VIII Vorzeichenverbesserung

Die unelegante Losung Gehe durch alle Zeilen von V T (Spalten vonV ) multizipliere sie systematisch mit minus1 bis es passt Durch dieMultiplikation mit minus1 bleiben die Vektoren immer noch normal undauch die Orthogonalitat andert sich nicht

Da eventuell auch mehrere Zeilen mit minus1 multipliziert werdenmussen ist dies leider exponentiell in der Zeilenanzahl von V T

(alle moglichen Kombinationen mussen probiert werden)

Es ist nicht gerade elegant

Man kann naturlich stattdessen auch durch die Spalten von Ugehen und diese anpassen

28

Konstruktionsmethodologie II

1 Berechne die quadratische ntimesn Matrix AT middotA2 Berechne die Eigenwerte σ2

j und Eigenvektoren vj von AT middotA3 Die Vektoren vj werden orthonormalisiert (Gram-Schmidt) und

bilden die Spaltenvektoren von V4 Die Wurzeln der σ2-Werte werden in absteigender Reihenfolge

die Eintrage von Σ

5 Die Spaltenvektoren von U bis zum Rang r der AT middotA Matrix sindnun eindeutig bestimmt aus der Vorgabe A = UΣV T und werdendaraus berechnet

6 Wenn r lt m mussen noch mminus r Vektoren zur Orthonormalbasiserganzt werden

29

Konstruktionsmethodologie II

1 Berechne die quadratische ntimesn Matrix AT middotA2 Berechne die Eigenwerte σ2

j und Eigenvektoren vj von AT middotA3 Die Vektoren vj werden orthonormalisiert (Gram-Schmidt) und

bilden die Spaltenvektoren von V4 Die Wurzeln der σ2-Werte werden in absteigender Reihenfolge

die Eintrage von Σ

5 Die Spaltenvektoren von U bis zum Rang r der AT middotA Matrix sindnun eindeutig bestimmt aus der Vorgabe A = UΣV T und werdendaraus berechnet

6 Wenn r lt m mussen noch mminus r Vektoren zur Orthonormalbasiserganzt werden

29

Konstruktionsmethodologie II

1 Berechne die quadratische ntimesn Matrix AT middotA2 Berechne die Eigenwerte σ2

j und Eigenvektoren vj von AT middotA3 Die Vektoren vj werden orthonormalisiert (Gram-Schmidt) und

bilden die Spaltenvektoren von V4 Die Wurzeln der σ2-Werte werden in absteigender Reihenfolge

die Eintrage von Σ

5 Die Spaltenvektoren von U bis zum Rang r der AT middotA Matrix sindnun eindeutig bestimmt aus der Vorgabe A = UΣV T und werdendaraus berechnet

6 Wenn r lt m mussen noch mminus r Vektoren zur Orthonormalbasiserganzt werden

29

Konstruktionsmethodologie II

1 Berechne die quadratische ntimesn Matrix AT middotA2 Berechne die Eigenwerte σ2

j und Eigenvektoren vj von AT middotA3 Die Vektoren vj werden orthonormalisiert (Gram-Schmidt) und

bilden die Spaltenvektoren von V4 Die Wurzeln der σ2-Werte werden in absteigender Reihenfolge

die Eintrage von Σ

5 Die Spaltenvektoren von U bis zum Rang r der AT middotA Matrix sindnun eindeutig bestimmt aus der Vorgabe A = UΣV T und werdendaraus berechnet

6 Wenn r lt m mussen noch mminus r Vektoren zur Orthonormalbasiserganzt werden

29

Schritt I Bestimme V T und Σ wie bisher

Nach dem ublichen Verfahren sei also V T zum Beispiel1radic6

2radic6

1radic6

minus2radic5

1radic5

01radic30

2radic30

minus5radic30

bzw V

V =

1radic6

minus2radic5

1radic30

2radic6

1radic5

2radic30

1radic6

0 minus5radic30

Die Vorzeichen konnten auch anders seinWeiterhin ist

Σ =

(radic12 0 00

radic10 0

)

30

Schritt II Bestimme U

Es muss gelten

A = UΣV T

und damit

AV = UΣV T V

Da V orthogonal ist V T V die Einheitsmatrix und damit

AV = UΣ

31

Schritt II Bestimme U

Man bilde nun eine ntimesm Matrix Σprime die genau auf denentsprechenden Diagonaleintragen 1σi stehen hat Im Beispiel ist

Σprime =

1radic12

0

0 1radic10

0 0

Es gilt dass Σ middotΣprime die mtimesm Einheitsmatrix istUnd damit

AVΣprime = UΣΣprime = U

32

Schritt II Bestimme U

Also giltU = AVΣprime

Damit gilt fur die Spalten von U wenn man sich dieMatrixmultiplikation genauer anschaut

u(j) =1σj

Av (j)

In unserem Beispiel

u(1) =1radic12

(3 1 1minus1 3 1

)1radic6

2radic6

1radic6

=

(1radic2

1radic2

)

33

Schritt II Bestimme U

Und ebenso

u(2) =1radic10

(3 1 1minus1 3 1

)minus2radic

51radic5

0

=

(minus1radic2

1radic2

)

Man sieht dass sich hier das veranderte Vorzeichen von v (2) imentgegengesetzten Vorzeichen von u(2) widerspiegelt Wir musstenauch nicht zweimal Eigenvektoren berechnen sondern U ist aus denvorherigen Berechnungen bestimmt

34

Beispiel mit einer Matrix mit niedrigerem Rang

Da wir durch 1σj

dividieren mussten geht dies nur fur Eigenwerteungleich Null Wenn aber die Matrizen niedrigere Range haben als mdann bekommen wir so nicht genugend U-Vektoren Was machen wirdann

Beispiel Sei eine Matrix von Rang 1 gegeben

A =

(1 01 0

)

35

Berechnung von V

AT A =

(1 10 0

)(1 01 0

)=

(2 00 0

)

36

Berechnung von V

(2 00 0

)hat die Eigenwerte 2 und 0 mit den jeweiligen Eigenvektoren (10)sowie (01)Daraus folgt

V =

(1 00 1

)Die ist schon eine Orthonormalmatrix also gilt V = V sowie daDiagonalmatrix V T = V

37

Bestimmung von Σ

Es gilt

Σ =

(radic2 0

0 0

)

38

Bestimmung von U

Der erste Spaltenvektor u(1) kann wie ublich bestimmt werden mit

u(1) =1radic2

Av (1) =1radic2

(1 01 0

)(10

)

=1radic2

(11

)=

(1radic2

1radic2

)

39

Bestimmung von U

Da wir keinen weiteren Eigenwert 6= 0 haben konnen wir leider sonicht weitermachen dh es geht nur bis zum Rang von A Es gilt aber(

1radic2

x21radic2

y2

)(radic2 0

0 0

)(1 00 1

)

=

(1 01 0

)= A

unabhangig von x2 und y2 Das heisst unser halb vollstandiges U istgenug fur eine Zerlegung

40

Bestimmung von U

1 Wir konnen also jedes x2 und y2 wahlen solange normiert undsenkrecht auf dem ersten Vektor stehend

2 Nach dem sogenannten Basiserganzungssatz geht dies immer3 In unserem Beispiel konnte man zum Beispiel (minus1radic

2 1radic

2) wahlen

4 Wie genau man diese weiteren Vektoren von U konstruiert ist furuns unerheblich da wir ja sowieso die letzten Spalten von U diezu den niedrigeren Eigenwerten gehoren ldquoabschneidenrdquowerden

41

SVD Zwischenfazit

Wir haben eine Matrix in das Produkt einer OrthonormalmatrixDiagonalmatrix und Orthogonalmatrix zerlegt

Die Diagonalmatrix enthalt die Wurzeln von den Eigenwerten vonA middotAT nach Groszlige geordnet

Die erste Orthonormalmatrix enthalt die orthonormalisiertenEigenvektoren von A middotAT nach Eigenwertgrosse geordnet alsSpalten

Die zweite Orthonormalmatrix ist die Transponierte der Matrixdie die orthonormalisierten Eigenvektoren von AT middotA nachEigenwertgrosse geordnet als Spalten enthalt

42

Ubersicht

1 SVD HauptsatzDer SVD-SatzKonstruktion am Beispiel Methodologie IKonstruktionsmethodologie II

2 Interpretation der SVD

3 Reduced SVD

4 Verwendung in NLP

43

Geometrische Interpretation bei quadratischen Matrizen

Bedeutung der SVD ist dass sich die Funktion in eine DrehungDrehspiegelung (V T )eine Verzerrung (Σ) und eine zweite DrehungDrehspiegelung (U) zerlegen lsst

Matrix

(1 10 1

)SVD Geometrische Interpretationa

aQuelle httpscommonswikimediaorgwikiFileSingular-Value-Decompositionsvg

44

Noch einige Bemerkungen

Die Eigenwerte und damit Σ sind eindeutig bestimmt

U und V sind nicht eindeutig bestimmt Es konnen Drehungenum 180 Grad oder Spiegelungen hinzukommen

Wir konnen in vielen Fallen einen Eigenvektor wahlen(Freiheitsgrade) mussen aber dann bei den Vorzeichen derzweiten Matrix aufpassen

45

Noch einige Bemerkungen

Wir haben implizit den Rang der Ursprungsmatrix A bestimmtDies kann man klar an U middotΣ sehen

A = UΣV T =

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00

radic10 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(radic12radic2

radic10radic2

0radic

12radic2

minusradic

10radic2

0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(3 1 1minus1 3 1

)

46

Noch einige Bemerkungen

Deswegen wird manchmal die Singularwertzerlegung auch alsZerlegung in drei Matrizen Amtimesn = Umtimesr Σrtimesr V T

rtimesn wobei r der Rangder Matrix A ist beschrieben

A = UΣV T =

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00

radic10 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 00

radic10

)( 1radic6

2radic6

1radic6

2radic5

minus1radic5

0

)=

(radic12radic2

radic10radic2radic

12radic2

minusradic

10radic2

)(1radic6

2radic6

1radic6

2radic5

minus1radic5

0

)=

(3 1 1minus1 3 1

)47

Noch einige Bemerkungen

Bisher haben wir immer die Ausgangsmatrix einfach reproduziert(mit dem gleichen Rang) Man sieht den Rang besser und es gilt

Die ldquoZerrungrdquo durch die Matrix Σ ist bei den Dimensionen mit denhochsten Eigenwerten am groszligten Beispiel

(radic12 0 00

radic10 0

)x1

x2

x3

=

(radic12 middot x1radic10 middot x2

)Es macht also Sinn dass wir wenn wir eine Approximationunserer Ausgangsmatrix mit niedrigerem Rang wollen dann dieunwichtigen Dimensionen die durch niedrige Eigenwertegekennzeichnet sind weglassen

48

Ubersicht

1 SVD HauptsatzDer SVD-SatzKonstruktion am Beispiel Methodologie IKonstruktionsmethodologie II

2 Interpretation der SVD

3 Reduced SVD

4 Verwendung in NLP

49

Reduced SVD Approximation niedrigeren Ranges

Approximation von mtimesn Matrix A mit Rang r durch mtimesn -Matrix Ak mit Rang k lt r

A = UΣV T asymp Ak = UΣk V T

Σk ist eine ldquodiagonalerdquo mtimesn - Matrix bei der nur auf den erstenk Stellen der Diagonalmatrix Werte 6= 0 stehen

U und V wie zuvor

50

Beispiel

A = UΣV T =

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00

radic10 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

asymp

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00 0 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(radic12radic2

0 0radic

12radic2

0 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(1 2 11 2 1

)51

Reduced SVD

Wir hatten auch nur die ersten k Spalten von U sowie die ersten kZeilen von V T behalten konnen

Aasymp

(1radic2

1radic2

)(radic12)( 1radic

62radic6

1radic6

)=

(radic12radic2radic

12radic2

)(1radic6

2radic6

1radic6

)=

(1 2 11 2 1

)

52

Als Bild

53

Als Algorithmus

Gegeben mtimesn Matrix A und gewunschter Rank k Wir produziereneine Rangminus k Approximation wie folgt

1 Wir berechnen eine SVD Zerlegung von A

Amtimesn = UmtimesmΣmtimesnV Tntimesn

2 Wir behalten nur die ersten k Spalten von U resultierend in Umtimesk

3 Wir behalten nur die Top k sprich die ersten k Diagonalwerte vonΣ resultierend in Σktimesk

4 Wir behalten nur die ersten k Reihen von V T resultierend in V Tktimesn

54

Reduced SVD

Diagonale Eintrage in Σk sind die k groszligten Eigenwerte vonA middotAT

Satz UΣk V T minimiert die Differenz der Frobenius-Normzwischen A und Ak unter der Bedingung rang(Ak ) = k

Das heisst Fur jede mtimesn Matrix A mit Rang r angestrebtemRang k lt r und jede mtimesn Matrix B mit Rang k gilt

Aminus Ak2 le AminusB2

wobei Ak die Rang-k Approximation ist die man aus der SVD vonA ableiten kann

55

Was hat man erreicht

Unkorrelierte Dimensionen (Orthonormalbasis) die nur nochverzerrt werden

Wir haben die Dimensionen mit der meisten Variation identifiziertund danach geordnet

ldquoUnwichtigerdquo Dimensionen werden weggelassenrarr Rauschenvermindert

Man braucht viel weniger Speicherplatz O(k(n + m)) anstattO(nm)

Die neuen ldquoverstecktenrdquo Dimensionen konnen zurAhnlichkeitsberechnung verwendet werden und funktionieren oftbesser

56

Wie wahlt man k

Meist empirisch Gesehen

1 In NLP oft die ersten 200 bis 300 Dimensionen2 In Recommender Systems Wahle k so dass die Summe der

ersten k Eigenwerte mindestens 10-mal der Summe alleranderen Eigenwerte

57

Ubersicht

1 SVD HauptsatzDer SVD-SatzKonstruktion am Beispiel Methodologie IKonstruktionsmethodologie II

2 Interpretation der SVD

3 Reduced SVD

4 Verwendung in NLP

58

Dichte Embeddings

A ist Matrix von m WorternTermen und n Kontexten (PPMIfrequency )Reduced SVD resultiert in Ak mit

Umtimesk ist mtimes k - MatrixZeilen von Umtimesk reprasentieren TermeSpalten in Umtimesk latente Reprasentation der KontexteBenutze Umtimesk middotΣktimesk zur Berechnung von Termahnlichkeiten

Vorteile gegenuber der vollen Term-Kontext-MatrixDichte MatrixDimensionsreduktion effizientere VerarbeitungDe-Noising

59

Dichte Embeddings

A ist Matrix von m WorternTermen und n Kontexten (PPMIfrequency )Reduced SVD resultiert in Ak mit

Umtimesk ist mtimes k - MatrixZeilen von Umtimesk reprasentieren TermeSpalten in Umtimesk latente Reprasentation der KontexteBenutze Umtimesk middotΣktimesk zur Berechnung von Termahnlichkeiten

Vorteile gegenuber der vollen Term-Kontext-MatrixDichte MatrixDimensionsreduktion effizientere VerarbeitungDe-Noising

59

Dichte Embeddings

A ist Matrix von m WorternTermen und n Kontexten (PPMIfrequency )Reduced SVD resultiert in Ak mit

Umtimesk ist mtimes k - MatrixZeilen von Umtimesk reprasentieren TermeSpalten in Umtimesk latente Reprasentation der KontexteBenutze Umtimesk middotΣktimesk zur Berechnung von Termahnlichkeiten

Vorteile gegenuber der vollen Term-Kontext-MatrixDichte MatrixDimensionsreduktion effizientere VerarbeitungDe-Noising

59

Das Beispiel vom Anfang

Eine Wort-Dokument-Matrix M aus dem R5times3

d1 d2 d3ship 1 1 0boat 0 0 1

ocean 1 0 1motor 1 0 1wood 0 1 0

cossim(shipboat) = 0

cossim(shipocean) =12

cossim(boatocean) =1radic2

= 07

60

SVD Zerlegung war

minus041 07 024minus029 minus033 minus072minus061 minus02 014minus061 minus02 014minus01 057 minus062

227 0 0

0 149 00 0 078

minus072 minus023 minus066019 085 minus05067 minus048 minus056

=

minus093 104 0187minus0658 minus049 minus056minus138 minus0298 01092minus138 minus0298 minus1092minus0227 084 minus0483

minus072 minus023 minus066

019 085 minus05067 minus048 minus056

=

1 1 00 0 11 0 11 0 10 1 0

Abweichungen sind Rundungsfehler61

Niedrigdimensionale Approximation

Die kleinsten Eigenwerte sind die unwichtigsten Wir konnen dieseldquoweglassenrdquo = auf Null setzenrarr eine Matrix mit kleinerem Rang dieaber relativ ahnlich zur Ausgangsmatrix istminus041 07 024minus029 minus033 minus072minus061 minus02 014minus061 minus02 014minus01 057 minus062

227 0 0

0 149 00 0 0

minus072 minus023 minus066019 085 minus05067 minus048 minus056

=

minus093 104 0minus0658 minus049 0minus138 minus0298 0minus138 minus0298 0minus0227 084 0

minus072 minus023 minus066

019 085 minus05067 minus048 minus056

=

087 109 011038 minus027 068093 005 106093 005 106032 077 minus027

62

Die niedrigdimensionale Approximation

Wir interessieren uns fur die Matrix U2 = UΣ2 also die Matrix mit demniedrigerem Rang

minus093 104 0minus0658 minus049 0minus138 minus0298 0minus138 minus0298 0minus0227 084 0

Man kann diese nun als die Reprasentation unserer 5 Worter mit zweiversteckten Dimensionen auffassen

h1 h2ship minus093 104boat minus0658 minus049

ocean minus138 minus0298motor minus138 minus0298wood minus0227 084

63

Neue Ahnlichkeitsberechnungen

h1 h2ship minus093 104boat minus0658 minus049

ocean minus138 minus0298motor minus138 minus0298wood minus0227 084

cossim(shipboat) =(minus093) middot (minus0658) + 104 middot (minus049)radic

(0932 + 1042) middotradic

(06582 + 0492)= 009

cossim(shipocean) =(minus093) middot (minus138) + 104 middot (minus029)radic

(0932 + 1042) middotradic

(1382 + 0292)= 049

cossim(boatocean) = 09

64

Variationen

Benutze nur Umtimesk zur Ahnlichkeitsberechnung

Benutze Umtimesk middotΣpktimesk zur Ahnlichkeitsberechnungrarr Parameter p

sollte getuned werden Kann groszlige Unterschiede machen

Oft p = 0p = 05p = 1

65

Performanz der Reduced-SVD-Embeddings

Levy O Goldberg Y Neural word embedding as implicit matrix factorization In

Advances in neural information processing systems 2014 S 2177-2185

(Englische) Wikipedia 15 Milliarden Tokens

Fenster 2 beiderseits

Vokabular 189 533 fur Terme sowie Kontexte

PPMI Matrizen

SVD sowie ohne Zerlegung (PPMI) sowie neurale (SGNS)

Algorithmus Spearman Rank zu WordSim 353SVD 0652SGNS 0633PPMI 0605

66

Latent Semantic Analysis und Word Embeddings

Levy2014

ldquoWe analyze skip-gram with negative-sampling (SGNS) [] and show that it isimplicitly factorizing a word-context matrix whose cells are the pointwise mutualinformation (PMI) of the respective word and context pairs shifted by a globalconstant When dense low-dimensional vectors are preferred exact factorizationwith SVD can achieve solutions that are at least as good as SGNSrsquoss solutions forword similarity tasks On analogy questions SGNS remains superior to SVD Weconjecture that this stems from the weighted nature of SGNSrsquos factorizationrdquo

67

Zusammenfassung

Reduced SVD resultiert in einer optimalen Approximation derOriginalmatrix mit niedrigerem Rang Optimal = optimal bzgl derFrobeniusnorm (bzw mean squared error)

Dadurch erhalten wir eine mathematisch fundierte dichtereMatrix die Rauschen (weniger wichtige Dimensionen) eliminiert

Wir konnen mittels Umtimesk Σktimesk weiterhin Wortahnlichkeitenberechnen

Es konnen Resultate erreicht werden die bei word similaritymindestens ebensogut sind wie mit neuralen word embeddings

Nachteile Kosten der SVD Berechnung fur mtimesn matrixO(n middotm2) (when m lt n)rarr Nicht gut fur sehr grosse Matrizen

Nachteile Geht nicht gut mit unbekannten Wortern um

Nachteile schlechter bei Wortanalogieaufgaben

68

Literatur

Guter erweiterter Hintergrundhttptheorystanfordedu˜tims15ll7pdf bishttptheorystanfordedu˜tims15ll9pdf

SVD Tutorial (ohne vollstandigen Hintergrund) Kirk Baker(2005) Singular Value Decomposition Tutorialhttpsdatajobscomdata-science-repoSVD-Tutorial-[Kirk-Baker]pdf Leider ist hier imKonstruktionsverfahren I die Vorzeichenproblematikfalschlicherweise nicht behandelt worden

Levy O Goldberg Y Neural word embedding as implicit matrixfactorization In Advances in neural information processingsystems 2014 S 2177-2185

Ubungsblatt II

69

  • SVD Hauptsatz
    • Der SVD-Satz
    • Konstruktion am Beispiel Methodologie I
    • Konstruktionsmethodologie II
      • Interpretation der SVD
      • Reduced SVD
      • Verwendung in NLP

Schritt III Bestimme U

Starte mit einer Matrix U die die bestimmten Eigenvektoren von A middotAT

geordnet nach der Groszlige der jeweiligen Eigenwerte enthalt

1 Fur Eigenwert σ1 = 10 hatten wir x1 = 1 und damit x2 =minus1gewahlt

2 Fur Eigenwert σ1 = 12 hatten wir x1 = 1 und damit x2 = 1 gewahlt3 Spaltenvektoren nach Eigenwertgroszlige geordnet

U =

(1 11 minus1

)

13

Schritt III Bestimme U

Orthonormalisiere mit Gram-Schmidt die Spaltenvektoren von U

U =

(1 11 minus1

)

1 Normalisiere ersten Spaltenvektor u(1) = u(1)

u(1) =

(1radic2

1radic2

)2 Berechne die Senkrechte u(2)minus〈u(1) u(2)〉 middotu(1)

3 Also

(1minus1

)minus〈

(1radic2

1radic2

)

(1minus1

)〉 middot

(1radic2

1radic2

)=

(1minus1

)4 Normalisiere die Senkrechte

(1minus1

)ergibt u(2) =

(1radic2minus1radic

2

)

14

Schritt III Bestimme U

Damit ist

U =

(1radic2

1radic2

1radic2

minus1radic2

)

15

Schritt IV Berechne AT middotA

AT middotA =

3 minus11 31 1

( 3 1 1minus1 3 1

)=

10 0 20 10 42 4 2

16

Schritt V Bestimme die Eigenwerte und Eigenvektoren vonAT middotA

Setze 10 0 20 10 42 4 2

middotx1

x2

x3

= σ

x1

x2

x3

Damit ergibt sich das Gleichungssystem

1 10x1 + 2x3 = σx1

2 10x2 + 4x3 = σx2

3 2x1 + 4x2 + 2x3 = σx3

17

Schritt V Bestimme die Eigenwerte und Eigenvektoren vonAT middotA

Setze 10 0 20 10 42 4 2

middotx1

x2

x3

= σ

x1

x2

x3

Damit ergibt sich das Gleichungssystem

1 10x1 + 2x3 = σx1

2 10x2 + 4x3 = σx2

3 2x1 + 4x2 + 2x3 = σx3

17

Schritt V Bestimme die Eigenwerte und Eigenvektoren vonAT middotA

1 10x1 + 2x3 = σx1

2 10x2 + 4x3 = σx2

3 2x1 + 4x2 + 2x3 = σx3

Gleichung (ii) minus zweimal (i)

10x2 + 4x3minus20x1minus4x3 = σx2minus2σx2

und damit σ1 = 10

Mit ahnlichen Umformungen kann man σ2 = 12 sowie σ3 = 0berechnen

18

Schritt V Bestimme die Eigenwerte und Eigenvektoren vonAT middotA

Drei Eigenwerte σ1 = 10 σ2 = 12 und σ3 = 0 Damit ergibt sich furdie Eigenvektoren

1 10x1 + 2x3 = 10x12 10x2 + 4x3 = 10x23 2x1 + 4x2 + 2x3 = 10x3 und damit4 x3 = 0 aus der ersten Gleichung und damit5 2x1 + 4x2 = 0 bzw x1 =minus2x26 Wir konnen die Lange des Eigenvektors wieder frei wahlen da

wir danach eh normalisieren Allerdings sind die Vorzeichen nichtmehr frei wahlbar da ja insgesamt bei U middotΣ middotV T wieder Aherauskommen muss Darauf macht das Tutorial nichtaufmerksamWir wahlen x1 = 2x2 =minus1 hatten aber auch(falschlicherweise)x1 =minus2x2 = 1 wahlen konnen

Ebenso bestimmen wir fur σ2 = 12 einen Eigenvektor (121) und furσ3 = 0 einen Eigenvektor (12minus5)19

Schritt VI Bestimme V

Starte mit einer Matrix V die die bestimmten Eigenvektoren von AT middotAnach der Groszlige der jeweiligen Eigenwerte als Spaltenvektoren enthalt

1 Fur Eigenwert σ1 = 10 hatten wir (2minus10) gewahlt2 Fur Eigenwert σ2 = 12 hatten wir (121) bestimmt3 Fur Eigenwert σ3 = 0 hatten wir (12minus5) bestimmt4 Spaltenvektoren nach Eigenwertgroszlige geordnet

V =

1 2 12 minus1 21 0 minus5

20

Schritt VI Bestimme V

Orthonormalisiere mit Gram-Schmidt die Spaltenvektoren von V

V =

1 2 12 minus1 21 0 minus5

1 Normalisiere ersten Spaltenvektor v (1) = v(1)

v(1) =

1radic6

2radic6

1radic6

2 Berechne die Senkrechte v (2)minus〈v (1) v (2)〉 middot v (1)

3 Also

2minus10

minus〈

1radic6

2radic6

1radic6

2minus10

〉 middot

1radic6

2radic6

1radic6

=

2minus10

4 Normalisiere die Senkrechte

2minus10

ergibt v (2) =

2radic5minus1radic

50

21

Schritt VI Bestimme V

V =

1 2 12 minus1 21 0 minus5

Schon bestimmt

v (1) =

1radic6

2radic6

1radic6

sowie v (2) =

2radic5minus1radic

50

Dann kann man auch noch v (3) berechnen mit der Senkrechten

v (3)minus〈v (1) v (3)〉 middot v (1)minus〈v (2) v (3)〉 middot v (2)

Dies ergibt

minus23minus43103

Normalisiert v (3) =

1radic302radic30minus5radic

30

22

Schritt VI Bestimme V

Damit

V =

1radic6

2radic5

1radic30

2radic6

minus1radic5

2radic30

1radic6

0 minus5radic30

und damit

V T =

1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

23

Schritt VII Bestimme Σ

Σ ist eine mtimesn (hier 2times3) ldquoDiagonalmatrixrdquo mit den Wurzeln derEigenwerte (von A middotAT bzw U bzw V auf der Diagonale) nach Groszligegeordnet

Σ =

(radic12 0 00

radic10 0

)

24

Alles Zusammen

A = UΣV T =

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00

radic10 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(radic12radic2

radic10radic2

0radic

12radic2

minusradic

10radic2

0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(3 1 1minus1 3 1

)

25

Moglicher Schritt VIII Vorzeichenverbesserung

Nehmen wir mal an wir hatten bei V die falschen Vorzeichen gewahltZum Beispiel wir hatten fur σ2 = 10 anstatt (2minus10) den Vektor(minus210) gewahlt Damit ergibt sich

V =

1 minus2 12 1 21 0 minus5

und

V =

1radic6

minus2radic5

1radic30

2radic6

1radic5

2radic30

1radic6

0 minus5radic30

und

V T =

1radic6

2radic6

1radic6

minus2radic5

1radic5

01radic30

2radic30

minus5radic30

26

Moglicher Schritt VIII Vorzeichenverbesserung

Leider ist nun

UΣV T =

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00

radic10 0

)1radic6

2radic6

1radic6

minus2radic5

1radic5

01radic30

2radic30

minus5radic30

=

(radic12radic2

radic10radic2

0radic

12radic2

minusradic

10radic2

0

)1radic6

2radic6

1radic6

minus2radic5

1radic5

01radic30

2radic30

minus5radic30

=

(minus1 3 13 1 1

)

27

Moglicher Schritt VIII Vorzeichenverbesserung

Die unelegante Losung Gehe durch alle Zeilen von V T (Spalten vonV ) multizipliere sie systematisch mit minus1 bis es passt Durch dieMultiplikation mit minus1 bleiben die Vektoren immer noch normal undauch die Orthogonalitat andert sich nicht

Da eventuell auch mehrere Zeilen mit minus1 multipliziert werdenmussen ist dies leider exponentiell in der Zeilenanzahl von V T

(alle moglichen Kombinationen mussen probiert werden)

Es ist nicht gerade elegant

Man kann naturlich stattdessen auch durch die Spalten von Ugehen und diese anpassen

28

Konstruktionsmethodologie II

1 Berechne die quadratische ntimesn Matrix AT middotA2 Berechne die Eigenwerte σ2

j und Eigenvektoren vj von AT middotA3 Die Vektoren vj werden orthonormalisiert (Gram-Schmidt) und

bilden die Spaltenvektoren von V4 Die Wurzeln der σ2-Werte werden in absteigender Reihenfolge

die Eintrage von Σ

5 Die Spaltenvektoren von U bis zum Rang r der AT middotA Matrix sindnun eindeutig bestimmt aus der Vorgabe A = UΣV T und werdendaraus berechnet

6 Wenn r lt m mussen noch mminus r Vektoren zur Orthonormalbasiserganzt werden

29

Konstruktionsmethodologie II

1 Berechne die quadratische ntimesn Matrix AT middotA2 Berechne die Eigenwerte σ2

j und Eigenvektoren vj von AT middotA3 Die Vektoren vj werden orthonormalisiert (Gram-Schmidt) und

bilden die Spaltenvektoren von V4 Die Wurzeln der σ2-Werte werden in absteigender Reihenfolge

die Eintrage von Σ

5 Die Spaltenvektoren von U bis zum Rang r der AT middotA Matrix sindnun eindeutig bestimmt aus der Vorgabe A = UΣV T und werdendaraus berechnet

6 Wenn r lt m mussen noch mminus r Vektoren zur Orthonormalbasiserganzt werden

29

Konstruktionsmethodologie II

1 Berechne die quadratische ntimesn Matrix AT middotA2 Berechne die Eigenwerte σ2

j und Eigenvektoren vj von AT middotA3 Die Vektoren vj werden orthonormalisiert (Gram-Schmidt) und

bilden die Spaltenvektoren von V4 Die Wurzeln der σ2-Werte werden in absteigender Reihenfolge

die Eintrage von Σ

5 Die Spaltenvektoren von U bis zum Rang r der AT middotA Matrix sindnun eindeutig bestimmt aus der Vorgabe A = UΣV T und werdendaraus berechnet

6 Wenn r lt m mussen noch mminus r Vektoren zur Orthonormalbasiserganzt werden

29

Konstruktionsmethodologie II

1 Berechne die quadratische ntimesn Matrix AT middotA2 Berechne die Eigenwerte σ2

j und Eigenvektoren vj von AT middotA3 Die Vektoren vj werden orthonormalisiert (Gram-Schmidt) und

bilden die Spaltenvektoren von V4 Die Wurzeln der σ2-Werte werden in absteigender Reihenfolge

die Eintrage von Σ

5 Die Spaltenvektoren von U bis zum Rang r der AT middotA Matrix sindnun eindeutig bestimmt aus der Vorgabe A = UΣV T und werdendaraus berechnet

6 Wenn r lt m mussen noch mminus r Vektoren zur Orthonormalbasiserganzt werden

29

Schritt I Bestimme V T und Σ wie bisher

Nach dem ublichen Verfahren sei also V T zum Beispiel1radic6

2radic6

1radic6

minus2radic5

1radic5

01radic30

2radic30

minus5radic30

bzw V

V =

1radic6

minus2radic5

1radic30

2radic6

1radic5

2radic30

1radic6

0 minus5radic30

Die Vorzeichen konnten auch anders seinWeiterhin ist

Σ =

(radic12 0 00

radic10 0

)

30

Schritt II Bestimme U

Es muss gelten

A = UΣV T

und damit

AV = UΣV T V

Da V orthogonal ist V T V die Einheitsmatrix und damit

AV = UΣ

31

Schritt II Bestimme U

Man bilde nun eine ntimesm Matrix Σprime die genau auf denentsprechenden Diagonaleintragen 1σi stehen hat Im Beispiel ist

Σprime =

1radic12

0

0 1radic10

0 0

Es gilt dass Σ middotΣprime die mtimesm Einheitsmatrix istUnd damit

AVΣprime = UΣΣprime = U

32

Schritt II Bestimme U

Also giltU = AVΣprime

Damit gilt fur die Spalten von U wenn man sich dieMatrixmultiplikation genauer anschaut

u(j) =1σj

Av (j)

In unserem Beispiel

u(1) =1radic12

(3 1 1minus1 3 1

)1radic6

2radic6

1radic6

=

(1radic2

1radic2

)

33

Schritt II Bestimme U

Und ebenso

u(2) =1radic10

(3 1 1minus1 3 1

)minus2radic

51radic5

0

=

(minus1radic2

1radic2

)

Man sieht dass sich hier das veranderte Vorzeichen von v (2) imentgegengesetzten Vorzeichen von u(2) widerspiegelt Wir musstenauch nicht zweimal Eigenvektoren berechnen sondern U ist aus denvorherigen Berechnungen bestimmt

34

Beispiel mit einer Matrix mit niedrigerem Rang

Da wir durch 1σj

dividieren mussten geht dies nur fur Eigenwerteungleich Null Wenn aber die Matrizen niedrigere Range haben als mdann bekommen wir so nicht genugend U-Vektoren Was machen wirdann

Beispiel Sei eine Matrix von Rang 1 gegeben

A =

(1 01 0

)

35

Berechnung von V

AT A =

(1 10 0

)(1 01 0

)=

(2 00 0

)

36

Berechnung von V

(2 00 0

)hat die Eigenwerte 2 und 0 mit den jeweiligen Eigenvektoren (10)sowie (01)Daraus folgt

V =

(1 00 1

)Die ist schon eine Orthonormalmatrix also gilt V = V sowie daDiagonalmatrix V T = V

37

Bestimmung von Σ

Es gilt

Σ =

(radic2 0

0 0

)

38

Bestimmung von U

Der erste Spaltenvektor u(1) kann wie ublich bestimmt werden mit

u(1) =1radic2

Av (1) =1radic2

(1 01 0

)(10

)

=1radic2

(11

)=

(1radic2

1radic2

)

39

Bestimmung von U

Da wir keinen weiteren Eigenwert 6= 0 haben konnen wir leider sonicht weitermachen dh es geht nur bis zum Rang von A Es gilt aber(

1radic2

x21radic2

y2

)(radic2 0

0 0

)(1 00 1

)

=

(1 01 0

)= A

unabhangig von x2 und y2 Das heisst unser halb vollstandiges U istgenug fur eine Zerlegung

40

Bestimmung von U

1 Wir konnen also jedes x2 und y2 wahlen solange normiert undsenkrecht auf dem ersten Vektor stehend

2 Nach dem sogenannten Basiserganzungssatz geht dies immer3 In unserem Beispiel konnte man zum Beispiel (minus1radic

2 1radic

2) wahlen

4 Wie genau man diese weiteren Vektoren von U konstruiert ist furuns unerheblich da wir ja sowieso die letzten Spalten von U diezu den niedrigeren Eigenwerten gehoren ldquoabschneidenrdquowerden

41

SVD Zwischenfazit

Wir haben eine Matrix in das Produkt einer OrthonormalmatrixDiagonalmatrix und Orthogonalmatrix zerlegt

Die Diagonalmatrix enthalt die Wurzeln von den Eigenwerten vonA middotAT nach Groszlige geordnet

Die erste Orthonormalmatrix enthalt die orthonormalisiertenEigenvektoren von A middotAT nach Eigenwertgrosse geordnet alsSpalten

Die zweite Orthonormalmatrix ist die Transponierte der Matrixdie die orthonormalisierten Eigenvektoren von AT middotA nachEigenwertgrosse geordnet als Spalten enthalt

42

Ubersicht

1 SVD HauptsatzDer SVD-SatzKonstruktion am Beispiel Methodologie IKonstruktionsmethodologie II

2 Interpretation der SVD

3 Reduced SVD

4 Verwendung in NLP

43

Geometrische Interpretation bei quadratischen Matrizen

Bedeutung der SVD ist dass sich die Funktion in eine DrehungDrehspiegelung (V T )eine Verzerrung (Σ) und eine zweite DrehungDrehspiegelung (U) zerlegen lsst

Matrix

(1 10 1

)SVD Geometrische Interpretationa

aQuelle httpscommonswikimediaorgwikiFileSingular-Value-Decompositionsvg

44

Noch einige Bemerkungen

Die Eigenwerte und damit Σ sind eindeutig bestimmt

U und V sind nicht eindeutig bestimmt Es konnen Drehungenum 180 Grad oder Spiegelungen hinzukommen

Wir konnen in vielen Fallen einen Eigenvektor wahlen(Freiheitsgrade) mussen aber dann bei den Vorzeichen derzweiten Matrix aufpassen

45

Noch einige Bemerkungen

Wir haben implizit den Rang der Ursprungsmatrix A bestimmtDies kann man klar an U middotΣ sehen

A = UΣV T =

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00

radic10 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(radic12radic2

radic10radic2

0radic

12radic2

minusradic

10radic2

0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(3 1 1minus1 3 1

)

46

Noch einige Bemerkungen

Deswegen wird manchmal die Singularwertzerlegung auch alsZerlegung in drei Matrizen Amtimesn = Umtimesr Σrtimesr V T

rtimesn wobei r der Rangder Matrix A ist beschrieben

A = UΣV T =

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00

radic10 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 00

radic10

)( 1radic6

2radic6

1radic6

2radic5

minus1radic5

0

)=

(radic12radic2

radic10radic2radic

12radic2

minusradic

10radic2

)(1radic6

2radic6

1radic6

2radic5

minus1radic5

0

)=

(3 1 1minus1 3 1

)47

Noch einige Bemerkungen

Bisher haben wir immer die Ausgangsmatrix einfach reproduziert(mit dem gleichen Rang) Man sieht den Rang besser und es gilt

Die ldquoZerrungrdquo durch die Matrix Σ ist bei den Dimensionen mit denhochsten Eigenwerten am groszligten Beispiel

(radic12 0 00

radic10 0

)x1

x2

x3

=

(radic12 middot x1radic10 middot x2

)Es macht also Sinn dass wir wenn wir eine Approximationunserer Ausgangsmatrix mit niedrigerem Rang wollen dann dieunwichtigen Dimensionen die durch niedrige Eigenwertegekennzeichnet sind weglassen

48

Ubersicht

1 SVD HauptsatzDer SVD-SatzKonstruktion am Beispiel Methodologie IKonstruktionsmethodologie II

2 Interpretation der SVD

3 Reduced SVD

4 Verwendung in NLP

49

Reduced SVD Approximation niedrigeren Ranges

Approximation von mtimesn Matrix A mit Rang r durch mtimesn -Matrix Ak mit Rang k lt r

A = UΣV T asymp Ak = UΣk V T

Σk ist eine ldquodiagonalerdquo mtimesn - Matrix bei der nur auf den erstenk Stellen der Diagonalmatrix Werte 6= 0 stehen

U und V wie zuvor

50

Beispiel

A = UΣV T =

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00

radic10 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

asymp

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00 0 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(radic12radic2

0 0radic

12radic2

0 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(1 2 11 2 1

)51

Reduced SVD

Wir hatten auch nur die ersten k Spalten von U sowie die ersten kZeilen von V T behalten konnen

Aasymp

(1radic2

1radic2

)(radic12)( 1radic

62radic6

1radic6

)=

(radic12radic2radic

12radic2

)(1radic6

2radic6

1radic6

)=

(1 2 11 2 1

)

52

Als Bild

53

Als Algorithmus

Gegeben mtimesn Matrix A und gewunschter Rank k Wir produziereneine Rangminus k Approximation wie folgt

1 Wir berechnen eine SVD Zerlegung von A

Amtimesn = UmtimesmΣmtimesnV Tntimesn

2 Wir behalten nur die ersten k Spalten von U resultierend in Umtimesk

3 Wir behalten nur die Top k sprich die ersten k Diagonalwerte vonΣ resultierend in Σktimesk

4 Wir behalten nur die ersten k Reihen von V T resultierend in V Tktimesn

54

Reduced SVD

Diagonale Eintrage in Σk sind die k groszligten Eigenwerte vonA middotAT

Satz UΣk V T minimiert die Differenz der Frobenius-Normzwischen A und Ak unter der Bedingung rang(Ak ) = k

Das heisst Fur jede mtimesn Matrix A mit Rang r angestrebtemRang k lt r und jede mtimesn Matrix B mit Rang k gilt

Aminus Ak2 le AminusB2

wobei Ak die Rang-k Approximation ist die man aus der SVD vonA ableiten kann

55

Was hat man erreicht

Unkorrelierte Dimensionen (Orthonormalbasis) die nur nochverzerrt werden

Wir haben die Dimensionen mit der meisten Variation identifiziertund danach geordnet

ldquoUnwichtigerdquo Dimensionen werden weggelassenrarr Rauschenvermindert

Man braucht viel weniger Speicherplatz O(k(n + m)) anstattO(nm)

Die neuen ldquoverstecktenrdquo Dimensionen konnen zurAhnlichkeitsberechnung verwendet werden und funktionieren oftbesser

56

Wie wahlt man k

Meist empirisch Gesehen

1 In NLP oft die ersten 200 bis 300 Dimensionen2 In Recommender Systems Wahle k so dass die Summe der

ersten k Eigenwerte mindestens 10-mal der Summe alleranderen Eigenwerte

57

Ubersicht

1 SVD HauptsatzDer SVD-SatzKonstruktion am Beispiel Methodologie IKonstruktionsmethodologie II

2 Interpretation der SVD

3 Reduced SVD

4 Verwendung in NLP

58

Dichte Embeddings

A ist Matrix von m WorternTermen und n Kontexten (PPMIfrequency )Reduced SVD resultiert in Ak mit

Umtimesk ist mtimes k - MatrixZeilen von Umtimesk reprasentieren TermeSpalten in Umtimesk latente Reprasentation der KontexteBenutze Umtimesk middotΣktimesk zur Berechnung von Termahnlichkeiten

Vorteile gegenuber der vollen Term-Kontext-MatrixDichte MatrixDimensionsreduktion effizientere VerarbeitungDe-Noising

59

Dichte Embeddings

A ist Matrix von m WorternTermen und n Kontexten (PPMIfrequency )Reduced SVD resultiert in Ak mit

Umtimesk ist mtimes k - MatrixZeilen von Umtimesk reprasentieren TermeSpalten in Umtimesk latente Reprasentation der KontexteBenutze Umtimesk middotΣktimesk zur Berechnung von Termahnlichkeiten

Vorteile gegenuber der vollen Term-Kontext-MatrixDichte MatrixDimensionsreduktion effizientere VerarbeitungDe-Noising

59

Dichte Embeddings

A ist Matrix von m WorternTermen und n Kontexten (PPMIfrequency )Reduced SVD resultiert in Ak mit

Umtimesk ist mtimes k - MatrixZeilen von Umtimesk reprasentieren TermeSpalten in Umtimesk latente Reprasentation der KontexteBenutze Umtimesk middotΣktimesk zur Berechnung von Termahnlichkeiten

Vorteile gegenuber der vollen Term-Kontext-MatrixDichte MatrixDimensionsreduktion effizientere VerarbeitungDe-Noising

59

Das Beispiel vom Anfang

Eine Wort-Dokument-Matrix M aus dem R5times3

d1 d2 d3ship 1 1 0boat 0 0 1

ocean 1 0 1motor 1 0 1wood 0 1 0

cossim(shipboat) = 0

cossim(shipocean) =12

cossim(boatocean) =1radic2

= 07

60

SVD Zerlegung war

minus041 07 024minus029 minus033 minus072minus061 minus02 014minus061 minus02 014minus01 057 minus062

227 0 0

0 149 00 0 078

minus072 minus023 minus066019 085 minus05067 minus048 minus056

=

minus093 104 0187minus0658 minus049 minus056minus138 minus0298 01092minus138 minus0298 minus1092minus0227 084 minus0483

minus072 minus023 minus066

019 085 minus05067 minus048 minus056

=

1 1 00 0 11 0 11 0 10 1 0

Abweichungen sind Rundungsfehler61

Niedrigdimensionale Approximation

Die kleinsten Eigenwerte sind die unwichtigsten Wir konnen dieseldquoweglassenrdquo = auf Null setzenrarr eine Matrix mit kleinerem Rang dieaber relativ ahnlich zur Ausgangsmatrix istminus041 07 024minus029 minus033 minus072minus061 minus02 014minus061 minus02 014minus01 057 minus062

227 0 0

0 149 00 0 0

minus072 minus023 minus066019 085 minus05067 minus048 minus056

=

minus093 104 0minus0658 minus049 0minus138 minus0298 0minus138 minus0298 0minus0227 084 0

minus072 minus023 minus066

019 085 minus05067 minus048 minus056

=

087 109 011038 minus027 068093 005 106093 005 106032 077 minus027

62

Die niedrigdimensionale Approximation

Wir interessieren uns fur die Matrix U2 = UΣ2 also die Matrix mit demniedrigerem Rang

minus093 104 0minus0658 minus049 0minus138 minus0298 0minus138 minus0298 0minus0227 084 0

Man kann diese nun als die Reprasentation unserer 5 Worter mit zweiversteckten Dimensionen auffassen

h1 h2ship minus093 104boat minus0658 minus049

ocean minus138 minus0298motor minus138 minus0298wood minus0227 084

63

Neue Ahnlichkeitsberechnungen

h1 h2ship minus093 104boat minus0658 minus049

ocean minus138 minus0298motor minus138 minus0298wood minus0227 084

cossim(shipboat) =(minus093) middot (minus0658) + 104 middot (minus049)radic

(0932 + 1042) middotradic

(06582 + 0492)= 009

cossim(shipocean) =(minus093) middot (minus138) + 104 middot (minus029)radic

(0932 + 1042) middotradic

(1382 + 0292)= 049

cossim(boatocean) = 09

64

Variationen

Benutze nur Umtimesk zur Ahnlichkeitsberechnung

Benutze Umtimesk middotΣpktimesk zur Ahnlichkeitsberechnungrarr Parameter p

sollte getuned werden Kann groszlige Unterschiede machen

Oft p = 0p = 05p = 1

65

Performanz der Reduced-SVD-Embeddings

Levy O Goldberg Y Neural word embedding as implicit matrix factorization In

Advances in neural information processing systems 2014 S 2177-2185

(Englische) Wikipedia 15 Milliarden Tokens

Fenster 2 beiderseits

Vokabular 189 533 fur Terme sowie Kontexte

PPMI Matrizen

SVD sowie ohne Zerlegung (PPMI) sowie neurale (SGNS)

Algorithmus Spearman Rank zu WordSim 353SVD 0652SGNS 0633PPMI 0605

66

Latent Semantic Analysis und Word Embeddings

Levy2014

ldquoWe analyze skip-gram with negative-sampling (SGNS) [] and show that it isimplicitly factorizing a word-context matrix whose cells are the pointwise mutualinformation (PMI) of the respective word and context pairs shifted by a globalconstant When dense low-dimensional vectors are preferred exact factorizationwith SVD can achieve solutions that are at least as good as SGNSrsquoss solutions forword similarity tasks On analogy questions SGNS remains superior to SVD Weconjecture that this stems from the weighted nature of SGNSrsquos factorizationrdquo

67

Zusammenfassung

Reduced SVD resultiert in einer optimalen Approximation derOriginalmatrix mit niedrigerem Rang Optimal = optimal bzgl derFrobeniusnorm (bzw mean squared error)

Dadurch erhalten wir eine mathematisch fundierte dichtereMatrix die Rauschen (weniger wichtige Dimensionen) eliminiert

Wir konnen mittels Umtimesk Σktimesk weiterhin Wortahnlichkeitenberechnen

Es konnen Resultate erreicht werden die bei word similaritymindestens ebensogut sind wie mit neuralen word embeddings

Nachteile Kosten der SVD Berechnung fur mtimesn matrixO(n middotm2) (when m lt n)rarr Nicht gut fur sehr grosse Matrizen

Nachteile Geht nicht gut mit unbekannten Wortern um

Nachteile schlechter bei Wortanalogieaufgaben

68

Literatur

Guter erweiterter Hintergrundhttptheorystanfordedu˜tims15ll7pdf bishttptheorystanfordedu˜tims15ll9pdf

SVD Tutorial (ohne vollstandigen Hintergrund) Kirk Baker(2005) Singular Value Decomposition Tutorialhttpsdatajobscomdata-science-repoSVD-Tutorial-[Kirk-Baker]pdf Leider ist hier imKonstruktionsverfahren I die Vorzeichenproblematikfalschlicherweise nicht behandelt worden

Levy O Goldberg Y Neural word embedding as implicit matrixfactorization In Advances in neural information processingsystems 2014 S 2177-2185

Ubungsblatt II

69

  • SVD Hauptsatz
    • Der SVD-Satz
    • Konstruktion am Beispiel Methodologie I
    • Konstruktionsmethodologie II
      • Interpretation der SVD
      • Reduced SVD
      • Verwendung in NLP

Schritt III Bestimme U

Orthonormalisiere mit Gram-Schmidt die Spaltenvektoren von U

U =

(1 11 minus1

)

1 Normalisiere ersten Spaltenvektor u(1) = u(1)

u(1) =

(1radic2

1radic2

)2 Berechne die Senkrechte u(2)minus〈u(1) u(2)〉 middotu(1)

3 Also

(1minus1

)minus〈

(1radic2

1radic2

)

(1minus1

)〉 middot

(1radic2

1radic2

)=

(1minus1

)4 Normalisiere die Senkrechte

(1minus1

)ergibt u(2) =

(1radic2minus1radic

2

)

14

Schritt III Bestimme U

Damit ist

U =

(1radic2

1radic2

1radic2

minus1radic2

)

15

Schritt IV Berechne AT middotA

AT middotA =

3 minus11 31 1

( 3 1 1minus1 3 1

)=

10 0 20 10 42 4 2

16

Schritt V Bestimme die Eigenwerte und Eigenvektoren vonAT middotA

Setze 10 0 20 10 42 4 2

middotx1

x2

x3

= σ

x1

x2

x3

Damit ergibt sich das Gleichungssystem

1 10x1 + 2x3 = σx1

2 10x2 + 4x3 = σx2

3 2x1 + 4x2 + 2x3 = σx3

17

Schritt V Bestimme die Eigenwerte und Eigenvektoren vonAT middotA

Setze 10 0 20 10 42 4 2

middotx1

x2

x3

= σ

x1

x2

x3

Damit ergibt sich das Gleichungssystem

1 10x1 + 2x3 = σx1

2 10x2 + 4x3 = σx2

3 2x1 + 4x2 + 2x3 = σx3

17

Schritt V Bestimme die Eigenwerte und Eigenvektoren vonAT middotA

1 10x1 + 2x3 = σx1

2 10x2 + 4x3 = σx2

3 2x1 + 4x2 + 2x3 = σx3

Gleichung (ii) minus zweimal (i)

10x2 + 4x3minus20x1minus4x3 = σx2minus2σx2

und damit σ1 = 10

Mit ahnlichen Umformungen kann man σ2 = 12 sowie σ3 = 0berechnen

18

Schritt V Bestimme die Eigenwerte und Eigenvektoren vonAT middotA

Drei Eigenwerte σ1 = 10 σ2 = 12 und σ3 = 0 Damit ergibt sich furdie Eigenvektoren

1 10x1 + 2x3 = 10x12 10x2 + 4x3 = 10x23 2x1 + 4x2 + 2x3 = 10x3 und damit4 x3 = 0 aus der ersten Gleichung und damit5 2x1 + 4x2 = 0 bzw x1 =minus2x26 Wir konnen die Lange des Eigenvektors wieder frei wahlen da

wir danach eh normalisieren Allerdings sind die Vorzeichen nichtmehr frei wahlbar da ja insgesamt bei U middotΣ middotV T wieder Aherauskommen muss Darauf macht das Tutorial nichtaufmerksamWir wahlen x1 = 2x2 =minus1 hatten aber auch(falschlicherweise)x1 =minus2x2 = 1 wahlen konnen

Ebenso bestimmen wir fur σ2 = 12 einen Eigenvektor (121) und furσ3 = 0 einen Eigenvektor (12minus5)19

Schritt VI Bestimme V

Starte mit einer Matrix V die die bestimmten Eigenvektoren von AT middotAnach der Groszlige der jeweiligen Eigenwerte als Spaltenvektoren enthalt

1 Fur Eigenwert σ1 = 10 hatten wir (2minus10) gewahlt2 Fur Eigenwert σ2 = 12 hatten wir (121) bestimmt3 Fur Eigenwert σ3 = 0 hatten wir (12minus5) bestimmt4 Spaltenvektoren nach Eigenwertgroszlige geordnet

V =

1 2 12 minus1 21 0 minus5

20

Schritt VI Bestimme V

Orthonormalisiere mit Gram-Schmidt die Spaltenvektoren von V

V =

1 2 12 minus1 21 0 minus5

1 Normalisiere ersten Spaltenvektor v (1) = v(1)

v(1) =

1radic6

2radic6

1radic6

2 Berechne die Senkrechte v (2)minus〈v (1) v (2)〉 middot v (1)

3 Also

2minus10

minus〈

1radic6

2radic6

1radic6

2minus10

〉 middot

1radic6

2radic6

1radic6

=

2minus10

4 Normalisiere die Senkrechte

2minus10

ergibt v (2) =

2radic5minus1radic

50

21

Schritt VI Bestimme V

V =

1 2 12 minus1 21 0 minus5

Schon bestimmt

v (1) =

1radic6

2radic6

1radic6

sowie v (2) =

2radic5minus1radic

50

Dann kann man auch noch v (3) berechnen mit der Senkrechten

v (3)minus〈v (1) v (3)〉 middot v (1)minus〈v (2) v (3)〉 middot v (2)

Dies ergibt

minus23minus43103

Normalisiert v (3) =

1radic302radic30minus5radic

30

22

Schritt VI Bestimme V

Damit

V =

1radic6

2radic5

1radic30

2radic6

minus1radic5

2radic30

1radic6

0 minus5radic30

und damit

V T =

1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

23

Schritt VII Bestimme Σ

Σ ist eine mtimesn (hier 2times3) ldquoDiagonalmatrixrdquo mit den Wurzeln derEigenwerte (von A middotAT bzw U bzw V auf der Diagonale) nach Groszligegeordnet

Σ =

(radic12 0 00

radic10 0

)

24

Alles Zusammen

A = UΣV T =

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00

radic10 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(radic12radic2

radic10radic2

0radic

12radic2

minusradic

10radic2

0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(3 1 1minus1 3 1

)

25

Moglicher Schritt VIII Vorzeichenverbesserung

Nehmen wir mal an wir hatten bei V die falschen Vorzeichen gewahltZum Beispiel wir hatten fur σ2 = 10 anstatt (2minus10) den Vektor(minus210) gewahlt Damit ergibt sich

V =

1 minus2 12 1 21 0 minus5

und

V =

1radic6

minus2radic5

1radic30

2radic6

1radic5

2radic30

1radic6

0 minus5radic30

und

V T =

1radic6

2radic6

1radic6

minus2radic5

1radic5

01radic30

2radic30

minus5radic30

26

Moglicher Schritt VIII Vorzeichenverbesserung

Leider ist nun

UΣV T =

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00

radic10 0

)1radic6

2radic6

1radic6

minus2radic5

1radic5

01radic30

2radic30

minus5radic30

=

(radic12radic2

radic10radic2

0radic

12radic2

minusradic

10radic2

0

)1radic6

2radic6

1radic6

minus2radic5

1radic5

01radic30

2radic30

minus5radic30

=

(minus1 3 13 1 1

)

27

Moglicher Schritt VIII Vorzeichenverbesserung

Die unelegante Losung Gehe durch alle Zeilen von V T (Spalten vonV ) multizipliere sie systematisch mit minus1 bis es passt Durch dieMultiplikation mit minus1 bleiben die Vektoren immer noch normal undauch die Orthogonalitat andert sich nicht

Da eventuell auch mehrere Zeilen mit minus1 multipliziert werdenmussen ist dies leider exponentiell in der Zeilenanzahl von V T

(alle moglichen Kombinationen mussen probiert werden)

Es ist nicht gerade elegant

Man kann naturlich stattdessen auch durch die Spalten von Ugehen und diese anpassen

28

Konstruktionsmethodologie II

1 Berechne die quadratische ntimesn Matrix AT middotA2 Berechne die Eigenwerte σ2

j und Eigenvektoren vj von AT middotA3 Die Vektoren vj werden orthonormalisiert (Gram-Schmidt) und

bilden die Spaltenvektoren von V4 Die Wurzeln der σ2-Werte werden in absteigender Reihenfolge

die Eintrage von Σ

5 Die Spaltenvektoren von U bis zum Rang r der AT middotA Matrix sindnun eindeutig bestimmt aus der Vorgabe A = UΣV T und werdendaraus berechnet

6 Wenn r lt m mussen noch mminus r Vektoren zur Orthonormalbasiserganzt werden

29

Konstruktionsmethodologie II

1 Berechne die quadratische ntimesn Matrix AT middotA2 Berechne die Eigenwerte σ2

j und Eigenvektoren vj von AT middotA3 Die Vektoren vj werden orthonormalisiert (Gram-Schmidt) und

bilden die Spaltenvektoren von V4 Die Wurzeln der σ2-Werte werden in absteigender Reihenfolge

die Eintrage von Σ

5 Die Spaltenvektoren von U bis zum Rang r der AT middotA Matrix sindnun eindeutig bestimmt aus der Vorgabe A = UΣV T und werdendaraus berechnet

6 Wenn r lt m mussen noch mminus r Vektoren zur Orthonormalbasiserganzt werden

29

Konstruktionsmethodologie II

1 Berechne die quadratische ntimesn Matrix AT middotA2 Berechne die Eigenwerte σ2

j und Eigenvektoren vj von AT middotA3 Die Vektoren vj werden orthonormalisiert (Gram-Schmidt) und

bilden die Spaltenvektoren von V4 Die Wurzeln der σ2-Werte werden in absteigender Reihenfolge

die Eintrage von Σ

5 Die Spaltenvektoren von U bis zum Rang r der AT middotA Matrix sindnun eindeutig bestimmt aus der Vorgabe A = UΣV T und werdendaraus berechnet

6 Wenn r lt m mussen noch mminus r Vektoren zur Orthonormalbasiserganzt werden

29

Konstruktionsmethodologie II

1 Berechne die quadratische ntimesn Matrix AT middotA2 Berechne die Eigenwerte σ2

j und Eigenvektoren vj von AT middotA3 Die Vektoren vj werden orthonormalisiert (Gram-Schmidt) und

bilden die Spaltenvektoren von V4 Die Wurzeln der σ2-Werte werden in absteigender Reihenfolge

die Eintrage von Σ

5 Die Spaltenvektoren von U bis zum Rang r der AT middotA Matrix sindnun eindeutig bestimmt aus der Vorgabe A = UΣV T und werdendaraus berechnet

6 Wenn r lt m mussen noch mminus r Vektoren zur Orthonormalbasiserganzt werden

29

Schritt I Bestimme V T und Σ wie bisher

Nach dem ublichen Verfahren sei also V T zum Beispiel1radic6

2radic6

1radic6

minus2radic5

1radic5

01radic30

2radic30

minus5radic30

bzw V

V =

1radic6

minus2radic5

1radic30

2radic6

1radic5

2radic30

1radic6

0 minus5radic30

Die Vorzeichen konnten auch anders seinWeiterhin ist

Σ =

(radic12 0 00

radic10 0

)

30

Schritt II Bestimme U

Es muss gelten

A = UΣV T

und damit

AV = UΣV T V

Da V orthogonal ist V T V die Einheitsmatrix und damit

AV = UΣ

31

Schritt II Bestimme U

Man bilde nun eine ntimesm Matrix Σprime die genau auf denentsprechenden Diagonaleintragen 1σi stehen hat Im Beispiel ist

Σprime =

1radic12

0

0 1radic10

0 0

Es gilt dass Σ middotΣprime die mtimesm Einheitsmatrix istUnd damit

AVΣprime = UΣΣprime = U

32

Schritt II Bestimme U

Also giltU = AVΣprime

Damit gilt fur die Spalten von U wenn man sich dieMatrixmultiplikation genauer anschaut

u(j) =1σj

Av (j)

In unserem Beispiel

u(1) =1radic12

(3 1 1minus1 3 1

)1radic6

2radic6

1radic6

=

(1radic2

1radic2

)

33

Schritt II Bestimme U

Und ebenso

u(2) =1radic10

(3 1 1minus1 3 1

)minus2radic

51radic5

0

=

(minus1radic2

1radic2

)

Man sieht dass sich hier das veranderte Vorzeichen von v (2) imentgegengesetzten Vorzeichen von u(2) widerspiegelt Wir musstenauch nicht zweimal Eigenvektoren berechnen sondern U ist aus denvorherigen Berechnungen bestimmt

34

Beispiel mit einer Matrix mit niedrigerem Rang

Da wir durch 1σj

dividieren mussten geht dies nur fur Eigenwerteungleich Null Wenn aber die Matrizen niedrigere Range haben als mdann bekommen wir so nicht genugend U-Vektoren Was machen wirdann

Beispiel Sei eine Matrix von Rang 1 gegeben

A =

(1 01 0

)

35

Berechnung von V

AT A =

(1 10 0

)(1 01 0

)=

(2 00 0

)

36

Berechnung von V

(2 00 0

)hat die Eigenwerte 2 und 0 mit den jeweiligen Eigenvektoren (10)sowie (01)Daraus folgt

V =

(1 00 1

)Die ist schon eine Orthonormalmatrix also gilt V = V sowie daDiagonalmatrix V T = V

37

Bestimmung von Σ

Es gilt

Σ =

(radic2 0

0 0

)

38

Bestimmung von U

Der erste Spaltenvektor u(1) kann wie ublich bestimmt werden mit

u(1) =1radic2

Av (1) =1radic2

(1 01 0

)(10

)

=1radic2

(11

)=

(1radic2

1radic2

)

39

Bestimmung von U

Da wir keinen weiteren Eigenwert 6= 0 haben konnen wir leider sonicht weitermachen dh es geht nur bis zum Rang von A Es gilt aber(

1radic2

x21radic2

y2

)(radic2 0

0 0

)(1 00 1

)

=

(1 01 0

)= A

unabhangig von x2 und y2 Das heisst unser halb vollstandiges U istgenug fur eine Zerlegung

40

Bestimmung von U

1 Wir konnen also jedes x2 und y2 wahlen solange normiert undsenkrecht auf dem ersten Vektor stehend

2 Nach dem sogenannten Basiserganzungssatz geht dies immer3 In unserem Beispiel konnte man zum Beispiel (minus1radic

2 1radic

2) wahlen

4 Wie genau man diese weiteren Vektoren von U konstruiert ist furuns unerheblich da wir ja sowieso die letzten Spalten von U diezu den niedrigeren Eigenwerten gehoren ldquoabschneidenrdquowerden

41

SVD Zwischenfazit

Wir haben eine Matrix in das Produkt einer OrthonormalmatrixDiagonalmatrix und Orthogonalmatrix zerlegt

Die Diagonalmatrix enthalt die Wurzeln von den Eigenwerten vonA middotAT nach Groszlige geordnet

Die erste Orthonormalmatrix enthalt die orthonormalisiertenEigenvektoren von A middotAT nach Eigenwertgrosse geordnet alsSpalten

Die zweite Orthonormalmatrix ist die Transponierte der Matrixdie die orthonormalisierten Eigenvektoren von AT middotA nachEigenwertgrosse geordnet als Spalten enthalt

42

Ubersicht

1 SVD HauptsatzDer SVD-SatzKonstruktion am Beispiel Methodologie IKonstruktionsmethodologie II

2 Interpretation der SVD

3 Reduced SVD

4 Verwendung in NLP

43

Geometrische Interpretation bei quadratischen Matrizen

Bedeutung der SVD ist dass sich die Funktion in eine DrehungDrehspiegelung (V T )eine Verzerrung (Σ) und eine zweite DrehungDrehspiegelung (U) zerlegen lsst

Matrix

(1 10 1

)SVD Geometrische Interpretationa

aQuelle httpscommonswikimediaorgwikiFileSingular-Value-Decompositionsvg

44

Noch einige Bemerkungen

Die Eigenwerte und damit Σ sind eindeutig bestimmt

U und V sind nicht eindeutig bestimmt Es konnen Drehungenum 180 Grad oder Spiegelungen hinzukommen

Wir konnen in vielen Fallen einen Eigenvektor wahlen(Freiheitsgrade) mussen aber dann bei den Vorzeichen derzweiten Matrix aufpassen

45

Noch einige Bemerkungen

Wir haben implizit den Rang der Ursprungsmatrix A bestimmtDies kann man klar an U middotΣ sehen

A = UΣV T =

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00

radic10 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(radic12radic2

radic10radic2

0radic

12radic2

minusradic

10radic2

0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(3 1 1minus1 3 1

)

46

Noch einige Bemerkungen

Deswegen wird manchmal die Singularwertzerlegung auch alsZerlegung in drei Matrizen Amtimesn = Umtimesr Σrtimesr V T

rtimesn wobei r der Rangder Matrix A ist beschrieben

A = UΣV T =

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00

radic10 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 00

radic10

)( 1radic6

2radic6

1radic6

2radic5

minus1radic5

0

)=

(radic12radic2

radic10radic2radic

12radic2

minusradic

10radic2

)(1radic6

2radic6

1radic6

2radic5

minus1radic5

0

)=

(3 1 1minus1 3 1

)47

Noch einige Bemerkungen

Bisher haben wir immer die Ausgangsmatrix einfach reproduziert(mit dem gleichen Rang) Man sieht den Rang besser und es gilt

Die ldquoZerrungrdquo durch die Matrix Σ ist bei den Dimensionen mit denhochsten Eigenwerten am groszligten Beispiel

(radic12 0 00

radic10 0

)x1

x2

x3

=

(radic12 middot x1radic10 middot x2

)Es macht also Sinn dass wir wenn wir eine Approximationunserer Ausgangsmatrix mit niedrigerem Rang wollen dann dieunwichtigen Dimensionen die durch niedrige Eigenwertegekennzeichnet sind weglassen

48

Ubersicht

1 SVD HauptsatzDer SVD-SatzKonstruktion am Beispiel Methodologie IKonstruktionsmethodologie II

2 Interpretation der SVD

3 Reduced SVD

4 Verwendung in NLP

49

Reduced SVD Approximation niedrigeren Ranges

Approximation von mtimesn Matrix A mit Rang r durch mtimesn -Matrix Ak mit Rang k lt r

A = UΣV T asymp Ak = UΣk V T

Σk ist eine ldquodiagonalerdquo mtimesn - Matrix bei der nur auf den erstenk Stellen der Diagonalmatrix Werte 6= 0 stehen

U und V wie zuvor

50

Beispiel

A = UΣV T =

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00

radic10 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

asymp

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00 0 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(radic12radic2

0 0radic

12radic2

0 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(1 2 11 2 1

)51

Reduced SVD

Wir hatten auch nur die ersten k Spalten von U sowie die ersten kZeilen von V T behalten konnen

Aasymp

(1radic2

1radic2

)(radic12)( 1radic

62radic6

1radic6

)=

(radic12radic2radic

12radic2

)(1radic6

2radic6

1radic6

)=

(1 2 11 2 1

)

52

Als Bild

53

Als Algorithmus

Gegeben mtimesn Matrix A und gewunschter Rank k Wir produziereneine Rangminus k Approximation wie folgt

1 Wir berechnen eine SVD Zerlegung von A

Amtimesn = UmtimesmΣmtimesnV Tntimesn

2 Wir behalten nur die ersten k Spalten von U resultierend in Umtimesk

3 Wir behalten nur die Top k sprich die ersten k Diagonalwerte vonΣ resultierend in Σktimesk

4 Wir behalten nur die ersten k Reihen von V T resultierend in V Tktimesn

54

Reduced SVD

Diagonale Eintrage in Σk sind die k groszligten Eigenwerte vonA middotAT

Satz UΣk V T minimiert die Differenz der Frobenius-Normzwischen A und Ak unter der Bedingung rang(Ak ) = k

Das heisst Fur jede mtimesn Matrix A mit Rang r angestrebtemRang k lt r und jede mtimesn Matrix B mit Rang k gilt

Aminus Ak2 le AminusB2

wobei Ak die Rang-k Approximation ist die man aus der SVD vonA ableiten kann

55

Was hat man erreicht

Unkorrelierte Dimensionen (Orthonormalbasis) die nur nochverzerrt werden

Wir haben die Dimensionen mit der meisten Variation identifiziertund danach geordnet

ldquoUnwichtigerdquo Dimensionen werden weggelassenrarr Rauschenvermindert

Man braucht viel weniger Speicherplatz O(k(n + m)) anstattO(nm)

Die neuen ldquoverstecktenrdquo Dimensionen konnen zurAhnlichkeitsberechnung verwendet werden und funktionieren oftbesser

56

Wie wahlt man k

Meist empirisch Gesehen

1 In NLP oft die ersten 200 bis 300 Dimensionen2 In Recommender Systems Wahle k so dass die Summe der

ersten k Eigenwerte mindestens 10-mal der Summe alleranderen Eigenwerte

57

Ubersicht

1 SVD HauptsatzDer SVD-SatzKonstruktion am Beispiel Methodologie IKonstruktionsmethodologie II

2 Interpretation der SVD

3 Reduced SVD

4 Verwendung in NLP

58

Dichte Embeddings

A ist Matrix von m WorternTermen und n Kontexten (PPMIfrequency )Reduced SVD resultiert in Ak mit

Umtimesk ist mtimes k - MatrixZeilen von Umtimesk reprasentieren TermeSpalten in Umtimesk latente Reprasentation der KontexteBenutze Umtimesk middotΣktimesk zur Berechnung von Termahnlichkeiten

Vorteile gegenuber der vollen Term-Kontext-MatrixDichte MatrixDimensionsreduktion effizientere VerarbeitungDe-Noising

59

Dichte Embeddings

A ist Matrix von m WorternTermen und n Kontexten (PPMIfrequency )Reduced SVD resultiert in Ak mit

Umtimesk ist mtimes k - MatrixZeilen von Umtimesk reprasentieren TermeSpalten in Umtimesk latente Reprasentation der KontexteBenutze Umtimesk middotΣktimesk zur Berechnung von Termahnlichkeiten

Vorteile gegenuber der vollen Term-Kontext-MatrixDichte MatrixDimensionsreduktion effizientere VerarbeitungDe-Noising

59

Dichte Embeddings

A ist Matrix von m WorternTermen und n Kontexten (PPMIfrequency )Reduced SVD resultiert in Ak mit

Umtimesk ist mtimes k - MatrixZeilen von Umtimesk reprasentieren TermeSpalten in Umtimesk latente Reprasentation der KontexteBenutze Umtimesk middotΣktimesk zur Berechnung von Termahnlichkeiten

Vorteile gegenuber der vollen Term-Kontext-MatrixDichte MatrixDimensionsreduktion effizientere VerarbeitungDe-Noising

59

Das Beispiel vom Anfang

Eine Wort-Dokument-Matrix M aus dem R5times3

d1 d2 d3ship 1 1 0boat 0 0 1

ocean 1 0 1motor 1 0 1wood 0 1 0

cossim(shipboat) = 0

cossim(shipocean) =12

cossim(boatocean) =1radic2

= 07

60

SVD Zerlegung war

minus041 07 024minus029 minus033 minus072minus061 minus02 014minus061 minus02 014minus01 057 minus062

227 0 0

0 149 00 0 078

minus072 minus023 minus066019 085 minus05067 minus048 minus056

=

minus093 104 0187minus0658 minus049 minus056minus138 minus0298 01092minus138 minus0298 minus1092minus0227 084 minus0483

minus072 minus023 minus066

019 085 minus05067 minus048 minus056

=

1 1 00 0 11 0 11 0 10 1 0

Abweichungen sind Rundungsfehler61

Niedrigdimensionale Approximation

Die kleinsten Eigenwerte sind die unwichtigsten Wir konnen dieseldquoweglassenrdquo = auf Null setzenrarr eine Matrix mit kleinerem Rang dieaber relativ ahnlich zur Ausgangsmatrix istminus041 07 024minus029 minus033 minus072minus061 minus02 014minus061 minus02 014minus01 057 minus062

227 0 0

0 149 00 0 0

minus072 minus023 minus066019 085 minus05067 minus048 minus056

=

minus093 104 0minus0658 minus049 0minus138 minus0298 0minus138 minus0298 0minus0227 084 0

minus072 minus023 minus066

019 085 minus05067 minus048 minus056

=

087 109 011038 minus027 068093 005 106093 005 106032 077 minus027

62

Die niedrigdimensionale Approximation

Wir interessieren uns fur die Matrix U2 = UΣ2 also die Matrix mit demniedrigerem Rang

minus093 104 0minus0658 minus049 0minus138 minus0298 0minus138 minus0298 0minus0227 084 0

Man kann diese nun als die Reprasentation unserer 5 Worter mit zweiversteckten Dimensionen auffassen

h1 h2ship minus093 104boat minus0658 minus049

ocean minus138 minus0298motor minus138 minus0298wood minus0227 084

63

Neue Ahnlichkeitsberechnungen

h1 h2ship minus093 104boat minus0658 minus049

ocean minus138 minus0298motor minus138 minus0298wood minus0227 084

cossim(shipboat) =(minus093) middot (minus0658) + 104 middot (minus049)radic

(0932 + 1042) middotradic

(06582 + 0492)= 009

cossim(shipocean) =(minus093) middot (minus138) + 104 middot (minus029)radic

(0932 + 1042) middotradic

(1382 + 0292)= 049

cossim(boatocean) = 09

64

Variationen

Benutze nur Umtimesk zur Ahnlichkeitsberechnung

Benutze Umtimesk middotΣpktimesk zur Ahnlichkeitsberechnungrarr Parameter p

sollte getuned werden Kann groszlige Unterschiede machen

Oft p = 0p = 05p = 1

65

Performanz der Reduced-SVD-Embeddings

Levy O Goldberg Y Neural word embedding as implicit matrix factorization In

Advances in neural information processing systems 2014 S 2177-2185

(Englische) Wikipedia 15 Milliarden Tokens

Fenster 2 beiderseits

Vokabular 189 533 fur Terme sowie Kontexte

PPMI Matrizen

SVD sowie ohne Zerlegung (PPMI) sowie neurale (SGNS)

Algorithmus Spearman Rank zu WordSim 353SVD 0652SGNS 0633PPMI 0605

66

Latent Semantic Analysis und Word Embeddings

Levy2014

ldquoWe analyze skip-gram with negative-sampling (SGNS) [] and show that it isimplicitly factorizing a word-context matrix whose cells are the pointwise mutualinformation (PMI) of the respective word and context pairs shifted by a globalconstant When dense low-dimensional vectors are preferred exact factorizationwith SVD can achieve solutions that are at least as good as SGNSrsquoss solutions forword similarity tasks On analogy questions SGNS remains superior to SVD Weconjecture that this stems from the weighted nature of SGNSrsquos factorizationrdquo

67

Zusammenfassung

Reduced SVD resultiert in einer optimalen Approximation derOriginalmatrix mit niedrigerem Rang Optimal = optimal bzgl derFrobeniusnorm (bzw mean squared error)

Dadurch erhalten wir eine mathematisch fundierte dichtereMatrix die Rauschen (weniger wichtige Dimensionen) eliminiert

Wir konnen mittels Umtimesk Σktimesk weiterhin Wortahnlichkeitenberechnen

Es konnen Resultate erreicht werden die bei word similaritymindestens ebensogut sind wie mit neuralen word embeddings

Nachteile Kosten der SVD Berechnung fur mtimesn matrixO(n middotm2) (when m lt n)rarr Nicht gut fur sehr grosse Matrizen

Nachteile Geht nicht gut mit unbekannten Wortern um

Nachteile schlechter bei Wortanalogieaufgaben

68

Literatur

Guter erweiterter Hintergrundhttptheorystanfordedu˜tims15ll7pdf bishttptheorystanfordedu˜tims15ll9pdf

SVD Tutorial (ohne vollstandigen Hintergrund) Kirk Baker(2005) Singular Value Decomposition Tutorialhttpsdatajobscomdata-science-repoSVD-Tutorial-[Kirk-Baker]pdf Leider ist hier imKonstruktionsverfahren I die Vorzeichenproblematikfalschlicherweise nicht behandelt worden

Levy O Goldberg Y Neural word embedding as implicit matrixfactorization In Advances in neural information processingsystems 2014 S 2177-2185

Ubungsblatt II

69

  • SVD Hauptsatz
    • Der SVD-Satz
    • Konstruktion am Beispiel Methodologie I
    • Konstruktionsmethodologie II
      • Interpretation der SVD
      • Reduced SVD
      • Verwendung in NLP

Schritt III Bestimme U

Damit ist

U =

(1radic2

1radic2

1radic2

minus1radic2

)

15

Schritt IV Berechne AT middotA

AT middotA =

3 minus11 31 1

( 3 1 1minus1 3 1

)=

10 0 20 10 42 4 2

16

Schritt V Bestimme die Eigenwerte und Eigenvektoren vonAT middotA

Setze 10 0 20 10 42 4 2

middotx1

x2

x3

= σ

x1

x2

x3

Damit ergibt sich das Gleichungssystem

1 10x1 + 2x3 = σx1

2 10x2 + 4x3 = σx2

3 2x1 + 4x2 + 2x3 = σx3

17

Schritt V Bestimme die Eigenwerte und Eigenvektoren vonAT middotA

Setze 10 0 20 10 42 4 2

middotx1

x2

x3

= σ

x1

x2

x3

Damit ergibt sich das Gleichungssystem

1 10x1 + 2x3 = σx1

2 10x2 + 4x3 = σx2

3 2x1 + 4x2 + 2x3 = σx3

17

Schritt V Bestimme die Eigenwerte und Eigenvektoren vonAT middotA

1 10x1 + 2x3 = σx1

2 10x2 + 4x3 = σx2

3 2x1 + 4x2 + 2x3 = σx3

Gleichung (ii) minus zweimal (i)

10x2 + 4x3minus20x1minus4x3 = σx2minus2σx2

und damit σ1 = 10

Mit ahnlichen Umformungen kann man σ2 = 12 sowie σ3 = 0berechnen

18

Schritt V Bestimme die Eigenwerte und Eigenvektoren vonAT middotA

Drei Eigenwerte σ1 = 10 σ2 = 12 und σ3 = 0 Damit ergibt sich furdie Eigenvektoren

1 10x1 + 2x3 = 10x12 10x2 + 4x3 = 10x23 2x1 + 4x2 + 2x3 = 10x3 und damit4 x3 = 0 aus der ersten Gleichung und damit5 2x1 + 4x2 = 0 bzw x1 =minus2x26 Wir konnen die Lange des Eigenvektors wieder frei wahlen da

wir danach eh normalisieren Allerdings sind die Vorzeichen nichtmehr frei wahlbar da ja insgesamt bei U middotΣ middotV T wieder Aherauskommen muss Darauf macht das Tutorial nichtaufmerksamWir wahlen x1 = 2x2 =minus1 hatten aber auch(falschlicherweise)x1 =minus2x2 = 1 wahlen konnen

Ebenso bestimmen wir fur σ2 = 12 einen Eigenvektor (121) und furσ3 = 0 einen Eigenvektor (12minus5)19

Schritt VI Bestimme V

Starte mit einer Matrix V die die bestimmten Eigenvektoren von AT middotAnach der Groszlige der jeweiligen Eigenwerte als Spaltenvektoren enthalt

1 Fur Eigenwert σ1 = 10 hatten wir (2minus10) gewahlt2 Fur Eigenwert σ2 = 12 hatten wir (121) bestimmt3 Fur Eigenwert σ3 = 0 hatten wir (12minus5) bestimmt4 Spaltenvektoren nach Eigenwertgroszlige geordnet

V =

1 2 12 minus1 21 0 minus5

20

Schritt VI Bestimme V

Orthonormalisiere mit Gram-Schmidt die Spaltenvektoren von V

V =

1 2 12 minus1 21 0 minus5

1 Normalisiere ersten Spaltenvektor v (1) = v(1)

v(1) =

1radic6

2radic6

1radic6

2 Berechne die Senkrechte v (2)minus〈v (1) v (2)〉 middot v (1)

3 Also

2minus10

minus〈

1radic6

2radic6

1radic6

2minus10

〉 middot

1radic6

2radic6

1radic6

=

2minus10

4 Normalisiere die Senkrechte

2minus10

ergibt v (2) =

2radic5minus1radic

50

21

Schritt VI Bestimme V

V =

1 2 12 minus1 21 0 minus5

Schon bestimmt

v (1) =

1radic6

2radic6

1radic6

sowie v (2) =

2radic5minus1radic

50

Dann kann man auch noch v (3) berechnen mit der Senkrechten

v (3)minus〈v (1) v (3)〉 middot v (1)minus〈v (2) v (3)〉 middot v (2)

Dies ergibt

minus23minus43103

Normalisiert v (3) =

1radic302radic30minus5radic

30

22

Schritt VI Bestimme V

Damit

V =

1radic6

2radic5

1radic30

2radic6

minus1radic5

2radic30

1radic6

0 minus5radic30

und damit

V T =

1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

23

Schritt VII Bestimme Σ

Σ ist eine mtimesn (hier 2times3) ldquoDiagonalmatrixrdquo mit den Wurzeln derEigenwerte (von A middotAT bzw U bzw V auf der Diagonale) nach Groszligegeordnet

Σ =

(radic12 0 00

radic10 0

)

24

Alles Zusammen

A = UΣV T =

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00

radic10 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(radic12radic2

radic10radic2

0radic

12radic2

minusradic

10radic2

0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(3 1 1minus1 3 1

)

25

Moglicher Schritt VIII Vorzeichenverbesserung

Nehmen wir mal an wir hatten bei V die falschen Vorzeichen gewahltZum Beispiel wir hatten fur σ2 = 10 anstatt (2minus10) den Vektor(minus210) gewahlt Damit ergibt sich

V =

1 minus2 12 1 21 0 minus5

und

V =

1radic6

minus2radic5

1radic30

2radic6

1radic5

2radic30

1radic6

0 minus5radic30

und

V T =

1radic6

2radic6

1radic6

minus2radic5

1radic5

01radic30

2radic30

minus5radic30

26

Moglicher Schritt VIII Vorzeichenverbesserung

Leider ist nun

UΣV T =

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00

radic10 0

)1radic6

2radic6

1radic6

minus2radic5

1radic5

01radic30

2radic30

minus5radic30

=

(radic12radic2

radic10radic2

0radic

12radic2

minusradic

10radic2

0

)1radic6

2radic6

1radic6

minus2radic5

1radic5

01radic30

2radic30

minus5radic30

=

(minus1 3 13 1 1

)

27

Moglicher Schritt VIII Vorzeichenverbesserung

Die unelegante Losung Gehe durch alle Zeilen von V T (Spalten vonV ) multizipliere sie systematisch mit minus1 bis es passt Durch dieMultiplikation mit minus1 bleiben die Vektoren immer noch normal undauch die Orthogonalitat andert sich nicht

Da eventuell auch mehrere Zeilen mit minus1 multipliziert werdenmussen ist dies leider exponentiell in der Zeilenanzahl von V T

(alle moglichen Kombinationen mussen probiert werden)

Es ist nicht gerade elegant

Man kann naturlich stattdessen auch durch die Spalten von Ugehen und diese anpassen

28

Konstruktionsmethodologie II

1 Berechne die quadratische ntimesn Matrix AT middotA2 Berechne die Eigenwerte σ2

j und Eigenvektoren vj von AT middotA3 Die Vektoren vj werden orthonormalisiert (Gram-Schmidt) und

bilden die Spaltenvektoren von V4 Die Wurzeln der σ2-Werte werden in absteigender Reihenfolge

die Eintrage von Σ

5 Die Spaltenvektoren von U bis zum Rang r der AT middotA Matrix sindnun eindeutig bestimmt aus der Vorgabe A = UΣV T und werdendaraus berechnet

6 Wenn r lt m mussen noch mminus r Vektoren zur Orthonormalbasiserganzt werden

29

Konstruktionsmethodologie II

1 Berechne die quadratische ntimesn Matrix AT middotA2 Berechne die Eigenwerte σ2

j und Eigenvektoren vj von AT middotA3 Die Vektoren vj werden orthonormalisiert (Gram-Schmidt) und

bilden die Spaltenvektoren von V4 Die Wurzeln der σ2-Werte werden in absteigender Reihenfolge

die Eintrage von Σ

5 Die Spaltenvektoren von U bis zum Rang r der AT middotA Matrix sindnun eindeutig bestimmt aus der Vorgabe A = UΣV T und werdendaraus berechnet

6 Wenn r lt m mussen noch mminus r Vektoren zur Orthonormalbasiserganzt werden

29

Konstruktionsmethodologie II

1 Berechne die quadratische ntimesn Matrix AT middotA2 Berechne die Eigenwerte σ2

j und Eigenvektoren vj von AT middotA3 Die Vektoren vj werden orthonormalisiert (Gram-Schmidt) und

bilden die Spaltenvektoren von V4 Die Wurzeln der σ2-Werte werden in absteigender Reihenfolge

die Eintrage von Σ

5 Die Spaltenvektoren von U bis zum Rang r der AT middotA Matrix sindnun eindeutig bestimmt aus der Vorgabe A = UΣV T und werdendaraus berechnet

6 Wenn r lt m mussen noch mminus r Vektoren zur Orthonormalbasiserganzt werden

29

Konstruktionsmethodologie II

1 Berechne die quadratische ntimesn Matrix AT middotA2 Berechne die Eigenwerte σ2

j und Eigenvektoren vj von AT middotA3 Die Vektoren vj werden orthonormalisiert (Gram-Schmidt) und

bilden die Spaltenvektoren von V4 Die Wurzeln der σ2-Werte werden in absteigender Reihenfolge

die Eintrage von Σ

5 Die Spaltenvektoren von U bis zum Rang r der AT middotA Matrix sindnun eindeutig bestimmt aus der Vorgabe A = UΣV T und werdendaraus berechnet

6 Wenn r lt m mussen noch mminus r Vektoren zur Orthonormalbasiserganzt werden

29

Schritt I Bestimme V T und Σ wie bisher

Nach dem ublichen Verfahren sei also V T zum Beispiel1radic6

2radic6

1radic6

minus2radic5

1radic5

01radic30

2radic30

minus5radic30

bzw V

V =

1radic6

minus2radic5

1radic30

2radic6

1radic5

2radic30

1radic6

0 minus5radic30

Die Vorzeichen konnten auch anders seinWeiterhin ist

Σ =

(radic12 0 00

radic10 0

)

30

Schritt II Bestimme U

Es muss gelten

A = UΣV T

und damit

AV = UΣV T V

Da V orthogonal ist V T V die Einheitsmatrix und damit

AV = UΣ

31

Schritt II Bestimme U

Man bilde nun eine ntimesm Matrix Σprime die genau auf denentsprechenden Diagonaleintragen 1σi stehen hat Im Beispiel ist

Σprime =

1radic12

0

0 1radic10

0 0

Es gilt dass Σ middotΣprime die mtimesm Einheitsmatrix istUnd damit

AVΣprime = UΣΣprime = U

32

Schritt II Bestimme U

Also giltU = AVΣprime

Damit gilt fur die Spalten von U wenn man sich dieMatrixmultiplikation genauer anschaut

u(j) =1σj

Av (j)

In unserem Beispiel

u(1) =1radic12

(3 1 1minus1 3 1

)1radic6

2radic6

1radic6

=

(1radic2

1radic2

)

33

Schritt II Bestimme U

Und ebenso

u(2) =1radic10

(3 1 1minus1 3 1

)minus2radic

51radic5

0

=

(minus1radic2

1radic2

)

Man sieht dass sich hier das veranderte Vorzeichen von v (2) imentgegengesetzten Vorzeichen von u(2) widerspiegelt Wir musstenauch nicht zweimal Eigenvektoren berechnen sondern U ist aus denvorherigen Berechnungen bestimmt

34

Beispiel mit einer Matrix mit niedrigerem Rang

Da wir durch 1σj

dividieren mussten geht dies nur fur Eigenwerteungleich Null Wenn aber die Matrizen niedrigere Range haben als mdann bekommen wir so nicht genugend U-Vektoren Was machen wirdann

Beispiel Sei eine Matrix von Rang 1 gegeben

A =

(1 01 0

)

35

Berechnung von V

AT A =

(1 10 0

)(1 01 0

)=

(2 00 0

)

36

Berechnung von V

(2 00 0

)hat die Eigenwerte 2 und 0 mit den jeweiligen Eigenvektoren (10)sowie (01)Daraus folgt

V =

(1 00 1

)Die ist schon eine Orthonormalmatrix also gilt V = V sowie daDiagonalmatrix V T = V

37

Bestimmung von Σ

Es gilt

Σ =

(radic2 0

0 0

)

38

Bestimmung von U

Der erste Spaltenvektor u(1) kann wie ublich bestimmt werden mit

u(1) =1radic2

Av (1) =1radic2

(1 01 0

)(10

)

=1radic2

(11

)=

(1radic2

1radic2

)

39

Bestimmung von U

Da wir keinen weiteren Eigenwert 6= 0 haben konnen wir leider sonicht weitermachen dh es geht nur bis zum Rang von A Es gilt aber(

1radic2

x21radic2

y2

)(radic2 0

0 0

)(1 00 1

)

=

(1 01 0

)= A

unabhangig von x2 und y2 Das heisst unser halb vollstandiges U istgenug fur eine Zerlegung

40

Bestimmung von U

1 Wir konnen also jedes x2 und y2 wahlen solange normiert undsenkrecht auf dem ersten Vektor stehend

2 Nach dem sogenannten Basiserganzungssatz geht dies immer3 In unserem Beispiel konnte man zum Beispiel (minus1radic

2 1radic

2) wahlen

4 Wie genau man diese weiteren Vektoren von U konstruiert ist furuns unerheblich da wir ja sowieso die letzten Spalten von U diezu den niedrigeren Eigenwerten gehoren ldquoabschneidenrdquowerden

41

SVD Zwischenfazit

Wir haben eine Matrix in das Produkt einer OrthonormalmatrixDiagonalmatrix und Orthogonalmatrix zerlegt

Die Diagonalmatrix enthalt die Wurzeln von den Eigenwerten vonA middotAT nach Groszlige geordnet

Die erste Orthonormalmatrix enthalt die orthonormalisiertenEigenvektoren von A middotAT nach Eigenwertgrosse geordnet alsSpalten

Die zweite Orthonormalmatrix ist die Transponierte der Matrixdie die orthonormalisierten Eigenvektoren von AT middotA nachEigenwertgrosse geordnet als Spalten enthalt

42

Ubersicht

1 SVD HauptsatzDer SVD-SatzKonstruktion am Beispiel Methodologie IKonstruktionsmethodologie II

2 Interpretation der SVD

3 Reduced SVD

4 Verwendung in NLP

43

Geometrische Interpretation bei quadratischen Matrizen

Bedeutung der SVD ist dass sich die Funktion in eine DrehungDrehspiegelung (V T )eine Verzerrung (Σ) und eine zweite DrehungDrehspiegelung (U) zerlegen lsst

Matrix

(1 10 1

)SVD Geometrische Interpretationa

aQuelle httpscommonswikimediaorgwikiFileSingular-Value-Decompositionsvg

44

Noch einige Bemerkungen

Die Eigenwerte und damit Σ sind eindeutig bestimmt

U und V sind nicht eindeutig bestimmt Es konnen Drehungenum 180 Grad oder Spiegelungen hinzukommen

Wir konnen in vielen Fallen einen Eigenvektor wahlen(Freiheitsgrade) mussen aber dann bei den Vorzeichen derzweiten Matrix aufpassen

45

Noch einige Bemerkungen

Wir haben implizit den Rang der Ursprungsmatrix A bestimmtDies kann man klar an U middotΣ sehen

A = UΣV T =

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00

radic10 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(radic12radic2

radic10radic2

0radic

12radic2

minusradic

10radic2

0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(3 1 1minus1 3 1

)

46

Noch einige Bemerkungen

Deswegen wird manchmal die Singularwertzerlegung auch alsZerlegung in drei Matrizen Amtimesn = Umtimesr Σrtimesr V T

rtimesn wobei r der Rangder Matrix A ist beschrieben

A = UΣV T =

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00

radic10 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 00

radic10

)( 1radic6

2radic6

1radic6

2radic5

minus1radic5

0

)=

(radic12radic2

radic10radic2radic

12radic2

minusradic

10radic2

)(1radic6

2radic6

1radic6

2radic5

minus1radic5

0

)=

(3 1 1minus1 3 1

)47

Noch einige Bemerkungen

Bisher haben wir immer die Ausgangsmatrix einfach reproduziert(mit dem gleichen Rang) Man sieht den Rang besser und es gilt

Die ldquoZerrungrdquo durch die Matrix Σ ist bei den Dimensionen mit denhochsten Eigenwerten am groszligten Beispiel

(radic12 0 00

radic10 0

)x1

x2

x3

=

(radic12 middot x1radic10 middot x2

)Es macht also Sinn dass wir wenn wir eine Approximationunserer Ausgangsmatrix mit niedrigerem Rang wollen dann dieunwichtigen Dimensionen die durch niedrige Eigenwertegekennzeichnet sind weglassen

48

Ubersicht

1 SVD HauptsatzDer SVD-SatzKonstruktion am Beispiel Methodologie IKonstruktionsmethodologie II

2 Interpretation der SVD

3 Reduced SVD

4 Verwendung in NLP

49

Reduced SVD Approximation niedrigeren Ranges

Approximation von mtimesn Matrix A mit Rang r durch mtimesn -Matrix Ak mit Rang k lt r

A = UΣV T asymp Ak = UΣk V T

Σk ist eine ldquodiagonalerdquo mtimesn - Matrix bei der nur auf den erstenk Stellen der Diagonalmatrix Werte 6= 0 stehen

U und V wie zuvor

50

Beispiel

A = UΣV T =

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00

radic10 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

asymp

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00 0 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(radic12radic2

0 0radic

12radic2

0 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(1 2 11 2 1

)51

Reduced SVD

Wir hatten auch nur die ersten k Spalten von U sowie die ersten kZeilen von V T behalten konnen

Aasymp

(1radic2

1radic2

)(radic12)( 1radic

62radic6

1radic6

)=

(radic12radic2radic

12radic2

)(1radic6

2radic6

1radic6

)=

(1 2 11 2 1

)

52

Als Bild

53

Als Algorithmus

Gegeben mtimesn Matrix A und gewunschter Rank k Wir produziereneine Rangminus k Approximation wie folgt

1 Wir berechnen eine SVD Zerlegung von A

Amtimesn = UmtimesmΣmtimesnV Tntimesn

2 Wir behalten nur die ersten k Spalten von U resultierend in Umtimesk

3 Wir behalten nur die Top k sprich die ersten k Diagonalwerte vonΣ resultierend in Σktimesk

4 Wir behalten nur die ersten k Reihen von V T resultierend in V Tktimesn

54

Reduced SVD

Diagonale Eintrage in Σk sind die k groszligten Eigenwerte vonA middotAT

Satz UΣk V T minimiert die Differenz der Frobenius-Normzwischen A und Ak unter der Bedingung rang(Ak ) = k

Das heisst Fur jede mtimesn Matrix A mit Rang r angestrebtemRang k lt r und jede mtimesn Matrix B mit Rang k gilt

Aminus Ak2 le AminusB2

wobei Ak die Rang-k Approximation ist die man aus der SVD vonA ableiten kann

55

Was hat man erreicht

Unkorrelierte Dimensionen (Orthonormalbasis) die nur nochverzerrt werden

Wir haben die Dimensionen mit der meisten Variation identifiziertund danach geordnet

ldquoUnwichtigerdquo Dimensionen werden weggelassenrarr Rauschenvermindert

Man braucht viel weniger Speicherplatz O(k(n + m)) anstattO(nm)

Die neuen ldquoverstecktenrdquo Dimensionen konnen zurAhnlichkeitsberechnung verwendet werden und funktionieren oftbesser

56

Wie wahlt man k

Meist empirisch Gesehen

1 In NLP oft die ersten 200 bis 300 Dimensionen2 In Recommender Systems Wahle k so dass die Summe der

ersten k Eigenwerte mindestens 10-mal der Summe alleranderen Eigenwerte

57

Ubersicht

1 SVD HauptsatzDer SVD-SatzKonstruktion am Beispiel Methodologie IKonstruktionsmethodologie II

2 Interpretation der SVD

3 Reduced SVD

4 Verwendung in NLP

58

Dichte Embeddings

A ist Matrix von m WorternTermen und n Kontexten (PPMIfrequency )Reduced SVD resultiert in Ak mit

Umtimesk ist mtimes k - MatrixZeilen von Umtimesk reprasentieren TermeSpalten in Umtimesk latente Reprasentation der KontexteBenutze Umtimesk middotΣktimesk zur Berechnung von Termahnlichkeiten

Vorteile gegenuber der vollen Term-Kontext-MatrixDichte MatrixDimensionsreduktion effizientere VerarbeitungDe-Noising

59

Dichte Embeddings

A ist Matrix von m WorternTermen und n Kontexten (PPMIfrequency )Reduced SVD resultiert in Ak mit

Umtimesk ist mtimes k - MatrixZeilen von Umtimesk reprasentieren TermeSpalten in Umtimesk latente Reprasentation der KontexteBenutze Umtimesk middotΣktimesk zur Berechnung von Termahnlichkeiten

Vorteile gegenuber der vollen Term-Kontext-MatrixDichte MatrixDimensionsreduktion effizientere VerarbeitungDe-Noising

59

Dichte Embeddings

A ist Matrix von m WorternTermen und n Kontexten (PPMIfrequency )Reduced SVD resultiert in Ak mit

Umtimesk ist mtimes k - MatrixZeilen von Umtimesk reprasentieren TermeSpalten in Umtimesk latente Reprasentation der KontexteBenutze Umtimesk middotΣktimesk zur Berechnung von Termahnlichkeiten

Vorteile gegenuber der vollen Term-Kontext-MatrixDichte MatrixDimensionsreduktion effizientere VerarbeitungDe-Noising

59

Das Beispiel vom Anfang

Eine Wort-Dokument-Matrix M aus dem R5times3

d1 d2 d3ship 1 1 0boat 0 0 1

ocean 1 0 1motor 1 0 1wood 0 1 0

cossim(shipboat) = 0

cossim(shipocean) =12

cossim(boatocean) =1radic2

= 07

60

SVD Zerlegung war

minus041 07 024minus029 minus033 minus072minus061 minus02 014minus061 minus02 014minus01 057 minus062

227 0 0

0 149 00 0 078

minus072 minus023 minus066019 085 minus05067 minus048 minus056

=

minus093 104 0187minus0658 minus049 minus056minus138 minus0298 01092minus138 minus0298 minus1092minus0227 084 minus0483

minus072 minus023 minus066

019 085 minus05067 minus048 minus056

=

1 1 00 0 11 0 11 0 10 1 0

Abweichungen sind Rundungsfehler61

Niedrigdimensionale Approximation

Die kleinsten Eigenwerte sind die unwichtigsten Wir konnen dieseldquoweglassenrdquo = auf Null setzenrarr eine Matrix mit kleinerem Rang dieaber relativ ahnlich zur Ausgangsmatrix istminus041 07 024minus029 minus033 minus072minus061 minus02 014minus061 minus02 014minus01 057 minus062

227 0 0

0 149 00 0 0

minus072 minus023 minus066019 085 minus05067 minus048 minus056

=

minus093 104 0minus0658 minus049 0minus138 minus0298 0minus138 minus0298 0minus0227 084 0

minus072 minus023 minus066

019 085 minus05067 minus048 minus056

=

087 109 011038 minus027 068093 005 106093 005 106032 077 minus027

62

Die niedrigdimensionale Approximation

Wir interessieren uns fur die Matrix U2 = UΣ2 also die Matrix mit demniedrigerem Rang

minus093 104 0minus0658 minus049 0minus138 minus0298 0minus138 minus0298 0minus0227 084 0

Man kann diese nun als die Reprasentation unserer 5 Worter mit zweiversteckten Dimensionen auffassen

h1 h2ship minus093 104boat minus0658 minus049

ocean minus138 minus0298motor minus138 minus0298wood minus0227 084

63

Neue Ahnlichkeitsberechnungen

h1 h2ship minus093 104boat minus0658 minus049

ocean minus138 minus0298motor minus138 minus0298wood minus0227 084

cossim(shipboat) =(minus093) middot (minus0658) + 104 middot (minus049)radic

(0932 + 1042) middotradic

(06582 + 0492)= 009

cossim(shipocean) =(minus093) middot (minus138) + 104 middot (minus029)radic

(0932 + 1042) middotradic

(1382 + 0292)= 049

cossim(boatocean) = 09

64

Variationen

Benutze nur Umtimesk zur Ahnlichkeitsberechnung

Benutze Umtimesk middotΣpktimesk zur Ahnlichkeitsberechnungrarr Parameter p

sollte getuned werden Kann groszlige Unterschiede machen

Oft p = 0p = 05p = 1

65

Performanz der Reduced-SVD-Embeddings

Levy O Goldberg Y Neural word embedding as implicit matrix factorization In

Advances in neural information processing systems 2014 S 2177-2185

(Englische) Wikipedia 15 Milliarden Tokens

Fenster 2 beiderseits

Vokabular 189 533 fur Terme sowie Kontexte

PPMI Matrizen

SVD sowie ohne Zerlegung (PPMI) sowie neurale (SGNS)

Algorithmus Spearman Rank zu WordSim 353SVD 0652SGNS 0633PPMI 0605

66

Latent Semantic Analysis und Word Embeddings

Levy2014

ldquoWe analyze skip-gram with negative-sampling (SGNS) [] and show that it isimplicitly factorizing a word-context matrix whose cells are the pointwise mutualinformation (PMI) of the respective word and context pairs shifted by a globalconstant When dense low-dimensional vectors are preferred exact factorizationwith SVD can achieve solutions that are at least as good as SGNSrsquoss solutions forword similarity tasks On analogy questions SGNS remains superior to SVD Weconjecture that this stems from the weighted nature of SGNSrsquos factorizationrdquo

67

Zusammenfassung

Reduced SVD resultiert in einer optimalen Approximation derOriginalmatrix mit niedrigerem Rang Optimal = optimal bzgl derFrobeniusnorm (bzw mean squared error)

Dadurch erhalten wir eine mathematisch fundierte dichtereMatrix die Rauschen (weniger wichtige Dimensionen) eliminiert

Wir konnen mittels Umtimesk Σktimesk weiterhin Wortahnlichkeitenberechnen

Es konnen Resultate erreicht werden die bei word similaritymindestens ebensogut sind wie mit neuralen word embeddings

Nachteile Kosten der SVD Berechnung fur mtimesn matrixO(n middotm2) (when m lt n)rarr Nicht gut fur sehr grosse Matrizen

Nachteile Geht nicht gut mit unbekannten Wortern um

Nachteile schlechter bei Wortanalogieaufgaben

68

Literatur

Guter erweiterter Hintergrundhttptheorystanfordedu˜tims15ll7pdf bishttptheorystanfordedu˜tims15ll9pdf

SVD Tutorial (ohne vollstandigen Hintergrund) Kirk Baker(2005) Singular Value Decomposition Tutorialhttpsdatajobscomdata-science-repoSVD-Tutorial-[Kirk-Baker]pdf Leider ist hier imKonstruktionsverfahren I die Vorzeichenproblematikfalschlicherweise nicht behandelt worden

Levy O Goldberg Y Neural word embedding as implicit matrixfactorization In Advances in neural information processingsystems 2014 S 2177-2185

Ubungsblatt II

69

  • SVD Hauptsatz
    • Der SVD-Satz
    • Konstruktion am Beispiel Methodologie I
    • Konstruktionsmethodologie II
      • Interpretation der SVD
      • Reduced SVD
      • Verwendung in NLP

Schritt IV Berechne AT middotA

AT middotA =

3 minus11 31 1

( 3 1 1minus1 3 1

)=

10 0 20 10 42 4 2

16

Schritt V Bestimme die Eigenwerte und Eigenvektoren vonAT middotA

Setze 10 0 20 10 42 4 2

middotx1

x2

x3

= σ

x1

x2

x3

Damit ergibt sich das Gleichungssystem

1 10x1 + 2x3 = σx1

2 10x2 + 4x3 = σx2

3 2x1 + 4x2 + 2x3 = σx3

17

Schritt V Bestimme die Eigenwerte und Eigenvektoren vonAT middotA

Setze 10 0 20 10 42 4 2

middotx1

x2

x3

= σ

x1

x2

x3

Damit ergibt sich das Gleichungssystem

1 10x1 + 2x3 = σx1

2 10x2 + 4x3 = σx2

3 2x1 + 4x2 + 2x3 = σx3

17

Schritt V Bestimme die Eigenwerte und Eigenvektoren vonAT middotA

1 10x1 + 2x3 = σx1

2 10x2 + 4x3 = σx2

3 2x1 + 4x2 + 2x3 = σx3

Gleichung (ii) minus zweimal (i)

10x2 + 4x3minus20x1minus4x3 = σx2minus2σx2

und damit σ1 = 10

Mit ahnlichen Umformungen kann man σ2 = 12 sowie σ3 = 0berechnen

18

Schritt V Bestimme die Eigenwerte und Eigenvektoren vonAT middotA

Drei Eigenwerte σ1 = 10 σ2 = 12 und σ3 = 0 Damit ergibt sich furdie Eigenvektoren

1 10x1 + 2x3 = 10x12 10x2 + 4x3 = 10x23 2x1 + 4x2 + 2x3 = 10x3 und damit4 x3 = 0 aus der ersten Gleichung und damit5 2x1 + 4x2 = 0 bzw x1 =minus2x26 Wir konnen die Lange des Eigenvektors wieder frei wahlen da

wir danach eh normalisieren Allerdings sind die Vorzeichen nichtmehr frei wahlbar da ja insgesamt bei U middotΣ middotV T wieder Aherauskommen muss Darauf macht das Tutorial nichtaufmerksamWir wahlen x1 = 2x2 =minus1 hatten aber auch(falschlicherweise)x1 =minus2x2 = 1 wahlen konnen

Ebenso bestimmen wir fur σ2 = 12 einen Eigenvektor (121) und furσ3 = 0 einen Eigenvektor (12minus5)19

Schritt VI Bestimme V

Starte mit einer Matrix V die die bestimmten Eigenvektoren von AT middotAnach der Groszlige der jeweiligen Eigenwerte als Spaltenvektoren enthalt

1 Fur Eigenwert σ1 = 10 hatten wir (2minus10) gewahlt2 Fur Eigenwert σ2 = 12 hatten wir (121) bestimmt3 Fur Eigenwert σ3 = 0 hatten wir (12minus5) bestimmt4 Spaltenvektoren nach Eigenwertgroszlige geordnet

V =

1 2 12 minus1 21 0 minus5

20

Schritt VI Bestimme V

Orthonormalisiere mit Gram-Schmidt die Spaltenvektoren von V

V =

1 2 12 minus1 21 0 minus5

1 Normalisiere ersten Spaltenvektor v (1) = v(1)

v(1) =

1radic6

2radic6

1radic6

2 Berechne die Senkrechte v (2)minus〈v (1) v (2)〉 middot v (1)

3 Also

2minus10

minus〈

1radic6

2radic6

1radic6

2minus10

〉 middot

1radic6

2radic6

1radic6

=

2minus10

4 Normalisiere die Senkrechte

2minus10

ergibt v (2) =

2radic5minus1radic

50

21

Schritt VI Bestimme V

V =

1 2 12 minus1 21 0 minus5

Schon bestimmt

v (1) =

1radic6

2radic6

1radic6

sowie v (2) =

2radic5minus1radic

50

Dann kann man auch noch v (3) berechnen mit der Senkrechten

v (3)minus〈v (1) v (3)〉 middot v (1)minus〈v (2) v (3)〉 middot v (2)

Dies ergibt

minus23minus43103

Normalisiert v (3) =

1radic302radic30minus5radic

30

22

Schritt VI Bestimme V

Damit

V =

1radic6

2radic5

1radic30

2radic6

minus1radic5

2radic30

1radic6

0 minus5radic30

und damit

V T =

1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

23

Schritt VII Bestimme Σ

Σ ist eine mtimesn (hier 2times3) ldquoDiagonalmatrixrdquo mit den Wurzeln derEigenwerte (von A middotAT bzw U bzw V auf der Diagonale) nach Groszligegeordnet

Σ =

(radic12 0 00

radic10 0

)

24

Alles Zusammen

A = UΣV T =

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00

radic10 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(radic12radic2

radic10radic2

0radic

12radic2

minusradic

10radic2

0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(3 1 1minus1 3 1

)

25

Moglicher Schritt VIII Vorzeichenverbesserung

Nehmen wir mal an wir hatten bei V die falschen Vorzeichen gewahltZum Beispiel wir hatten fur σ2 = 10 anstatt (2minus10) den Vektor(minus210) gewahlt Damit ergibt sich

V =

1 minus2 12 1 21 0 minus5

und

V =

1radic6

minus2radic5

1radic30

2radic6

1radic5

2radic30

1radic6

0 minus5radic30

und

V T =

1radic6

2radic6

1radic6

minus2radic5

1radic5

01radic30

2radic30

minus5radic30

26

Moglicher Schritt VIII Vorzeichenverbesserung

Leider ist nun

UΣV T =

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00

radic10 0

)1radic6

2radic6

1radic6

minus2radic5

1radic5

01radic30

2radic30

minus5radic30

=

(radic12radic2

radic10radic2

0radic

12radic2

minusradic

10radic2

0

)1radic6

2radic6

1radic6

minus2radic5

1radic5

01radic30

2radic30

minus5radic30

=

(minus1 3 13 1 1

)

27

Moglicher Schritt VIII Vorzeichenverbesserung

Die unelegante Losung Gehe durch alle Zeilen von V T (Spalten vonV ) multizipliere sie systematisch mit minus1 bis es passt Durch dieMultiplikation mit minus1 bleiben die Vektoren immer noch normal undauch die Orthogonalitat andert sich nicht

Da eventuell auch mehrere Zeilen mit minus1 multipliziert werdenmussen ist dies leider exponentiell in der Zeilenanzahl von V T

(alle moglichen Kombinationen mussen probiert werden)

Es ist nicht gerade elegant

Man kann naturlich stattdessen auch durch die Spalten von Ugehen und diese anpassen

28

Konstruktionsmethodologie II

1 Berechne die quadratische ntimesn Matrix AT middotA2 Berechne die Eigenwerte σ2

j und Eigenvektoren vj von AT middotA3 Die Vektoren vj werden orthonormalisiert (Gram-Schmidt) und

bilden die Spaltenvektoren von V4 Die Wurzeln der σ2-Werte werden in absteigender Reihenfolge

die Eintrage von Σ

5 Die Spaltenvektoren von U bis zum Rang r der AT middotA Matrix sindnun eindeutig bestimmt aus der Vorgabe A = UΣV T und werdendaraus berechnet

6 Wenn r lt m mussen noch mminus r Vektoren zur Orthonormalbasiserganzt werden

29

Konstruktionsmethodologie II

1 Berechne die quadratische ntimesn Matrix AT middotA2 Berechne die Eigenwerte σ2

j und Eigenvektoren vj von AT middotA3 Die Vektoren vj werden orthonormalisiert (Gram-Schmidt) und

bilden die Spaltenvektoren von V4 Die Wurzeln der σ2-Werte werden in absteigender Reihenfolge

die Eintrage von Σ

5 Die Spaltenvektoren von U bis zum Rang r der AT middotA Matrix sindnun eindeutig bestimmt aus der Vorgabe A = UΣV T und werdendaraus berechnet

6 Wenn r lt m mussen noch mminus r Vektoren zur Orthonormalbasiserganzt werden

29

Konstruktionsmethodologie II

1 Berechne die quadratische ntimesn Matrix AT middotA2 Berechne die Eigenwerte σ2

j und Eigenvektoren vj von AT middotA3 Die Vektoren vj werden orthonormalisiert (Gram-Schmidt) und

bilden die Spaltenvektoren von V4 Die Wurzeln der σ2-Werte werden in absteigender Reihenfolge

die Eintrage von Σ

5 Die Spaltenvektoren von U bis zum Rang r der AT middotA Matrix sindnun eindeutig bestimmt aus der Vorgabe A = UΣV T und werdendaraus berechnet

6 Wenn r lt m mussen noch mminus r Vektoren zur Orthonormalbasiserganzt werden

29

Konstruktionsmethodologie II

1 Berechne die quadratische ntimesn Matrix AT middotA2 Berechne die Eigenwerte σ2

j und Eigenvektoren vj von AT middotA3 Die Vektoren vj werden orthonormalisiert (Gram-Schmidt) und

bilden die Spaltenvektoren von V4 Die Wurzeln der σ2-Werte werden in absteigender Reihenfolge

die Eintrage von Σ

5 Die Spaltenvektoren von U bis zum Rang r der AT middotA Matrix sindnun eindeutig bestimmt aus der Vorgabe A = UΣV T und werdendaraus berechnet

6 Wenn r lt m mussen noch mminus r Vektoren zur Orthonormalbasiserganzt werden

29

Schritt I Bestimme V T und Σ wie bisher

Nach dem ublichen Verfahren sei also V T zum Beispiel1radic6

2radic6

1radic6

minus2radic5

1radic5

01radic30

2radic30

minus5radic30

bzw V

V =

1radic6

minus2radic5

1radic30

2radic6

1radic5

2radic30

1radic6

0 minus5radic30

Die Vorzeichen konnten auch anders seinWeiterhin ist

Σ =

(radic12 0 00

radic10 0

)

30

Schritt II Bestimme U

Es muss gelten

A = UΣV T

und damit

AV = UΣV T V

Da V orthogonal ist V T V die Einheitsmatrix und damit

AV = UΣ

31

Schritt II Bestimme U

Man bilde nun eine ntimesm Matrix Σprime die genau auf denentsprechenden Diagonaleintragen 1σi stehen hat Im Beispiel ist

Σprime =

1radic12

0

0 1radic10

0 0

Es gilt dass Σ middotΣprime die mtimesm Einheitsmatrix istUnd damit

AVΣprime = UΣΣprime = U

32

Schritt II Bestimme U

Also giltU = AVΣprime

Damit gilt fur die Spalten von U wenn man sich dieMatrixmultiplikation genauer anschaut

u(j) =1σj

Av (j)

In unserem Beispiel

u(1) =1radic12

(3 1 1minus1 3 1

)1radic6

2radic6

1radic6

=

(1radic2

1radic2

)

33

Schritt II Bestimme U

Und ebenso

u(2) =1radic10

(3 1 1minus1 3 1

)minus2radic

51radic5

0

=

(minus1radic2

1radic2

)

Man sieht dass sich hier das veranderte Vorzeichen von v (2) imentgegengesetzten Vorzeichen von u(2) widerspiegelt Wir musstenauch nicht zweimal Eigenvektoren berechnen sondern U ist aus denvorherigen Berechnungen bestimmt

34

Beispiel mit einer Matrix mit niedrigerem Rang

Da wir durch 1σj

dividieren mussten geht dies nur fur Eigenwerteungleich Null Wenn aber die Matrizen niedrigere Range haben als mdann bekommen wir so nicht genugend U-Vektoren Was machen wirdann

Beispiel Sei eine Matrix von Rang 1 gegeben

A =

(1 01 0

)

35

Berechnung von V

AT A =

(1 10 0

)(1 01 0

)=

(2 00 0

)

36

Berechnung von V

(2 00 0

)hat die Eigenwerte 2 und 0 mit den jeweiligen Eigenvektoren (10)sowie (01)Daraus folgt

V =

(1 00 1

)Die ist schon eine Orthonormalmatrix also gilt V = V sowie daDiagonalmatrix V T = V

37

Bestimmung von Σ

Es gilt

Σ =

(radic2 0

0 0

)

38

Bestimmung von U

Der erste Spaltenvektor u(1) kann wie ublich bestimmt werden mit

u(1) =1radic2

Av (1) =1radic2

(1 01 0

)(10

)

=1radic2

(11

)=

(1radic2

1radic2

)

39

Bestimmung von U

Da wir keinen weiteren Eigenwert 6= 0 haben konnen wir leider sonicht weitermachen dh es geht nur bis zum Rang von A Es gilt aber(

1radic2

x21radic2

y2

)(radic2 0

0 0

)(1 00 1

)

=

(1 01 0

)= A

unabhangig von x2 und y2 Das heisst unser halb vollstandiges U istgenug fur eine Zerlegung

40

Bestimmung von U

1 Wir konnen also jedes x2 und y2 wahlen solange normiert undsenkrecht auf dem ersten Vektor stehend

2 Nach dem sogenannten Basiserganzungssatz geht dies immer3 In unserem Beispiel konnte man zum Beispiel (minus1radic

2 1radic

2) wahlen

4 Wie genau man diese weiteren Vektoren von U konstruiert ist furuns unerheblich da wir ja sowieso die letzten Spalten von U diezu den niedrigeren Eigenwerten gehoren ldquoabschneidenrdquowerden

41

SVD Zwischenfazit

Wir haben eine Matrix in das Produkt einer OrthonormalmatrixDiagonalmatrix und Orthogonalmatrix zerlegt

Die Diagonalmatrix enthalt die Wurzeln von den Eigenwerten vonA middotAT nach Groszlige geordnet

Die erste Orthonormalmatrix enthalt die orthonormalisiertenEigenvektoren von A middotAT nach Eigenwertgrosse geordnet alsSpalten

Die zweite Orthonormalmatrix ist die Transponierte der Matrixdie die orthonormalisierten Eigenvektoren von AT middotA nachEigenwertgrosse geordnet als Spalten enthalt

42

Ubersicht

1 SVD HauptsatzDer SVD-SatzKonstruktion am Beispiel Methodologie IKonstruktionsmethodologie II

2 Interpretation der SVD

3 Reduced SVD

4 Verwendung in NLP

43

Geometrische Interpretation bei quadratischen Matrizen

Bedeutung der SVD ist dass sich die Funktion in eine DrehungDrehspiegelung (V T )eine Verzerrung (Σ) und eine zweite DrehungDrehspiegelung (U) zerlegen lsst

Matrix

(1 10 1

)SVD Geometrische Interpretationa

aQuelle httpscommonswikimediaorgwikiFileSingular-Value-Decompositionsvg

44

Noch einige Bemerkungen

Die Eigenwerte und damit Σ sind eindeutig bestimmt

U und V sind nicht eindeutig bestimmt Es konnen Drehungenum 180 Grad oder Spiegelungen hinzukommen

Wir konnen in vielen Fallen einen Eigenvektor wahlen(Freiheitsgrade) mussen aber dann bei den Vorzeichen derzweiten Matrix aufpassen

45

Noch einige Bemerkungen

Wir haben implizit den Rang der Ursprungsmatrix A bestimmtDies kann man klar an U middotΣ sehen

A = UΣV T =

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00

radic10 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(radic12radic2

radic10radic2

0radic

12radic2

minusradic

10radic2

0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(3 1 1minus1 3 1

)

46

Noch einige Bemerkungen

Deswegen wird manchmal die Singularwertzerlegung auch alsZerlegung in drei Matrizen Amtimesn = Umtimesr Σrtimesr V T

rtimesn wobei r der Rangder Matrix A ist beschrieben

A = UΣV T =

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00

radic10 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 00

radic10

)( 1radic6

2radic6

1radic6

2radic5

minus1radic5

0

)=

(radic12radic2

radic10radic2radic

12radic2

minusradic

10radic2

)(1radic6

2radic6

1radic6

2radic5

minus1radic5

0

)=

(3 1 1minus1 3 1

)47

Noch einige Bemerkungen

Bisher haben wir immer die Ausgangsmatrix einfach reproduziert(mit dem gleichen Rang) Man sieht den Rang besser und es gilt

Die ldquoZerrungrdquo durch die Matrix Σ ist bei den Dimensionen mit denhochsten Eigenwerten am groszligten Beispiel

(radic12 0 00

radic10 0

)x1

x2

x3

=

(radic12 middot x1radic10 middot x2

)Es macht also Sinn dass wir wenn wir eine Approximationunserer Ausgangsmatrix mit niedrigerem Rang wollen dann dieunwichtigen Dimensionen die durch niedrige Eigenwertegekennzeichnet sind weglassen

48

Ubersicht

1 SVD HauptsatzDer SVD-SatzKonstruktion am Beispiel Methodologie IKonstruktionsmethodologie II

2 Interpretation der SVD

3 Reduced SVD

4 Verwendung in NLP

49

Reduced SVD Approximation niedrigeren Ranges

Approximation von mtimesn Matrix A mit Rang r durch mtimesn -Matrix Ak mit Rang k lt r

A = UΣV T asymp Ak = UΣk V T

Σk ist eine ldquodiagonalerdquo mtimesn - Matrix bei der nur auf den erstenk Stellen der Diagonalmatrix Werte 6= 0 stehen

U und V wie zuvor

50

Beispiel

A = UΣV T =

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00

radic10 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

asymp

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00 0 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(radic12radic2

0 0radic

12radic2

0 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(1 2 11 2 1

)51

Reduced SVD

Wir hatten auch nur die ersten k Spalten von U sowie die ersten kZeilen von V T behalten konnen

Aasymp

(1radic2

1radic2

)(radic12)( 1radic

62radic6

1radic6

)=

(radic12radic2radic

12radic2

)(1radic6

2radic6

1radic6

)=

(1 2 11 2 1

)

52

Als Bild

53

Als Algorithmus

Gegeben mtimesn Matrix A und gewunschter Rank k Wir produziereneine Rangminus k Approximation wie folgt

1 Wir berechnen eine SVD Zerlegung von A

Amtimesn = UmtimesmΣmtimesnV Tntimesn

2 Wir behalten nur die ersten k Spalten von U resultierend in Umtimesk

3 Wir behalten nur die Top k sprich die ersten k Diagonalwerte vonΣ resultierend in Σktimesk

4 Wir behalten nur die ersten k Reihen von V T resultierend in V Tktimesn

54

Reduced SVD

Diagonale Eintrage in Σk sind die k groszligten Eigenwerte vonA middotAT

Satz UΣk V T minimiert die Differenz der Frobenius-Normzwischen A und Ak unter der Bedingung rang(Ak ) = k

Das heisst Fur jede mtimesn Matrix A mit Rang r angestrebtemRang k lt r und jede mtimesn Matrix B mit Rang k gilt

Aminus Ak2 le AminusB2

wobei Ak die Rang-k Approximation ist die man aus der SVD vonA ableiten kann

55

Was hat man erreicht

Unkorrelierte Dimensionen (Orthonormalbasis) die nur nochverzerrt werden

Wir haben die Dimensionen mit der meisten Variation identifiziertund danach geordnet

ldquoUnwichtigerdquo Dimensionen werden weggelassenrarr Rauschenvermindert

Man braucht viel weniger Speicherplatz O(k(n + m)) anstattO(nm)

Die neuen ldquoverstecktenrdquo Dimensionen konnen zurAhnlichkeitsberechnung verwendet werden und funktionieren oftbesser

56

Wie wahlt man k

Meist empirisch Gesehen

1 In NLP oft die ersten 200 bis 300 Dimensionen2 In Recommender Systems Wahle k so dass die Summe der

ersten k Eigenwerte mindestens 10-mal der Summe alleranderen Eigenwerte

57

Ubersicht

1 SVD HauptsatzDer SVD-SatzKonstruktion am Beispiel Methodologie IKonstruktionsmethodologie II

2 Interpretation der SVD

3 Reduced SVD

4 Verwendung in NLP

58

Dichte Embeddings

A ist Matrix von m WorternTermen und n Kontexten (PPMIfrequency )Reduced SVD resultiert in Ak mit

Umtimesk ist mtimes k - MatrixZeilen von Umtimesk reprasentieren TermeSpalten in Umtimesk latente Reprasentation der KontexteBenutze Umtimesk middotΣktimesk zur Berechnung von Termahnlichkeiten

Vorteile gegenuber der vollen Term-Kontext-MatrixDichte MatrixDimensionsreduktion effizientere VerarbeitungDe-Noising

59

Dichte Embeddings

A ist Matrix von m WorternTermen und n Kontexten (PPMIfrequency )Reduced SVD resultiert in Ak mit

Umtimesk ist mtimes k - MatrixZeilen von Umtimesk reprasentieren TermeSpalten in Umtimesk latente Reprasentation der KontexteBenutze Umtimesk middotΣktimesk zur Berechnung von Termahnlichkeiten

Vorteile gegenuber der vollen Term-Kontext-MatrixDichte MatrixDimensionsreduktion effizientere VerarbeitungDe-Noising

59

Dichte Embeddings

A ist Matrix von m WorternTermen und n Kontexten (PPMIfrequency )Reduced SVD resultiert in Ak mit

Umtimesk ist mtimes k - MatrixZeilen von Umtimesk reprasentieren TermeSpalten in Umtimesk latente Reprasentation der KontexteBenutze Umtimesk middotΣktimesk zur Berechnung von Termahnlichkeiten

Vorteile gegenuber der vollen Term-Kontext-MatrixDichte MatrixDimensionsreduktion effizientere VerarbeitungDe-Noising

59

Das Beispiel vom Anfang

Eine Wort-Dokument-Matrix M aus dem R5times3

d1 d2 d3ship 1 1 0boat 0 0 1

ocean 1 0 1motor 1 0 1wood 0 1 0

cossim(shipboat) = 0

cossim(shipocean) =12

cossim(boatocean) =1radic2

= 07

60

SVD Zerlegung war

minus041 07 024minus029 minus033 minus072minus061 minus02 014minus061 minus02 014minus01 057 minus062

227 0 0

0 149 00 0 078

minus072 minus023 minus066019 085 minus05067 minus048 minus056

=

minus093 104 0187minus0658 minus049 minus056minus138 minus0298 01092minus138 minus0298 minus1092minus0227 084 minus0483

minus072 minus023 minus066

019 085 minus05067 minus048 minus056

=

1 1 00 0 11 0 11 0 10 1 0

Abweichungen sind Rundungsfehler61

Niedrigdimensionale Approximation

Die kleinsten Eigenwerte sind die unwichtigsten Wir konnen dieseldquoweglassenrdquo = auf Null setzenrarr eine Matrix mit kleinerem Rang dieaber relativ ahnlich zur Ausgangsmatrix istminus041 07 024minus029 minus033 minus072minus061 minus02 014minus061 minus02 014minus01 057 minus062

227 0 0

0 149 00 0 0

minus072 minus023 minus066019 085 minus05067 minus048 minus056

=

minus093 104 0minus0658 minus049 0minus138 minus0298 0minus138 minus0298 0minus0227 084 0

minus072 minus023 minus066

019 085 minus05067 minus048 minus056

=

087 109 011038 minus027 068093 005 106093 005 106032 077 minus027

62

Die niedrigdimensionale Approximation

Wir interessieren uns fur die Matrix U2 = UΣ2 also die Matrix mit demniedrigerem Rang

minus093 104 0minus0658 minus049 0minus138 minus0298 0minus138 minus0298 0minus0227 084 0

Man kann diese nun als die Reprasentation unserer 5 Worter mit zweiversteckten Dimensionen auffassen

h1 h2ship minus093 104boat minus0658 minus049

ocean minus138 minus0298motor minus138 minus0298wood minus0227 084

63

Neue Ahnlichkeitsberechnungen

h1 h2ship minus093 104boat minus0658 minus049

ocean minus138 minus0298motor minus138 minus0298wood minus0227 084

cossim(shipboat) =(minus093) middot (minus0658) + 104 middot (minus049)radic

(0932 + 1042) middotradic

(06582 + 0492)= 009

cossim(shipocean) =(minus093) middot (minus138) + 104 middot (minus029)radic

(0932 + 1042) middotradic

(1382 + 0292)= 049

cossim(boatocean) = 09

64

Variationen

Benutze nur Umtimesk zur Ahnlichkeitsberechnung

Benutze Umtimesk middotΣpktimesk zur Ahnlichkeitsberechnungrarr Parameter p

sollte getuned werden Kann groszlige Unterschiede machen

Oft p = 0p = 05p = 1

65

Performanz der Reduced-SVD-Embeddings

Levy O Goldberg Y Neural word embedding as implicit matrix factorization In

Advances in neural information processing systems 2014 S 2177-2185

(Englische) Wikipedia 15 Milliarden Tokens

Fenster 2 beiderseits

Vokabular 189 533 fur Terme sowie Kontexte

PPMI Matrizen

SVD sowie ohne Zerlegung (PPMI) sowie neurale (SGNS)

Algorithmus Spearman Rank zu WordSim 353SVD 0652SGNS 0633PPMI 0605

66

Latent Semantic Analysis und Word Embeddings

Levy2014

ldquoWe analyze skip-gram with negative-sampling (SGNS) [] and show that it isimplicitly factorizing a word-context matrix whose cells are the pointwise mutualinformation (PMI) of the respective word and context pairs shifted by a globalconstant When dense low-dimensional vectors are preferred exact factorizationwith SVD can achieve solutions that are at least as good as SGNSrsquoss solutions forword similarity tasks On analogy questions SGNS remains superior to SVD Weconjecture that this stems from the weighted nature of SGNSrsquos factorizationrdquo

67

Zusammenfassung

Reduced SVD resultiert in einer optimalen Approximation derOriginalmatrix mit niedrigerem Rang Optimal = optimal bzgl derFrobeniusnorm (bzw mean squared error)

Dadurch erhalten wir eine mathematisch fundierte dichtereMatrix die Rauschen (weniger wichtige Dimensionen) eliminiert

Wir konnen mittels Umtimesk Σktimesk weiterhin Wortahnlichkeitenberechnen

Es konnen Resultate erreicht werden die bei word similaritymindestens ebensogut sind wie mit neuralen word embeddings

Nachteile Kosten der SVD Berechnung fur mtimesn matrixO(n middotm2) (when m lt n)rarr Nicht gut fur sehr grosse Matrizen

Nachteile Geht nicht gut mit unbekannten Wortern um

Nachteile schlechter bei Wortanalogieaufgaben

68

Literatur

Guter erweiterter Hintergrundhttptheorystanfordedu˜tims15ll7pdf bishttptheorystanfordedu˜tims15ll9pdf

SVD Tutorial (ohne vollstandigen Hintergrund) Kirk Baker(2005) Singular Value Decomposition Tutorialhttpsdatajobscomdata-science-repoSVD-Tutorial-[Kirk-Baker]pdf Leider ist hier imKonstruktionsverfahren I die Vorzeichenproblematikfalschlicherweise nicht behandelt worden

Levy O Goldberg Y Neural word embedding as implicit matrixfactorization In Advances in neural information processingsystems 2014 S 2177-2185

Ubungsblatt II

69

  • SVD Hauptsatz
    • Der SVD-Satz
    • Konstruktion am Beispiel Methodologie I
    • Konstruktionsmethodologie II
      • Interpretation der SVD
      • Reduced SVD
      • Verwendung in NLP

Schritt V Bestimme die Eigenwerte und Eigenvektoren vonAT middotA

Setze 10 0 20 10 42 4 2

middotx1

x2

x3

= σ

x1

x2

x3

Damit ergibt sich das Gleichungssystem

1 10x1 + 2x3 = σx1

2 10x2 + 4x3 = σx2

3 2x1 + 4x2 + 2x3 = σx3

17

Schritt V Bestimme die Eigenwerte und Eigenvektoren vonAT middotA

Setze 10 0 20 10 42 4 2

middotx1

x2

x3

= σ

x1

x2

x3

Damit ergibt sich das Gleichungssystem

1 10x1 + 2x3 = σx1

2 10x2 + 4x3 = σx2

3 2x1 + 4x2 + 2x3 = σx3

17

Schritt V Bestimme die Eigenwerte und Eigenvektoren vonAT middotA

1 10x1 + 2x3 = σx1

2 10x2 + 4x3 = σx2

3 2x1 + 4x2 + 2x3 = σx3

Gleichung (ii) minus zweimal (i)

10x2 + 4x3minus20x1minus4x3 = σx2minus2σx2

und damit σ1 = 10

Mit ahnlichen Umformungen kann man σ2 = 12 sowie σ3 = 0berechnen

18

Schritt V Bestimme die Eigenwerte und Eigenvektoren vonAT middotA

Drei Eigenwerte σ1 = 10 σ2 = 12 und σ3 = 0 Damit ergibt sich furdie Eigenvektoren

1 10x1 + 2x3 = 10x12 10x2 + 4x3 = 10x23 2x1 + 4x2 + 2x3 = 10x3 und damit4 x3 = 0 aus der ersten Gleichung und damit5 2x1 + 4x2 = 0 bzw x1 =minus2x26 Wir konnen die Lange des Eigenvektors wieder frei wahlen da

wir danach eh normalisieren Allerdings sind die Vorzeichen nichtmehr frei wahlbar da ja insgesamt bei U middotΣ middotV T wieder Aherauskommen muss Darauf macht das Tutorial nichtaufmerksamWir wahlen x1 = 2x2 =minus1 hatten aber auch(falschlicherweise)x1 =minus2x2 = 1 wahlen konnen

Ebenso bestimmen wir fur σ2 = 12 einen Eigenvektor (121) und furσ3 = 0 einen Eigenvektor (12minus5)19

Schritt VI Bestimme V

Starte mit einer Matrix V die die bestimmten Eigenvektoren von AT middotAnach der Groszlige der jeweiligen Eigenwerte als Spaltenvektoren enthalt

1 Fur Eigenwert σ1 = 10 hatten wir (2minus10) gewahlt2 Fur Eigenwert σ2 = 12 hatten wir (121) bestimmt3 Fur Eigenwert σ3 = 0 hatten wir (12minus5) bestimmt4 Spaltenvektoren nach Eigenwertgroszlige geordnet

V =

1 2 12 minus1 21 0 minus5

20

Schritt VI Bestimme V

Orthonormalisiere mit Gram-Schmidt die Spaltenvektoren von V

V =

1 2 12 minus1 21 0 minus5

1 Normalisiere ersten Spaltenvektor v (1) = v(1)

v(1) =

1radic6

2radic6

1radic6

2 Berechne die Senkrechte v (2)minus〈v (1) v (2)〉 middot v (1)

3 Also

2minus10

minus〈

1radic6

2radic6

1radic6

2minus10

〉 middot

1radic6

2radic6

1radic6

=

2minus10

4 Normalisiere die Senkrechte

2minus10

ergibt v (2) =

2radic5minus1radic

50

21

Schritt VI Bestimme V

V =

1 2 12 minus1 21 0 minus5

Schon bestimmt

v (1) =

1radic6

2radic6

1radic6

sowie v (2) =

2radic5minus1radic

50

Dann kann man auch noch v (3) berechnen mit der Senkrechten

v (3)minus〈v (1) v (3)〉 middot v (1)minus〈v (2) v (3)〉 middot v (2)

Dies ergibt

minus23minus43103

Normalisiert v (3) =

1radic302radic30minus5radic

30

22

Schritt VI Bestimme V

Damit

V =

1radic6

2radic5

1radic30

2radic6

minus1radic5

2radic30

1radic6

0 minus5radic30

und damit

V T =

1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

23

Schritt VII Bestimme Σ

Σ ist eine mtimesn (hier 2times3) ldquoDiagonalmatrixrdquo mit den Wurzeln derEigenwerte (von A middotAT bzw U bzw V auf der Diagonale) nach Groszligegeordnet

Σ =

(radic12 0 00

radic10 0

)

24

Alles Zusammen

A = UΣV T =

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00

radic10 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(radic12radic2

radic10radic2

0radic

12radic2

minusradic

10radic2

0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(3 1 1minus1 3 1

)

25

Moglicher Schritt VIII Vorzeichenverbesserung

Nehmen wir mal an wir hatten bei V die falschen Vorzeichen gewahltZum Beispiel wir hatten fur σ2 = 10 anstatt (2minus10) den Vektor(minus210) gewahlt Damit ergibt sich

V =

1 minus2 12 1 21 0 minus5

und

V =

1radic6

minus2radic5

1radic30

2radic6

1radic5

2radic30

1radic6

0 minus5radic30

und

V T =

1radic6

2radic6

1radic6

minus2radic5

1radic5

01radic30

2radic30

minus5radic30

26

Moglicher Schritt VIII Vorzeichenverbesserung

Leider ist nun

UΣV T =

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00

radic10 0

)1radic6

2radic6

1radic6

minus2radic5

1radic5

01radic30

2radic30

minus5radic30

=

(radic12radic2

radic10radic2

0radic

12radic2

minusradic

10radic2

0

)1radic6

2radic6

1radic6

minus2radic5

1radic5

01radic30

2radic30

minus5radic30

=

(minus1 3 13 1 1

)

27

Moglicher Schritt VIII Vorzeichenverbesserung

Die unelegante Losung Gehe durch alle Zeilen von V T (Spalten vonV ) multizipliere sie systematisch mit minus1 bis es passt Durch dieMultiplikation mit minus1 bleiben die Vektoren immer noch normal undauch die Orthogonalitat andert sich nicht

Da eventuell auch mehrere Zeilen mit minus1 multipliziert werdenmussen ist dies leider exponentiell in der Zeilenanzahl von V T

(alle moglichen Kombinationen mussen probiert werden)

Es ist nicht gerade elegant

Man kann naturlich stattdessen auch durch die Spalten von Ugehen und diese anpassen

28

Konstruktionsmethodologie II

1 Berechne die quadratische ntimesn Matrix AT middotA2 Berechne die Eigenwerte σ2

j und Eigenvektoren vj von AT middotA3 Die Vektoren vj werden orthonormalisiert (Gram-Schmidt) und

bilden die Spaltenvektoren von V4 Die Wurzeln der σ2-Werte werden in absteigender Reihenfolge

die Eintrage von Σ

5 Die Spaltenvektoren von U bis zum Rang r der AT middotA Matrix sindnun eindeutig bestimmt aus der Vorgabe A = UΣV T und werdendaraus berechnet

6 Wenn r lt m mussen noch mminus r Vektoren zur Orthonormalbasiserganzt werden

29

Konstruktionsmethodologie II

1 Berechne die quadratische ntimesn Matrix AT middotA2 Berechne die Eigenwerte σ2

j und Eigenvektoren vj von AT middotA3 Die Vektoren vj werden orthonormalisiert (Gram-Schmidt) und

bilden die Spaltenvektoren von V4 Die Wurzeln der σ2-Werte werden in absteigender Reihenfolge

die Eintrage von Σ

5 Die Spaltenvektoren von U bis zum Rang r der AT middotA Matrix sindnun eindeutig bestimmt aus der Vorgabe A = UΣV T und werdendaraus berechnet

6 Wenn r lt m mussen noch mminus r Vektoren zur Orthonormalbasiserganzt werden

29

Konstruktionsmethodologie II

1 Berechne die quadratische ntimesn Matrix AT middotA2 Berechne die Eigenwerte σ2

j und Eigenvektoren vj von AT middotA3 Die Vektoren vj werden orthonormalisiert (Gram-Schmidt) und

bilden die Spaltenvektoren von V4 Die Wurzeln der σ2-Werte werden in absteigender Reihenfolge

die Eintrage von Σ

5 Die Spaltenvektoren von U bis zum Rang r der AT middotA Matrix sindnun eindeutig bestimmt aus der Vorgabe A = UΣV T und werdendaraus berechnet

6 Wenn r lt m mussen noch mminus r Vektoren zur Orthonormalbasiserganzt werden

29

Konstruktionsmethodologie II

1 Berechne die quadratische ntimesn Matrix AT middotA2 Berechne die Eigenwerte σ2

j und Eigenvektoren vj von AT middotA3 Die Vektoren vj werden orthonormalisiert (Gram-Schmidt) und

bilden die Spaltenvektoren von V4 Die Wurzeln der σ2-Werte werden in absteigender Reihenfolge

die Eintrage von Σ

5 Die Spaltenvektoren von U bis zum Rang r der AT middotA Matrix sindnun eindeutig bestimmt aus der Vorgabe A = UΣV T und werdendaraus berechnet

6 Wenn r lt m mussen noch mminus r Vektoren zur Orthonormalbasiserganzt werden

29

Schritt I Bestimme V T und Σ wie bisher

Nach dem ublichen Verfahren sei also V T zum Beispiel1radic6

2radic6

1radic6

minus2radic5

1radic5

01radic30

2radic30

minus5radic30

bzw V

V =

1radic6

minus2radic5

1radic30

2radic6

1radic5

2radic30

1radic6

0 minus5radic30

Die Vorzeichen konnten auch anders seinWeiterhin ist

Σ =

(radic12 0 00

radic10 0

)

30

Schritt II Bestimme U

Es muss gelten

A = UΣV T

und damit

AV = UΣV T V

Da V orthogonal ist V T V die Einheitsmatrix und damit

AV = UΣ

31

Schritt II Bestimme U

Man bilde nun eine ntimesm Matrix Σprime die genau auf denentsprechenden Diagonaleintragen 1σi stehen hat Im Beispiel ist

Σprime =

1radic12

0

0 1radic10

0 0

Es gilt dass Σ middotΣprime die mtimesm Einheitsmatrix istUnd damit

AVΣprime = UΣΣprime = U

32

Schritt II Bestimme U

Also giltU = AVΣprime

Damit gilt fur die Spalten von U wenn man sich dieMatrixmultiplikation genauer anschaut

u(j) =1σj

Av (j)

In unserem Beispiel

u(1) =1radic12

(3 1 1minus1 3 1

)1radic6

2radic6

1radic6

=

(1radic2

1radic2

)

33

Schritt II Bestimme U

Und ebenso

u(2) =1radic10

(3 1 1minus1 3 1

)minus2radic

51radic5

0

=

(minus1radic2

1radic2

)

Man sieht dass sich hier das veranderte Vorzeichen von v (2) imentgegengesetzten Vorzeichen von u(2) widerspiegelt Wir musstenauch nicht zweimal Eigenvektoren berechnen sondern U ist aus denvorherigen Berechnungen bestimmt

34

Beispiel mit einer Matrix mit niedrigerem Rang

Da wir durch 1σj

dividieren mussten geht dies nur fur Eigenwerteungleich Null Wenn aber die Matrizen niedrigere Range haben als mdann bekommen wir so nicht genugend U-Vektoren Was machen wirdann

Beispiel Sei eine Matrix von Rang 1 gegeben

A =

(1 01 0

)

35

Berechnung von V

AT A =

(1 10 0

)(1 01 0

)=

(2 00 0

)

36

Berechnung von V

(2 00 0

)hat die Eigenwerte 2 und 0 mit den jeweiligen Eigenvektoren (10)sowie (01)Daraus folgt

V =

(1 00 1

)Die ist schon eine Orthonormalmatrix also gilt V = V sowie daDiagonalmatrix V T = V

37

Bestimmung von Σ

Es gilt

Σ =

(radic2 0

0 0

)

38

Bestimmung von U

Der erste Spaltenvektor u(1) kann wie ublich bestimmt werden mit

u(1) =1radic2

Av (1) =1radic2

(1 01 0

)(10

)

=1radic2

(11

)=

(1radic2

1radic2

)

39

Bestimmung von U

Da wir keinen weiteren Eigenwert 6= 0 haben konnen wir leider sonicht weitermachen dh es geht nur bis zum Rang von A Es gilt aber(

1radic2

x21radic2

y2

)(radic2 0

0 0

)(1 00 1

)

=

(1 01 0

)= A

unabhangig von x2 und y2 Das heisst unser halb vollstandiges U istgenug fur eine Zerlegung

40

Bestimmung von U

1 Wir konnen also jedes x2 und y2 wahlen solange normiert undsenkrecht auf dem ersten Vektor stehend

2 Nach dem sogenannten Basiserganzungssatz geht dies immer3 In unserem Beispiel konnte man zum Beispiel (minus1radic

2 1radic

2) wahlen

4 Wie genau man diese weiteren Vektoren von U konstruiert ist furuns unerheblich da wir ja sowieso die letzten Spalten von U diezu den niedrigeren Eigenwerten gehoren ldquoabschneidenrdquowerden

41

SVD Zwischenfazit

Wir haben eine Matrix in das Produkt einer OrthonormalmatrixDiagonalmatrix und Orthogonalmatrix zerlegt

Die Diagonalmatrix enthalt die Wurzeln von den Eigenwerten vonA middotAT nach Groszlige geordnet

Die erste Orthonormalmatrix enthalt die orthonormalisiertenEigenvektoren von A middotAT nach Eigenwertgrosse geordnet alsSpalten

Die zweite Orthonormalmatrix ist die Transponierte der Matrixdie die orthonormalisierten Eigenvektoren von AT middotA nachEigenwertgrosse geordnet als Spalten enthalt

42

Ubersicht

1 SVD HauptsatzDer SVD-SatzKonstruktion am Beispiel Methodologie IKonstruktionsmethodologie II

2 Interpretation der SVD

3 Reduced SVD

4 Verwendung in NLP

43

Geometrische Interpretation bei quadratischen Matrizen

Bedeutung der SVD ist dass sich die Funktion in eine DrehungDrehspiegelung (V T )eine Verzerrung (Σ) und eine zweite DrehungDrehspiegelung (U) zerlegen lsst

Matrix

(1 10 1

)SVD Geometrische Interpretationa

aQuelle httpscommonswikimediaorgwikiFileSingular-Value-Decompositionsvg

44

Noch einige Bemerkungen

Die Eigenwerte und damit Σ sind eindeutig bestimmt

U und V sind nicht eindeutig bestimmt Es konnen Drehungenum 180 Grad oder Spiegelungen hinzukommen

Wir konnen in vielen Fallen einen Eigenvektor wahlen(Freiheitsgrade) mussen aber dann bei den Vorzeichen derzweiten Matrix aufpassen

45

Noch einige Bemerkungen

Wir haben implizit den Rang der Ursprungsmatrix A bestimmtDies kann man klar an U middotΣ sehen

A = UΣV T =

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00

radic10 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(radic12radic2

radic10radic2

0radic

12radic2

minusradic

10radic2

0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(3 1 1minus1 3 1

)

46

Noch einige Bemerkungen

Deswegen wird manchmal die Singularwertzerlegung auch alsZerlegung in drei Matrizen Amtimesn = Umtimesr Σrtimesr V T

rtimesn wobei r der Rangder Matrix A ist beschrieben

A = UΣV T =

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00

radic10 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 00

radic10

)( 1radic6

2radic6

1radic6

2radic5

minus1radic5

0

)=

(radic12radic2

radic10radic2radic

12radic2

minusradic

10radic2

)(1radic6

2radic6

1radic6

2radic5

minus1radic5

0

)=

(3 1 1minus1 3 1

)47

Noch einige Bemerkungen

Bisher haben wir immer die Ausgangsmatrix einfach reproduziert(mit dem gleichen Rang) Man sieht den Rang besser und es gilt

Die ldquoZerrungrdquo durch die Matrix Σ ist bei den Dimensionen mit denhochsten Eigenwerten am groszligten Beispiel

(radic12 0 00

radic10 0

)x1

x2

x3

=

(radic12 middot x1radic10 middot x2

)Es macht also Sinn dass wir wenn wir eine Approximationunserer Ausgangsmatrix mit niedrigerem Rang wollen dann dieunwichtigen Dimensionen die durch niedrige Eigenwertegekennzeichnet sind weglassen

48

Ubersicht

1 SVD HauptsatzDer SVD-SatzKonstruktion am Beispiel Methodologie IKonstruktionsmethodologie II

2 Interpretation der SVD

3 Reduced SVD

4 Verwendung in NLP

49

Reduced SVD Approximation niedrigeren Ranges

Approximation von mtimesn Matrix A mit Rang r durch mtimesn -Matrix Ak mit Rang k lt r

A = UΣV T asymp Ak = UΣk V T

Σk ist eine ldquodiagonalerdquo mtimesn - Matrix bei der nur auf den erstenk Stellen der Diagonalmatrix Werte 6= 0 stehen

U und V wie zuvor

50

Beispiel

A = UΣV T =

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00

radic10 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

asymp

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00 0 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(radic12radic2

0 0radic

12radic2

0 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(1 2 11 2 1

)51

Reduced SVD

Wir hatten auch nur die ersten k Spalten von U sowie die ersten kZeilen von V T behalten konnen

Aasymp

(1radic2

1radic2

)(radic12)( 1radic

62radic6

1radic6

)=

(radic12radic2radic

12radic2

)(1radic6

2radic6

1radic6

)=

(1 2 11 2 1

)

52

Als Bild

53

Als Algorithmus

Gegeben mtimesn Matrix A und gewunschter Rank k Wir produziereneine Rangminus k Approximation wie folgt

1 Wir berechnen eine SVD Zerlegung von A

Amtimesn = UmtimesmΣmtimesnV Tntimesn

2 Wir behalten nur die ersten k Spalten von U resultierend in Umtimesk

3 Wir behalten nur die Top k sprich die ersten k Diagonalwerte vonΣ resultierend in Σktimesk

4 Wir behalten nur die ersten k Reihen von V T resultierend in V Tktimesn

54

Reduced SVD

Diagonale Eintrage in Σk sind die k groszligten Eigenwerte vonA middotAT

Satz UΣk V T minimiert die Differenz der Frobenius-Normzwischen A und Ak unter der Bedingung rang(Ak ) = k

Das heisst Fur jede mtimesn Matrix A mit Rang r angestrebtemRang k lt r und jede mtimesn Matrix B mit Rang k gilt

Aminus Ak2 le AminusB2

wobei Ak die Rang-k Approximation ist die man aus der SVD vonA ableiten kann

55

Was hat man erreicht

Unkorrelierte Dimensionen (Orthonormalbasis) die nur nochverzerrt werden

Wir haben die Dimensionen mit der meisten Variation identifiziertund danach geordnet

ldquoUnwichtigerdquo Dimensionen werden weggelassenrarr Rauschenvermindert

Man braucht viel weniger Speicherplatz O(k(n + m)) anstattO(nm)

Die neuen ldquoverstecktenrdquo Dimensionen konnen zurAhnlichkeitsberechnung verwendet werden und funktionieren oftbesser

56

Wie wahlt man k

Meist empirisch Gesehen

1 In NLP oft die ersten 200 bis 300 Dimensionen2 In Recommender Systems Wahle k so dass die Summe der

ersten k Eigenwerte mindestens 10-mal der Summe alleranderen Eigenwerte

57

Ubersicht

1 SVD HauptsatzDer SVD-SatzKonstruktion am Beispiel Methodologie IKonstruktionsmethodologie II

2 Interpretation der SVD

3 Reduced SVD

4 Verwendung in NLP

58

Dichte Embeddings

A ist Matrix von m WorternTermen und n Kontexten (PPMIfrequency )Reduced SVD resultiert in Ak mit

Umtimesk ist mtimes k - MatrixZeilen von Umtimesk reprasentieren TermeSpalten in Umtimesk latente Reprasentation der KontexteBenutze Umtimesk middotΣktimesk zur Berechnung von Termahnlichkeiten

Vorteile gegenuber der vollen Term-Kontext-MatrixDichte MatrixDimensionsreduktion effizientere VerarbeitungDe-Noising

59

Dichte Embeddings

A ist Matrix von m WorternTermen und n Kontexten (PPMIfrequency )Reduced SVD resultiert in Ak mit

Umtimesk ist mtimes k - MatrixZeilen von Umtimesk reprasentieren TermeSpalten in Umtimesk latente Reprasentation der KontexteBenutze Umtimesk middotΣktimesk zur Berechnung von Termahnlichkeiten

Vorteile gegenuber der vollen Term-Kontext-MatrixDichte MatrixDimensionsreduktion effizientere VerarbeitungDe-Noising

59

Dichte Embeddings

A ist Matrix von m WorternTermen und n Kontexten (PPMIfrequency )Reduced SVD resultiert in Ak mit

Umtimesk ist mtimes k - MatrixZeilen von Umtimesk reprasentieren TermeSpalten in Umtimesk latente Reprasentation der KontexteBenutze Umtimesk middotΣktimesk zur Berechnung von Termahnlichkeiten

Vorteile gegenuber der vollen Term-Kontext-MatrixDichte MatrixDimensionsreduktion effizientere VerarbeitungDe-Noising

59

Das Beispiel vom Anfang

Eine Wort-Dokument-Matrix M aus dem R5times3

d1 d2 d3ship 1 1 0boat 0 0 1

ocean 1 0 1motor 1 0 1wood 0 1 0

cossim(shipboat) = 0

cossim(shipocean) =12

cossim(boatocean) =1radic2

= 07

60

SVD Zerlegung war

minus041 07 024minus029 minus033 minus072minus061 minus02 014minus061 minus02 014minus01 057 minus062

227 0 0

0 149 00 0 078

minus072 minus023 minus066019 085 minus05067 minus048 minus056

=

minus093 104 0187minus0658 minus049 minus056minus138 minus0298 01092minus138 minus0298 minus1092minus0227 084 minus0483

minus072 minus023 minus066

019 085 minus05067 minus048 minus056

=

1 1 00 0 11 0 11 0 10 1 0

Abweichungen sind Rundungsfehler61

Niedrigdimensionale Approximation

Die kleinsten Eigenwerte sind die unwichtigsten Wir konnen dieseldquoweglassenrdquo = auf Null setzenrarr eine Matrix mit kleinerem Rang dieaber relativ ahnlich zur Ausgangsmatrix istminus041 07 024minus029 minus033 minus072minus061 minus02 014minus061 minus02 014minus01 057 minus062

227 0 0

0 149 00 0 0

minus072 minus023 minus066019 085 minus05067 minus048 minus056

=

minus093 104 0minus0658 minus049 0minus138 minus0298 0minus138 minus0298 0minus0227 084 0

minus072 minus023 minus066

019 085 minus05067 minus048 minus056

=

087 109 011038 minus027 068093 005 106093 005 106032 077 minus027

62

Die niedrigdimensionale Approximation

Wir interessieren uns fur die Matrix U2 = UΣ2 also die Matrix mit demniedrigerem Rang

minus093 104 0minus0658 minus049 0minus138 minus0298 0minus138 minus0298 0minus0227 084 0

Man kann diese nun als die Reprasentation unserer 5 Worter mit zweiversteckten Dimensionen auffassen

h1 h2ship minus093 104boat minus0658 minus049

ocean minus138 minus0298motor minus138 minus0298wood minus0227 084

63

Neue Ahnlichkeitsberechnungen

h1 h2ship minus093 104boat minus0658 minus049

ocean minus138 minus0298motor minus138 minus0298wood minus0227 084

cossim(shipboat) =(minus093) middot (minus0658) + 104 middot (minus049)radic

(0932 + 1042) middotradic

(06582 + 0492)= 009

cossim(shipocean) =(minus093) middot (minus138) + 104 middot (minus029)radic

(0932 + 1042) middotradic

(1382 + 0292)= 049

cossim(boatocean) = 09

64

Variationen

Benutze nur Umtimesk zur Ahnlichkeitsberechnung

Benutze Umtimesk middotΣpktimesk zur Ahnlichkeitsberechnungrarr Parameter p

sollte getuned werden Kann groszlige Unterschiede machen

Oft p = 0p = 05p = 1

65

Performanz der Reduced-SVD-Embeddings

Levy O Goldberg Y Neural word embedding as implicit matrix factorization In

Advances in neural information processing systems 2014 S 2177-2185

(Englische) Wikipedia 15 Milliarden Tokens

Fenster 2 beiderseits

Vokabular 189 533 fur Terme sowie Kontexte

PPMI Matrizen

SVD sowie ohne Zerlegung (PPMI) sowie neurale (SGNS)

Algorithmus Spearman Rank zu WordSim 353SVD 0652SGNS 0633PPMI 0605

66

Latent Semantic Analysis und Word Embeddings

Levy2014

ldquoWe analyze skip-gram with negative-sampling (SGNS) [] and show that it isimplicitly factorizing a word-context matrix whose cells are the pointwise mutualinformation (PMI) of the respective word and context pairs shifted by a globalconstant When dense low-dimensional vectors are preferred exact factorizationwith SVD can achieve solutions that are at least as good as SGNSrsquoss solutions forword similarity tasks On analogy questions SGNS remains superior to SVD Weconjecture that this stems from the weighted nature of SGNSrsquos factorizationrdquo

67

Zusammenfassung

Reduced SVD resultiert in einer optimalen Approximation derOriginalmatrix mit niedrigerem Rang Optimal = optimal bzgl derFrobeniusnorm (bzw mean squared error)

Dadurch erhalten wir eine mathematisch fundierte dichtereMatrix die Rauschen (weniger wichtige Dimensionen) eliminiert

Wir konnen mittels Umtimesk Σktimesk weiterhin Wortahnlichkeitenberechnen

Es konnen Resultate erreicht werden die bei word similaritymindestens ebensogut sind wie mit neuralen word embeddings

Nachteile Kosten der SVD Berechnung fur mtimesn matrixO(n middotm2) (when m lt n)rarr Nicht gut fur sehr grosse Matrizen

Nachteile Geht nicht gut mit unbekannten Wortern um

Nachteile schlechter bei Wortanalogieaufgaben

68

Literatur

Guter erweiterter Hintergrundhttptheorystanfordedu˜tims15ll7pdf bishttptheorystanfordedu˜tims15ll9pdf

SVD Tutorial (ohne vollstandigen Hintergrund) Kirk Baker(2005) Singular Value Decomposition Tutorialhttpsdatajobscomdata-science-repoSVD-Tutorial-[Kirk-Baker]pdf Leider ist hier imKonstruktionsverfahren I die Vorzeichenproblematikfalschlicherweise nicht behandelt worden

Levy O Goldberg Y Neural word embedding as implicit matrixfactorization In Advances in neural information processingsystems 2014 S 2177-2185

Ubungsblatt II

69

  • SVD Hauptsatz
    • Der SVD-Satz
    • Konstruktion am Beispiel Methodologie I
    • Konstruktionsmethodologie II
      • Interpretation der SVD
      • Reduced SVD
      • Verwendung in NLP

Schritt V Bestimme die Eigenwerte und Eigenvektoren vonAT middotA

Setze 10 0 20 10 42 4 2

middotx1

x2

x3

= σ

x1

x2

x3

Damit ergibt sich das Gleichungssystem

1 10x1 + 2x3 = σx1

2 10x2 + 4x3 = σx2

3 2x1 + 4x2 + 2x3 = σx3

17

Schritt V Bestimme die Eigenwerte und Eigenvektoren vonAT middotA

1 10x1 + 2x3 = σx1

2 10x2 + 4x3 = σx2

3 2x1 + 4x2 + 2x3 = σx3

Gleichung (ii) minus zweimal (i)

10x2 + 4x3minus20x1minus4x3 = σx2minus2σx2

und damit σ1 = 10

Mit ahnlichen Umformungen kann man σ2 = 12 sowie σ3 = 0berechnen

18

Schritt V Bestimme die Eigenwerte und Eigenvektoren vonAT middotA

Drei Eigenwerte σ1 = 10 σ2 = 12 und σ3 = 0 Damit ergibt sich furdie Eigenvektoren

1 10x1 + 2x3 = 10x12 10x2 + 4x3 = 10x23 2x1 + 4x2 + 2x3 = 10x3 und damit4 x3 = 0 aus der ersten Gleichung und damit5 2x1 + 4x2 = 0 bzw x1 =minus2x26 Wir konnen die Lange des Eigenvektors wieder frei wahlen da

wir danach eh normalisieren Allerdings sind die Vorzeichen nichtmehr frei wahlbar da ja insgesamt bei U middotΣ middotV T wieder Aherauskommen muss Darauf macht das Tutorial nichtaufmerksamWir wahlen x1 = 2x2 =minus1 hatten aber auch(falschlicherweise)x1 =minus2x2 = 1 wahlen konnen

Ebenso bestimmen wir fur σ2 = 12 einen Eigenvektor (121) und furσ3 = 0 einen Eigenvektor (12minus5)19

Schritt VI Bestimme V

Starte mit einer Matrix V die die bestimmten Eigenvektoren von AT middotAnach der Groszlige der jeweiligen Eigenwerte als Spaltenvektoren enthalt

1 Fur Eigenwert σ1 = 10 hatten wir (2minus10) gewahlt2 Fur Eigenwert σ2 = 12 hatten wir (121) bestimmt3 Fur Eigenwert σ3 = 0 hatten wir (12minus5) bestimmt4 Spaltenvektoren nach Eigenwertgroszlige geordnet

V =

1 2 12 minus1 21 0 minus5

20

Schritt VI Bestimme V

Orthonormalisiere mit Gram-Schmidt die Spaltenvektoren von V

V =

1 2 12 minus1 21 0 minus5

1 Normalisiere ersten Spaltenvektor v (1) = v(1)

v(1) =

1radic6

2radic6

1radic6

2 Berechne die Senkrechte v (2)minus〈v (1) v (2)〉 middot v (1)

3 Also

2minus10

minus〈

1radic6

2radic6

1radic6

2minus10

〉 middot

1radic6

2radic6

1radic6

=

2minus10

4 Normalisiere die Senkrechte

2minus10

ergibt v (2) =

2radic5minus1radic

50

21

Schritt VI Bestimme V

V =

1 2 12 minus1 21 0 minus5

Schon bestimmt

v (1) =

1radic6

2radic6

1radic6

sowie v (2) =

2radic5minus1radic

50

Dann kann man auch noch v (3) berechnen mit der Senkrechten

v (3)minus〈v (1) v (3)〉 middot v (1)minus〈v (2) v (3)〉 middot v (2)

Dies ergibt

minus23minus43103

Normalisiert v (3) =

1radic302radic30minus5radic

30

22

Schritt VI Bestimme V

Damit

V =

1radic6

2radic5

1radic30

2radic6

minus1radic5

2radic30

1radic6

0 minus5radic30

und damit

V T =

1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

23

Schritt VII Bestimme Σ

Σ ist eine mtimesn (hier 2times3) ldquoDiagonalmatrixrdquo mit den Wurzeln derEigenwerte (von A middotAT bzw U bzw V auf der Diagonale) nach Groszligegeordnet

Σ =

(radic12 0 00

radic10 0

)

24

Alles Zusammen

A = UΣV T =

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00

radic10 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(radic12radic2

radic10radic2

0radic

12radic2

minusradic

10radic2

0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(3 1 1minus1 3 1

)

25

Moglicher Schritt VIII Vorzeichenverbesserung

Nehmen wir mal an wir hatten bei V die falschen Vorzeichen gewahltZum Beispiel wir hatten fur σ2 = 10 anstatt (2minus10) den Vektor(minus210) gewahlt Damit ergibt sich

V =

1 minus2 12 1 21 0 minus5

und

V =

1radic6

minus2radic5

1radic30

2radic6

1radic5

2radic30

1radic6

0 minus5radic30

und

V T =

1radic6

2radic6

1radic6

minus2radic5

1radic5

01radic30

2radic30

minus5radic30

26

Moglicher Schritt VIII Vorzeichenverbesserung

Leider ist nun

UΣV T =

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00

radic10 0

)1radic6

2radic6

1radic6

minus2radic5

1radic5

01radic30

2radic30

minus5radic30

=

(radic12radic2

radic10radic2

0radic

12radic2

minusradic

10radic2

0

)1radic6

2radic6

1radic6

minus2radic5

1radic5

01radic30

2radic30

minus5radic30

=

(minus1 3 13 1 1

)

27

Moglicher Schritt VIII Vorzeichenverbesserung

Die unelegante Losung Gehe durch alle Zeilen von V T (Spalten vonV ) multizipliere sie systematisch mit minus1 bis es passt Durch dieMultiplikation mit minus1 bleiben die Vektoren immer noch normal undauch die Orthogonalitat andert sich nicht

Da eventuell auch mehrere Zeilen mit minus1 multipliziert werdenmussen ist dies leider exponentiell in der Zeilenanzahl von V T

(alle moglichen Kombinationen mussen probiert werden)

Es ist nicht gerade elegant

Man kann naturlich stattdessen auch durch die Spalten von Ugehen und diese anpassen

28

Konstruktionsmethodologie II

1 Berechne die quadratische ntimesn Matrix AT middotA2 Berechne die Eigenwerte σ2

j und Eigenvektoren vj von AT middotA3 Die Vektoren vj werden orthonormalisiert (Gram-Schmidt) und

bilden die Spaltenvektoren von V4 Die Wurzeln der σ2-Werte werden in absteigender Reihenfolge

die Eintrage von Σ

5 Die Spaltenvektoren von U bis zum Rang r der AT middotA Matrix sindnun eindeutig bestimmt aus der Vorgabe A = UΣV T und werdendaraus berechnet

6 Wenn r lt m mussen noch mminus r Vektoren zur Orthonormalbasiserganzt werden

29

Konstruktionsmethodologie II

1 Berechne die quadratische ntimesn Matrix AT middotA2 Berechne die Eigenwerte σ2

j und Eigenvektoren vj von AT middotA3 Die Vektoren vj werden orthonormalisiert (Gram-Schmidt) und

bilden die Spaltenvektoren von V4 Die Wurzeln der σ2-Werte werden in absteigender Reihenfolge

die Eintrage von Σ

5 Die Spaltenvektoren von U bis zum Rang r der AT middotA Matrix sindnun eindeutig bestimmt aus der Vorgabe A = UΣV T und werdendaraus berechnet

6 Wenn r lt m mussen noch mminus r Vektoren zur Orthonormalbasiserganzt werden

29

Konstruktionsmethodologie II

1 Berechne die quadratische ntimesn Matrix AT middotA2 Berechne die Eigenwerte σ2

j und Eigenvektoren vj von AT middotA3 Die Vektoren vj werden orthonormalisiert (Gram-Schmidt) und

bilden die Spaltenvektoren von V4 Die Wurzeln der σ2-Werte werden in absteigender Reihenfolge

die Eintrage von Σ

5 Die Spaltenvektoren von U bis zum Rang r der AT middotA Matrix sindnun eindeutig bestimmt aus der Vorgabe A = UΣV T und werdendaraus berechnet

6 Wenn r lt m mussen noch mminus r Vektoren zur Orthonormalbasiserganzt werden

29

Konstruktionsmethodologie II

1 Berechne die quadratische ntimesn Matrix AT middotA2 Berechne die Eigenwerte σ2

j und Eigenvektoren vj von AT middotA3 Die Vektoren vj werden orthonormalisiert (Gram-Schmidt) und

bilden die Spaltenvektoren von V4 Die Wurzeln der σ2-Werte werden in absteigender Reihenfolge

die Eintrage von Σ

5 Die Spaltenvektoren von U bis zum Rang r der AT middotA Matrix sindnun eindeutig bestimmt aus der Vorgabe A = UΣV T und werdendaraus berechnet

6 Wenn r lt m mussen noch mminus r Vektoren zur Orthonormalbasiserganzt werden

29

Schritt I Bestimme V T und Σ wie bisher

Nach dem ublichen Verfahren sei also V T zum Beispiel1radic6

2radic6

1radic6

minus2radic5

1radic5

01radic30

2radic30

minus5radic30

bzw V

V =

1radic6

minus2radic5

1radic30

2radic6

1radic5

2radic30

1radic6

0 minus5radic30

Die Vorzeichen konnten auch anders seinWeiterhin ist

Σ =

(radic12 0 00

radic10 0

)

30

Schritt II Bestimme U

Es muss gelten

A = UΣV T

und damit

AV = UΣV T V

Da V orthogonal ist V T V die Einheitsmatrix und damit

AV = UΣ

31

Schritt II Bestimme U

Man bilde nun eine ntimesm Matrix Σprime die genau auf denentsprechenden Diagonaleintragen 1σi stehen hat Im Beispiel ist

Σprime =

1radic12

0

0 1radic10

0 0

Es gilt dass Σ middotΣprime die mtimesm Einheitsmatrix istUnd damit

AVΣprime = UΣΣprime = U

32

Schritt II Bestimme U

Also giltU = AVΣprime

Damit gilt fur die Spalten von U wenn man sich dieMatrixmultiplikation genauer anschaut

u(j) =1σj

Av (j)

In unserem Beispiel

u(1) =1radic12

(3 1 1minus1 3 1

)1radic6

2radic6

1radic6

=

(1radic2

1radic2

)

33

Schritt II Bestimme U

Und ebenso

u(2) =1radic10

(3 1 1minus1 3 1

)minus2radic

51radic5

0

=

(minus1radic2

1radic2

)

Man sieht dass sich hier das veranderte Vorzeichen von v (2) imentgegengesetzten Vorzeichen von u(2) widerspiegelt Wir musstenauch nicht zweimal Eigenvektoren berechnen sondern U ist aus denvorherigen Berechnungen bestimmt

34

Beispiel mit einer Matrix mit niedrigerem Rang

Da wir durch 1σj

dividieren mussten geht dies nur fur Eigenwerteungleich Null Wenn aber die Matrizen niedrigere Range haben als mdann bekommen wir so nicht genugend U-Vektoren Was machen wirdann

Beispiel Sei eine Matrix von Rang 1 gegeben

A =

(1 01 0

)

35

Berechnung von V

AT A =

(1 10 0

)(1 01 0

)=

(2 00 0

)

36

Berechnung von V

(2 00 0

)hat die Eigenwerte 2 und 0 mit den jeweiligen Eigenvektoren (10)sowie (01)Daraus folgt

V =

(1 00 1

)Die ist schon eine Orthonormalmatrix also gilt V = V sowie daDiagonalmatrix V T = V

37

Bestimmung von Σ

Es gilt

Σ =

(radic2 0

0 0

)

38

Bestimmung von U

Der erste Spaltenvektor u(1) kann wie ublich bestimmt werden mit

u(1) =1radic2

Av (1) =1radic2

(1 01 0

)(10

)

=1radic2

(11

)=

(1radic2

1radic2

)

39

Bestimmung von U

Da wir keinen weiteren Eigenwert 6= 0 haben konnen wir leider sonicht weitermachen dh es geht nur bis zum Rang von A Es gilt aber(

1radic2

x21radic2

y2

)(radic2 0

0 0

)(1 00 1

)

=

(1 01 0

)= A

unabhangig von x2 und y2 Das heisst unser halb vollstandiges U istgenug fur eine Zerlegung

40

Bestimmung von U

1 Wir konnen also jedes x2 und y2 wahlen solange normiert undsenkrecht auf dem ersten Vektor stehend

2 Nach dem sogenannten Basiserganzungssatz geht dies immer3 In unserem Beispiel konnte man zum Beispiel (minus1radic

2 1radic

2) wahlen

4 Wie genau man diese weiteren Vektoren von U konstruiert ist furuns unerheblich da wir ja sowieso die letzten Spalten von U diezu den niedrigeren Eigenwerten gehoren ldquoabschneidenrdquowerden

41

SVD Zwischenfazit

Wir haben eine Matrix in das Produkt einer OrthonormalmatrixDiagonalmatrix und Orthogonalmatrix zerlegt

Die Diagonalmatrix enthalt die Wurzeln von den Eigenwerten vonA middotAT nach Groszlige geordnet

Die erste Orthonormalmatrix enthalt die orthonormalisiertenEigenvektoren von A middotAT nach Eigenwertgrosse geordnet alsSpalten

Die zweite Orthonormalmatrix ist die Transponierte der Matrixdie die orthonormalisierten Eigenvektoren von AT middotA nachEigenwertgrosse geordnet als Spalten enthalt

42

Ubersicht

1 SVD HauptsatzDer SVD-SatzKonstruktion am Beispiel Methodologie IKonstruktionsmethodologie II

2 Interpretation der SVD

3 Reduced SVD

4 Verwendung in NLP

43

Geometrische Interpretation bei quadratischen Matrizen

Bedeutung der SVD ist dass sich die Funktion in eine DrehungDrehspiegelung (V T )eine Verzerrung (Σ) und eine zweite DrehungDrehspiegelung (U) zerlegen lsst

Matrix

(1 10 1

)SVD Geometrische Interpretationa

aQuelle httpscommonswikimediaorgwikiFileSingular-Value-Decompositionsvg

44

Noch einige Bemerkungen

Die Eigenwerte und damit Σ sind eindeutig bestimmt

U und V sind nicht eindeutig bestimmt Es konnen Drehungenum 180 Grad oder Spiegelungen hinzukommen

Wir konnen in vielen Fallen einen Eigenvektor wahlen(Freiheitsgrade) mussen aber dann bei den Vorzeichen derzweiten Matrix aufpassen

45

Noch einige Bemerkungen

Wir haben implizit den Rang der Ursprungsmatrix A bestimmtDies kann man klar an U middotΣ sehen

A = UΣV T =

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00

radic10 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(radic12radic2

radic10radic2

0radic

12radic2

minusradic

10radic2

0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(3 1 1minus1 3 1

)

46

Noch einige Bemerkungen

Deswegen wird manchmal die Singularwertzerlegung auch alsZerlegung in drei Matrizen Amtimesn = Umtimesr Σrtimesr V T

rtimesn wobei r der Rangder Matrix A ist beschrieben

A = UΣV T =

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00

radic10 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 00

radic10

)( 1radic6

2radic6

1radic6

2radic5

minus1radic5

0

)=

(radic12radic2

radic10radic2radic

12radic2

minusradic

10radic2

)(1radic6

2radic6

1radic6

2radic5

minus1radic5

0

)=

(3 1 1minus1 3 1

)47

Noch einige Bemerkungen

Bisher haben wir immer die Ausgangsmatrix einfach reproduziert(mit dem gleichen Rang) Man sieht den Rang besser und es gilt

Die ldquoZerrungrdquo durch die Matrix Σ ist bei den Dimensionen mit denhochsten Eigenwerten am groszligten Beispiel

(radic12 0 00

radic10 0

)x1

x2

x3

=

(radic12 middot x1radic10 middot x2

)Es macht also Sinn dass wir wenn wir eine Approximationunserer Ausgangsmatrix mit niedrigerem Rang wollen dann dieunwichtigen Dimensionen die durch niedrige Eigenwertegekennzeichnet sind weglassen

48

Ubersicht

1 SVD HauptsatzDer SVD-SatzKonstruktion am Beispiel Methodologie IKonstruktionsmethodologie II

2 Interpretation der SVD

3 Reduced SVD

4 Verwendung in NLP

49

Reduced SVD Approximation niedrigeren Ranges

Approximation von mtimesn Matrix A mit Rang r durch mtimesn -Matrix Ak mit Rang k lt r

A = UΣV T asymp Ak = UΣk V T

Σk ist eine ldquodiagonalerdquo mtimesn - Matrix bei der nur auf den erstenk Stellen der Diagonalmatrix Werte 6= 0 stehen

U und V wie zuvor

50

Beispiel

A = UΣV T =

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00

radic10 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

asymp

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00 0 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(radic12radic2

0 0radic

12radic2

0 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(1 2 11 2 1

)51

Reduced SVD

Wir hatten auch nur die ersten k Spalten von U sowie die ersten kZeilen von V T behalten konnen

Aasymp

(1radic2

1radic2

)(radic12)( 1radic

62radic6

1radic6

)=

(radic12radic2radic

12radic2

)(1radic6

2radic6

1radic6

)=

(1 2 11 2 1

)

52

Als Bild

53

Als Algorithmus

Gegeben mtimesn Matrix A und gewunschter Rank k Wir produziereneine Rangminus k Approximation wie folgt

1 Wir berechnen eine SVD Zerlegung von A

Amtimesn = UmtimesmΣmtimesnV Tntimesn

2 Wir behalten nur die ersten k Spalten von U resultierend in Umtimesk

3 Wir behalten nur die Top k sprich die ersten k Diagonalwerte vonΣ resultierend in Σktimesk

4 Wir behalten nur die ersten k Reihen von V T resultierend in V Tktimesn

54

Reduced SVD

Diagonale Eintrage in Σk sind die k groszligten Eigenwerte vonA middotAT

Satz UΣk V T minimiert die Differenz der Frobenius-Normzwischen A und Ak unter der Bedingung rang(Ak ) = k

Das heisst Fur jede mtimesn Matrix A mit Rang r angestrebtemRang k lt r und jede mtimesn Matrix B mit Rang k gilt

Aminus Ak2 le AminusB2

wobei Ak die Rang-k Approximation ist die man aus der SVD vonA ableiten kann

55

Was hat man erreicht

Unkorrelierte Dimensionen (Orthonormalbasis) die nur nochverzerrt werden

Wir haben die Dimensionen mit der meisten Variation identifiziertund danach geordnet

ldquoUnwichtigerdquo Dimensionen werden weggelassenrarr Rauschenvermindert

Man braucht viel weniger Speicherplatz O(k(n + m)) anstattO(nm)

Die neuen ldquoverstecktenrdquo Dimensionen konnen zurAhnlichkeitsberechnung verwendet werden und funktionieren oftbesser

56

Wie wahlt man k

Meist empirisch Gesehen

1 In NLP oft die ersten 200 bis 300 Dimensionen2 In Recommender Systems Wahle k so dass die Summe der

ersten k Eigenwerte mindestens 10-mal der Summe alleranderen Eigenwerte

57

Ubersicht

1 SVD HauptsatzDer SVD-SatzKonstruktion am Beispiel Methodologie IKonstruktionsmethodologie II

2 Interpretation der SVD

3 Reduced SVD

4 Verwendung in NLP

58

Dichte Embeddings

A ist Matrix von m WorternTermen und n Kontexten (PPMIfrequency )Reduced SVD resultiert in Ak mit

Umtimesk ist mtimes k - MatrixZeilen von Umtimesk reprasentieren TermeSpalten in Umtimesk latente Reprasentation der KontexteBenutze Umtimesk middotΣktimesk zur Berechnung von Termahnlichkeiten

Vorteile gegenuber der vollen Term-Kontext-MatrixDichte MatrixDimensionsreduktion effizientere VerarbeitungDe-Noising

59

Dichte Embeddings

A ist Matrix von m WorternTermen und n Kontexten (PPMIfrequency )Reduced SVD resultiert in Ak mit

Umtimesk ist mtimes k - MatrixZeilen von Umtimesk reprasentieren TermeSpalten in Umtimesk latente Reprasentation der KontexteBenutze Umtimesk middotΣktimesk zur Berechnung von Termahnlichkeiten

Vorteile gegenuber der vollen Term-Kontext-MatrixDichte MatrixDimensionsreduktion effizientere VerarbeitungDe-Noising

59

Dichte Embeddings

A ist Matrix von m WorternTermen und n Kontexten (PPMIfrequency )Reduced SVD resultiert in Ak mit

Umtimesk ist mtimes k - MatrixZeilen von Umtimesk reprasentieren TermeSpalten in Umtimesk latente Reprasentation der KontexteBenutze Umtimesk middotΣktimesk zur Berechnung von Termahnlichkeiten

Vorteile gegenuber der vollen Term-Kontext-MatrixDichte MatrixDimensionsreduktion effizientere VerarbeitungDe-Noising

59

Das Beispiel vom Anfang

Eine Wort-Dokument-Matrix M aus dem R5times3

d1 d2 d3ship 1 1 0boat 0 0 1

ocean 1 0 1motor 1 0 1wood 0 1 0

cossim(shipboat) = 0

cossim(shipocean) =12

cossim(boatocean) =1radic2

= 07

60

SVD Zerlegung war

minus041 07 024minus029 minus033 minus072minus061 minus02 014minus061 minus02 014minus01 057 minus062

227 0 0

0 149 00 0 078

minus072 minus023 minus066019 085 minus05067 minus048 minus056

=

minus093 104 0187minus0658 minus049 minus056minus138 minus0298 01092minus138 minus0298 minus1092minus0227 084 minus0483

minus072 minus023 minus066

019 085 minus05067 minus048 minus056

=

1 1 00 0 11 0 11 0 10 1 0

Abweichungen sind Rundungsfehler61

Niedrigdimensionale Approximation

Die kleinsten Eigenwerte sind die unwichtigsten Wir konnen dieseldquoweglassenrdquo = auf Null setzenrarr eine Matrix mit kleinerem Rang dieaber relativ ahnlich zur Ausgangsmatrix istminus041 07 024minus029 minus033 minus072minus061 minus02 014minus061 minus02 014minus01 057 minus062

227 0 0

0 149 00 0 0

minus072 minus023 minus066019 085 minus05067 minus048 minus056

=

minus093 104 0minus0658 minus049 0minus138 minus0298 0minus138 minus0298 0minus0227 084 0

minus072 minus023 minus066

019 085 minus05067 minus048 minus056

=

087 109 011038 minus027 068093 005 106093 005 106032 077 minus027

62

Die niedrigdimensionale Approximation

Wir interessieren uns fur die Matrix U2 = UΣ2 also die Matrix mit demniedrigerem Rang

minus093 104 0minus0658 minus049 0minus138 minus0298 0minus138 minus0298 0minus0227 084 0

Man kann diese nun als die Reprasentation unserer 5 Worter mit zweiversteckten Dimensionen auffassen

h1 h2ship minus093 104boat minus0658 minus049

ocean minus138 minus0298motor minus138 minus0298wood minus0227 084

63

Neue Ahnlichkeitsberechnungen

h1 h2ship minus093 104boat minus0658 minus049

ocean minus138 minus0298motor minus138 minus0298wood minus0227 084

cossim(shipboat) =(minus093) middot (minus0658) + 104 middot (minus049)radic

(0932 + 1042) middotradic

(06582 + 0492)= 009

cossim(shipocean) =(minus093) middot (minus138) + 104 middot (minus029)radic

(0932 + 1042) middotradic

(1382 + 0292)= 049

cossim(boatocean) = 09

64

Variationen

Benutze nur Umtimesk zur Ahnlichkeitsberechnung

Benutze Umtimesk middotΣpktimesk zur Ahnlichkeitsberechnungrarr Parameter p

sollte getuned werden Kann groszlige Unterschiede machen

Oft p = 0p = 05p = 1

65

Performanz der Reduced-SVD-Embeddings

Levy O Goldberg Y Neural word embedding as implicit matrix factorization In

Advances in neural information processing systems 2014 S 2177-2185

(Englische) Wikipedia 15 Milliarden Tokens

Fenster 2 beiderseits

Vokabular 189 533 fur Terme sowie Kontexte

PPMI Matrizen

SVD sowie ohne Zerlegung (PPMI) sowie neurale (SGNS)

Algorithmus Spearman Rank zu WordSim 353SVD 0652SGNS 0633PPMI 0605

66

Latent Semantic Analysis und Word Embeddings

Levy2014

ldquoWe analyze skip-gram with negative-sampling (SGNS) [] and show that it isimplicitly factorizing a word-context matrix whose cells are the pointwise mutualinformation (PMI) of the respective word and context pairs shifted by a globalconstant When dense low-dimensional vectors are preferred exact factorizationwith SVD can achieve solutions that are at least as good as SGNSrsquoss solutions forword similarity tasks On analogy questions SGNS remains superior to SVD Weconjecture that this stems from the weighted nature of SGNSrsquos factorizationrdquo

67

Zusammenfassung

Reduced SVD resultiert in einer optimalen Approximation derOriginalmatrix mit niedrigerem Rang Optimal = optimal bzgl derFrobeniusnorm (bzw mean squared error)

Dadurch erhalten wir eine mathematisch fundierte dichtereMatrix die Rauschen (weniger wichtige Dimensionen) eliminiert

Wir konnen mittels Umtimesk Σktimesk weiterhin Wortahnlichkeitenberechnen

Es konnen Resultate erreicht werden die bei word similaritymindestens ebensogut sind wie mit neuralen word embeddings

Nachteile Kosten der SVD Berechnung fur mtimesn matrixO(n middotm2) (when m lt n)rarr Nicht gut fur sehr grosse Matrizen

Nachteile Geht nicht gut mit unbekannten Wortern um

Nachteile schlechter bei Wortanalogieaufgaben

68

Literatur

Guter erweiterter Hintergrundhttptheorystanfordedu˜tims15ll7pdf bishttptheorystanfordedu˜tims15ll9pdf

SVD Tutorial (ohne vollstandigen Hintergrund) Kirk Baker(2005) Singular Value Decomposition Tutorialhttpsdatajobscomdata-science-repoSVD-Tutorial-[Kirk-Baker]pdf Leider ist hier imKonstruktionsverfahren I die Vorzeichenproblematikfalschlicherweise nicht behandelt worden

Levy O Goldberg Y Neural word embedding as implicit matrixfactorization In Advances in neural information processingsystems 2014 S 2177-2185

Ubungsblatt II

69

  • SVD Hauptsatz
    • Der SVD-Satz
    • Konstruktion am Beispiel Methodologie I
    • Konstruktionsmethodologie II
      • Interpretation der SVD
      • Reduced SVD
      • Verwendung in NLP

Schritt V Bestimme die Eigenwerte und Eigenvektoren vonAT middotA

1 10x1 + 2x3 = σx1

2 10x2 + 4x3 = σx2

3 2x1 + 4x2 + 2x3 = σx3

Gleichung (ii) minus zweimal (i)

10x2 + 4x3minus20x1minus4x3 = σx2minus2σx2

und damit σ1 = 10

Mit ahnlichen Umformungen kann man σ2 = 12 sowie σ3 = 0berechnen

18

Schritt V Bestimme die Eigenwerte und Eigenvektoren vonAT middotA

Drei Eigenwerte σ1 = 10 σ2 = 12 und σ3 = 0 Damit ergibt sich furdie Eigenvektoren

1 10x1 + 2x3 = 10x12 10x2 + 4x3 = 10x23 2x1 + 4x2 + 2x3 = 10x3 und damit4 x3 = 0 aus der ersten Gleichung und damit5 2x1 + 4x2 = 0 bzw x1 =minus2x26 Wir konnen die Lange des Eigenvektors wieder frei wahlen da

wir danach eh normalisieren Allerdings sind die Vorzeichen nichtmehr frei wahlbar da ja insgesamt bei U middotΣ middotV T wieder Aherauskommen muss Darauf macht das Tutorial nichtaufmerksamWir wahlen x1 = 2x2 =minus1 hatten aber auch(falschlicherweise)x1 =minus2x2 = 1 wahlen konnen

Ebenso bestimmen wir fur σ2 = 12 einen Eigenvektor (121) und furσ3 = 0 einen Eigenvektor (12minus5)19

Schritt VI Bestimme V

Starte mit einer Matrix V die die bestimmten Eigenvektoren von AT middotAnach der Groszlige der jeweiligen Eigenwerte als Spaltenvektoren enthalt

1 Fur Eigenwert σ1 = 10 hatten wir (2minus10) gewahlt2 Fur Eigenwert σ2 = 12 hatten wir (121) bestimmt3 Fur Eigenwert σ3 = 0 hatten wir (12minus5) bestimmt4 Spaltenvektoren nach Eigenwertgroszlige geordnet

V =

1 2 12 minus1 21 0 minus5

20

Schritt VI Bestimme V

Orthonormalisiere mit Gram-Schmidt die Spaltenvektoren von V

V =

1 2 12 minus1 21 0 minus5

1 Normalisiere ersten Spaltenvektor v (1) = v(1)

v(1) =

1radic6

2radic6

1radic6

2 Berechne die Senkrechte v (2)minus〈v (1) v (2)〉 middot v (1)

3 Also

2minus10

minus〈

1radic6

2radic6

1radic6

2minus10

〉 middot

1radic6

2radic6

1radic6

=

2minus10

4 Normalisiere die Senkrechte

2minus10

ergibt v (2) =

2radic5minus1radic

50

21

Schritt VI Bestimme V

V =

1 2 12 minus1 21 0 minus5

Schon bestimmt

v (1) =

1radic6

2radic6

1radic6

sowie v (2) =

2radic5minus1radic

50

Dann kann man auch noch v (3) berechnen mit der Senkrechten

v (3)minus〈v (1) v (3)〉 middot v (1)minus〈v (2) v (3)〉 middot v (2)

Dies ergibt

minus23minus43103

Normalisiert v (3) =

1radic302radic30minus5radic

30

22

Schritt VI Bestimme V

Damit

V =

1radic6

2radic5

1radic30

2radic6

minus1radic5

2radic30

1radic6

0 minus5radic30

und damit

V T =

1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

23

Schritt VII Bestimme Σ

Σ ist eine mtimesn (hier 2times3) ldquoDiagonalmatrixrdquo mit den Wurzeln derEigenwerte (von A middotAT bzw U bzw V auf der Diagonale) nach Groszligegeordnet

Σ =

(radic12 0 00

radic10 0

)

24

Alles Zusammen

A = UΣV T =

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00

radic10 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(radic12radic2

radic10radic2

0radic

12radic2

minusradic

10radic2

0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(3 1 1minus1 3 1

)

25

Moglicher Schritt VIII Vorzeichenverbesserung

Nehmen wir mal an wir hatten bei V die falschen Vorzeichen gewahltZum Beispiel wir hatten fur σ2 = 10 anstatt (2minus10) den Vektor(minus210) gewahlt Damit ergibt sich

V =

1 minus2 12 1 21 0 minus5

und

V =

1radic6

minus2radic5

1radic30

2radic6

1radic5

2radic30

1radic6

0 minus5radic30

und

V T =

1radic6

2radic6

1radic6

minus2radic5

1radic5

01radic30

2radic30

minus5radic30

26

Moglicher Schritt VIII Vorzeichenverbesserung

Leider ist nun

UΣV T =

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00

radic10 0

)1radic6

2radic6

1radic6

minus2radic5

1radic5

01radic30

2radic30

minus5radic30

=

(radic12radic2

radic10radic2

0radic

12radic2

minusradic

10radic2

0

)1radic6

2radic6

1radic6

minus2radic5

1radic5

01radic30

2radic30

minus5radic30

=

(minus1 3 13 1 1

)

27

Moglicher Schritt VIII Vorzeichenverbesserung

Die unelegante Losung Gehe durch alle Zeilen von V T (Spalten vonV ) multizipliere sie systematisch mit minus1 bis es passt Durch dieMultiplikation mit minus1 bleiben die Vektoren immer noch normal undauch die Orthogonalitat andert sich nicht

Da eventuell auch mehrere Zeilen mit minus1 multipliziert werdenmussen ist dies leider exponentiell in der Zeilenanzahl von V T

(alle moglichen Kombinationen mussen probiert werden)

Es ist nicht gerade elegant

Man kann naturlich stattdessen auch durch die Spalten von Ugehen und diese anpassen

28

Konstruktionsmethodologie II

1 Berechne die quadratische ntimesn Matrix AT middotA2 Berechne die Eigenwerte σ2

j und Eigenvektoren vj von AT middotA3 Die Vektoren vj werden orthonormalisiert (Gram-Schmidt) und

bilden die Spaltenvektoren von V4 Die Wurzeln der σ2-Werte werden in absteigender Reihenfolge

die Eintrage von Σ

5 Die Spaltenvektoren von U bis zum Rang r der AT middotA Matrix sindnun eindeutig bestimmt aus der Vorgabe A = UΣV T und werdendaraus berechnet

6 Wenn r lt m mussen noch mminus r Vektoren zur Orthonormalbasiserganzt werden

29

Konstruktionsmethodologie II

1 Berechne die quadratische ntimesn Matrix AT middotA2 Berechne die Eigenwerte σ2

j und Eigenvektoren vj von AT middotA3 Die Vektoren vj werden orthonormalisiert (Gram-Schmidt) und

bilden die Spaltenvektoren von V4 Die Wurzeln der σ2-Werte werden in absteigender Reihenfolge

die Eintrage von Σ

5 Die Spaltenvektoren von U bis zum Rang r der AT middotA Matrix sindnun eindeutig bestimmt aus der Vorgabe A = UΣV T und werdendaraus berechnet

6 Wenn r lt m mussen noch mminus r Vektoren zur Orthonormalbasiserganzt werden

29

Konstruktionsmethodologie II

1 Berechne die quadratische ntimesn Matrix AT middotA2 Berechne die Eigenwerte σ2

j und Eigenvektoren vj von AT middotA3 Die Vektoren vj werden orthonormalisiert (Gram-Schmidt) und

bilden die Spaltenvektoren von V4 Die Wurzeln der σ2-Werte werden in absteigender Reihenfolge

die Eintrage von Σ

5 Die Spaltenvektoren von U bis zum Rang r der AT middotA Matrix sindnun eindeutig bestimmt aus der Vorgabe A = UΣV T und werdendaraus berechnet

6 Wenn r lt m mussen noch mminus r Vektoren zur Orthonormalbasiserganzt werden

29

Konstruktionsmethodologie II

1 Berechne die quadratische ntimesn Matrix AT middotA2 Berechne die Eigenwerte σ2

j und Eigenvektoren vj von AT middotA3 Die Vektoren vj werden orthonormalisiert (Gram-Schmidt) und

bilden die Spaltenvektoren von V4 Die Wurzeln der σ2-Werte werden in absteigender Reihenfolge

die Eintrage von Σ

5 Die Spaltenvektoren von U bis zum Rang r der AT middotA Matrix sindnun eindeutig bestimmt aus der Vorgabe A = UΣV T und werdendaraus berechnet

6 Wenn r lt m mussen noch mminus r Vektoren zur Orthonormalbasiserganzt werden

29

Schritt I Bestimme V T und Σ wie bisher

Nach dem ublichen Verfahren sei also V T zum Beispiel1radic6

2radic6

1radic6

minus2radic5

1radic5

01radic30

2radic30

minus5radic30

bzw V

V =

1radic6

minus2radic5

1radic30

2radic6

1radic5

2radic30

1radic6

0 minus5radic30

Die Vorzeichen konnten auch anders seinWeiterhin ist

Σ =

(radic12 0 00

radic10 0

)

30

Schritt II Bestimme U

Es muss gelten

A = UΣV T

und damit

AV = UΣV T V

Da V orthogonal ist V T V die Einheitsmatrix und damit

AV = UΣ

31

Schritt II Bestimme U

Man bilde nun eine ntimesm Matrix Σprime die genau auf denentsprechenden Diagonaleintragen 1σi stehen hat Im Beispiel ist

Σprime =

1radic12

0

0 1radic10

0 0

Es gilt dass Σ middotΣprime die mtimesm Einheitsmatrix istUnd damit

AVΣprime = UΣΣprime = U

32

Schritt II Bestimme U

Also giltU = AVΣprime

Damit gilt fur die Spalten von U wenn man sich dieMatrixmultiplikation genauer anschaut

u(j) =1σj

Av (j)

In unserem Beispiel

u(1) =1radic12

(3 1 1minus1 3 1

)1radic6

2radic6

1radic6

=

(1radic2

1radic2

)

33

Schritt II Bestimme U

Und ebenso

u(2) =1radic10

(3 1 1minus1 3 1

)minus2radic

51radic5

0

=

(minus1radic2

1radic2

)

Man sieht dass sich hier das veranderte Vorzeichen von v (2) imentgegengesetzten Vorzeichen von u(2) widerspiegelt Wir musstenauch nicht zweimal Eigenvektoren berechnen sondern U ist aus denvorherigen Berechnungen bestimmt

34

Beispiel mit einer Matrix mit niedrigerem Rang

Da wir durch 1σj

dividieren mussten geht dies nur fur Eigenwerteungleich Null Wenn aber die Matrizen niedrigere Range haben als mdann bekommen wir so nicht genugend U-Vektoren Was machen wirdann

Beispiel Sei eine Matrix von Rang 1 gegeben

A =

(1 01 0

)

35

Berechnung von V

AT A =

(1 10 0

)(1 01 0

)=

(2 00 0

)

36

Berechnung von V

(2 00 0

)hat die Eigenwerte 2 und 0 mit den jeweiligen Eigenvektoren (10)sowie (01)Daraus folgt

V =

(1 00 1

)Die ist schon eine Orthonormalmatrix also gilt V = V sowie daDiagonalmatrix V T = V

37

Bestimmung von Σ

Es gilt

Σ =

(radic2 0

0 0

)

38

Bestimmung von U

Der erste Spaltenvektor u(1) kann wie ublich bestimmt werden mit

u(1) =1radic2

Av (1) =1radic2

(1 01 0

)(10

)

=1radic2

(11

)=

(1radic2

1radic2

)

39

Bestimmung von U

Da wir keinen weiteren Eigenwert 6= 0 haben konnen wir leider sonicht weitermachen dh es geht nur bis zum Rang von A Es gilt aber(

1radic2

x21radic2

y2

)(radic2 0

0 0

)(1 00 1

)

=

(1 01 0

)= A

unabhangig von x2 und y2 Das heisst unser halb vollstandiges U istgenug fur eine Zerlegung

40

Bestimmung von U

1 Wir konnen also jedes x2 und y2 wahlen solange normiert undsenkrecht auf dem ersten Vektor stehend

2 Nach dem sogenannten Basiserganzungssatz geht dies immer3 In unserem Beispiel konnte man zum Beispiel (minus1radic

2 1radic

2) wahlen

4 Wie genau man diese weiteren Vektoren von U konstruiert ist furuns unerheblich da wir ja sowieso die letzten Spalten von U diezu den niedrigeren Eigenwerten gehoren ldquoabschneidenrdquowerden

41

SVD Zwischenfazit

Wir haben eine Matrix in das Produkt einer OrthonormalmatrixDiagonalmatrix und Orthogonalmatrix zerlegt

Die Diagonalmatrix enthalt die Wurzeln von den Eigenwerten vonA middotAT nach Groszlige geordnet

Die erste Orthonormalmatrix enthalt die orthonormalisiertenEigenvektoren von A middotAT nach Eigenwertgrosse geordnet alsSpalten

Die zweite Orthonormalmatrix ist die Transponierte der Matrixdie die orthonormalisierten Eigenvektoren von AT middotA nachEigenwertgrosse geordnet als Spalten enthalt

42

Ubersicht

1 SVD HauptsatzDer SVD-SatzKonstruktion am Beispiel Methodologie IKonstruktionsmethodologie II

2 Interpretation der SVD

3 Reduced SVD

4 Verwendung in NLP

43

Geometrische Interpretation bei quadratischen Matrizen

Bedeutung der SVD ist dass sich die Funktion in eine DrehungDrehspiegelung (V T )eine Verzerrung (Σ) und eine zweite DrehungDrehspiegelung (U) zerlegen lsst

Matrix

(1 10 1

)SVD Geometrische Interpretationa

aQuelle httpscommonswikimediaorgwikiFileSingular-Value-Decompositionsvg

44

Noch einige Bemerkungen

Die Eigenwerte und damit Σ sind eindeutig bestimmt

U und V sind nicht eindeutig bestimmt Es konnen Drehungenum 180 Grad oder Spiegelungen hinzukommen

Wir konnen in vielen Fallen einen Eigenvektor wahlen(Freiheitsgrade) mussen aber dann bei den Vorzeichen derzweiten Matrix aufpassen

45

Noch einige Bemerkungen

Wir haben implizit den Rang der Ursprungsmatrix A bestimmtDies kann man klar an U middotΣ sehen

A = UΣV T =

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00

radic10 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(radic12radic2

radic10radic2

0radic

12radic2

minusradic

10radic2

0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(3 1 1minus1 3 1

)

46

Noch einige Bemerkungen

Deswegen wird manchmal die Singularwertzerlegung auch alsZerlegung in drei Matrizen Amtimesn = Umtimesr Σrtimesr V T

rtimesn wobei r der Rangder Matrix A ist beschrieben

A = UΣV T =

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00

radic10 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 00

radic10

)( 1radic6

2radic6

1radic6

2radic5

minus1radic5

0

)=

(radic12radic2

radic10radic2radic

12radic2

minusradic

10radic2

)(1radic6

2radic6

1radic6

2radic5

minus1radic5

0

)=

(3 1 1minus1 3 1

)47

Noch einige Bemerkungen

Bisher haben wir immer die Ausgangsmatrix einfach reproduziert(mit dem gleichen Rang) Man sieht den Rang besser und es gilt

Die ldquoZerrungrdquo durch die Matrix Σ ist bei den Dimensionen mit denhochsten Eigenwerten am groszligten Beispiel

(radic12 0 00

radic10 0

)x1

x2

x3

=

(radic12 middot x1radic10 middot x2

)Es macht also Sinn dass wir wenn wir eine Approximationunserer Ausgangsmatrix mit niedrigerem Rang wollen dann dieunwichtigen Dimensionen die durch niedrige Eigenwertegekennzeichnet sind weglassen

48

Ubersicht

1 SVD HauptsatzDer SVD-SatzKonstruktion am Beispiel Methodologie IKonstruktionsmethodologie II

2 Interpretation der SVD

3 Reduced SVD

4 Verwendung in NLP

49

Reduced SVD Approximation niedrigeren Ranges

Approximation von mtimesn Matrix A mit Rang r durch mtimesn -Matrix Ak mit Rang k lt r

A = UΣV T asymp Ak = UΣk V T

Σk ist eine ldquodiagonalerdquo mtimesn - Matrix bei der nur auf den erstenk Stellen der Diagonalmatrix Werte 6= 0 stehen

U und V wie zuvor

50

Beispiel

A = UΣV T =

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00

radic10 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

asymp

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00 0 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(radic12radic2

0 0radic

12radic2

0 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(1 2 11 2 1

)51

Reduced SVD

Wir hatten auch nur die ersten k Spalten von U sowie die ersten kZeilen von V T behalten konnen

Aasymp

(1radic2

1radic2

)(radic12)( 1radic

62radic6

1radic6

)=

(radic12radic2radic

12radic2

)(1radic6

2radic6

1radic6

)=

(1 2 11 2 1

)

52

Als Bild

53

Als Algorithmus

Gegeben mtimesn Matrix A und gewunschter Rank k Wir produziereneine Rangminus k Approximation wie folgt

1 Wir berechnen eine SVD Zerlegung von A

Amtimesn = UmtimesmΣmtimesnV Tntimesn

2 Wir behalten nur die ersten k Spalten von U resultierend in Umtimesk

3 Wir behalten nur die Top k sprich die ersten k Diagonalwerte vonΣ resultierend in Σktimesk

4 Wir behalten nur die ersten k Reihen von V T resultierend in V Tktimesn

54

Reduced SVD

Diagonale Eintrage in Σk sind die k groszligten Eigenwerte vonA middotAT

Satz UΣk V T minimiert die Differenz der Frobenius-Normzwischen A und Ak unter der Bedingung rang(Ak ) = k

Das heisst Fur jede mtimesn Matrix A mit Rang r angestrebtemRang k lt r und jede mtimesn Matrix B mit Rang k gilt

Aminus Ak2 le AminusB2

wobei Ak die Rang-k Approximation ist die man aus der SVD vonA ableiten kann

55

Was hat man erreicht

Unkorrelierte Dimensionen (Orthonormalbasis) die nur nochverzerrt werden

Wir haben die Dimensionen mit der meisten Variation identifiziertund danach geordnet

ldquoUnwichtigerdquo Dimensionen werden weggelassenrarr Rauschenvermindert

Man braucht viel weniger Speicherplatz O(k(n + m)) anstattO(nm)

Die neuen ldquoverstecktenrdquo Dimensionen konnen zurAhnlichkeitsberechnung verwendet werden und funktionieren oftbesser

56

Wie wahlt man k

Meist empirisch Gesehen

1 In NLP oft die ersten 200 bis 300 Dimensionen2 In Recommender Systems Wahle k so dass die Summe der

ersten k Eigenwerte mindestens 10-mal der Summe alleranderen Eigenwerte

57

Ubersicht

1 SVD HauptsatzDer SVD-SatzKonstruktion am Beispiel Methodologie IKonstruktionsmethodologie II

2 Interpretation der SVD

3 Reduced SVD

4 Verwendung in NLP

58

Dichte Embeddings

A ist Matrix von m WorternTermen und n Kontexten (PPMIfrequency )Reduced SVD resultiert in Ak mit

Umtimesk ist mtimes k - MatrixZeilen von Umtimesk reprasentieren TermeSpalten in Umtimesk latente Reprasentation der KontexteBenutze Umtimesk middotΣktimesk zur Berechnung von Termahnlichkeiten

Vorteile gegenuber der vollen Term-Kontext-MatrixDichte MatrixDimensionsreduktion effizientere VerarbeitungDe-Noising

59

Dichte Embeddings

A ist Matrix von m WorternTermen und n Kontexten (PPMIfrequency )Reduced SVD resultiert in Ak mit

Umtimesk ist mtimes k - MatrixZeilen von Umtimesk reprasentieren TermeSpalten in Umtimesk latente Reprasentation der KontexteBenutze Umtimesk middotΣktimesk zur Berechnung von Termahnlichkeiten

Vorteile gegenuber der vollen Term-Kontext-MatrixDichte MatrixDimensionsreduktion effizientere VerarbeitungDe-Noising

59

Dichte Embeddings

A ist Matrix von m WorternTermen und n Kontexten (PPMIfrequency )Reduced SVD resultiert in Ak mit

Umtimesk ist mtimes k - MatrixZeilen von Umtimesk reprasentieren TermeSpalten in Umtimesk latente Reprasentation der KontexteBenutze Umtimesk middotΣktimesk zur Berechnung von Termahnlichkeiten

Vorteile gegenuber der vollen Term-Kontext-MatrixDichte MatrixDimensionsreduktion effizientere VerarbeitungDe-Noising

59

Das Beispiel vom Anfang

Eine Wort-Dokument-Matrix M aus dem R5times3

d1 d2 d3ship 1 1 0boat 0 0 1

ocean 1 0 1motor 1 0 1wood 0 1 0

cossim(shipboat) = 0

cossim(shipocean) =12

cossim(boatocean) =1radic2

= 07

60

SVD Zerlegung war

minus041 07 024minus029 minus033 minus072minus061 minus02 014minus061 minus02 014minus01 057 minus062

227 0 0

0 149 00 0 078

minus072 minus023 minus066019 085 minus05067 minus048 minus056

=

minus093 104 0187minus0658 minus049 minus056minus138 minus0298 01092minus138 minus0298 minus1092minus0227 084 minus0483

minus072 minus023 minus066

019 085 minus05067 minus048 minus056

=

1 1 00 0 11 0 11 0 10 1 0

Abweichungen sind Rundungsfehler61

Niedrigdimensionale Approximation

Die kleinsten Eigenwerte sind die unwichtigsten Wir konnen dieseldquoweglassenrdquo = auf Null setzenrarr eine Matrix mit kleinerem Rang dieaber relativ ahnlich zur Ausgangsmatrix istminus041 07 024minus029 minus033 minus072minus061 minus02 014minus061 minus02 014minus01 057 minus062

227 0 0

0 149 00 0 0

minus072 minus023 minus066019 085 minus05067 minus048 minus056

=

minus093 104 0minus0658 minus049 0minus138 minus0298 0minus138 minus0298 0minus0227 084 0

minus072 minus023 minus066

019 085 minus05067 minus048 minus056

=

087 109 011038 minus027 068093 005 106093 005 106032 077 minus027

62

Die niedrigdimensionale Approximation

Wir interessieren uns fur die Matrix U2 = UΣ2 also die Matrix mit demniedrigerem Rang

minus093 104 0minus0658 minus049 0minus138 minus0298 0minus138 minus0298 0minus0227 084 0

Man kann diese nun als die Reprasentation unserer 5 Worter mit zweiversteckten Dimensionen auffassen

h1 h2ship minus093 104boat minus0658 minus049

ocean minus138 minus0298motor minus138 minus0298wood minus0227 084

63

Neue Ahnlichkeitsberechnungen

h1 h2ship minus093 104boat minus0658 minus049

ocean minus138 minus0298motor minus138 minus0298wood minus0227 084

cossim(shipboat) =(minus093) middot (minus0658) + 104 middot (minus049)radic

(0932 + 1042) middotradic

(06582 + 0492)= 009

cossim(shipocean) =(minus093) middot (minus138) + 104 middot (minus029)radic

(0932 + 1042) middotradic

(1382 + 0292)= 049

cossim(boatocean) = 09

64

Variationen

Benutze nur Umtimesk zur Ahnlichkeitsberechnung

Benutze Umtimesk middotΣpktimesk zur Ahnlichkeitsberechnungrarr Parameter p

sollte getuned werden Kann groszlige Unterschiede machen

Oft p = 0p = 05p = 1

65

Performanz der Reduced-SVD-Embeddings

Levy O Goldberg Y Neural word embedding as implicit matrix factorization In

Advances in neural information processing systems 2014 S 2177-2185

(Englische) Wikipedia 15 Milliarden Tokens

Fenster 2 beiderseits

Vokabular 189 533 fur Terme sowie Kontexte

PPMI Matrizen

SVD sowie ohne Zerlegung (PPMI) sowie neurale (SGNS)

Algorithmus Spearman Rank zu WordSim 353SVD 0652SGNS 0633PPMI 0605

66

Latent Semantic Analysis und Word Embeddings

Levy2014

ldquoWe analyze skip-gram with negative-sampling (SGNS) [] and show that it isimplicitly factorizing a word-context matrix whose cells are the pointwise mutualinformation (PMI) of the respective word and context pairs shifted by a globalconstant When dense low-dimensional vectors are preferred exact factorizationwith SVD can achieve solutions that are at least as good as SGNSrsquoss solutions forword similarity tasks On analogy questions SGNS remains superior to SVD Weconjecture that this stems from the weighted nature of SGNSrsquos factorizationrdquo

67

Zusammenfassung

Reduced SVD resultiert in einer optimalen Approximation derOriginalmatrix mit niedrigerem Rang Optimal = optimal bzgl derFrobeniusnorm (bzw mean squared error)

Dadurch erhalten wir eine mathematisch fundierte dichtereMatrix die Rauschen (weniger wichtige Dimensionen) eliminiert

Wir konnen mittels Umtimesk Σktimesk weiterhin Wortahnlichkeitenberechnen

Es konnen Resultate erreicht werden die bei word similaritymindestens ebensogut sind wie mit neuralen word embeddings

Nachteile Kosten der SVD Berechnung fur mtimesn matrixO(n middotm2) (when m lt n)rarr Nicht gut fur sehr grosse Matrizen

Nachteile Geht nicht gut mit unbekannten Wortern um

Nachteile schlechter bei Wortanalogieaufgaben

68

Literatur

Guter erweiterter Hintergrundhttptheorystanfordedu˜tims15ll7pdf bishttptheorystanfordedu˜tims15ll9pdf

SVD Tutorial (ohne vollstandigen Hintergrund) Kirk Baker(2005) Singular Value Decomposition Tutorialhttpsdatajobscomdata-science-repoSVD-Tutorial-[Kirk-Baker]pdf Leider ist hier imKonstruktionsverfahren I die Vorzeichenproblematikfalschlicherweise nicht behandelt worden

Levy O Goldberg Y Neural word embedding as implicit matrixfactorization In Advances in neural information processingsystems 2014 S 2177-2185

Ubungsblatt II

69

  • SVD Hauptsatz
    • Der SVD-Satz
    • Konstruktion am Beispiel Methodologie I
    • Konstruktionsmethodologie II
      • Interpretation der SVD
      • Reduced SVD
      • Verwendung in NLP

Schritt V Bestimme die Eigenwerte und Eigenvektoren vonAT middotA

Drei Eigenwerte σ1 = 10 σ2 = 12 und σ3 = 0 Damit ergibt sich furdie Eigenvektoren

1 10x1 + 2x3 = 10x12 10x2 + 4x3 = 10x23 2x1 + 4x2 + 2x3 = 10x3 und damit4 x3 = 0 aus der ersten Gleichung und damit5 2x1 + 4x2 = 0 bzw x1 =minus2x26 Wir konnen die Lange des Eigenvektors wieder frei wahlen da

wir danach eh normalisieren Allerdings sind die Vorzeichen nichtmehr frei wahlbar da ja insgesamt bei U middotΣ middotV T wieder Aherauskommen muss Darauf macht das Tutorial nichtaufmerksamWir wahlen x1 = 2x2 =minus1 hatten aber auch(falschlicherweise)x1 =minus2x2 = 1 wahlen konnen

Ebenso bestimmen wir fur σ2 = 12 einen Eigenvektor (121) und furσ3 = 0 einen Eigenvektor (12minus5)19

Schritt VI Bestimme V

Starte mit einer Matrix V die die bestimmten Eigenvektoren von AT middotAnach der Groszlige der jeweiligen Eigenwerte als Spaltenvektoren enthalt

1 Fur Eigenwert σ1 = 10 hatten wir (2minus10) gewahlt2 Fur Eigenwert σ2 = 12 hatten wir (121) bestimmt3 Fur Eigenwert σ3 = 0 hatten wir (12minus5) bestimmt4 Spaltenvektoren nach Eigenwertgroszlige geordnet

V =

1 2 12 minus1 21 0 minus5

20

Schritt VI Bestimme V

Orthonormalisiere mit Gram-Schmidt die Spaltenvektoren von V

V =

1 2 12 minus1 21 0 minus5

1 Normalisiere ersten Spaltenvektor v (1) = v(1)

v(1) =

1radic6

2radic6

1radic6

2 Berechne die Senkrechte v (2)minus〈v (1) v (2)〉 middot v (1)

3 Also

2minus10

minus〈

1radic6

2radic6

1radic6

2minus10

〉 middot

1radic6

2radic6

1radic6

=

2minus10

4 Normalisiere die Senkrechte

2minus10

ergibt v (2) =

2radic5minus1radic

50

21

Schritt VI Bestimme V

V =

1 2 12 minus1 21 0 minus5

Schon bestimmt

v (1) =

1radic6

2radic6

1radic6

sowie v (2) =

2radic5minus1radic

50

Dann kann man auch noch v (3) berechnen mit der Senkrechten

v (3)minus〈v (1) v (3)〉 middot v (1)minus〈v (2) v (3)〉 middot v (2)

Dies ergibt

minus23minus43103

Normalisiert v (3) =

1radic302radic30minus5radic

30

22

Schritt VI Bestimme V

Damit

V =

1radic6

2radic5

1radic30

2radic6

minus1radic5

2radic30

1radic6

0 minus5radic30

und damit

V T =

1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

23

Schritt VII Bestimme Σ

Σ ist eine mtimesn (hier 2times3) ldquoDiagonalmatrixrdquo mit den Wurzeln derEigenwerte (von A middotAT bzw U bzw V auf der Diagonale) nach Groszligegeordnet

Σ =

(radic12 0 00

radic10 0

)

24

Alles Zusammen

A = UΣV T =

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00

radic10 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(radic12radic2

radic10radic2

0radic

12radic2

minusradic

10radic2

0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(3 1 1minus1 3 1

)

25

Moglicher Schritt VIII Vorzeichenverbesserung

Nehmen wir mal an wir hatten bei V die falschen Vorzeichen gewahltZum Beispiel wir hatten fur σ2 = 10 anstatt (2minus10) den Vektor(minus210) gewahlt Damit ergibt sich

V =

1 minus2 12 1 21 0 minus5

und

V =

1radic6

minus2radic5

1radic30

2radic6

1radic5

2radic30

1radic6

0 minus5radic30

und

V T =

1radic6

2radic6

1radic6

minus2radic5

1radic5

01radic30

2radic30

minus5radic30

26

Moglicher Schritt VIII Vorzeichenverbesserung

Leider ist nun

UΣV T =

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00

radic10 0

)1radic6

2radic6

1radic6

minus2radic5

1radic5

01radic30

2radic30

minus5radic30

=

(radic12radic2

radic10radic2

0radic

12radic2

minusradic

10radic2

0

)1radic6

2radic6

1radic6

minus2radic5

1radic5

01radic30

2radic30

minus5radic30

=

(minus1 3 13 1 1

)

27

Moglicher Schritt VIII Vorzeichenverbesserung

Die unelegante Losung Gehe durch alle Zeilen von V T (Spalten vonV ) multizipliere sie systematisch mit minus1 bis es passt Durch dieMultiplikation mit minus1 bleiben die Vektoren immer noch normal undauch die Orthogonalitat andert sich nicht

Da eventuell auch mehrere Zeilen mit minus1 multipliziert werdenmussen ist dies leider exponentiell in der Zeilenanzahl von V T

(alle moglichen Kombinationen mussen probiert werden)

Es ist nicht gerade elegant

Man kann naturlich stattdessen auch durch die Spalten von Ugehen und diese anpassen

28

Konstruktionsmethodologie II

1 Berechne die quadratische ntimesn Matrix AT middotA2 Berechne die Eigenwerte σ2

j und Eigenvektoren vj von AT middotA3 Die Vektoren vj werden orthonormalisiert (Gram-Schmidt) und

bilden die Spaltenvektoren von V4 Die Wurzeln der σ2-Werte werden in absteigender Reihenfolge

die Eintrage von Σ

5 Die Spaltenvektoren von U bis zum Rang r der AT middotA Matrix sindnun eindeutig bestimmt aus der Vorgabe A = UΣV T und werdendaraus berechnet

6 Wenn r lt m mussen noch mminus r Vektoren zur Orthonormalbasiserganzt werden

29

Konstruktionsmethodologie II

1 Berechne die quadratische ntimesn Matrix AT middotA2 Berechne die Eigenwerte σ2

j und Eigenvektoren vj von AT middotA3 Die Vektoren vj werden orthonormalisiert (Gram-Schmidt) und

bilden die Spaltenvektoren von V4 Die Wurzeln der σ2-Werte werden in absteigender Reihenfolge

die Eintrage von Σ

5 Die Spaltenvektoren von U bis zum Rang r der AT middotA Matrix sindnun eindeutig bestimmt aus der Vorgabe A = UΣV T und werdendaraus berechnet

6 Wenn r lt m mussen noch mminus r Vektoren zur Orthonormalbasiserganzt werden

29

Konstruktionsmethodologie II

1 Berechne die quadratische ntimesn Matrix AT middotA2 Berechne die Eigenwerte σ2

j und Eigenvektoren vj von AT middotA3 Die Vektoren vj werden orthonormalisiert (Gram-Schmidt) und

bilden die Spaltenvektoren von V4 Die Wurzeln der σ2-Werte werden in absteigender Reihenfolge

die Eintrage von Σ

5 Die Spaltenvektoren von U bis zum Rang r der AT middotA Matrix sindnun eindeutig bestimmt aus der Vorgabe A = UΣV T und werdendaraus berechnet

6 Wenn r lt m mussen noch mminus r Vektoren zur Orthonormalbasiserganzt werden

29

Konstruktionsmethodologie II

1 Berechne die quadratische ntimesn Matrix AT middotA2 Berechne die Eigenwerte σ2

j und Eigenvektoren vj von AT middotA3 Die Vektoren vj werden orthonormalisiert (Gram-Schmidt) und

bilden die Spaltenvektoren von V4 Die Wurzeln der σ2-Werte werden in absteigender Reihenfolge

die Eintrage von Σ

5 Die Spaltenvektoren von U bis zum Rang r der AT middotA Matrix sindnun eindeutig bestimmt aus der Vorgabe A = UΣV T und werdendaraus berechnet

6 Wenn r lt m mussen noch mminus r Vektoren zur Orthonormalbasiserganzt werden

29

Schritt I Bestimme V T und Σ wie bisher

Nach dem ublichen Verfahren sei also V T zum Beispiel1radic6

2radic6

1radic6

minus2radic5

1radic5

01radic30

2radic30

minus5radic30

bzw V

V =

1radic6

minus2radic5

1radic30

2radic6

1radic5

2radic30

1radic6

0 minus5radic30

Die Vorzeichen konnten auch anders seinWeiterhin ist

Σ =

(radic12 0 00

radic10 0

)

30

Schritt II Bestimme U

Es muss gelten

A = UΣV T

und damit

AV = UΣV T V

Da V orthogonal ist V T V die Einheitsmatrix und damit

AV = UΣ

31

Schritt II Bestimme U

Man bilde nun eine ntimesm Matrix Σprime die genau auf denentsprechenden Diagonaleintragen 1σi stehen hat Im Beispiel ist

Σprime =

1radic12

0

0 1radic10

0 0

Es gilt dass Σ middotΣprime die mtimesm Einheitsmatrix istUnd damit

AVΣprime = UΣΣprime = U

32

Schritt II Bestimme U

Also giltU = AVΣprime

Damit gilt fur die Spalten von U wenn man sich dieMatrixmultiplikation genauer anschaut

u(j) =1σj

Av (j)

In unserem Beispiel

u(1) =1radic12

(3 1 1minus1 3 1

)1radic6

2radic6

1radic6

=

(1radic2

1radic2

)

33

Schritt II Bestimme U

Und ebenso

u(2) =1radic10

(3 1 1minus1 3 1

)minus2radic

51radic5

0

=

(minus1radic2

1radic2

)

Man sieht dass sich hier das veranderte Vorzeichen von v (2) imentgegengesetzten Vorzeichen von u(2) widerspiegelt Wir musstenauch nicht zweimal Eigenvektoren berechnen sondern U ist aus denvorherigen Berechnungen bestimmt

34

Beispiel mit einer Matrix mit niedrigerem Rang

Da wir durch 1σj

dividieren mussten geht dies nur fur Eigenwerteungleich Null Wenn aber die Matrizen niedrigere Range haben als mdann bekommen wir so nicht genugend U-Vektoren Was machen wirdann

Beispiel Sei eine Matrix von Rang 1 gegeben

A =

(1 01 0

)

35

Berechnung von V

AT A =

(1 10 0

)(1 01 0

)=

(2 00 0

)

36

Berechnung von V

(2 00 0

)hat die Eigenwerte 2 und 0 mit den jeweiligen Eigenvektoren (10)sowie (01)Daraus folgt

V =

(1 00 1

)Die ist schon eine Orthonormalmatrix also gilt V = V sowie daDiagonalmatrix V T = V

37

Bestimmung von Σ

Es gilt

Σ =

(radic2 0

0 0

)

38

Bestimmung von U

Der erste Spaltenvektor u(1) kann wie ublich bestimmt werden mit

u(1) =1radic2

Av (1) =1radic2

(1 01 0

)(10

)

=1radic2

(11

)=

(1radic2

1radic2

)

39

Bestimmung von U

Da wir keinen weiteren Eigenwert 6= 0 haben konnen wir leider sonicht weitermachen dh es geht nur bis zum Rang von A Es gilt aber(

1radic2

x21radic2

y2

)(radic2 0

0 0

)(1 00 1

)

=

(1 01 0

)= A

unabhangig von x2 und y2 Das heisst unser halb vollstandiges U istgenug fur eine Zerlegung

40

Bestimmung von U

1 Wir konnen also jedes x2 und y2 wahlen solange normiert undsenkrecht auf dem ersten Vektor stehend

2 Nach dem sogenannten Basiserganzungssatz geht dies immer3 In unserem Beispiel konnte man zum Beispiel (minus1radic

2 1radic

2) wahlen

4 Wie genau man diese weiteren Vektoren von U konstruiert ist furuns unerheblich da wir ja sowieso die letzten Spalten von U diezu den niedrigeren Eigenwerten gehoren ldquoabschneidenrdquowerden

41

SVD Zwischenfazit

Wir haben eine Matrix in das Produkt einer OrthonormalmatrixDiagonalmatrix und Orthogonalmatrix zerlegt

Die Diagonalmatrix enthalt die Wurzeln von den Eigenwerten vonA middotAT nach Groszlige geordnet

Die erste Orthonormalmatrix enthalt die orthonormalisiertenEigenvektoren von A middotAT nach Eigenwertgrosse geordnet alsSpalten

Die zweite Orthonormalmatrix ist die Transponierte der Matrixdie die orthonormalisierten Eigenvektoren von AT middotA nachEigenwertgrosse geordnet als Spalten enthalt

42

Ubersicht

1 SVD HauptsatzDer SVD-SatzKonstruktion am Beispiel Methodologie IKonstruktionsmethodologie II

2 Interpretation der SVD

3 Reduced SVD

4 Verwendung in NLP

43

Geometrische Interpretation bei quadratischen Matrizen

Bedeutung der SVD ist dass sich die Funktion in eine DrehungDrehspiegelung (V T )eine Verzerrung (Σ) und eine zweite DrehungDrehspiegelung (U) zerlegen lsst

Matrix

(1 10 1

)SVD Geometrische Interpretationa

aQuelle httpscommonswikimediaorgwikiFileSingular-Value-Decompositionsvg

44

Noch einige Bemerkungen

Die Eigenwerte und damit Σ sind eindeutig bestimmt

U und V sind nicht eindeutig bestimmt Es konnen Drehungenum 180 Grad oder Spiegelungen hinzukommen

Wir konnen in vielen Fallen einen Eigenvektor wahlen(Freiheitsgrade) mussen aber dann bei den Vorzeichen derzweiten Matrix aufpassen

45

Noch einige Bemerkungen

Wir haben implizit den Rang der Ursprungsmatrix A bestimmtDies kann man klar an U middotΣ sehen

A = UΣV T =

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00

radic10 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(radic12radic2

radic10radic2

0radic

12radic2

minusradic

10radic2

0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(3 1 1minus1 3 1

)

46

Noch einige Bemerkungen

Deswegen wird manchmal die Singularwertzerlegung auch alsZerlegung in drei Matrizen Amtimesn = Umtimesr Σrtimesr V T

rtimesn wobei r der Rangder Matrix A ist beschrieben

A = UΣV T =

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00

radic10 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 00

radic10

)( 1radic6

2radic6

1radic6

2radic5

minus1radic5

0

)=

(radic12radic2

radic10radic2radic

12radic2

minusradic

10radic2

)(1radic6

2radic6

1radic6

2radic5

minus1radic5

0

)=

(3 1 1minus1 3 1

)47

Noch einige Bemerkungen

Bisher haben wir immer die Ausgangsmatrix einfach reproduziert(mit dem gleichen Rang) Man sieht den Rang besser und es gilt

Die ldquoZerrungrdquo durch die Matrix Σ ist bei den Dimensionen mit denhochsten Eigenwerten am groszligten Beispiel

(radic12 0 00

radic10 0

)x1

x2

x3

=

(radic12 middot x1radic10 middot x2

)Es macht also Sinn dass wir wenn wir eine Approximationunserer Ausgangsmatrix mit niedrigerem Rang wollen dann dieunwichtigen Dimensionen die durch niedrige Eigenwertegekennzeichnet sind weglassen

48

Ubersicht

1 SVD HauptsatzDer SVD-SatzKonstruktion am Beispiel Methodologie IKonstruktionsmethodologie II

2 Interpretation der SVD

3 Reduced SVD

4 Verwendung in NLP

49

Reduced SVD Approximation niedrigeren Ranges

Approximation von mtimesn Matrix A mit Rang r durch mtimesn -Matrix Ak mit Rang k lt r

A = UΣV T asymp Ak = UΣk V T

Σk ist eine ldquodiagonalerdquo mtimesn - Matrix bei der nur auf den erstenk Stellen der Diagonalmatrix Werte 6= 0 stehen

U und V wie zuvor

50

Beispiel

A = UΣV T =

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00

radic10 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

asymp

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00 0 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(radic12radic2

0 0radic

12radic2

0 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(1 2 11 2 1

)51

Reduced SVD

Wir hatten auch nur die ersten k Spalten von U sowie die ersten kZeilen von V T behalten konnen

Aasymp

(1radic2

1radic2

)(radic12)( 1radic

62radic6

1radic6

)=

(radic12radic2radic

12radic2

)(1radic6

2radic6

1radic6

)=

(1 2 11 2 1

)

52

Als Bild

53

Als Algorithmus

Gegeben mtimesn Matrix A und gewunschter Rank k Wir produziereneine Rangminus k Approximation wie folgt

1 Wir berechnen eine SVD Zerlegung von A

Amtimesn = UmtimesmΣmtimesnV Tntimesn

2 Wir behalten nur die ersten k Spalten von U resultierend in Umtimesk

3 Wir behalten nur die Top k sprich die ersten k Diagonalwerte vonΣ resultierend in Σktimesk

4 Wir behalten nur die ersten k Reihen von V T resultierend in V Tktimesn

54

Reduced SVD

Diagonale Eintrage in Σk sind die k groszligten Eigenwerte vonA middotAT

Satz UΣk V T minimiert die Differenz der Frobenius-Normzwischen A und Ak unter der Bedingung rang(Ak ) = k

Das heisst Fur jede mtimesn Matrix A mit Rang r angestrebtemRang k lt r und jede mtimesn Matrix B mit Rang k gilt

Aminus Ak2 le AminusB2

wobei Ak die Rang-k Approximation ist die man aus der SVD vonA ableiten kann

55

Was hat man erreicht

Unkorrelierte Dimensionen (Orthonormalbasis) die nur nochverzerrt werden

Wir haben die Dimensionen mit der meisten Variation identifiziertund danach geordnet

ldquoUnwichtigerdquo Dimensionen werden weggelassenrarr Rauschenvermindert

Man braucht viel weniger Speicherplatz O(k(n + m)) anstattO(nm)

Die neuen ldquoverstecktenrdquo Dimensionen konnen zurAhnlichkeitsberechnung verwendet werden und funktionieren oftbesser

56

Wie wahlt man k

Meist empirisch Gesehen

1 In NLP oft die ersten 200 bis 300 Dimensionen2 In Recommender Systems Wahle k so dass die Summe der

ersten k Eigenwerte mindestens 10-mal der Summe alleranderen Eigenwerte

57

Ubersicht

1 SVD HauptsatzDer SVD-SatzKonstruktion am Beispiel Methodologie IKonstruktionsmethodologie II

2 Interpretation der SVD

3 Reduced SVD

4 Verwendung in NLP

58

Dichte Embeddings

A ist Matrix von m WorternTermen und n Kontexten (PPMIfrequency )Reduced SVD resultiert in Ak mit

Umtimesk ist mtimes k - MatrixZeilen von Umtimesk reprasentieren TermeSpalten in Umtimesk latente Reprasentation der KontexteBenutze Umtimesk middotΣktimesk zur Berechnung von Termahnlichkeiten

Vorteile gegenuber der vollen Term-Kontext-MatrixDichte MatrixDimensionsreduktion effizientere VerarbeitungDe-Noising

59

Dichte Embeddings

A ist Matrix von m WorternTermen und n Kontexten (PPMIfrequency )Reduced SVD resultiert in Ak mit

Umtimesk ist mtimes k - MatrixZeilen von Umtimesk reprasentieren TermeSpalten in Umtimesk latente Reprasentation der KontexteBenutze Umtimesk middotΣktimesk zur Berechnung von Termahnlichkeiten

Vorteile gegenuber der vollen Term-Kontext-MatrixDichte MatrixDimensionsreduktion effizientere VerarbeitungDe-Noising

59

Dichte Embeddings

A ist Matrix von m WorternTermen und n Kontexten (PPMIfrequency )Reduced SVD resultiert in Ak mit

Umtimesk ist mtimes k - MatrixZeilen von Umtimesk reprasentieren TermeSpalten in Umtimesk latente Reprasentation der KontexteBenutze Umtimesk middotΣktimesk zur Berechnung von Termahnlichkeiten

Vorteile gegenuber der vollen Term-Kontext-MatrixDichte MatrixDimensionsreduktion effizientere VerarbeitungDe-Noising

59

Das Beispiel vom Anfang

Eine Wort-Dokument-Matrix M aus dem R5times3

d1 d2 d3ship 1 1 0boat 0 0 1

ocean 1 0 1motor 1 0 1wood 0 1 0

cossim(shipboat) = 0

cossim(shipocean) =12

cossim(boatocean) =1radic2

= 07

60

SVD Zerlegung war

minus041 07 024minus029 minus033 minus072minus061 minus02 014minus061 minus02 014minus01 057 minus062

227 0 0

0 149 00 0 078

minus072 minus023 minus066019 085 minus05067 minus048 minus056

=

minus093 104 0187minus0658 minus049 minus056minus138 minus0298 01092minus138 minus0298 minus1092minus0227 084 minus0483

minus072 minus023 minus066

019 085 minus05067 minus048 minus056

=

1 1 00 0 11 0 11 0 10 1 0

Abweichungen sind Rundungsfehler61

Niedrigdimensionale Approximation

Die kleinsten Eigenwerte sind die unwichtigsten Wir konnen dieseldquoweglassenrdquo = auf Null setzenrarr eine Matrix mit kleinerem Rang dieaber relativ ahnlich zur Ausgangsmatrix istminus041 07 024minus029 minus033 minus072minus061 minus02 014minus061 minus02 014minus01 057 minus062

227 0 0

0 149 00 0 0

minus072 minus023 minus066019 085 minus05067 minus048 minus056

=

minus093 104 0minus0658 minus049 0minus138 minus0298 0minus138 minus0298 0minus0227 084 0

minus072 minus023 minus066

019 085 minus05067 minus048 minus056

=

087 109 011038 minus027 068093 005 106093 005 106032 077 minus027

62

Die niedrigdimensionale Approximation

Wir interessieren uns fur die Matrix U2 = UΣ2 also die Matrix mit demniedrigerem Rang

minus093 104 0minus0658 minus049 0minus138 minus0298 0minus138 minus0298 0minus0227 084 0

Man kann diese nun als die Reprasentation unserer 5 Worter mit zweiversteckten Dimensionen auffassen

h1 h2ship minus093 104boat minus0658 minus049

ocean minus138 minus0298motor minus138 minus0298wood minus0227 084

63

Neue Ahnlichkeitsberechnungen

h1 h2ship minus093 104boat minus0658 minus049

ocean minus138 minus0298motor minus138 minus0298wood minus0227 084

cossim(shipboat) =(minus093) middot (minus0658) + 104 middot (minus049)radic

(0932 + 1042) middotradic

(06582 + 0492)= 009

cossim(shipocean) =(minus093) middot (minus138) + 104 middot (minus029)radic

(0932 + 1042) middotradic

(1382 + 0292)= 049

cossim(boatocean) = 09

64

Variationen

Benutze nur Umtimesk zur Ahnlichkeitsberechnung

Benutze Umtimesk middotΣpktimesk zur Ahnlichkeitsberechnungrarr Parameter p

sollte getuned werden Kann groszlige Unterschiede machen

Oft p = 0p = 05p = 1

65

Performanz der Reduced-SVD-Embeddings

Levy O Goldberg Y Neural word embedding as implicit matrix factorization In

Advances in neural information processing systems 2014 S 2177-2185

(Englische) Wikipedia 15 Milliarden Tokens

Fenster 2 beiderseits

Vokabular 189 533 fur Terme sowie Kontexte

PPMI Matrizen

SVD sowie ohne Zerlegung (PPMI) sowie neurale (SGNS)

Algorithmus Spearman Rank zu WordSim 353SVD 0652SGNS 0633PPMI 0605

66

Latent Semantic Analysis und Word Embeddings

Levy2014

ldquoWe analyze skip-gram with negative-sampling (SGNS) [] and show that it isimplicitly factorizing a word-context matrix whose cells are the pointwise mutualinformation (PMI) of the respective word and context pairs shifted by a globalconstant When dense low-dimensional vectors are preferred exact factorizationwith SVD can achieve solutions that are at least as good as SGNSrsquoss solutions forword similarity tasks On analogy questions SGNS remains superior to SVD Weconjecture that this stems from the weighted nature of SGNSrsquos factorizationrdquo

67

Zusammenfassung

Reduced SVD resultiert in einer optimalen Approximation derOriginalmatrix mit niedrigerem Rang Optimal = optimal bzgl derFrobeniusnorm (bzw mean squared error)

Dadurch erhalten wir eine mathematisch fundierte dichtereMatrix die Rauschen (weniger wichtige Dimensionen) eliminiert

Wir konnen mittels Umtimesk Σktimesk weiterhin Wortahnlichkeitenberechnen

Es konnen Resultate erreicht werden die bei word similaritymindestens ebensogut sind wie mit neuralen word embeddings

Nachteile Kosten der SVD Berechnung fur mtimesn matrixO(n middotm2) (when m lt n)rarr Nicht gut fur sehr grosse Matrizen

Nachteile Geht nicht gut mit unbekannten Wortern um

Nachteile schlechter bei Wortanalogieaufgaben

68

Literatur

Guter erweiterter Hintergrundhttptheorystanfordedu˜tims15ll7pdf bishttptheorystanfordedu˜tims15ll9pdf

SVD Tutorial (ohne vollstandigen Hintergrund) Kirk Baker(2005) Singular Value Decomposition Tutorialhttpsdatajobscomdata-science-repoSVD-Tutorial-[Kirk-Baker]pdf Leider ist hier imKonstruktionsverfahren I die Vorzeichenproblematikfalschlicherweise nicht behandelt worden

Levy O Goldberg Y Neural word embedding as implicit matrixfactorization In Advances in neural information processingsystems 2014 S 2177-2185

Ubungsblatt II

69

  • SVD Hauptsatz
    • Der SVD-Satz
    • Konstruktion am Beispiel Methodologie I
    • Konstruktionsmethodologie II
      • Interpretation der SVD
      • Reduced SVD
      • Verwendung in NLP

Schritt VI Bestimme V

Starte mit einer Matrix V die die bestimmten Eigenvektoren von AT middotAnach der Groszlige der jeweiligen Eigenwerte als Spaltenvektoren enthalt

1 Fur Eigenwert σ1 = 10 hatten wir (2minus10) gewahlt2 Fur Eigenwert σ2 = 12 hatten wir (121) bestimmt3 Fur Eigenwert σ3 = 0 hatten wir (12minus5) bestimmt4 Spaltenvektoren nach Eigenwertgroszlige geordnet

V =

1 2 12 minus1 21 0 minus5

20

Schritt VI Bestimme V

Orthonormalisiere mit Gram-Schmidt die Spaltenvektoren von V

V =

1 2 12 minus1 21 0 minus5

1 Normalisiere ersten Spaltenvektor v (1) = v(1)

v(1) =

1radic6

2radic6

1radic6

2 Berechne die Senkrechte v (2)minus〈v (1) v (2)〉 middot v (1)

3 Also

2minus10

minus〈

1radic6

2radic6

1radic6

2minus10

〉 middot

1radic6

2radic6

1radic6

=

2minus10

4 Normalisiere die Senkrechte

2minus10

ergibt v (2) =

2radic5minus1radic

50

21

Schritt VI Bestimme V

V =

1 2 12 minus1 21 0 minus5

Schon bestimmt

v (1) =

1radic6

2radic6

1radic6

sowie v (2) =

2radic5minus1radic

50

Dann kann man auch noch v (3) berechnen mit der Senkrechten

v (3)minus〈v (1) v (3)〉 middot v (1)minus〈v (2) v (3)〉 middot v (2)

Dies ergibt

minus23minus43103

Normalisiert v (3) =

1radic302radic30minus5radic

30

22

Schritt VI Bestimme V

Damit

V =

1radic6

2radic5

1radic30

2radic6

minus1radic5

2radic30

1radic6

0 minus5radic30

und damit

V T =

1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

23

Schritt VII Bestimme Σ

Σ ist eine mtimesn (hier 2times3) ldquoDiagonalmatrixrdquo mit den Wurzeln derEigenwerte (von A middotAT bzw U bzw V auf der Diagonale) nach Groszligegeordnet

Σ =

(radic12 0 00

radic10 0

)

24

Alles Zusammen

A = UΣV T =

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00

radic10 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(radic12radic2

radic10radic2

0radic

12radic2

minusradic

10radic2

0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(3 1 1minus1 3 1

)

25

Moglicher Schritt VIII Vorzeichenverbesserung

Nehmen wir mal an wir hatten bei V die falschen Vorzeichen gewahltZum Beispiel wir hatten fur σ2 = 10 anstatt (2minus10) den Vektor(minus210) gewahlt Damit ergibt sich

V =

1 minus2 12 1 21 0 minus5

und

V =

1radic6

minus2radic5

1radic30

2radic6

1radic5

2radic30

1radic6

0 minus5radic30

und

V T =

1radic6

2radic6

1radic6

minus2radic5

1radic5

01radic30

2radic30

minus5radic30

26

Moglicher Schritt VIII Vorzeichenverbesserung

Leider ist nun

UΣV T =

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00

radic10 0

)1radic6

2radic6

1radic6

minus2radic5

1radic5

01radic30

2radic30

minus5radic30

=

(radic12radic2

radic10radic2

0radic

12radic2

minusradic

10radic2

0

)1radic6

2radic6

1radic6

minus2radic5

1radic5

01radic30

2radic30

minus5radic30

=

(minus1 3 13 1 1

)

27

Moglicher Schritt VIII Vorzeichenverbesserung

Die unelegante Losung Gehe durch alle Zeilen von V T (Spalten vonV ) multizipliere sie systematisch mit minus1 bis es passt Durch dieMultiplikation mit minus1 bleiben die Vektoren immer noch normal undauch die Orthogonalitat andert sich nicht

Da eventuell auch mehrere Zeilen mit minus1 multipliziert werdenmussen ist dies leider exponentiell in der Zeilenanzahl von V T

(alle moglichen Kombinationen mussen probiert werden)

Es ist nicht gerade elegant

Man kann naturlich stattdessen auch durch die Spalten von Ugehen und diese anpassen

28

Konstruktionsmethodologie II

1 Berechne die quadratische ntimesn Matrix AT middotA2 Berechne die Eigenwerte σ2

j und Eigenvektoren vj von AT middotA3 Die Vektoren vj werden orthonormalisiert (Gram-Schmidt) und

bilden die Spaltenvektoren von V4 Die Wurzeln der σ2-Werte werden in absteigender Reihenfolge

die Eintrage von Σ

5 Die Spaltenvektoren von U bis zum Rang r der AT middotA Matrix sindnun eindeutig bestimmt aus der Vorgabe A = UΣV T und werdendaraus berechnet

6 Wenn r lt m mussen noch mminus r Vektoren zur Orthonormalbasiserganzt werden

29

Konstruktionsmethodologie II

1 Berechne die quadratische ntimesn Matrix AT middotA2 Berechne die Eigenwerte σ2

j und Eigenvektoren vj von AT middotA3 Die Vektoren vj werden orthonormalisiert (Gram-Schmidt) und

bilden die Spaltenvektoren von V4 Die Wurzeln der σ2-Werte werden in absteigender Reihenfolge

die Eintrage von Σ

5 Die Spaltenvektoren von U bis zum Rang r der AT middotA Matrix sindnun eindeutig bestimmt aus der Vorgabe A = UΣV T und werdendaraus berechnet

6 Wenn r lt m mussen noch mminus r Vektoren zur Orthonormalbasiserganzt werden

29

Konstruktionsmethodologie II

1 Berechne die quadratische ntimesn Matrix AT middotA2 Berechne die Eigenwerte σ2

j und Eigenvektoren vj von AT middotA3 Die Vektoren vj werden orthonormalisiert (Gram-Schmidt) und

bilden die Spaltenvektoren von V4 Die Wurzeln der σ2-Werte werden in absteigender Reihenfolge

die Eintrage von Σ

5 Die Spaltenvektoren von U bis zum Rang r der AT middotA Matrix sindnun eindeutig bestimmt aus der Vorgabe A = UΣV T und werdendaraus berechnet

6 Wenn r lt m mussen noch mminus r Vektoren zur Orthonormalbasiserganzt werden

29

Konstruktionsmethodologie II

1 Berechne die quadratische ntimesn Matrix AT middotA2 Berechne die Eigenwerte σ2

j und Eigenvektoren vj von AT middotA3 Die Vektoren vj werden orthonormalisiert (Gram-Schmidt) und

bilden die Spaltenvektoren von V4 Die Wurzeln der σ2-Werte werden in absteigender Reihenfolge

die Eintrage von Σ

5 Die Spaltenvektoren von U bis zum Rang r der AT middotA Matrix sindnun eindeutig bestimmt aus der Vorgabe A = UΣV T und werdendaraus berechnet

6 Wenn r lt m mussen noch mminus r Vektoren zur Orthonormalbasiserganzt werden

29

Schritt I Bestimme V T und Σ wie bisher

Nach dem ublichen Verfahren sei also V T zum Beispiel1radic6

2radic6

1radic6

minus2radic5

1radic5

01radic30

2radic30

minus5radic30

bzw V

V =

1radic6

minus2radic5

1radic30

2radic6

1radic5

2radic30

1radic6

0 minus5radic30

Die Vorzeichen konnten auch anders seinWeiterhin ist

Σ =

(radic12 0 00

radic10 0

)

30

Schritt II Bestimme U

Es muss gelten

A = UΣV T

und damit

AV = UΣV T V

Da V orthogonal ist V T V die Einheitsmatrix und damit

AV = UΣ

31

Schritt II Bestimme U

Man bilde nun eine ntimesm Matrix Σprime die genau auf denentsprechenden Diagonaleintragen 1σi stehen hat Im Beispiel ist

Σprime =

1radic12

0

0 1radic10

0 0

Es gilt dass Σ middotΣprime die mtimesm Einheitsmatrix istUnd damit

AVΣprime = UΣΣprime = U

32

Schritt II Bestimme U

Also giltU = AVΣprime

Damit gilt fur die Spalten von U wenn man sich dieMatrixmultiplikation genauer anschaut

u(j) =1σj

Av (j)

In unserem Beispiel

u(1) =1radic12

(3 1 1minus1 3 1

)1radic6

2radic6

1radic6

=

(1radic2

1radic2

)

33

Schritt II Bestimme U

Und ebenso

u(2) =1radic10

(3 1 1minus1 3 1

)minus2radic

51radic5

0

=

(minus1radic2

1radic2

)

Man sieht dass sich hier das veranderte Vorzeichen von v (2) imentgegengesetzten Vorzeichen von u(2) widerspiegelt Wir musstenauch nicht zweimal Eigenvektoren berechnen sondern U ist aus denvorherigen Berechnungen bestimmt

34

Beispiel mit einer Matrix mit niedrigerem Rang

Da wir durch 1σj

dividieren mussten geht dies nur fur Eigenwerteungleich Null Wenn aber die Matrizen niedrigere Range haben als mdann bekommen wir so nicht genugend U-Vektoren Was machen wirdann

Beispiel Sei eine Matrix von Rang 1 gegeben

A =

(1 01 0

)

35

Berechnung von V

AT A =

(1 10 0

)(1 01 0

)=

(2 00 0

)

36

Berechnung von V

(2 00 0

)hat die Eigenwerte 2 und 0 mit den jeweiligen Eigenvektoren (10)sowie (01)Daraus folgt

V =

(1 00 1

)Die ist schon eine Orthonormalmatrix also gilt V = V sowie daDiagonalmatrix V T = V

37

Bestimmung von Σ

Es gilt

Σ =

(radic2 0

0 0

)

38

Bestimmung von U

Der erste Spaltenvektor u(1) kann wie ublich bestimmt werden mit

u(1) =1radic2

Av (1) =1radic2

(1 01 0

)(10

)

=1radic2

(11

)=

(1radic2

1radic2

)

39

Bestimmung von U

Da wir keinen weiteren Eigenwert 6= 0 haben konnen wir leider sonicht weitermachen dh es geht nur bis zum Rang von A Es gilt aber(

1radic2

x21radic2

y2

)(radic2 0

0 0

)(1 00 1

)

=

(1 01 0

)= A

unabhangig von x2 und y2 Das heisst unser halb vollstandiges U istgenug fur eine Zerlegung

40

Bestimmung von U

1 Wir konnen also jedes x2 und y2 wahlen solange normiert undsenkrecht auf dem ersten Vektor stehend

2 Nach dem sogenannten Basiserganzungssatz geht dies immer3 In unserem Beispiel konnte man zum Beispiel (minus1radic

2 1radic

2) wahlen

4 Wie genau man diese weiteren Vektoren von U konstruiert ist furuns unerheblich da wir ja sowieso die letzten Spalten von U diezu den niedrigeren Eigenwerten gehoren ldquoabschneidenrdquowerden

41

SVD Zwischenfazit

Wir haben eine Matrix in das Produkt einer OrthonormalmatrixDiagonalmatrix und Orthogonalmatrix zerlegt

Die Diagonalmatrix enthalt die Wurzeln von den Eigenwerten vonA middotAT nach Groszlige geordnet

Die erste Orthonormalmatrix enthalt die orthonormalisiertenEigenvektoren von A middotAT nach Eigenwertgrosse geordnet alsSpalten

Die zweite Orthonormalmatrix ist die Transponierte der Matrixdie die orthonormalisierten Eigenvektoren von AT middotA nachEigenwertgrosse geordnet als Spalten enthalt

42

Ubersicht

1 SVD HauptsatzDer SVD-SatzKonstruktion am Beispiel Methodologie IKonstruktionsmethodologie II

2 Interpretation der SVD

3 Reduced SVD

4 Verwendung in NLP

43

Geometrische Interpretation bei quadratischen Matrizen

Bedeutung der SVD ist dass sich die Funktion in eine DrehungDrehspiegelung (V T )eine Verzerrung (Σ) und eine zweite DrehungDrehspiegelung (U) zerlegen lsst

Matrix

(1 10 1

)SVD Geometrische Interpretationa

aQuelle httpscommonswikimediaorgwikiFileSingular-Value-Decompositionsvg

44

Noch einige Bemerkungen

Die Eigenwerte und damit Σ sind eindeutig bestimmt

U und V sind nicht eindeutig bestimmt Es konnen Drehungenum 180 Grad oder Spiegelungen hinzukommen

Wir konnen in vielen Fallen einen Eigenvektor wahlen(Freiheitsgrade) mussen aber dann bei den Vorzeichen derzweiten Matrix aufpassen

45

Noch einige Bemerkungen

Wir haben implizit den Rang der Ursprungsmatrix A bestimmtDies kann man klar an U middotΣ sehen

A = UΣV T =

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00

radic10 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(radic12radic2

radic10radic2

0radic

12radic2

minusradic

10radic2

0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(3 1 1minus1 3 1

)

46

Noch einige Bemerkungen

Deswegen wird manchmal die Singularwertzerlegung auch alsZerlegung in drei Matrizen Amtimesn = Umtimesr Σrtimesr V T

rtimesn wobei r der Rangder Matrix A ist beschrieben

A = UΣV T =

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00

radic10 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 00

radic10

)( 1radic6

2radic6

1radic6

2radic5

minus1radic5

0

)=

(radic12radic2

radic10radic2radic

12radic2

minusradic

10radic2

)(1radic6

2radic6

1radic6

2radic5

minus1radic5

0

)=

(3 1 1minus1 3 1

)47

Noch einige Bemerkungen

Bisher haben wir immer die Ausgangsmatrix einfach reproduziert(mit dem gleichen Rang) Man sieht den Rang besser und es gilt

Die ldquoZerrungrdquo durch die Matrix Σ ist bei den Dimensionen mit denhochsten Eigenwerten am groszligten Beispiel

(radic12 0 00

radic10 0

)x1

x2

x3

=

(radic12 middot x1radic10 middot x2

)Es macht also Sinn dass wir wenn wir eine Approximationunserer Ausgangsmatrix mit niedrigerem Rang wollen dann dieunwichtigen Dimensionen die durch niedrige Eigenwertegekennzeichnet sind weglassen

48

Ubersicht

1 SVD HauptsatzDer SVD-SatzKonstruktion am Beispiel Methodologie IKonstruktionsmethodologie II

2 Interpretation der SVD

3 Reduced SVD

4 Verwendung in NLP

49

Reduced SVD Approximation niedrigeren Ranges

Approximation von mtimesn Matrix A mit Rang r durch mtimesn -Matrix Ak mit Rang k lt r

A = UΣV T asymp Ak = UΣk V T

Σk ist eine ldquodiagonalerdquo mtimesn - Matrix bei der nur auf den erstenk Stellen der Diagonalmatrix Werte 6= 0 stehen

U und V wie zuvor

50

Beispiel

A = UΣV T =

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00

radic10 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

asymp

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00 0 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(radic12radic2

0 0radic

12radic2

0 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(1 2 11 2 1

)51

Reduced SVD

Wir hatten auch nur die ersten k Spalten von U sowie die ersten kZeilen von V T behalten konnen

Aasymp

(1radic2

1radic2

)(radic12)( 1radic

62radic6

1radic6

)=

(radic12radic2radic

12radic2

)(1radic6

2radic6

1radic6

)=

(1 2 11 2 1

)

52

Als Bild

53

Als Algorithmus

Gegeben mtimesn Matrix A und gewunschter Rank k Wir produziereneine Rangminus k Approximation wie folgt

1 Wir berechnen eine SVD Zerlegung von A

Amtimesn = UmtimesmΣmtimesnV Tntimesn

2 Wir behalten nur die ersten k Spalten von U resultierend in Umtimesk

3 Wir behalten nur die Top k sprich die ersten k Diagonalwerte vonΣ resultierend in Σktimesk

4 Wir behalten nur die ersten k Reihen von V T resultierend in V Tktimesn

54

Reduced SVD

Diagonale Eintrage in Σk sind die k groszligten Eigenwerte vonA middotAT

Satz UΣk V T minimiert die Differenz der Frobenius-Normzwischen A und Ak unter der Bedingung rang(Ak ) = k

Das heisst Fur jede mtimesn Matrix A mit Rang r angestrebtemRang k lt r und jede mtimesn Matrix B mit Rang k gilt

Aminus Ak2 le AminusB2

wobei Ak die Rang-k Approximation ist die man aus der SVD vonA ableiten kann

55

Was hat man erreicht

Unkorrelierte Dimensionen (Orthonormalbasis) die nur nochverzerrt werden

Wir haben die Dimensionen mit der meisten Variation identifiziertund danach geordnet

ldquoUnwichtigerdquo Dimensionen werden weggelassenrarr Rauschenvermindert

Man braucht viel weniger Speicherplatz O(k(n + m)) anstattO(nm)

Die neuen ldquoverstecktenrdquo Dimensionen konnen zurAhnlichkeitsberechnung verwendet werden und funktionieren oftbesser

56

Wie wahlt man k

Meist empirisch Gesehen

1 In NLP oft die ersten 200 bis 300 Dimensionen2 In Recommender Systems Wahle k so dass die Summe der

ersten k Eigenwerte mindestens 10-mal der Summe alleranderen Eigenwerte

57

Ubersicht

1 SVD HauptsatzDer SVD-SatzKonstruktion am Beispiel Methodologie IKonstruktionsmethodologie II

2 Interpretation der SVD

3 Reduced SVD

4 Verwendung in NLP

58

Dichte Embeddings

A ist Matrix von m WorternTermen und n Kontexten (PPMIfrequency )Reduced SVD resultiert in Ak mit

Umtimesk ist mtimes k - MatrixZeilen von Umtimesk reprasentieren TermeSpalten in Umtimesk latente Reprasentation der KontexteBenutze Umtimesk middotΣktimesk zur Berechnung von Termahnlichkeiten

Vorteile gegenuber der vollen Term-Kontext-MatrixDichte MatrixDimensionsreduktion effizientere VerarbeitungDe-Noising

59

Dichte Embeddings

A ist Matrix von m WorternTermen und n Kontexten (PPMIfrequency )Reduced SVD resultiert in Ak mit

Umtimesk ist mtimes k - MatrixZeilen von Umtimesk reprasentieren TermeSpalten in Umtimesk latente Reprasentation der KontexteBenutze Umtimesk middotΣktimesk zur Berechnung von Termahnlichkeiten

Vorteile gegenuber der vollen Term-Kontext-MatrixDichte MatrixDimensionsreduktion effizientere VerarbeitungDe-Noising

59

Dichte Embeddings

A ist Matrix von m WorternTermen und n Kontexten (PPMIfrequency )Reduced SVD resultiert in Ak mit

Umtimesk ist mtimes k - MatrixZeilen von Umtimesk reprasentieren TermeSpalten in Umtimesk latente Reprasentation der KontexteBenutze Umtimesk middotΣktimesk zur Berechnung von Termahnlichkeiten

Vorteile gegenuber der vollen Term-Kontext-MatrixDichte MatrixDimensionsreduktion effizientere VerarbeitungDe-Noising

59

Das Beispiel vom Anfang

Eine Wort-Dokument-Matrix M aus dem R5times3

d1 d2 d3ship 1 1 0boat 0 0 1

ocean 1 0 1motor 1 0 1wood 0 1 0

cossim(shipboat) = 0

cossim(shipocean) =12

cossim(boatocean) =1radic2

= 07

60

SVD Zerlegung war

minus041 07 024minus029 minus033 minus072minus061 minus02 014minus061 minus02 014minus01 057 minus062

227 0 0

0 149 00 0 078

minus072 minus023 minus066019 085 minus05067 minus048 minus056

=

minus093 104 0187minus0658 minus049 minus056minus138 minus0298 01092minus138 minus0298 minus1092minus0227 084 minus0483

minus072 minus023 minus066

019 085 minus05067 minus048 minus056

=

1 1 00 0 11 0 11 0 10 1 0

Abweichungen sind Rundungsfehler61

Niedrigdimensionale Approximation

Die kleinsten Eigenwerte sind die unwichtigsten Wir konnen dieseldquoweglassenrdquo = auf Null setzenrarr eine Matrix mit kleinerem Rang dieaber relativ ahnlich zur Ausgangsmatrix istminus041 07 024minus029 minus033 minus072minus061 minus02 014minus061 minus02 014minus01 057 minus062

227 0 0

0 149 00 0 0

minus072 minus023 minus066019 085 minus05067 minus048 minus056

=

minus093 104 0minus0658 minus049 0minus138 minus0298 0minus138 minus0298 0minus0227 084 0

minus072 minus023 minus066

019 085 minus05067 minus048 minus056

=

087 109 011038 minus027 068093 005 106093 005 106032 077 minus027

62

Die niedrigdimensionale Approximation

Wir interessieren uns fur die Matrix U2 = UΣ2 also die Matrix mit demniedrigerem Rang

minus093 104 0minus0658 minus049 0minus138 minus0298 0minus138 minus0298 0minus0227 084 0

Man kann diese nun als die Reprasentation unserer 5 Worter mit zweiversteckten Dimensionen auffassen

h1 h2ship minus093 104boat minus0658 minus049

ocean minus138 minus0298motor minus138 minus0298wood minus0227 084

63

Neue Ahnlichkeitsberechnungen

h1 h2ship minus093 104boat minus0658 minus049

ocean minus138 minus0298motor minus138 minus0298wood minus0227 084

cossim(shipboat) =(minus093) middot (minus0658) + 104 middot (minus049)radic

(0932 + 1042) middotradic

(06582 + 0492)= 009

cossim(shipocean) =(minus093) middot (minus138) + 104 middot (minus029)radic

(0932 + 1042) middotradic

(1382 + 0292)= 049

cossim(boatocean) = 09

64

Variationen

Benutze nur Umtimesk zur Ahnlichkeitsberechnung

Benutze Umtimesk middotΣpktimesk zur Ahnlichkeitsberechnungrarr Parameter p

sollte getuned werden Kann groszlige Unterschiede machen

Oft p = 0p = 05p = 1

65

Performanz der Reduced-SVD-Embeddings

Levy O Goldberg Y Neural word embedding as implicit matrix factorization In

Advances in neural information processing systems 2014 S 2177-2185

(Englische) Wikipedia 15 Milliarden Tokens

Fenster 2 beiderseits

Vokabular 189 533 fur Terme sowie Kontexte

PPMI Matrizen

SVD sowie ohne Zerlegung (PPMI) sowie neurale (SGNS)

Algorithmus Spearman Rank zu WordSim 353SVD 0652SGNS 0633PPMI 0605

66

Latent Semantic Analysis und Word Embeddings

Levy2014

ldquoWe analyze skip-gram with negative-sampling (SGNS) [] and show that it isimplicitly factorizing a word-context matrix whose cells are the pointwise mutualinformation (PMI) of the respective word and context pairs shifted by a globalconstant When dense low-dimensional vectors are preferred exact factorizationwith SVD can achieve solutions that are at least as good as SGNSrsquoss solutions forword similarity tasks On analogy questions SGNS remains superior to SVD Weconjecture that this stems from the weighted nature of SGNSrsquos factorizationrdquo

67

Zusammenfassung

Reduced SVD resultiert in einer optimalen Approximation derOriginalmatrix mit niedrigerem Rang Optimal = optimal bzgl derFrobeniusnorm (bzw mean squared error)

Dadurch erhalten wir eine mathematisch fundierte dichtereMatrix die Rauschen (weniger wichtige Dimensionen) eliminiert

Wir konnen mittels Umtimesk Σktimesk weiterhin Wortahnlichkeitenberechnen

Es konnen Resultate erreicht werden die bei word similaritymindestens ebensogut sind wie mit neuralen word embeddings

Nachteile Kosten der SVD Berechnung fur mtimesn matrixO(n middotm2) (when m lt n)rarr Nicht gut fur sehr grosse Matrizen

Nachteile Geht nicht gut mit unbekannten Wortern um

Nachteile schlechter bei Wortanalogieaufgaben

68

Literatur

Guter erweiterter Hintergrundhttptheorystanfordedu˜tims15ll7pdf bishttptheorystanfordedu˜tims15ll9pdf

SVD Tutorial (ohne vollstandigen Hintergrund) Kirk Baker(2005) Singular Value Decomposition Tutorialhttpsdatajobscomdata-science-repoSVD-Tutorial-[Kirk-Baker]pdf Leider ist hier imKonstruktionsverfahren I die Vorzeichenproblematikfalschlicherweise nicht behandelt worden

Levy O Goldberg Y Neural word embedding as implicit matrixfactorization In Advances in neural information processingsystems 2014 S 2177-2185

Ubungsblatt II

69

  • SVD Hauptsatz
    • Der SVD-Satz
    • Konstruktion am Beispiel Methodologie I
    • Konstruktionsmethodologie II
      • Interpretation der SVD
      • Reduced SVD
      • Verwendung in NLP

Schritt VI Bestimme V

Orthonormalisiere mit Gram-Schmidt die Spaltenvektoren von V

V =

1 2 12 minus1 21 0 minus5

1 Normalisiere ersten Spaltenvektor v (1) = v(1)

v(1) =

1radic6

2radic6

1radic6

2 Berechne die Senkrechte v (2)minus〈v (1) v (2)〉 middot v (1)

3 Also

2minus10

minus〈

1radic6

2radic6

1radic6

2minus10

〉 middot

1radic6

2radic6

1radic6

=

2minus10

4 Normalisiere die Senkrechte

2minus10

ergibt v (2) =

2radic5minus1radic

50

21

Schritt VI Bestimme V

V =

1 2 12 minus1 21 0 minus5

Schon bestimmt

v (1) =

1radic6

2radic6

1radic6

sowie v (2) =

2radic5minus1radic

50

Dann kann man auch noch v (3) berechnen mit der Senkrechten

v (3)minus〈v (1) v (3)〉 middot v (1)minus〈v (2) v (3)〉 middot v (2)

Dies ergibt

minus23minus43103

Normalisiert v (3) =

1radic302radic30minus5radic

30

22

Schritt VI Bestimme V

Damit

V =

1radic6

2radic5

1radic30

2radic6

minus1radic5

2radic30

1radic6

0 minus5radic30

und damit

V T =

1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

23

Schritt VII Bestimme Σ

Σ ist eine mtimesn (hier 2times3) ldquoDiagonalmatrixrdquo mit den Wurzeln derEigenwerte (von A middotAT bzw U bzw V auf der Diagonale) nach Groszligegeordnet

Σ =

(radic12 0 00

radic10 0

)

24

Alles Zusammen

A = UΣV T =

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00

radic10 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(radic12radic2

radic10radic2

0radic

12radic2

minusradic

10radic2

0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(3 1 1minus1 3 1

)

25

Moglicher Schritt VIII Vorzeichenverbesserung

Nehmen wir mal an wir hatten bei V die falschen Vorzeichen gewahltZum Beispiel wir hatten fur σ2 = 10 anstatt (2minus10) den Vektor(minus210) gewahlt Damit ergibt sich

V =

1 minus2 12 1 21 0 minus5

und

V =

1radic6

minus2radic5

1radic30

2radic6

1radic5

2radic30

1radic6

0 minus5radic30

und

V T =

1radic6

2radic6

1radic6

minus2radic5

1radic5

01radic30

2radic30

minus5radic30

26

Moglicher Schritt VIII Vorzeichenverbesserung

Leider ist nun

UΣV T =

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00

radic10 0

)1radic6

2radic6

1radic6

minus2radic5

1radic5

01radic30

2radic30

minus5radic30

=

(radic12radic2

radic10radic2

0radic

12radic2

minusradic

10radic2

0

)1radic6

2radic6

1radic6

minus2radic5

1radic5

01radic30

2radic30

minus5radic30

=

(minus1 3 13 1 1

)

27

Moglicher Schritt VIII Vorzeichenverbesserung

Die unelegante Losung Gehe durch alle Zeilen von V T (Spalten vonV ) multizipliere sie systematisch mit minus1 bis es passt Durch dieMultiplikation mit minus1 bleiben die Vektoren immer noch normal undauch die Orthogonalitat andert sich nicht

Da eventuell auch mehrere Zeilen mit minus1 multipliziert werdenmussen ist dies leider exponentiell in der Zeilenanzahl von V T

(alle moglichen Kombinationen mussen probiert werden)

Es ist nicht gerade elegant

Man kann naturlich stattdessen auch durch die Spalten von Ugehen und diese anpassen

28

Konstruktionsmethodologie II

1 Berechne die quadratische ntimesn Matrix AT middotA2 Berechne die Eigenwerte σ2

j und Eigenvektoren vj von AT middotA3 Die Vektoren vj werden orthonormalisiert (Gram-Schmidt) und

bilden die Spaltenvektoren von V4 Die Wurzeln der σ2-Werte werden in absteigender Reihenfolge

die Eintrage von Σ

5 Die Spaltenvektoren von U bis zum Rang r der AT middotA Matrix sindnun eindeutig bestimmt aus der Vorgabe A = UΣV T und werdendaraus berechnet

6 Wenn r lt m mussen noch mminus r Vektoren zur Orthonormalbasiserganzt werden

29

Konstruktionsmethodologie II

1 Berechne die quadratische ntimesn Matrix AT middotA2 Berechne die Eigenwerte σ2

j und Eigenvektoren vj von AT middotA3 Die Vektoren vj werden orthonormalisiert (Gram-Schmidt) und

bilden die Spaltenvektoren von V4 Die Wurzeln der σ2-Werte werden in absteigender Reihenfolge

die Eintrage von Σ

5 Die Spaltenvektoren von U bis zum Rang r der AT middotA Matrix sindnun eindeutig bestimmt aus der Vorgabe A = UΣV T und werdendaraus berechnet

6 Wenn r lt m mussen noch mminus r Vektoren zur Orthonormalbasiserganzt werden

29

Konstruktionsmethodologie II

1 Berechne die quadratische ntimesn Matrix AT middotA2 Berechne die Eigenwerte σ2

j und Eigenvektoren vj von AT middotA3 Die Vektoren vj werden orthonormalisiert (Gram-Schmidt) und

bilden die Spaltenvektoren von V4 Die Wurzeln der σ2-Werte werden in absteigender Reihenfolge

die Eintrage von Σ

5 Die Spaltenvektoren von U bis zum Rang r der AT middotA Matrix sindnun eindeutig bestimmt aus der Vorgabe A = UΣV T und werdendaraus berechnet

6 Wenn r lt m mussen noch mminus r Vektoren zur Orthonormalbasiserganzt werden

29

Konstruktionsmethodologie II

1 Berechne die quadratische ntimesn Matrix AT middotA2 Berechne die Eigenwerte σ2

j und Eigenvektoren vj von AT middotA3 Die Vektoren vj werden orthonormalisiert (Gram-Schmidt) und

bilden die Spaltenvektoren von V4 Die Wurzeln der σ2-Werte werden in absteigender Reihenfolge

die Eintrage von Σ

5 Die Spaltenvektoren von U bis zum Rang r der AT middotA Matrix sindnun eindeutig bestimmt aus der Vorgabe A = UΣV T und werdendaraus berechnet

6 Wenn r lt m mussen noch mminus r Vektoren zur Orthonormalbasiserganzt werden

29

Schritt I Bestimme V T und Σ wie bisher

Nach dem ublichen Verfahren sei also V T zum Beispiel1radic6

2radic6

1radic6

minus2radic5

1radic5

01radic30

2radic30

minus5radic30

bzw V

V =

1radic6

minus2radic5

1radic30

2radic6

1radic5

2radic30

1radic6

0 minus5radic30

Die Vorzeichen konnten auch anders seinWeiterhin ist

Σ =

(radic12 0 00

radic10 0

)

30

Schritt II Bestimme U

Es muss gelten

A = UΣV T

und damit

AV = UΣV T V

Da V orthogonal ist V T V die Einheitsmatrix und damit

AV = UΣ

31

Schritt II Bestimme U

Man bilde nun eine ntimesm Matrix Σprime die genau auf denentsprechenden Diagonaleintragen 1σi stehen hat Im Beispiel ist

Σprime =

1radic12

0

0 1radic10

0 0

Es gilt dass Σ middotΣprime die mtimesm Einheitsmatrix istUnd damit

AVΣprime = UΣΣprime = U

32

Schritt II Bestimme U

Also giltU = AVΣprime

Damit gilt fur die Spalten von U wenn man sich dieMatrixmultiplikation genauer anschaut

u(j) =1σj

Av (j)

In unserem Beispiel

u(1) =1radic12

(3 1 1minus1 3 1

)1radic6

2radic6

1radic6

=

(1radic2

1radic2

)

33

Schritt II Bestimme U

Und ebenso

u(2) =1radic10

(3 1 1minus1 3 1

)minus2radic

51radic5

0

=

(minus1radic2

1radic2

)

Man sieht dass sich hier das veranderte Vorzeichen von v (2) imentgegengesetzten Vorzeichen von u(2) widerspiegelt Wir musstenauch nicht zweimal Eigenvektoren berechnen sondern U ist aus denvorherigen Berechnungen bestimmt

34

Beispiel mit einer Matrix mit niedrigerem Rang

Da wir durch 1σj

dividieren mussten geht dies nur fur Eigenwerteungleich Null Wenn aber die Matrizen niedrigere Range haben als mdann bekommen wir so nicht genugend U-Vektoren Was machen wirdann

Beispiel Sei eine Matrix von Rang 1 gegeben

A =

(1 01 0

)

35

Berechnung von V

AT A =

(1 10 0

)(1 01 0

)=

(2 00 0

)

36

Berechnung von V

(2 00 0

)hat die Eigenwerte 2 und 0 mit den jeweiligen Eigenvektoren (10)sowie (01)Daraus folgt

V =

(1 00 1

)Die ist schon eine Orthonormalmatrix also gilt V = V sowie daDiagonalmatrix V T = V

37

Bestimmung von Σ

Es gilt

Σ =

(radic2 0

0 0

)

38

Bestimmung von U

Der erste Spaltenvektor u(1) kann wie ublich bestimmt werden mit

u(1) =1radic2

Av (1) =1radic2

(1 01 0

)(10

)

=1radic2

(11

)=

(1radic2

1radic2

)

39

Bestimmung von U

Da wir keinen weiteren Eigenwert 6= 0 haben konnen wir leider sonicht weitermachen dh es geht nur bis zum Rang von A Es gilt aber(

1radic2

x21radic2

y2

)(radic2 0

0 0

)(1 00 1

)

=

(1 01 0

)= A

unabhangig von x2 und y2 Das heisst unser halb vollstandiges U istgenug fur eine Zerlegung

40

Bestimmung von U

1 Wir konnen also jedes x2 und y2 wahlen solange normiert undsenkrecht auf dem ersten Vektor stehend

2 Nach dem sogenannten Basiserganzungssatz geht dies immer3 In unserem Beispiel konnte man zum Beispiel (minus1radic

2 1radic

2) wahlen

4 Wie genau man diese weiteren Vektoren von U konstruiert ist furuns unerheblich da wir ja sowieso die letzten Spalten von U diezu den niedrigeren Eigenwerten gehoren ldquoabschneidenrdquowerden

41

SVD Zwischenfazit

Wir haben eine Matrix in das Produkt einer OrthonormalmatrixDiagonalmatrix und Orthogonalmatrix zerlegt

Die Diagonalmatrix enthalt die Wurzeln von den Eigenwerten vonA middotAT nach Groszlige geordnet

Die erste Orthonormalmatrix enthalt die orthonormalisiertenEigenvektoren von A middotAT nach Eigenwertgrosse geordnet alsSpalten

Die zweite Orthonormalmatrix ist die Transponierte der Matrixdie die orthonormalisierten Eigenvektoren von AT middotA nachEigenwertgrosse geordnet als Spalten enthalt

42

Ubersicht

1 SVD HauptsatzDer SVD-SatzKonstruktion am Beispiel Methodologie IKonstruktionsmethodologie II

2 Interpretation der SVD

3 Reduced SVD

4 Verwendung in NLP

43

Geometrische Interpretation bei quadratischen Matrizen

Bedeutung der SVD ist dass sich die Funktion in eine DrehungDrehspiegelung (V T )eine Verzerrung (Σ) und eine zweite DrehungDrehspiegelung (U) zerlegen lsst

Matrix

(1 10 1

)SVD Geometrische Interpretationa

aQuelle httpscommonswikimediaorgwikiFileSingular-Value-Decompositionsvg

44

Noch einige Bemerkungen

Die Eigenwerte und damit Σ sind eindeutig bestimmt

U und V sind nicht eindeutig bestimmt Es konnen Drehungenum 180 Grad oder Spiegelungen hinzukommen

Wir konnen in vielen Fallen einen Eigenvektor wahlen(Freiheitsgrade) mussen aber dann bei den Vorzeichen derzweiten Matrix aufpassen

45

Noch einige Bemerkungen

Wir haben implizit den Rang der Ursprungsmatrix A bestimmtDies kann man klar an U middotΣ sehen

A = UΣV T =

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00

radic10 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(radic12radic2

radic10radic2

0radic

12radic2

minusradic

10radic2

0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(3 1 1minus1 3 1

)

46

Noch einige Bemerkungen

Deswegen wird manchmal die Singularwertzerlegung auch alsZerlegung in drei Matrizen Amtimesn = Umtimesr Σrtimesr V T

rtimesn wobei r der Rangder Matrix A ist beschrieben

A = UΣV T =

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00

radic10 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 00

radic10

)( 1radic6

2radic6

1radic6

2radic5

minus1radic5

0

)=

(radic12radic2

radic10radic2radic

12radic2

minusradic

10radic2

)(1radic6

2radic6

1radic6

2radic5

minus1radic5

0

)=

(3 1 1minus1 3 1

)47

Noch einige Bemerkungen

Bisher haben wir immer die Ausgangsmatrix einfach reproduziert(mit dem gleichen Rang) Man sieht den Rang besser und es gilt

Die ldquoZerrungrdquo durch die Matrix Σ ist bei den Dimensionen mit denhochsten Eigenwerten am groszligten Beispiel

(radic12 0 00

radic10 0

)x1

x2

x3

=

(radic12 middot x1radic10 middot x2

)Es macht also Sinn dass wir wenn wir eine Approximationunserer Ausgangsmatrix mit niedrigerem Rang wollen dann dieunwichtigen Dimensionen die durch niedrige Eigenwertegekennzeichnet sind weglassen

48

Ubersicht

1 SVD HauptsatzDer SVD-SatzKonstruktion am Beispiel Methodologie IKonstruktionsmethodologie II

2 Interpretation der SVD

3 Reduced SVD

4 Verwendung in NLP

49

Reduced SVD Approximation niedrigeren Ranges

Approximation von mtimesn Matrix A mit Rang r durch mtimesn -Matrix Ak mit Rang k lt r

A = UΣV T asymp Ak = UΣk V T

Σk ist eine ldquodiagonalerdquo mtimesn - Matrix bei der nur auf den erstenk Stellen der Diagonalmatrix Werte 6= 0 stehen

U und V wie zuvor

50

Beispiel

A = UΣV T =

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00

radic10 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

asymp

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00 0 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(radic12radic2

0 0radic

12radic2

0 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(1 2 11 2 1

)51

Reduced SVD

Wir hatten auch nur die ersten k Spalten von U sowie die ersten kZeilen von V T behalten konnen

Aasymp

(1radic2

1radic2

)(radic12)( 1radic

62radic6

1radic6

)=

(radic12radic2radic

12radic2

)(1radic6

2radic6

1radic6

)=

(1 2 11 2 1

)

52

Als Bild

53

Als Algorithmus

Gegeben mtimesn Matrix A und gewunschter Rank k Wir produziereneine Rangminus k Approximation wie folgt

1 Wir berechnen eine SVD Zerlegung von A

Amtimesn = UmtimesmΣmtimesnV Tntimesn

2 Wir behalten nur die ersten k Spalten von U resultierend in Umtimesk

3 Wir behalten nur die Top k sprich die ersten k Diagonalwerte vonΣ resultierend in Σktimesk

4 Wir behalten nur die ersten k Reihen von V T resultierend in V Tktimesn

54

Reduced SVD

Diagonale Eintrage in Σk sind die k groszligten Eigenwerte vonA middotAT

Satz UΣk V T minimiert die Differenz der Frobenius-Normzwischen A und Ak unter der Bedingung rang(Ak ) = k

Das heisst Fur jede mtimesn Matrix A mit Rang r angestrebtemRang k lt r und jede mtimesn Matrix B mit Rang k gilt

Aminus Ak2 le AminusB2

wobei Ak die Rang-k Approximation ist die man aus der SVD vonA ableiten kann

55

Was hat man erreicht

Unkorrelierte Dimensionen (Orthonormalbasis) die nur nochverzerrt werden

Wir haben die Dimensionen mit der meisten Variation identifiziertund danach geordnet

ldquoUnwichtigerdquo Dimensionen werden weggelassenrarr Rauschenvermindert

Man braucht viel weniger Speicherplatz O(k(n + m)) anstattO(nm)

Die neuen ldquoverstecktenrdquo Dimensionen konnen zurAhnlichkeitsberechnung verwendet werden und funktionieren oftbesser

56

Wie wahlt man k

Meist empirisch Gesehen

1 In NLP oft die ersten 200 bis 300 Dimensionen2 In Recommender Systems Wahle k so dass die Summe der

ersten k Eigenwerte mindestens 10-mal der Summe alleranderen Eigenwerte

57

Ubersicht

1 SVD HauptsatzDer SVD-SatzKonstruktion am Beispiel Methodologie IKonstruktionsmethodologie II

2 Interpretation der SVD

3 Reduced SVD

4 Verwendung in NLP

58

Dichte Embeddings

A ist Matrix von m WorternTermen und n Kontexten (PPMIfrequency )Reduced SVD resultiert in Ak mit

Umtimesk ist mtimes k - MatrixZeilen von Umtimesk reprasentieren TermeSpalten in Umtimesk latente Reprasentation der KontexteBenutze Umtimesk middotΣktimesk zur Berechnung von Termahnlichkeiten

Vorteile gegenuber der vollen Term-Kontext-MatrixDichte MatrixDimensionsreduktion effizientere VerarbeitungDe-Noising

59

Dichte Embeddings

A ist Matrix von m WorternTermen und n Kontexten (PPMIfrequency )Reduced SVD resultiert in Ak mit

Umtimesk ist mtimes k - MatrixZeilen von Umtimesk reprasentieren TermeSpalten in Umtimesk latente Reprasentation der KontexteBenutze Umtimesk middotΣktimesk zur Berechnung von Termahnlichkeiten

Vorteile gegenuber der vollen Term-Kontext-MatrixDichte MatrixDimensionsreduktion effizientere VerarbeitungDe-Noising

59

Dichte Embeddings

A ist Matrix von m WorternTermen und n Kontexten (PPMIfrequency )Reduced SVD resultiert in Ak mit

Umtimesk ist mtimes k - MatrixZeilen von Umtimesk reprasentieren TermeSpalten in Umtimesk latente Reprasentation der KontexteBenutze Umtimesk middotΣktimesk zur Berechnung von Termahnlichkeiten

Vorteile gegenuber der vollen Term-Kontext-MatrixDichte MatrixDimensionsreduktion effizientere VerarbeitungDe-Noising

59

Das Beispiel vom Anfang

Eine Wort-Dokument-Matrix M aus dem R5times3

d1 d2 d3ship 1 1 0boat 0 0 1

ocean 1 0 1motor 1 0 1wood 0 1 0

cossim(shipboat) = 0

cossim(shipocean) =12

cossim(boatocean) =1radic2

= 07

60

SVD Zerlegung war

minus041 07 024minus029 minus033 minus072minus061 minus02 014minus061 minus02 014minus01 057 minus062

227 0 0

0 149 00 0 078

minus072 minus023 minus066019 085 minus05067 minus048 minus056

=

minus093 104 0187minus0658 minus049 minus056minus138 minus0298 01092minus138 minus0298 minus1092minus0227 084 minus0483

minus072 minus023 minus066

019 085 minus05067 minus048 minus056

=

1 1 00 0 11 0 11 0 10 1 0

Abweichungen sind Rundungsfehler61

Niedrigdimensionale Approximation

Die kleinsten Eigenwerte sind die unwichtigsten Wir konnen dieseldquoweglassenrdquo = auf Null setzenrarr eine Matrix mit kleinerem Rang dieaber relativ ahnlich zur Ausgangsmatrix istminus041 07 024minus029 minus033 minus072minus061 minus02 014minus061 minus02 014minus01 057 minus062

227 0 0

0 149 00 0 0

minus072 minus023 minus066019 085 minus05067 minus048 minus056

=

minus093 104 0minus0658 minus049 0minus138 minus0298 0minus138 minus0298 0minus0227 084 0

minus072 minus023 minus066

019 085 minus05067 minus048 minus056

=

087 109 011038 minus027 068093 005 106093 005 106032 077 minus027

62

Die niedrigdimensionale Approximation

Wir interessieren uns fur die Matrix U2 = UΣ2 also die Matrix mit demniedrigerem Rang

minus093 104 0minus0658 minus049 0minus138 minus0298 0minus138 minus0298 0minus0227 084 0

Man kann diese nun als die Reprasentation unserer 5 Worter mit zweiversteckten Dimensionen auffassen

h1 h2ship minus093 104boat minus0658 minus049

ocean minus138 minus0298motor minus138 minus0298wood minus0227 084

63

Neue Ahnlichkeitsberechnungen

h1 h2ship minus093 104boat minus0658 minus049

ocean minus138 minus0298motor minus138 minus0298wood minus0227 084

cossim(shipboat) =(minus093) middot (minus0658) + 104 middot (minus049)radic

(0932 + 1042) middotradic

(06582 + 0492)= 009

cossim(shipocean) =(minus093) middot (minus138) + 104 middot (minus029)radic

(0932 + 1042) middotradic

(1382 + 0292)= 049

cossim(boatocean) = 09

64

Variationen

Benutze nur Umtimesk zur Ahnlichkeitsberechnung

Benutze Umtimesk middotΣpktimesk zur Ahnlichkeitsberechnungrarr Parameter p

sollte getuned werden Kann groszlige Unterschiede machen

Oft p = 0p = 05p = 1

65

Performanz der Reduced-SVD-Embeddings

Levy O Goldberg Y Neural word embedding as implicit matrix factorization In

Advances in neural information processing systems 2014 S 2177-2185

(Englische) Wikipedia 15 Milliarden Tokens

Fenster 2 beiderseits

Vokabular 189 533 fur Terme sowie Kontexte

PPMI Matrizen

SVD sowie ohne Zerlegung (PPMI) sowie neurale (SGNS)

Algorithmus Spearman Rank zu WordSim 353SVD 0652SGNS 0633PPMI 0605

66

Latent Semantic Analysis und Word Embeddings

Levy2014

ldquoWe analyze skip-gram with negative-sampling (SGNS) [] and show that it isimplicitly factorizing a word-context matrix whose cells are the pointwise mutualinformation (PMI) of the respective word and context pairs shifted by a globalconstant When dense low-dimensional vectors are preferred exact factorizationwith SVD can achieve solutions that are at least as good as SGNSrsquoss solutions forword similarity tasks On analogy questions SGNS remains superior to SVD Weconjecture that this stems from the weighted nature of SGNSrsquos factorizationrdquo

67

Zusammenfassung

Reduced SVD resultiert in einer optimalen Approximation derOriginalmatrix mit niedrigerem Rang Optimal = optimal bzgl derFrobeniusnorm (bzw mean squared error)

Dadurch erhalten wir eine mathematisch fundierte dichtereMatrix die Rauschen (weniger wichtige Dimensionen) eliminiert

Wir konnen mittels Umtimesk Σktimesk weiterhin Wortahnlichkeitenberechnen

Es konnen Resultate erreicht werden die bei word similaritymindestens ebensogut sind wie mit neuralen word embeddings

Nachteile Kosten der SVD Berechnung fur mtimesn matrixO(n middotm2) (when m lt n)rarr Nicht gut fur sehr grosse Matrizen

Nachteile Geht nicht gut mit unbekannten Wortern um

Nachteile schlechter bei Wortanalogieaufgaben

68

Literatur

Guter erweiterter Hintergrundhttptheorystanfordedu˜tims15ll7pdf bishttptheorystanfordedu˜tims15ll9pdf

SVD Tutorial (ohne vollstandigen Hintergrund) Kirk Baker(2005) Singular Value Decomposition Tutorialhttpsdatajobscomdata-science-repoSVD-Tutorial-[Kirk-Baker]pdf Leider ist hier imKonstruktionsverfahren I die Vorzeichenproblematikfalschlicherweise nicht behandelt worden

Levy O Goldberg Y Neural word embedding as implicit matrixfactorization In Advances in neural information processingsystems 2014 S 2177-2185

Ubungsblatt II

69

  • SVD Hauptsatz
    • Der SVD-Satz
    • Konstruktion am Beispiel Methodologie I
    • Konstruktionsmethodologie II
      • Interpretation der SVD
      • Reduced SVD
      • Verwendung in NLP

Schritt VI Bestimme V

V =

1 2 12 minus1 21 0 minus5

Schon bestimmt

v (1) =

1radic6

2radic6

1radic6

sowie v (2) =

2radic5minus1radic

50

Dann kann man auch noch v (3) berechnen mit der Senkrechten

v (3)minus〈v (1) v (3)〉 middot v (1)minus〈v (2) v (3)〉 middot v (2)

Dies ergibt

minus23minus43103

Normalisiert v (3) =

1radic302radic30minus5radic

30

22

Schritt VI Bestimme V

Damit

V =

1radic6

2radic5

1radic30

2radic6

minus1radic5

2radic30

1radic6

0 minus5radic30

und damit

V T =

1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

23

Schritt VII Bestimme Σ

Σ ist eine mtimesn (hier 2times3) ldquoDiagonalmatrixrdquo mit den Wurzeln derEigenwerte (von A middotAT bzw U bzw V auf der Diagonale) nach Groszligegeordnet

Σ =

(radic12 0 00

radic10 0

)

24

Alles Zusammen

A = UΣV T =

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00

radic10 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(radic12radic2

radic10radic2

0radic

12radic2

minusradic

10radic2

0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(3 1 1minus1 3 1

)

25

Moglicher Schritt VIII Vorzeichenverbesserung

Nehmen wir mal an wir hatten bei V die falschen Vorzeichen gewahltZum Beispiel wir hatten fur σ2 = 10 anstatt (2minus10) den Vektor(minus210) gewahlt Damit ergibt sich

V =

1 minus2 12 1 21 0 minus5

und

V =

1radic6

minus2radic5

1radic30

2radic6

1radic5

2radic30

1radic6

0 minus5radic30

und

V T =

1radic6

2radic6

1radic6

minus2radic5

1radic5

01radic30

2radic30

minus5radic30

26

Moglicher Schritt VIII Vorzeichenverbesserung

Leider ist nun

UΣV T =

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00

radic10 0

)1radic6

2radic6

1radic6

minus2radic5

1radic5

01radic30

2radic30

minus5radic30

=

(radic12radic2

radic10radic2

0radic

12radic2

minusradic

10radic2

0

)1radic6

2radic6

1radic6

minus2radic5

1radic5

01radic30

2radic30

minus5radic30

=

(minus1 3 13 1 1

)

27

Moglicher Schritt VIII Vorzeichenverbesserung

Die unelegante Losung Gehe durch alle Zeilen von V T (Spalten vonV ) multizipliere sie systematisch mit minus1 bis es passt Durch dieMultiplikation mit minus1 bleiben die Vektoren immer noch normal undauch die Orthogonalitat andert sich nicht

Da eventuell auch mehrere Zeilen mit minus1 multipliziert werdenmussen ist dies leider exponentiell in der Zeilenanzahl von V T

(alle moglichen Kombinationen mussen probiert werden)

Es ist nicht gerade elegant

Man kann naturlich stattdessen auch durch die Spalten von Ugehen und diese anpassen

28

Konstruktionsmethodologie II

1 Berechne die quadratische ntimesn Matrix AT middotA2 Berechne die Eigenwerte σ2

j und Eigenvektoren vj von AT middotA3 Die Vektoren vj werden orthonormalisiert (Gram-Schmidt) und

bilden die Spaltenvektoren von V4 Die Wurzeln der σ2-Werte werden in absteigender Reihenfolge

die Eintrage von Σ

5 Die Spaltenvektoren von U bis zum Rang r der AT middotA Matrix sindnun eindeutig bestimmt aus der Vorgabe A = UΣV T und werdendaraus berechnet

6 Wenn r lt m mussen noch mminus r Vektoren zur Orthonormalbasiserganzt werden

29

Konstruktionsmethodologie II

1 Berechne die quadratische ntimesn Matrix AT middotA2 Berechne die Eigenwerte σ2

j und Eigenvektoren vj von AT middotA3 Die Vektoren vj werden orthonormalisiert (Gram-Schmidt) und

bilden die Spaltenvektoren von V4 Die Wurzeln der σ2-Werte werden in absteigender Reihenfolge

die Eintrage von Σ

5 Die Spaltenvektoren von U bis zum Rang r der AT middotA Matrix sindnun eindeutig bestimmt aus der Vorgabe A = UΣV T und werdendaraus berechnet

6 Wenn r lt m mussen noch mminus r Vektoren zur Orthonormalbasiserganzt werden

29

Konstruktionsmethodologie II

1 Berechne die quadratische ntimesn Matrix AT middotA2 Berechne die Eigenwerte σ2

j und Eigenvektoren vj von AT middotA3 Die Vektoren vj werden orthonormalisiert (Gram-Schmidt) und

bilden die Spaltenvektoren von V4 Die Wurzeln der σ2-Werte werden in absteigender Reihenfolge

die Eintrage von Σ

5 Die Spaltenvektoren von U bis zum Rang r der AT middotA Matrix sindnun eindeutig bestimmt aus der Vorgabe A = UΣV T und werdendaraus berechnet

6 Wenn r lt m mussen noch mminus r Vektoren zur Orthonormalbasiserganzt werden

29

Konstruktionsmethodologie II

1 Berechne die quadratische ntimesn Matrix AT middotA2 Berechne die Eigenwerte σ2

j und Eigenvektoren vj von AT middotA3 Die Vektoren vj werden orthonormalisiert (Gram-Schmidt) und

bilden die Spaltenvektoren von V4 Die Wurzeln der σ2-Werte werden in absteigender Reihenfolge

die Eintrage von Σ

5 Die Spaltenvektoren von U bis zum Rang r der AT middotA Matrix sindnun eindeutig bestimmt aus der Vorgabe A = UΣV T und werdendaraus berechnet

6 Wenn r lt m mussen noch mminus r Vektoren zur Orthonormalbasiserganzt werden

29

Schritt I Bestimme V T und Σ wie bisher

Nach dem ublichen Verfahren sei also V T zum Beispiel1radic6

2radic6

1radic6

minus2radic5

1radic5

01radic30

2radic30

minus5radic30

bzw V

V =

1radic6

minus2radic5

1radic30

2radic6

1radic5

2radic30

1radic6

0 minus5radic30

Die Vorzeichen konnten auch anders seinWeiterhin ist

Σ =

(radic12 0 00

radic10 0

)

30

Schritt II Bestimme U

Es muss gelten

A = UΣV T

und damit

AV = UΣV T V

Da V orthogonal ist V T V die Einheitsmatrix und damit

AV = UΣ

31

Schritt II Bestimme U

Man bilde nun eine ntimesm Matrix Σprime die genau auf denentsprechenden Diagonaleintragen 1σi stehen hat Im Beispiel ist

Σprime =

1radic12

0

0 1radic10

0 0

Es gilt dass Σ middotΣprime die mtimesm Einheitsmatrix istUnd damit

AVΣprime = UΣΣprime = U

32

Schritt II Bestimme U

Also giltU = AVΣprime

Damit gilt fur die Spalten von U wenn man sich dieMatrixmultiplikation genauer anschaut

u(j) =1σj

Av (j)

In unserem Beispiel

u(1) =1radic12

(3 1 1minus1 3 1

)1radic6

2radic6

1radic6

=

(1radic2

1radic2

)

33

Schritt II Bestimme U

Und ebenso

u(2) =1radic10

(3 1 1minus1 3 1

)minus2radic

51radic5

0

=

(minus1radic2

1radic2

)

Man sieht dass sich hier das veranderte Vorzeichen von v (2) imentgegengesetzten Vorzeichen von u(2) widerspiegelt Wir musstenauch nicht zweimal Eigenvektoren berechnen sondern U ist aus denvorherigen Berechnungen bestimmt

34

Beispiel mit einer Matrix mit niedrigerem Rang

Da wir durch 1σj

dividieren mussten geht dies nur fur Eigenwerteungleich Null Wenn aber die Matrizen niedrigere Range haben als mdann bekommen wir so nicht genugend U-Vektoren Was machen wirdann

Beispiel Sei eine Matrix von Rang 1 gegeben

A =

(1 01 0

)

35

Berechnung von V

AT A =

(1 10 0

)(1 01 0

)=

(2 00 0

)

36

Berechnung von V

(2 00 0

)hat die Eigenwerte 2 und 0 mit den jeweiligen Eigenvektoren (10)sowie (01)Daraus folgt

V =

(1 00 1

)Die ist schon eine Orthonormalmatrix also gilt V = V sowie daDiagonalmatrix V T = V

37

Bestimmung von Σ

Es gilt

Σ =

(radic2 0

0 0

)

38

Bestimmung von U

Der erste Spaltenvektor u(1) kann wie ublich bestimmt werden mit

u(1) =1radic2

Av (1) =1radic2

(1 01 0

)(10

)

=1radic2

(11

)=

(1radic2

1radic2

)

39

Bestimmung von U

Da wir keinen weiteren Eigenwert 6= 0 haben konnen wir leider sonicht weitermachen dh es geht nur bis zum Rang von A Es gilt aber(

1radic2

x21radic2

y2

)(radic2 0

0 0

)(1 00 1

)

=

(1 01 0

)= A

unabhangig von x2 und y2 Das heisst unser halb vollstandiges U istgenug fur eine Zerlegung

40

Bestimmung von U

1 Wir konnen also jedes x2 und y2 wahlen solange normiert undsenkrecht auf dem ersten Vektor stehend

2 Nach dem sogenannten Basiserganzungssatz geht dies immer3 In unserem Beispiel konnte man zum Beispiel (minus1radic

2 1radic

2) wahlen

4 Wie genau man diese weiteren Vektoren von U konstruiert ist furuns unerheblich da wir ja sowieso die letzten Spalten von U diezu den niedrigeren Eigenwerten gehoren ldquoabschneidenrdquowerden

41

SVD Zwischenfazit

Wir haben eine Matrix in das Produkt einer OrthonormalmatrixDiagonalmatrix und Orthogonalmatrix zerlegt

Die Diagonalmatrix enthalt die Wurzeln von den Eigenwerten vonA middotAT nach Groszlige geordnet

Die erste Orthonormalmatrix enthalt die orthonormalisiertenEigenvektoren von A middotAT nach Eigenwertgrosse geordnet alsSpalten

Die zweite Orthonormalmatrix ist die Transponierte der Matrixdie die orthonormalisierten Eigenvektoren von AT middotA nachEigenwertgrosse geordnet als Spalten enthalt

42

Ubersicht

1 SVD HauptsatzDer SVD-SatzKonstruktion am Beispiel Methodologie IKonstruktionsmethodologie II

2 Interpretation der SVD

3 Reduced SVD

4 Verwendung in NLP

43

Geometrische Interpretation bei quadratischen Matrizen

Bedeutung der SVD ist dass sich die Funktion in eine DrehungDrehspiegelung (V T )eine Verzerrung (Σ) und eine zweite DrehungDrehspiegelung (U) zerlegen lsst

Matrix

(1 10 1

)SVD Geometrische Interpretationa

aQuelle httpscommonswikimediaorgwikiFileSingular-Value-Decompositionsvg

44

Noch einige Bemerkungen

Die Eigenwerte und damit Σ sind eindeutig bestimmt

U und V sind nicht eindeutig bestimmt Es konnen Drehungenum 180 Grad oder Spiegelungen hinzukommen

Wir konnen in vielen Fallen einen Eigenvektor wahlen(Freiheitsgrade) mussen aber dann bei den Vorzeichen derzweiten Matrix aufpassen

45

Noch einige Bemerkungen

Wir haben implizit den Rang der Ursprungsmatrix A bestimmtDies kann man klar an U middotΣ sehen

A = UΣV T =

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00

radic10 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(radic12radic2

radic10radic2

0radic

12radic2

minusradic

10radic2

0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(3 1 1minus1 3 1

)

46

Noch einige Bemerkungen

Deswegen wird manchmal die Singularwertzerlegung auch alsZerlegung in drei Matrizen Amtimesn = Umtimesr Σrtimesr V T

rtimesn wobei r der Rangder Matrix A ist beschrieben

A = UΣV T =

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00

radic10 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 00

radic10

)( 1radic6

2radic6

1radic6

2radic5

minus1radic5

0

)=

(radic12radic2

radic10radic2radic

12radic2

minusradic

10radic2

)(1radic6

2radic6

1radic6

2radic5

minus1radic5

0

)=

(3 1 1minus1 3 1

)47

Noch einige Bemerkungen

Bisher haben wir immer die Ausgangsmatrix einfach reproduziert(mit dem gleichen Rang) Man sieht den Rang besser und es gilt

Die ldquoZerrungrdquo durch die Matrix Σ ist bei den Dimensionen mit denhochsten Eigenwerten am groszligten Beispiel

(radic12 0 00

radic10 0

)x1

x2

x3

=

(radic12 middot x1radic10 middot x2

)Es macht also Sinn dass wir wenn wir eine Approximationunserer Ausgangsmatrix mit niedrigerem Rang wollen dann dieunwichtigen Dimensionen die durch niedrige Eigenwertegekennzeichnet sind weglassen

48

Ubersicht

1 SVD HauptsatzDer SVD-SatzKonstruktion am Beispiel Methodologie IKonstruktionsmethodologie II

2 Interpretation der SVD

3 Reduced SVD

4 Verwendung in NLP

49

Reduced SVD Approximation niedrigeren Ranges

Approximation von mtimesn Matrix A mit Rang r durch mtimesn -Matrix Ak mit Rang k lt r

A = UΣV T asymp Ak = UΣk V T

Σk ist eine ldquodiagonalerdquo mtimesn - Matrix bei der nur auf den erstenk Stellen der Diagonalmatrix Werte 6= 0 stehen

U und V wie zuvor

50

Beispiel

A = UΣV T =

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00

radic10 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

asymp

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00 0 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(radic12radic2

0 0radic

12radic2

0 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(1 2 11 2 1

)51

Reduced SVD

Wir hatten auch nur die ersten k Spalten von U sowie die ersten kZeilen von V T behalten konnen

Aasymp

(1radic2

1radic2

)(radic12)( 1radic

62radic6

1radic6

)=

(radic12radic2radic

12radic2

)(1radic6

2radic6

1radic6

)=

(1 2 11 2 1

)

52

Als Bild

53

Als Algorithmus

Gegeben mtimesn Matrix A und gewunschter Rank k Wir produziereneine Rangminus k Approximation wie folgt

1 Wir berechnen eine SVD Zerlegung von A

Amtimesn = UmtimesmΣmtimesnV Tntimesn

2 Wir behalten nur die ersten k Spalten von U resultierend in Umtimesk

3 Wir behalten nur die Top k sprich die ersten k Diagonalwerte vonΣ resultierend in Σktimesk

4 Wir behalten nur die ersten k Reihen von V T resultierend in V Tktimesn

54

Reduced SVD

Diagonale Eintrage in Σk sind die k groszligten Eigenwerte vonA middotAT

Satz UΣk V T minimiert die Differenz der Frobenius-Normzwischen A und Ak unter der Bedingung rang(Ak ) = k

Das heisst Fur jede mtimesn Matrix A mit Rang r angestrebtemRang k lt r und jede mtimesn Matrix B mit Rang k gilt

Aminus Ak2 le AminusB2

wobei Ak die Rang-k Approximation ist die man aus der SVD vonA ableiten kann

55

Was hat man erreicht

Unkorrelierte Dimensionen (Orthonormalbasis) die nur nochverzerrt werden

Wir haben die Dimensionen mit der meisten Variation identifiziertund danach geordnet

ldquoUnwichtigerdquo Dimensionen werden weggelassenrarr Rauschenvermindert

Man braucht viel weniger Speicherplatz O(k(n + m)) anstattO(nm)

Die neuen ldquoverstecktenrdquo Dimensionen konnen zurAhnlichkeitsberechnung verwendet werden und funktionieren oftbesser

56

Wie wahlt man k

Meist empirisch Gesehen

1 In NLP oft die ersten 200 bis 300 Dimensionen2 In Recommender Systems Wahle k so dass die Summe der

ersten k Eigenwerte mindestens 10-mal der Summe alleranderen Eigenwerte

57

Ubersicht

1 SVD HauptsatzDer SVD-SatzKonstruktion am Beispiel Methodologie IKonstruktionsmethodologie II

2 Interpretation der SVD

3 Reduced SVD

4 Verwendung in NLP

58

Dichte Embeddings

A ist Matrix von m WorternTermen und n Kontexten (PPMIfrequency )Reduced SVD resultiert in Ak mit

Umtimesk ist mtimes k - MatrixZeilen von Umtimesk reprasentieren TermeSpalten in Umtimesk latente Reprasentation der KontexteBenutze Umtimesk middotΣktimesk zur Berechnung von Termahnlichkeiten

Vorteile gegenuber der vollen Term-Kontext-MatrixDichte MatrixDimensionsreduktion effizientere VerarbeitungDe-Noising

59

Dichte Embeddings

A ist Matrix von m WorternTermen und n Kontexten (PPMIfrequency )Reduced SVD resultiert in Ak mit

Umtimesk ist mtimes k - MatrixZeilen von Umtimesk reprasentieren TermeSpalten in Umtimesk latente Reprasentation der KontexteBenutze Umtimesk middotΣktimesk zur Berechnung von Termahnlichkeiten

Vorteile gegenuber der vollen Term-Kontext-MatrixDichte MatrixDimensionsreduktion effizientere VerarbeitungDe-Noising

59

Dichte Embeddings

A ist Matrix von m WorternTermen und n Kontexten (PPMIfrequency )Reduced SVD resultiert in Ak mit

Umtimesk ist mtimes k - MatrixZeilen von Umtimesk reprasentieren TermeSpalten in Umtimesk latente Reprasentation der KontexteBenutze Umtimesk middotΣktimesk zur Berechnung von Termahnlichkeiten

Vorteile gegenuber der vollen Term-Kontext-MatrixDichte MatrixDimensionsreduktion effizientere VerarbeitungDe-Noising

59

Das Beispiel vom Anfang

Eine Wort-Dokument-Matrix M aus dem R5times3

d1 d2 d3ship 1 1 0boat 0 0 1

ocean 1 0 1motor 1 0 1wood 0 1 0

cossim(shipboat) = 0

cossim(shipocean) =12

cossim(boatocean) =1radic2

= 07

60

SVD Zerlegung war

minus041 07 024minus029 minus033 minus072minus061 minus02 014minus061 minus02 014minus01 057 minus062

227 0 0

0 149 00 0 078

minus072 minus023 minus066019 085 minus05067 minus048 minus056

=

minus093 104 0187minus0658 minus049 minus056minus138 minus0298 01092minus138 minus0298 minus1092minus0227 084 minus0483

minus072 minus023 minus066

019 085 minus05067 minus048 minus056

=

1 1 00 0 11 0 11 0 10 1 0

Abweichungen sind Rundungsfehler61

Niedrigdimensionale Approximation

Die kleinsten Eigenwerte sind die unwichtigsten Wir konnen dieseldquoweglassenrdquo = auf Null setzenrarr eine Matrix mit kleinerem Rang dieaber relativ ahnlich zur Ausgangsmatrix istminus041 07 024minus029 minus033 minus072minus061 minus02 014minus061 minus02 014minus01 057 minus062

227 0 0

0 149 00 0 0

minus072 minus023 minus066019 085 minus05067 minus048 minus056

=

minus093 104 0minus0658 minus049 0minus138 minus0298 0minus138 minus0298 0minus0227 084 0

minus072 minus023 minus066

019 085 minus05067 minus048 minus056

=

087 109 011038 minus027 068093 005 106093 005 106032 077 minus027

62

Die niedrigdimensionale Approximation

Wir interessieren uns fur die Matrix U2 = UΣ2 also die Matrix mit demniedrigerem Rang

minus093 104 0minus0658 minus049 0minus138 minus0298 0minus138 minus0298 0minus0227 084 0

Man kann diese nun als die Reprasentation unserer 5 Worter mit zweiversteckten Dimensionen auffassen

h1 h2ship minus093 104boat minus0658 minus049

ocean minus138 minus0298motor minus138 minus0298wood minus0227 084

63

Neue Ahnlichkeitsberechnungen

h1 h2ship minus093 104boat minus0658 minus049

ocean minus138 minus0298motor minus138 minus0298wood minus0227 084

cossim(shipboat) =(minus093) middot (minus0658) + 104 middot (minus049)radic

(0932 + 1042) middotradic

(06582 + 0492)= 009

cossim(shipocean) =(minus093) middot (minus138) + 104 middot (minus029)radic

(0932 + 1042) middotradic

(1382 + 0292)= 049

cossim(boatocean) = 09

64

Variationen

Benutze nur Umtimesk zur Ahnlichkeitsberechnung

Benutze Umtimesk middotΣpktimesk zur Ahnlichkeitsberechnungrarr Parameter p

sollte getuned werden Kann groszlige Unterschiede machen

Oft p = 0p = 05p = 1

65

Performanz der Reduced-SVD-Embeddings

Levy O Goldberg Y Neural word embedding as implicit matrix factorization In

Advances in neural information processing systems 2014 S 2177-2185

(Englische) Wikipedia 15 Milliarden Tokens

Fenster 2 beiderseits

Vokabular 189 533 fur Terme sowie Kontexte

PPMI Matrizen

SVD sowie ohne Zerlegung (PPMI) sowie neurale (SGNS)

Algorithmus Spearman Rank zu WordSim 353SVD 0652SGNS 0633PPMI 0605

66

Latent Semantic Analysis und Word Embeddings

Levy2014

ldquoWe analyze skip-gram with negative-sampling (SGNS) [] and show that it isimplicitly factorizing a word-context matrix whose cells are the pointwise mutualinformation (PMI) of the respective word and context pairs shifted by a globalconstant When dense low-dimensional vectors are preferred exact factorizationwith SVD can achieve solutions that are at least as good as SGNSrsquoss solutions forword similarity tasks On analogy questions SGNS remains superior to SVD Weconjecture that this stems from the weighted nature of SGNSrsquos factorizationrdquo

67

Zusammenfassung

Reduced SVD resultiert in einer optimalen Approximation derOriginalmatrix mit niedrigerem Rang Optimal = optimal bzgl derFrobeniusnorm (bzw mean squared error)

Dadurch erhalten wir eine mathematisch fundierte dichtereMatrix die Rauschen (weniger wichtige Dimensionen) eliminiert

Wir konnen mittels Umtimesk Σktimesk weiterhin Wortahnlichkeitenberechnen

Es konnen Resultate erreicht werden die bei word similaritymindestens ebensogut sind wie mit neuralen word embeddings

Nachteile Kosten der SVD Berechnung fur mtimesn matrixO(n middotm2) (when m lt n)rarr Nicht gut fur sehr grosse Matrizen

Nachteile Geht nicht gut mit unbekannten Wortern um

Nachteile schlechter bei Wortanalogieaufgaben

68

Literatur

Guter erweiterter Hintergrundhttptheorystanfordedu˜tims15ll7pdf bishttptheorystanfordedu˜tims15ll9pdf

SVD Tutorial (ohne vollstandigen Hintergrund) Kirk Baker(2005) Singular Value Decomposition Tutorialhttpsdatajobscomdata-science-repoSVD-Tutorial-[Kirk-Baker]pdf Leider ist hier imKonstruktionsverfahren I die Vorzeichenproblematikfalschlicherweise nicht behandelt worden

Levy O Goldberg Y Neural word embedding as implicit matrixfactorization In Advances in neural information processingsystems 2014 S 2177-2185

Ubungsblatt II

69

  • SVD Hauptsatz
    • Der SVD-Satz
    • Konstruktion am Beispiel Methodologie I
    • Konstruktionsmethodologie II
      • Interpretation der SVD
      • Reduced SVD
      • Verwendung in NLP

Schritt VI Bestimme V

Damit

V =

1radic6

2radic5

1radic30

2radic6

minus1radic5

2radic30

1radic6

0 minus5radic30

und damit

V T =

1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

23

Schritt VII Bestimme Σ

Σ ist eine mtimesn (hier 2times3) ldquoDiagonalmatrixrdquo mit den Wurzeln derEigenwerte (von A middotAT bzw U bzw V auf der Diagonale) nach Groszligegeordnet

Σ =

(radic12 0 00

radic10 0

)

24

Alles Zusammen

A = UΣV T =

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00

radic10 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(radic12radic2

radic10radic2

0radic

12radic2

minusradic

10radic2

0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(3 1 1minus1 3 1

)

25

Moglicher Schritt VIII Vorzeichenverbesserung

Nehmen wir mal an wir hatten bei V die falschen Vorzeichen gewahltZum Beispiel wir hatten fur σ2 = 10 anstatt (2minus10) den Vektor(minus210) gewahlt Damit ergibt sich

V =

1 minus2 12 1 21 0 minus5

und

V =

1radic6

minus2radic5

1radic30

2radic6

1radic5

2radic30

1radic6

0 minus5radic30

und

V T =

1radic6

2radic6

1radic6

minus2radic5

1radic5

01radic30

2radic30

minus5radic30

26

Moglicher Schritt VIII Vorzeichenverbesserung

Leider ist nun

UΣV T =

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00

radic10 0

)1radic6

2radic6

1radic6

minus2radic5

1radic5

01radic30

2radic30

minus5radic30

=

(radic12radic2

radic10radic2

0radic

12radic2

minusradic

10radic2

0

)1radic6

2radic6

1radic6

minus2radic5

1radic5

01radic30

2radic30

minus5radic30

=

(minus1 3 13 1 1

)

27

Moglicher Schritt VIII Vorzeichenverbesserung

Die unelegante Losung Gehe durch alle Zeilen von V T (Spalten vonV ) multizipliere sie systematisch mit minus1 bis es passt Durch dieMultiplikation mit minus1 bleiben die Vektoren immer noch normal undauch die Orthogonalitat andert sich nicht

Da eventuell auch mehrere Zeilen mit minus1 multipliziert werdenmussen ist dies leider exponentiell in der Zeilenanzahl von V T

(alle moglichen Kombinationen mussen probiert werden)

Es ist nicht gerade elegant

Man kann naturlich stattdessen auch durch die Spalten von Ugehen und diese anpassen

28

Konstruktionsmethodologie II

1 Berechne die quadratische ntimesn Matrix AT middotA2 Berechne die Eigenwerte σ2

j und Eigenvektoren vj von AT middotA3 Die Vektoren vj werden orthonormalisiert (Gram-Schmidt) und

bilden die Spaltenvektoren von V4 Die Wurzeln der σ2-Werte werden in absteigender Reihenfolge

die Eintrage von Σ

5 Die Spaltenvektoren von U bis zum Rang r der AT middotA Matrix sindnun eindeutig bestimmt aus der Vorgabe A = UΣV T und werdendaraus berechnet

6 Wenn r lt m mussen noch mminus r Vektoren zur Orthonormalbasiserganzt werden

29

Konstruktionsmethodologie II

1 Berechne die quadratische ntimesn Matrix AT middotA2 Berechne die Eigenwerte σ2

j und Eigenvektoren vj von AT middotA3 Die Vektoren vj werden orthonormalisiert (Gram-Schmidt) und

bilden die Spaltenvektoren von V4 Die Wurzeln der σ2-Werte werden in absteigender Reihenfolge

die Eintrage von Σ

5 Die Spaltenvektoren von U bis zum Rang r der AT middotA Matrix sindnun eindeutig bestimmt aus der Vorgabe A = UΣV T und werdendaraus berechnet

6 Wenn r lt m mussen noch mminus r Vektoren zur Orthonormalbasiserganzt werden

29

Konstruktionsmethodologie II

1 Berechne die quadratische ntimesn Matrix AT middotA2 Berechne die Eigenwerte σ2

j und Eigenvektoren vj von AT middotA3 Die Vektoren vj werden orthonormalisiert (Gram-Schmidt) und

bilden die Spaltenvektoren von V4 Die Wurzeln der σ2-Werte werden in absteigender Reihenfolge

die Eintrage von Σ

5 Die Spaltenvektoren von U bis zum Rang r der AT middotA Matrix sindnun eindeutig bestimmt aus der Vorgabe A = UΣV T und werdendaraus berechnet

6 Wenn r lt m mussen noch mminus r Vektoren zur Orthonormalbasiserganzt werden

29

Konstruktionsmethodologie II

1 Berechne die quadratische ntimesn Matrix AT middotA2 Berechne die Eigenwerte σ2

j und Eigenvektoren vj von AT middotA3 Die Vektoren vj werden orthonormalisiert (Gram-Schmidt) und

bilden die Spaltenvektoren von V4 Die Wurzeln der σ2-Werte werden in absteigender Reihenfolge

die Eintrage von Σ

5 Die Spaltenvektoren von U bis zum Rang r der AT middotA Matrix sindnun eindeutig bestimmt aus der Vorgabe A = UΣV T und werdendaraus berechnet

6 Wenn r lt m mussen noch mminus r Vektoren zur Orthonormalbasiserganzt werden

29

Schritt I Bestimme V T und Σ wie bisher

Nach dem ublichen Verfahren sei also V T zum Beispiel1radic6

2radic6

1radic6

minus2radic5

1radic5

01radic30

2radic30

minus5radic30

bzw V

V =

1radic6

minus2radic5

1radic30

2radic6

1radic5

2radic30

1radic6

0 minus5radic30

Die Vorzeichen konnten auch anders seinWeiterhin ist

Σ =

(radic12 0 00

radic10 0

)

30

Schritt II Bestimme U

Es muss gelten

A = UΣV T

und damit

AV = UΣV T V

Da V orthogonal ist V T V die Einheitsmatrix und damit

AV = UΣ

31

Schritt II Bestimme U

Man bilde nun eine ntimesm Matrix Σprime die genau auf denentsprechenden Diagonaleintragen 1σi stehen hat Im Beispiel ist

Σprime =

1radic12

0

0 1radic10

0 0

Es gilt dass Σ middotΣprime die mtimesm Einheitsmatrix istUnd damit

AVΣprime = UΣΣprime = U

32

Schritt II Bestimme U

Also giltU = AVΣprime

Damit gilt fur die Spalten von U wenn man sich dieMatrixmultiplikation genauer anschaut

u(j) =1σj

Av (j)

In unserem Beispiel

u(1) =1radic12

(3 1 1minus1 3 1

)1radic6

2radic6

1radic6

=

(1radic2

1radic2

)

33

Schritt II Bestimme U

Und ebenso

u(2) =1radic10

(3 1 1minus1 3 1

)minus2radic

51radic5

0

=

(minus1radic2

1radic2

)

Man sieht dass sich hier das veranderte Vorzeichen von v (2) imentgegengesetzten Vorzeichen von u(2) widerspiegelt Wir musstenauch nicht zweimal Eigenvektoren berechnen sondern U ist aus denvorherigen Berechnungen bestimmt

34

Beispiel mit einer Matrix mit niedrigerem Rang

Da wir durch 1σj

dividieren mussten geht dies nur fur Eigenwerteungleich Null Wenn aber die Matrizen niedrigere Range haben als mdann bekommen wir so nicht genugend U-Vektoren Was machen wirdann

Beispiel Sei eine Matrix von Rang 1 gegeben

A =

(1 01 0

)

35

Berechnung von V

AT A =

(1 10 0

)(1 01 0

)=

(2 00 0

)

36

Berechnung von V

(2 00 0

)hat die Eigenwerte 2 und 0 mit den jeweiligen Eigenvektoren (10)sowie (01)Daraus folgt

V =

(1 00 1

)Die ist schon eine Orthonormalmatrix also gilt V = V sowie daDiagonalmatrix V T = V

37

Bestimmung von Σ

Es gilt

Σ =

(radic2 0

0 0

)

38

Bestimmung von U

Der erste Spaltenvektor u(1) kann wie ublich bestimmt werden mit

u(1) =1radic2

Av (1) =1radic2

(1 01 0

)(10

)

=1radic2

(11

)=

(1radic2

1radic2

)

39

Bestimmung von U

Da wir keinen weiteren Eigenwert 6= 0 haben konnen wir leider sonicht weitermachen dh es geht nur bis zum Rang von A Es gilt aber(

1radic2

x21radic2

y2

)(radic2 0

0 0

)(1 00 1

)

=

(1 01 0

)= A

unabhangig von x2 und y2 Das heisst unser halb vollstandiges U istgenug fur eine Zerlegung

40

Bestimmung von U

1 Wir konnen also jedes x2 und y2 wahlen solange normiert undsenkrecht auf dem ersten Vektor stehend

2 Nach dem sogenannten Basiserganzungssatz geht dies immer3 In unserem Beispiel konnte man zum Beispiel (minus1radic

2 1radic

2) wahlen

4 Wie genau man diese weiteren Vektoren von U konstruiert ist furuns unerheblich da wir ja sowieso die letzten Spalten von U diezu den niedrigeren Eigenwerten gehoren ldquoabschneidenrdquowerden

41

SVD Zwischenfazit

Wir haben eine Matrix in das Produkt einer OrthonormalmatrixDiagonalmatrix und Orthogonalmatrix zerlegt

Die Diagonalmatrix enthalt die Wurzeln von den Eigenwerten vonA middotAT nach Groszlige geordnet

Die erste Orthonormalmatrix enthalt die orthonormalisiertenEigenvektoren von A middotAT nach Eigenwertgrosse geordnet alsSpalten

Die zweite Orthonormalmatrix ist die Transponierte der Matrixdie die orthonormalisierten Eigenvektoren von AT middotA nachEigenwertgrosse geordnet als Spalten enthalt

42

Ubersicht

1 SVD HauptsatzDer SVD-SatzKonstruktion am Beispiel Methodologie IKonstruktionsmethodologie II

2 Interpretation der SVD

3 Reduced SVD

4 Verwendung in NLP

43

Geometrische Interpretation bei quadratischen Matrizen

Bedeutung der SVD ist dass sich die Funktion in eine DrehungDrehspiegelung (V T )eine Verzerrung (Σ) und eine zweite DrehungDrehspiegelung (U) zerlegen lsst

Matrix

(1 10 1

)SVD Geometrische Interpretationa

aQuelle httpscommonswikimediaorgwikiFileSingular-Value-Decompositionsvg

44

Noch einige Bemerkungen

Die Eigenwerte und damit Σ sind eindeutig bestimmt

U und V sind nicht eindeutig bestimmt Es konnen Drehungenum 180 Grad oder Spiegelungen hinzukommen

Wir konnen in vielen Fallen einen Eigenvektor wahlen(Freiheitsgrade) mussen aber dann bei den Vorzeichen derzweiten Matrix aufpassen

45

Noch einige Bemerkungen

Wir haben implizit den Rang der Ursprungsmatrix A bestimmtDies kann man klar an U middotΣ sehen

A = UΣV T =

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00

radic10 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(radic12radic2

radic10radic2

0radic

12radic2

minusradic

10radic2

0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(3 1 1minus1 3 1

)

46

Noch einige Bemerkungen

Deswegen wird manchmal die Singularwertzerlegung auch alsZerlegung in drei Matrizen Amtimesn = Umtimesr Σrtimesr V T

rtimesn wobei r der Rangder Matrix A ist beschrieben

A = UΣV T =

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00

radic10 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 00

radic10

)( 1radic6

2radic6

1radic6

2radic5

minus1radic5

0

)=

(radic12radic2

radic10radic2radic

12radic2

minusradic

10radic2

)(1radic6

2radic6

1radic6

2radic5

minus1radic5

0

)=

(3 1 1minus1 3 1

)47

Noch einige Bemerkungen

Bisher haben wir immer die Ausgangsmatrix einfach reproduziert(mit dem gleichen Rang) Man sieht den Rang besser und es gilt

Die ldquoZerrungrdquo durch die Matrix Σ ist bei den Dimensionen mit denhochsten Eigenwerten am groszligten Beispiel

(radic12 0 00

radic10 0

)x1

x2

x3

=

(radic12 middot x1radic10 middot x2

)Es macht also Sinn dass wir wenn wir eine Approximationunserer Ausgangsmatrix mit niedrigerem Rang wollen dann dieunwichtigen Dimensionen die durch niedrige Eigenwertegekennzeichnet sind weglassen

48

Ubersicht

1 SVD HauptsatzDer SVD-SatzKonstruktion am Beispiel Methodologie IKonstruktionsmethodologie II

2 Interpretation der SVD

3 Reduced SVD

4 Verwendung in NLP

49

Reduced SVD Approximation niedrigeren Ranges

Approximation von mtimesn Matrix A mit Rang r durch mtimesn -Matrix Ak mit Rang k lt r

A = UΣV T asymp Ak = UΣk V T

Σk ist eine ldquodiagonalerdquo mtimesn - Matrix bei der nur auf den erstenk Stellen der Diagonalmatrix Werte 6= 0 stehen

U und V wie zuvor

50

Beispiel

A = UΣV T =

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00

radic10 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

asymp

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00 0 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(radic12radic2

0 0radic

12radic2

0 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(1 2 11 2 1

)51

Reduced SVD

Wir hatten auch nur die ersten k Spalten von U sowie die ersten kZeilen von V T behalten konnen

Aasymp

(1radic2

1radic2

)(radic12)( 1radic

62radic6

1radic6

)=

(radic12radic2radic

12radic2

)(1radic6

2radic6

1radic6

)=

(1 2 11 2 1

)

52

Als Bild

53

Als Algorithmus

Gegeben mtimesn Matrix A und gewunschter Rank k Wir produziereneine Rangminus k Approximation wie folgt

1 Wir berechnen eine SVD Zerlegung von A

Amtimesn = UmtimesmΣmtimesnV Tntimesn

2 Wir behalten nur die ersten k Spalten von U resultierend in Umtimesk

3 Wir behalten nur die Top k sprich die ersten k Diagonalwerte vonΣ resultierend in Σktimesk

4 Wir behalten nur die ersten k Reihen von V T resultierend in V Tktimesn

54

Reduced SVD

Diagonale Eintrage in Σk sind die k groszligten Eigenwerte vonA middotAT

Satz UΣk V T minimiert die Differenz der Frobenius-Normzwischen A und Ak unter der Bedingung rang(Ak ) = k

Das heisst Fur jede mtimesn Matrix A mit Rang r angestrebtemRang k lt r und jede mtimesn Matrix B mit Rang k gilt

Aminus Ak2 le AminusB2

wobei Ak die Rang-k Approximation ist die man aus der SVD vonA ableiten kann

55

Was hat man erreicht

Unkorrelierte Dimensionen (Orthonormalbasis) die nur nochverzerrt werden

Wir haben die Dimensionen mit der meisten Variation identifiziertund danach geordnet

ldquoUnwichtigerdquo Dimensionen werden weggelassenrarr Rauschenvermindert

Man braucht viel weniger Speicherplatz O(k(n + m)) anstattO(nm)

Die neuen ldquoverstecktenrdquo Dimensionen konnen zurAhnlichkeitsberechnung verwendet werden und funktionieren oftbesser

56

Wie wahlt man k

Meist empirisch Gesehen

1 In NLP oft die ersten 200 bis 300 Dimensionen2 In Recommender Systems Wahle k so dass die Summe der

ersten k Eigenwerte mindestens 10-mal der Summe alleranderen Eigenwerte

57

Ubersicht

1 SVD HauptsatzDer SVD-SatzKonstruktion am Beispiel Methodologie IKonstruktionsmethodologie II

2 Interpretation der SVD

3 Reduced SVD

4 Verwendung in NLP

58

Dichte Embeddings

A ist Matrix von m WorternTermen und n Kontexten (PPMIfrequency )Reduced SVD resultiert in Ak mit

Umtimesk ist mtimes k - MatrixZeilen von Umtimesk reprasentieren TermeSpalten in Umtimesk latente Reprasentation der KontexteBenutze Umtimesk middotΣktimesk zur Berechnung von Termahnlichkeiten

Vorteile gegenuber der vollen Term-Kontext-MatrixDichte MatrixDimensionsreduktion effizientere VerarbeitungDe-Noising

59

Dichte Embeddings

A ist Matrix von m WorternTermen und n Kontexten (PPMIfrequency )Reduced SVD resultiert in Ak mit

Umtimesk ist mtimes k - MatrixZeilen von Umtimesk reprasentieren TermeSpalten in Umtimesk latente Reprasentation der KontexteBenutze Umtimesk middotΣktimesk zur Berechnung von Termahnlichkeiten

Vorteile gegenuber der vollen Term-Kontext-MatrixDichte MatrixDimensionsreduktion effizientere VerarbeitungDe-Noising

59

Dichte Embeddings

A ist Matrix von m WorternTermen und n Kontexten (PPMIfrequency )Reduced SVD resultiert in Ak mit

Umtimesk ist mtimes k - MatrixZeilen von Umtimesk reprasentieren TermeSpalten in Umtimesk latente Reprasentation der KontexteBenutze Umtimesk middotΣktimesk zur Berechnung von Termahnlichkeiten

Vorteile gegenuber der vollen Term-Kontext-MatrixDichte MatrixDimensionsreduktion effizientere VerarbeitungDe-Noising

59

Das Beispiel vom Anfang

Eine Wort-Dokument-Matrix M aus dem R5times3

d1 d2 d3ship 1 1 0boat 0 0 1

ocean 1 0 1motor 1 0 1wood 0 1 0

cossim(shipboat) = 0

cossim(shipocean) =12

cossim(boatocean) =1radic2

= 07

60

SVD Zerlegung war

minus041 07 024minus029 minus033 minus072minus061 minus02 014minus061 minus02 014minus01 057 minus062

227 0 0

0 149 00 0 078

minus072 minus023 minus066019 085 minus05067 minus048 minus056

=

minus093 104 0187minus0658 minus049 minus056minus138 minus0298 01092minus138 minus0298 minus1092minus0227 084 minus0483

minus072 minus023 minus066

019 085 minus05067 minus048 minus056

=

1 1 00 0 11 0 11 0 10 1 0

Abweichungen sind Rundungsfehler61

Niedrigdimensionale Approximation

Die kleinsten Eigenwerte sind die unwichtigsten Wir konnen dieseldquoweglassenrdquo = auf Null setzenrarr eine Matrix mit kleinerem Rang dieaber relativ ahnlich zur Ausgangsmatrix istminus041 07 024minus029 minus033 minus072minus061 minus02 014minus061 minus02 014minus01 057 minus062

227 0 0

0 149 00 0 0

minus072 minus023 minus066019 085 minus05067 minus048 minus056

=

minus093 104 0minus0658 minus049 0minus138 minus0298 0minus138 minus0298 0minus0227 084 0

minus072 minus023 minus066

019 085 minus05067 minus048 minus056

=

087 109 011038 minus027 068093 005 106093 005 106032 077 minus027

62

Die niedrigdimensionale Approximation

Wir interessieren uns fur die Matrix U2 = UΣ2 also die Matrix mit demniedrigerem Rang

minus093 104 0minus0658 minus049 0minus138 minus0298 0minus138 minus0298 0minus0227 084 0

Man kann diese nun als die Reprasentation unserer 5 Worter mit zweiversteckten Dimensionen auffassen

h1 h2ship minus093 104boat minus0658 minus049

ocean minus138 minus0298motor minus138 minus0298wood minus0227 084

63

Neue Ahnlichkeitsberechnungen

h1 h2ship minus093 104boat minus0658 minus049

ocean minus138 minus0298motor minus138 minus0298wood minus0227 084

cossim(shipboat) =(minus093) middot (minus0658) + 104 middot (minus049)radic

(0932 + 1042) middotradic

(06582 + 0492)= 009

cossim(shipocean) =(minus093) middot (minus138) + 104 middot (minus029)radic

(0932 + 1042) middotradic

(1382 + 0292)= 049

cossim(boatocean) = 09

64

Variationen

Benutze nur Umtimesk zur Ahnlichkeitsberechnung

Benutze Umtimesk middotΣpktimesk zur Ahnlichkeitsberechnungrarr Parameter p

sollte getuned werden Kann groszlige Unterschiede machen

Oft p = 0p = 05p = 1

65

Performanz der Reduced-SVD-Embeddings

Levy O Goldberg Y Neural word embedding as implicit matrix factorization In

Advances in neural information processing systems 2014 S 2177-2185

(Englische) Wikipedia 15 Milliarden Tokens

Fenster 2 beiderseits

Vokabular 189 533 fur Terme sowie Kontexte

PPMI Matrizen

SVD sowie ohne Zerlegung (PPMI) sowie neurale (SGNS)

Algorithmus Spearman Rank zu WordSim 353SVD 0652SGNS 0633PPMI 0605

66

Latent Semantic Analysis und Word Embeddings

Levy2014

ldquoWe analyze skip-gram with negative-sampling (SGNS) [] and show that it isimplicitly factorizing a word-context matrix whose cells are the pointwise mutualinformation (PMI) of the respective word and context pairs shifted by a globalconstant When dense low-dimensional vectors are preferred exact factorizationwith SVD can achieve solutions that are at least as good as SGNSrsquoss solutions forword similarity tasks On analogy questions SGNS remains superior to SVD Weconjecture that this stems from the weighted nature of SGNSrsquos factorizationrdquo

67

Zusammenfassung

Reduced SVD resultiert in einer optimalen Approximation derOriginalmatrix mit niedrigerem Rang Optimal = optimal bzgl derFrobeniusnorm (bzw mean squared error)

Dadurch erhalten wir eine mathematisch fundierte dichtereMatrix die Rauschen (weniger wichtige Dimensionen) eliminiert

Wir konnen mittels Umtimesk Σktimesk weiterhin Wortahnlichkeitenberechnen

Es konnen Resultate erreicht werden die bei word similaritymindestens ebensogut sind wie mit neuralen word embeddings

Nachteile Kosten der SVD Berechnung fur mtimesn matrixO(n middotm2) (when m lt n)rarr Nicht gut fur sehr grosse Matrizen

Nachteile Geht nicht gut mit unbekannten Wortern um

Nachteile schlechter bei Wortanalogieaufgaben

68

Literatur

Guter erweiterter Hintergrundhttptheorystanfordedu˜tims15ll7pdf bishttptheorystanfordedu˜tims15ll9pdf

SVD Tutorial (ohne vollstandigen Hintergrund) Kirk Baker(2005) Singular Value Decomposition Tutorialhttpsdatajobscomdata-science-repoSVD-Tutorial-[Kirk-Baker]pdf Leider ist hier imKonstruktionsverfahren I die Vorzeichenproblematikfalschlicherweise nicht behandelt worden

Levy O Goldberg Y Neural word embedding as implicit matrixfactorization In Advances in neural information processingsystems 2014 S 2177-2185

Ubungsblatt II

69

  • SVD Hauptsatz
    • Der SVD-Satz
    • Konstruktion am Beispiel Methodologie I
    • Konstruktionsmethodologie II
      • Interpretation der SVD
      • Reduced SVD
      • Verwendung in NLP

Schritt VII Bestimme Σ

Σ ist eine mtimesn (hier 2times3) ldquoDiagonalmatrixrdquo mit den Wurzeln derEigenwerte (von A middotAT bzw U bzw V auf der Diagonale) nach Groszligegeordnet

Σ =

(radic12 0 00

radic10 0

)

24

Alles Zusammen

A = UΣV T =

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00

radic10 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(radic12radic2

radic10radic2

0radic

12radic2

minusradic

10radic2

0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(3 1 1minus1 3 1

)

25

Moglicher Schritt VIII Vorzeichenverbesserung

Nehmen wir mal an wir hatten bei V die falschen Vorzeichen gewahltZum Beispiel wir hatten fur σ2 = 10 anstatt (2minus10) den Vektor(minus210) gewahlt Damit ergibt sich

V =

1 minus2 12 1 21 0 minus5

und

V =

1radic6

minus2radic5

1radic30

2radic6

1radic5

2radic30

1radic6

0 minus5radic30

und

V T =

1radic6

2radic6

1radic6

minus2radic5

1radic5

01radic30

2radic30

minus5radic30

26

Moglicher Schritt VIII Vorzeichenverbesserung

Leider ist nun

UΣV T =

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00

radic10 0

)1radic6

2radic6

1radic6

minus2radic5

1radic5

01radic30

2radic30

minus5radic30

=

(radic12radic2

radic10radic2

0radic

12radic2

minusradic

10radic2

0

)1radic6

2radic6

1radic6

minus2radic5

1radic5

01radic30

2radic30

minus5radic30

=

(minus1 3 13 1 1

)

27

Moglicher Schritt VIII Vorzeichenverbesserung

Die unelegante Losung Gehe durch alle Zeilen von V T (Spalten vonV ) multizipliere sie systematisch mit minus1 bis es passt Durch dieMultiplikation mit minus1 bleiben die Vektoren immer noch normal undauch die Orthogonalitat andert sich nicht

Da eventuell auch mehrere Zeilen mit minus1 multipliziert werdenmussen ist dies leider exponentiell in der Zeilenanzahl von V T

(alle moglichen Kombinationen mussen probiert werden)

Es ist nicht gerade elegant

Man kann naturlich stattdessen auch durch die Spalten von Ugehen und diese anpassen

28

Konstruktionsmethodologie II

1 Berechne die quadratische ntimesn Matrix AT middotA2 Berechne die Eigenwerte σ2

j und Eigenvektoren vj von AT middotA3 Die Vektoren vj werden orthonormalisiert (Gram-Schmidt) und

bilden die Spaltenvektoren von V4 Die Wurzeln der σ2-Werte werden in absteigender Reihenfolge

die Eintrage von Σ

5 Die Spaltenvektoren von U bis zum Rang r der AT middotA Matrix sindnun eindeutig bestimmt aus der Vorgabe A = UΣV T und werdendaraus berechnet

6 Wenn r lt m mussen noch mminus r Vektoren zur Orthonormalbasiserganzt werden

29

Konstruktionsmethodologie II

1 Berechne die quadratische ntimesn Matrix AT middotA2 Berechne die Eigenwerte σ2

j und Eigenvektoren vj von AT middotA3 Die Vektoren vj werden orthonormalisiert (Gram-Schmidt) und

bilden die Spaltenvektoren von V4 Die Wurzeln der σ2-Werte werden in absteigender Reihenfolge

die Eintrage von Σ

5 Die Spaltenvektoren von U bis zum Rang r der AT middotA Matrix sindnun eindeutig bestimmt aus der Vorgabe A = UΣV T und werdendaraus berechnet

6 Wenn r lt m mussen noch mminus r Vektoren zur Orthonormalbasiserganzt werden

29

Konstruktionsmethodologie II

1 Berechne die quadratische ntimesn Matrix AT middotA2 Berechne die Eigenwerte σ2

j und Eigenvektoren vj von AT middotA3 Die Vektoren vj werden orthonormalisiert (Gram-Schmidt) und

bilden die Spaltenvektoren von V4 Die Wurzeln der σ2-Werte werden in absteigender Reihenfolge

die Eintrage von Σ

5 Die Spaltenvektoren von U bis zum Rang r der AT middotA Matrix sindnun eindeutig bestimmt aus der Vorgabe A = UΣV T und werdendaraus berechnet

6 Wenn r lt m mussen noch mminus r Vektoren zur Orthonormalbasiserganzt werden

29

Konstruktionsmethodologie II

1 Berechne die quadratische ntimesn Matrix AT middotA2 Berechne die Eigenwerte σ2

j und Eigenvektoren vj von AT middotA3 Die Vektoren vj werden orthonormalisiert (Gram-Schmidt) und

bilden die Spaltenvektoren von V4 Die Wurzeln der σ2-Werte werden in absteigender Reihenfolge

die Eintrage von Σ

5 Die Spaltenvektoren von U bis zum Rang r der AT middotA Matrix sindnun eindeutig bestimmt aus der Vorgabe A = UΣV T und werdendaraus berechnet

6 Wenn r lt m mussen noch mminus r Vektoren zur Orthonormalbasiserganzt werden

29

Schritt I Bestimme V T und Σ wie bisher

Nach dem ublichen Verfahren sei also V T zum Beispiel1radic6

2radic6

1radic6

minus2radic5

1radic5

01radic30

2radic30

minus5radic30

bzw V

V =

1radic6

minus2radic5

1radic30

2radic6

1radic5

2radic30

1radic6

0 minus5radic30

Die Vorzeichen konnten auch anders seinWeiterhin ist

Σ =

(radic12 0 00

radic10 0

)

30

Schritt II Bestimme U

Es muss gelten

A = UΣV T

und damit

AV = UΣV T V

Da V orthogonal ist V T V die Einheitsmatrix und damit

AV = UΣ

31

Schritt II Bestimme U

Man bilde nun eine ntimesm Matrix Σprime die genau auf denentsprechenden Diagonaleintragen 1σi stehen hat Im Beispiel ist

Σprime =

1radic12

0

0 1radic10

0 0

Es gilt dass Σ middotΣprime die mtimesm Einheitsmatrix istUnd damit

AVΣprime = UΣΣprime = U

32

Schritt II Bestimme U

Also giltU = AVΣprime

Damit gilt fur die Spalten von U wenn man sich dieMatrixmultiplikation genauer anschaut

u(j) =1σj

Av (j)

In unserem Beispiel

u(1) =1radic12

(3 1 1minus1 3 1

)1radic6

2radic6

1radic6

=

(1radic2

1radic2

)

33

Schritt II Bestimme U

Und ebenso

u(2) =1radic10

(3 1 1minus1 3 1

)minus2radic

51radic5

0

=

(minus1radic2

1radic2

)

Man sieht dass sich hier das veranderte Vorzeichen von v (2) imentgegengesetzten Vorzeichen von u(2) widerspiegelt Wir musstenauch nicht zweimal Eigenvektoren berechnen sondern U ist aus denvorherigen Berechnungen bestimmt

34

Beispiel mit einer Matrix mit niedrigerem Rang

Da wir durch 1σj

dividieren mussten geht dies nur fur Eigenwerteungleich Null Wenn aber die Matrizen niedrigere Range haben als mdann bekommen wir so nicht genugend U-Vektoren Was machen wirdann

Beispiel Sei eine Matrix von Rang 1 gegeben

A =

(1 01 0

)

35

Berechnung von V

AT A =

(1 10 0

)(1 01 0

)=

(2 00 0

)

36

Berechnung von V

(2 00 0

)hat die Eigenwerte 2 und 0 mit den jeweiligen Eigenvektoren (10)sowie (01)Daraus folgt

V =

(1 00 1

)Die ist schon eine Orthonormalmatrix also gilt V = V sowie daDiagonalmatrix V T = V

37

Bestimmung von Σ

Es gilt

Σ =

(radic2 0

0 0

)

38

Bestimmung von U

Der erste Spaltenvektor u(1) kann wie ublich bestimmt werden mit

u(1) =1radic2

Av (1) =1radic2

(1 01 0

)(10

)

=1radic2

(11

)=

(1radic2

1radic2

)

39

Bestimmung von U

Da wir keinen weiteren Eigenwert 6= 0 haben konnen wir leider sonicht weitermachen dh es geht nur bis zum Rang von A Es gilt aber(

1radic2

x21radic2

y2

)(radic2 0

0 0

)(1 00 1

)

=

(1 01 0

)= A

unabhangig von x2 und y2 Das heisst unser halb vollstandiges U istgenug fur eine Zerlegung

40

Bestimmung von U

1 Wir konnen also jedes x2 und y2 wahlen solange normiert undsenkrecht auf dem ersten Vektor stehend

2 Nach dem sogenannten Basiserganzungssatz geht dies immer3 In unserem Beispiel konnte man zum Beispiel (minus1radic

2 1radic

2) wahlen

4 Wie genau man diese weiteren Vektoren von U konstruiert ist furuns unerheblich da wir ja sowieso die letzten Spalten von U diezu den niedrigeren Eigenwerten gehoren ldquoabschneidenrdquowerden

41

SVD Zwischenfazit

Wir haben eine Matrix in das Produkt einer OrthonormalmatrixDiagonalmatrix und Orthogonalmatrix zerlegt

Die Diagonalmatrix enthalt die Wurzeln von den Eigenwerten vonA middotAT nach Groszlige geordnet

Die erste Orthonormalmatrix enthalt die orthonormalisiertenEigenvektoren von A middotAT nach Eigenwertgrosse geordnet alsSpalten

Die zweite Orthonormalmatrix ist die Transponierte der Matrixdie die orthonormalisierten Eigenvektoren von AT middotA nachEigenwertgrosse geordnet als Spalten enthalt

42

Ubersicht

1 SVD HauptsatzDer SVD-SatzKonstruktion am Beispiel Methodologie IKonstruktionsmethodologie II

2 Interpretation der SVD

3 Reduced SVD

4 Verwendung in NLP

43

Geometrische Interpretation bei quadratischen Matrizen

Bedeutung der SVD ist dass sich die Funktion in eine DrehungDrehspiegelung (V T )eine Verzerrung (Σ) und eine zweite DrehungDrehspiegelung (U) zerlegen lsst

Matrix

(1 10 1

)SVD Geometrische Interpretationa

aQuelle httpscommonswikimediaorgwikiFileSingular-Value-Decompositionsvg

44

Noch einige Bemerkungen

Die Eigenwerte und damit Σ sind eindeutig bestimmt

U und V sind nicht eindeutig bestimmt Es konnen Drehungenum 180 Grad oder Spiegelungen hinzukommen

Wir konnen in vielen Fallen einen Eigenvektor wahlen(Freiheitsgrade) mussen aber dann bei den Vorzeichen derzweiten Matrix aufpassen

45

Noch einige Bemerkungen

Wir haben implizit den Rang der Ursprungsmatrix A bestimmtDies kann man klar an U middotΣ sehen

A = UΣV T =

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00

radic10 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(radic12radic2

radic10radic2

0radic

12radic2

minusradic

10radic2

0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(3 1 1minus1 3 1

)

46

Noch einige Bemerkungen

Deswegen wird manchmal die Singularwertzerlegung auch alsZerlegung in drei Matrizen Amtimesn = Umtimesr Σrtimesr V T

rtimesn wobei r der Rangder Matrix A ist beschrieben

A = UΣV T =

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00

radic10 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 00

radic10

)( 1radic6

2radic6

1radic6

2radic5

minus1radic5

0

)=

(radic12radic2

radic10radic2radic

12radic2

minusradic

10radic2

)(1radic6

2radic6

1radic6

2radic5

minus1radic5

0

)=

(3 1 1minus1 3 1

)47

Noch einige Bemerkungen

Bisher haben wir immer die Ausgangsmatrix einfach reproduziert(mit dem gleichen Rang) Man sieht den Rang besser und es gilt

Die ldquoZerrungrdquo durch die Matrix Σ ist bei den Dimensionen mit denhochsten Eigenwerten am groszligten Beispiel

(radic12 0 00

radic10 0

)x1

x2

x3

=

(radic12 middot x1radic10 middot x2

)Es macht also Sinn dass wir wenn wir eine Approximationunserer Ausgangsmatrix mit niedrigerem Rang wollen dann dieunwichtigen Dimensionen die durch niedrige Eigenwertegekennzeichnet sind weglassen

48

Ubersicht

1 SVD HauptsatzDer SVD-SatzKonstruktion am Beispiel Methodologie IKonstruktionsmethodologie II

2 Interpretation der SVD

3 Reduced SVD

4 Verwendung in NLP

49

Reduced SVD Approximation niedrigeren Ranges

Approximation von mtimesn Matrix A mit Rang r durch mtimesn -Matrix Ak mit Rang k lt r

A = UΣV T asymp Ak = UΣk V T

Σk ist eine ldquodiagonalerdquo mtimesn - Matrix bei der nur auf den erstenk Stellen der Diagonalmatrix Werte 6= 0 stehen

U und V wie zuvor

50

Beispiel

A = UΣV T =

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00

radic10 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

asymp

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00 0 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(radic12radic2

0 0radic

12radic2

0 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(1 2 11 2 1

)51

Reduced SVD

Wir hatten auch nur die ersten k Spalten von U sowie die ersten kZeilen von V T behalten konnen

Aasymp

(1radic2

1radic2

)(radic12)( 1radic

62radic6

1radic6

)=

(radic12radic2radic

12radic2

)(1radic6

2radic6

1radic6

)=

(1 2 11 2 1

)

52

Als Bild

53

Als Algorithmus

Gegeben mtimesn Matrix A und gewunschter Rank k Wir produziereneine Rangminus k Approximation wie folgt

1 Wir berechnen eine SVD Zerlegung von A

Amtimesn = UmtimesmΣmtimesnV Tntimesn

2 Wir behalten nur die ersten k Spalten von U resultierend in Umtimesk

3 Wir behalten nur die Top k sprich die ersten k Diagonalwerte vonΣ resultierend in Σktimesk

4 Wir behalten nur die ersten k Reihen von V T resultierend in V Tktimesn

54

Reduced SVD

Diagonale Eintrage in Σk sind die k groszligten Eigenwerte vonA middotAT

Satz UΣk V T minimiert die Differenz der Frobenius-Normzwischen A und Ak unter der Bedingung rang(Ak ) = k

Das heisst Fur jede mtimesn Matrix A mit Rang r angestrebtemRang k lt r und jede mtimesn Matrix B mit Rang k gilt

Aminus Ak2 le AminusB2

wobei Ak die Rang-k Approximation ist die man aus der SVD vonA ableiten kann

55

Was hat man erreicht

Unkorrelierte Dimensionen (Orthonormalbasis) die nur nochverzerrt werden

Wir haben die Dimensionen mit der meisten Variation identifiziertund danach geordnet

ldquoUnwichtigerdquo Dimensionen werden weggelassenrarr Rauschenvermindert

Man braucht viel weniger Speicherplatz O(k(n + m)) anstattO(nm)

Die neuen ldquoverstecktenrdquo Dimensionen konnen zurAhnlichkeitsberechnung verwendet werden und funktionieren oftbesser

56

Wie wahlt man k

Meist empirisch Gesehen

1 In NLP oft die ersten 200 bis 300 Dimensionen2 In Recommender Systems Wahle k so dass die Summe der

ersten k Eigenwerte mindestens 10-mal der Summe alleranderen Eigenwerte

57

Ubersicht

1 SVD HauptsatzDer SVD-SatzKonstruktion am Beispiel Methodologie IKonstruktionsmethodologie II

2 Interpretation der SVD

3 Reduced SVD

4 Verwendung in NLP

58

Dichte Embeddings

A ist Matrix von m WorternTermen und n Kontexten (PPMIfrequency )Reduced SVD resultiert in Ak mit

Umtimesk ist mtimes k - MatrixZeilen von Umtimesk reprasentieren TermeSpalten in Umtimesk latente Reprasentation der KontexteBenutze Umtimesk middotΣktimesk zur Berechnung von Termahnlichkeiten

Vorteile gegenuber der vollen Term-Kontext-MatrixDichte MatrixDimensionsreduktion effizientere VerarbeitungDe-Noising

59

Dichte Embeddings

A ist Matrix von m WorternTermen und n Kontexten (PPMIfrequency )Reduced SVD resultiert in Ak mit

Umtimesk ist mtimes k - MatrixZeilen von Umtimesk reprasentieren TermeSpalten in Umtimesk latente Reprasentation der KontexteBenutze Umtimesk middotΣktimesk zur Berechnung von Termahnlichkeiten

Vorteile gegenuber der vollen Term-Kontext-MatrixDichte MatrixDimensionsreduktion effizientere VerarbeitungDe-Noising

59

Dichte Embeddings

A ist Matrix von m WorternTermen und n Kontexten (PPMIfrequency )Reduced SVD resultiert in Ak mit

Umtimesk ist mtimes k - MatrixZeilen von Umtimesk reprasentieren TermeSpalten in Umtimesk latente Reprasentation der KontexteBenutze Umtimesk middotΣktimesk zur Berechnung von Termahnlichkeiten

Vorteile gegenuber der vollen Term-Kontext-MatrixDichte MatrixDimensionsreduktion effizientere VerarbeitungDe-Noising

59

Das Beispiel vom Anfang

Eine Wort-Dokument-Matrix M aus dem R5times3

d1 d2 d3ship 1 1 0boat 0 0 1

ocean 1 0 1motor 1 0 1wood 0 1 0

cossim(shipboat) = 0

cossim(shipocean) =12

cossim(boatocean) =1radic2

= 07

60

SVD Zerlegung war

minus041 07 024minus029 minus033 minus072minus061 minus02 014minus061 minus02 014minus01 057 minus062

227 0 0

0 149 00 0 078

minus072 minus023 minus066019 085 minus05067 minus048 minus056

=

minus093 104 0187minus0658 minus049 minus056minus138 minus0298 01092minus138 minus0298 minus1092minus0227 084 minus0483

minus072 minus023 minus066

019 085 minus05067 minus048 minus056

=

1 1 00 0 11 0 11 0 10 1 0

Abweichungen sind Rundungsfehler61

Niedrigdimensionale Approximation

Die kleinsten Eigenwerte sind die unwichtigsten Wir konnen dieseldquoweglassenrdquo = auf Null setzenrarr eine Matrix mit kleinerem Rang dieaber relativ ahnlich zur Ausgangsmatrix istminus041 07 024minus029 minus033 minus072minus061 minus02 014minus061 minus02 014minus01 057 minus062

227 0 0

0 149 00 0 0

minus072 minus023 minus066019 085 minus05067 minus048 minus056

=

minus093 104 0minus0658 minus049 0minus138 minus0298 0minus138 minus0298 0minus0227 084 0

minus072 minus023 minus066

019 085 minus05067 minus048 minus056

=

087 109 011038 minus027 068093 005 106093 005 106032 077 minus027

62

Die niedrigdimensionale Approximation

Wir interessieren uns fur die Matrix U2 = UΣ2 also die Matrix mit demniedrigerem Rang

minus093 104 0minus0658 minus049 0minus138 minus0298 0minus138 minus0298 0minus0227 084 0

Man kann diese nun als die Reprasentation unserer 5 Worter mit zweiversteckten Dimensionen auffassen

h1 h2ship minus093 104boat minus0658 minus049

ocean minus138 minus0298motor minus138 minus0298wood minus0227 084

63

Neue Ahnlichkeitsberechnungen

h1 h2ship minus093 104boat minus0658 minus049

ocean minus138 minus0298motor minus138 minus0298wood minus0227 084

cossim(shipboat) =(minus093) middot (minus0658) + 104 middot (minus049)radic

(0932 + 1042) middotradic

(06582 + 0492)= 009

cossim(shipocean) =(minus093) middot (minus138) + 104 middot (minus029)radic

(0932 + 1042) middotradic

(1382 + 0292)= 049

cossim(boatocean) = 09

64

Variationen

Benutze nur Umtimesk zur Ahnlichkeitsberechnung

Benutze Umtimesk middotΣpktimesk zur Ahnlichkeitsberechnungrarr Parameter p

sollte getuned werden Kann groszlige Unterschiede machen

Oft p = 0p = 05p = 1

65

Performanz der Reduced-SVD-Embeddings

Levy O Goldberg Y Neural word embedding as implicit matrix factorization In

Advances in neural information processing systems 2014 S 2177-2185

(Englische) Wikipedia 15 Milliarden Tokens

Fenster 2 beiderseits

Vokabular 189 533 fur Terme sowie Kontexte

PPMI Matrizen

SVD sowie ohne Zerlegung (PPMI) sowie neurale (SGNS)

Algorithmus Spearman Rank zu WordSim 353SVD 0652SGNS 0633PPMI 0605

66

Latent Semantic Analysis und Word Embeddings

Levy2014

ldquoWe analyze skip-gram with negative-sampling (SGNS) [] and show that it isimplicitly factorizing a word-context matrix whose cells are the pointwise mutualinformation (PMI) of the respective word and context pairs shifted by a globalconstant When dense low-dimensional vectors are preferred exact factorizationwith SVD can achieve solutions that are at least as good as SGNSrsquoss solutions forword similarity tasks On analogy questions SGNS remains superior to SVD Weconjecture that this stems from the weighted nature of SGNSrsquos factorizationrdquo

67

Zusammenfassung

Reduced SVD resultiert in einer optimalen Approximation derOriginalmatrix mit niedrigerem Rang Optimal = optimal bzgl derFrobeniusnorm (bzw mean squared error)

Dadurch erhalten wir eine mathematisch fundierte dichtereMatrix die Rauschen (weniger wichtige Dimensionen) eliminiert

Wir konnen mittels Umtimesk Σktimesk weiterhin Wortahnlichkeitenberechnen

Es konnen Resultate erreicht werden die bei word similaritymindestens ebensogut sind wie mit neuralen word embeddings

Nachteile Kosten der SVD Berechnung fur mtimesn matrixO(n middotm2) (when m lt n)rarr Nicht gut fur sehr grosse Matrizen

Nachteile Geht nicht gut mit unbekannten Wortern um

Nachteile schlechter bei Wortanalogieaufgaben

68

Literatur

Guter erweiterter Hintergrundhttptheorystanfordedu˜tims15ll7pdf bishttptheorystanfordedu˜tims15ll9pdf

SVD Tutorial (ohne vollstandigen Hintergrund) Kirk Baker(2005) Singular Value Decomposition Tutorialhttpsdatajobscomdata-science-repoSVD-Tutorial-[Kirk-Baker]pdf Leider ist hier imKonstruktionsverfahren I die Vorzeichenproblematikfalschlicherweise nicht behandelt worden

Levy O Goldberg Y Neural word embedding as implicit matrixfactorization In Advances in neural information processingsystems 2014 S 2177-2185

Ubungsblatt II

69

  • SVD Hauptsatz
    • Der SVD-Satz
    • Konstruktion am Beispiel Methodologie I
    • Konstruktionsmethodologie II
      • Interpretation der SVD
      • Reduced SVD
      • Verwendung in NLP

Alles Zusammen

A = UΣV T =

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00

radic10 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(radic12radic2

radic10radic2

0radic

12radic2

minusradic

10radic2

0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(3 1 1minus1 3 1

)

25

Moglicher Schritt VIII Vorzeichenverbesserung

Nehmen wir mal an wir hatten bei V die falschen Vorzeichen gewahltZum Beispiel wir hatten fur σ2 = 10 anstatt (2minus10) den Vektor(minus210) gewahlt Damit ergibt sich

V =

1 minus2 12 1 21 0 minus5

und

V =

1radic6

minus2radic5

1radic30

2radic6

1radic5

2radic30

1radic6

0 minus5radic30

und

V T =

1radic6

2radic6

1radic6

minus2radic5

1radic5

01radic30

2radic30

minus5radic30

26

Moglicher Schritt VIII Vorzeichenverbesserung

Leider ist nun

UΣV T =

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00

radic10 0

)1radic6

2radic6

1radic6

minus2radic5

1radic5

01radic30

2radic30

minus5radic30

=

(radic12radic2

radic10radic2

0radic

12radic2

minusradic

10radic2

0

)1radic6

2radic6

1radic6

minus2radic5

1radic5

01radic30

2radic30

minus5radic30

=

(minus1 3 13 1 1

)

27

Moglicher Schritt VIII Vorzeichenverbesserung

Die unelegante Losung Gehe durch alle Zeilen von V T (Spalten vonV ) multizipliere sie systematisch mit minus1 bis es passt Durch dieMultiplikation mit minus1 bleiben die Vektoren immer noch normal undauch die Orthogonalitat andert sich nicht

Da eventuell auch mehrere Zeilen mit minus1 multipliziert werdenmussen ist dies leider exponentiell in der Zeilenanzahl von V T

(alle moglichen Kombinationen mussen probiert werden)

Es ist nicht gerade elegant

Man kann naturlich stattdessen auch durch die Spalten von Ugehen und diese anpassen

28

Konstruktionsmethodologie II

1 Berechne die quadratische ntimesn Matrix AT middotA2 Berechne die Eigenwerte σ2

j und Eigenvektoren vj von AT middotA3 Die Vektoren vj werden orthonormalisiert (Gram-Schmidt) und

bilden die Spaltenvektoren von V4 Die Wurzeln der σ2-Werte werden in absteigender Reihenfolge

die Eintrage von Σ

5 Die Spaltenvektoren von U bis zum Rang r der AT middotA Matrix sindnun eindeutig bestimmt aus der Vorgabe A = UΣV T und werdendaraus berechnet

6 Wenn r lt m mussen noch mminus r Vektoren zur Orthonormalbasiserganzt werden

29

Konstruktionsmethodologie II

1 Berechne die quadratische ntimesn Matrix AT middotA2 Berechne die Eigenwerte σ2

j und Eigenvektoren vj von AT middotA3 Die Vektoren vj werden orthonormalisiert (Gram-Schmidt) und

bilden die Spaltenvektoren von V4 Die Wurzeln der σ2-Werte werden in absteigender Reihenfolge

die Eintrage von Σ

5 Die Spaltenvektoren von U bis zum Rang r der AT middotA Matrix sindnun eindeutig bestimmt aus der Vorgabe A = UΣV T und werdendaraus berechnet

6 Wenn r lt m mussen noch mminus r Vektoren zur Orthonormalbasiserganzt werden

29

Konstruktionsmethodologie II

1 Berechne die quadratische ntimesn Matrix AT middotA2 Berechne die Eigenwerte σ2

j und Eigenvektoren vj von AT middotA3 Die Vektoren vj werden orthonormalisiert (Gram-Schmidt) und

bilden die Spaltenvektoren von V4 Die Wurzeln der σ2-Werte werden in absteigender Reihenfolge

die Eintrage von Σ

5 Die Spaltenvektoren von U bis zum Rang r der AT middotA Matrix sindnun eindeutig bestimmt aus der Vorgabe A = UΣV T und werdendaraus berechnet

6 Wenn r lt m mussen noch mminus r Vektoren zur Orthonormalbasiserganzt werden

29

Konstruktionsmethodologie II

1 Berechne die quadratische ntimesn Matrix AT middotA2 Berechne die Eigenwerte σ2

j und Eigenvektoren vj von AT middotA3 Die Vektoren vj werden orthonormalisiert (Gram-Schmidt) und

bilden die Spaltenvektoren von V4 Die Wurzeln der σ2-Werte werden in absteigender Reihenfolge

die Eintrage von Σ

5 Die Spaltenvektoren von U bis zum Rang r der AT middotA Matrix sindnun eindeutig bestimmt aus der Vorgabe A = UΣV T und werdendaraus berechnet

6 Wenn r lt m mussen noch mminus r Vektoren zur Orthonormalbasiserganzt werden

29

Schritt I Bestimme V T und Σ wie bisher

Nach dem ublichen Verfahren sei also V T zum Beispiel1radic6

2radic6

1radic6

minus2radic5

1radic5

01radic30

2radic30

minus5radic30

bzw V

V =

1radic6

minus2radic5

1radic30

2radic6

1radic5

2radic30

1radic6

0 minus5radic30

Die Vorzeichen konnten auch anders seinWeiterhin ist

Σ =

(radic12 0 00

radic10 0

)

30

Schritt II Bestimme U

Es muss gelten

A = UΣV T

und damit

AV = UΣV T V

Da V orthogonal ist V T V die Einheitsmatrix und damit

AV = UΣ

31

Schritt II Bestimme U

Man bilde nun eine ntimesm Matrix Σprime die genau auf denentsprechenden Diagonaleintragen 1σi stehen hat Im Beispiel ist

Σprime =

1radic12

0

0 1radic10

0 0

Es gilt dass Σ middotΣprime die mtimesm Einheitsmatrix istUnd damit

AVΣprime = UΣΣprime = U

32

Schritt II Bestimme U

Also giltU = AVΣprime

Damit gilt fur die Spalten von U wenn man sich dieMatrixmultiplikation genauer anschaut

u(j) =1σj

Av (j)

In unserem Beispiel

u(1) =1radic12

(3 1 1minus1 3 1

)1radic6

2radic6

1radic6

=

(1radic2

1radic2

)

33

Schritt II Bestimme U

Und ebenso

u(2) =1radic10

(3 1 1minus1 3 1

)minus2radic

51radic5

0

=

(minus1radic2

1radic2

)

Man sieht dass sich hier das veranderte Vorzeichen von v (2) imentgegengesetzten Vorzeichen von u(2) widerspiegelt Wir musstenauch nicht zweimal Eigenvektoren berechnen sondern U ist aus denvorherigen Berechnungen bestimmt

34

Beispiel mit einer Matrix mit niedrigerem Rang

Da wir durch 1σj

dividieren mussten geht dies nur fur Eigenwerteungleich Null Wenn aber die Matrizen niedrigere Range haben als mdann bekommen wir so nicht genugend U-Vektoren Was machen wirdann

Beispiel Sei eine Matrix von Rang 1 gegeben

A =

(1 01 0

)

35

Berechnung von V

AT A =

(1 10 0

)(1 01 0

)=

(2 00 0

)

36

Berechnung von V

(2 00 0

)hat die Eigenwerte 2 und 0 mit den jeweiligen Eigenvektoren (10)sowie (01)Daraus folgt

V =

(1 00 1

)Die ist schon eine Orthonormalmatrix also gilt V = V sowie daDiagonalmatrix V T = V

37

Bestimmung von Σ

Es gilt

Σ =

(radic2 0

0 0

)

38

Bestimmung von U

Der erste Spaltenvektor u(1) kann wie ublich bestimmt werden mit

u(1) =1radic2

Av (1) =1radic2

(1 01 0

)(10

)

=1radic2

(11

)=

(1radic2

1radic2

)

39

Bestimmung von U

Da wir keinen weiteren Eigenwert 6= 0 haben konnen wir leider sonicht weitermachen dh es geht nur bis zum Rang von A Es gilt aber(

1radic2

x21radic2

y2

)(radic2 0

0 0

)(1 00 1

)

=

(1 01 0

)= A

unabhangig von x2 und y2 Das heisst unser halb vollstandiges U istgenug fur eine Zerlegung

40

Bestimmung von U

1 Wir konnen also jedes x2 und y2 wahlen solange normiert undsenkrecht auf dem ersten Vektor stehend

2 Nach dem sogenannten Basiserganzungssatz geht dies immer3 In unserem Beispiel konnte man zum Beispiel (minus1radic

2 1radic

2) wahlen

4 Wie genau man diese weiteren Vektoren von U konstruiert ist furuns unerheblich da wir ja sowieso die letzten Spalten von U diezu den niedrigeren Eigenwerten gehoren ldquoabschneidenrdquowerden

41

SVD Zwischenfazit

Wir haben eine Matrix in das Produkt einer OrthonormalmatrixDiagonalmatrix und Orthogonalmatrix zerlegt

Die Diagonalmatrix enthalt die Wurzeln von den Eigenwerten vonA middotAT nach Groszlige geordnet

Die erste Orthonormalmatrix enthalt die orthonormalisiertenEigenvektoren von A middotAT nach Eigenwertgrosse geordnet alsSpalten

Die zweite Orthonormalmatrix ist die Transponierte der Matrixdie die orthonormalisierten Eigenvektoren von AT middotA nachEigenwertgrosse geordnet als Spalten enthalt

42

Ubersicht

1 SVD HauptsatzDer SVD-SatzKonstruktion am Beispiel Methodologie IKonstruktionsmethodologie II

2 Interpretation der SVD

3 Reduced SVD

4 Verwendung in NLP

43

Geometrische Interpretation bei quadratischen Matrizen

Bedeutung der SVD ist dass sich die Funktion in eine DrehungDrehspiegelung (V T )eine Verzerrung (Σ) und eine zweite DrehungDrehspiegelung (U) zerlegen lsst

Matrix

(1 10 1

)SVD Geometrische Interpretationa

aQuelle httpscommonswikimediaorgwikiFileSingular-Value-Decompositionsvg

44

Noch einige Bemerkungen

Die Eigenwerte und damit Σ sind eindeutig bestimmt

U und V sind nicht eindeutig bestimmt Es konnen Drehungenum 180 Grad oder Spiegelungen hinzukommen

Wir konnen in vielen Fallen einen Eigenvektor wahlen(Freiheitsgrade) mussen aber dann bei den Vorzeichen derzweiten Matrix aufpassen

45

Noch einige Bemerkungen

Wir haben implizit den Rang der Ursprungsmatrix A bestimmtDies kann man klar an U middotΣ sehen

A = UΣV T =

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00

radic10 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(radic12radic2

radic10radic2

0radic

12radic2

minusradic

10radic2

0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(3 1 1minus1 3 1

)

46

Noch einige Bemerkungen

Deswegen wird manchmal die Singularwertzerlegung auch alsZerlegung in drei Matrizen Amtimesn = Umtimesr Σrtimesr V T

rtimesn wobei r der Rangder Matrix A ist beschrieben

A = UΣV T =

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00

radic10 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 00

radic10

)( 1radic6

2radic6

1radic6

2radic5

minus1radic5

0

)=

(radic12radic2

radic10radic2radic

12radic2

minusradic

10radic2

)(1radic6

2radic6

1radic6

2radic5

minus1radic5

0

)=

(3 1 1minus1 3 1

)47

Noch einige Bemerkungen

Bisher haben wir immer die Ausgangsmatrix einfach reproduziert(mit dem gleichen Rang) Man sieht den Rang besser und es gilt

Die ldquoZerrungrdquo durch die Matrix Σ ist bei den Dimensionen mit denhochsten Eigenwerten am groszligten Beispiel

(radic12 0 00

radic10 0

)x1

x2

x3

=

(radic12 middot x1radic10 middot x2

)Es macht also Sinn dass wir wenn wir eine Approximationunserer Ausgangsmatrix mit niedrigerem Rang wollen dann dieunwichtigen Dimensionen die durch niedrige Eigenwertegekennzeichnet sind weglassen

48

Ubersicht

1 SVD HauptsatzDer SVD-SatzKonstruktion am Beispiel Methodologie IKonstruktionsmethodologie II

2 Interpretation der SVD

3 Reduced SVD

4 Verwendung in NLP

49

Reduced SVD Approximation niedrigeren Ranges

Approximation von mtimesn Matrix A mit Rang r durch mtimesn -Matrix Ak mit Rang k lt r

A = UΣV T asymp Ak = UΣk V T

Σk ist eine ldquodiagonalerdquo mtimesn - Matrix bei der nur auf den erstenk Stellen der Diagonalmatrix Werte 6= 0 stehen

U und V wie zuvor

50

Beispiel

A = UΣV T =

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00

radic10 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

asymp

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00 0 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(radic12radic2

0 0radic

12radic2

0 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(1 2 11 2 1

)51

Reduced SVD

Wir hatten auch nur die ersten k Spalten von U sowie die ersten kZeilen von V T behalten konnen

Aasymp

(1radic2

1radic2

)(radic12)( 1radic

62radic6

1radic6

)=

(radic12radic2radic

12radic2

)(1radic6

2radic6

1radic6

)=

(1 2 11 2 1

)

52

Als Bild

53

Als Algorithmus

Gegeben mtimesn Matrix A und gewunschter Rank k Wir produziereneine Rangminus k Approximation wie folgt

1 Wir berechnen eine SVD Zerlegung von A

Amtimesn = UmtimesmΣmtimesnV Tntimesn

2 Wir behalten nur die ersten k Spalten von U resultierend in Umtimesk

3 Wir behalten nur die Top k sprich die ersten k Diagonalwerte vonΣ resultierend in Σktimesk

4 Wir behalten nur die ersten k Reihen von V T resultierend in V Tktimesn

54

Reduced SVD

Diagonale Eintrage in Σk sind die k groszligten Eigenwerte vonA middotAT

Satz UΣk V T minimiert die Differenz der Frobenius-Normzwischen A und Ak unter der Bedingung rang(Ak ) = k

Das heisst Fur jede mtimesn Matrix A mit Rang r angestrebtemRang k lt r und jede mtimesn Matrix B mit Rang k gilt

Aminus Ak2 le AminusB2

wobei Ak die Rang-k Approximation ist die man aus der SVD vonA ableiten kann

55

Was hat man erreicht

Unkorrelierte Dimensionen (Orthonormalbasis) die nur nochverzerrt werden

Wir haben die Dimensionen mit der meisten Variation identifiziertund danach geordnet

ldquoUnwichtigerdquo Dimensionen werden weggelassenrarr Rauschenvermindert

Man braucht viel weniger Speicherplatz O(k(n + m)) anstattO(nm)

Die neuen ldquoverstecktenrdquo Dimensionen konnen zurAhnlichkeitsberechnung verwendet werden und funktionieren oftbesser

56

Wie wahlt man k

Meist empirisch Gesehen

1 In NLP oft die ersten 200 bis 300 Dimensionen2 In Recommender Systems Wahle k so dass die Summe der

ersten k Eigenwerte mindestens 10-mal der Summe alleranderen Eigenwerte

57

Ubersicht

1 SVD HauptsatzDer SVD-SatzKonstruktion am Beispiel Methodologie IKonstruktionsmethodologie II

2 Interpretation der SVD

3 Reduced SVD

4 Verwendung in NLP

58

Dichte Embeddings

A ist Matrix von m WorternTermen und n Kontexten (PPMIfrequency )Reduced SVD resultiert in Ak mit

Umtimesk ist mtimes k - MatrixZeilen von Umtimesk reprasentieren TermeSpalten in Umtimesk latente Reprasentation der KontexteBenutze Umtimesk middotΣktimesk zur Berechnung von Termahnlichkeiten

Vorteile gegenuber der vollen Term-Kontext-MatrixDichte MatrixDimensionsreduktion effizientere VerarbeitungDe-Noising

59

Dichte Embeddings

A ist Matrix von m WorternTermen und n Kontexten (PPMIfrequency )Reduced SVD resultiert in Ak mit

Umtimesk ist mtimes k - MatrixZeilen von Umtimesk reprasentieren TermeSpalten in Umtimesk latente Reprasentation der KontexteBenutze Umtimesk middotΣktimesk zur Berechnung von Termahnlichkeiten

Vorteile gegenuber der vollen Term-Kontext-MatrixDichte MatrixDimensionsreduktion effizientere VerarbeitungDe-Noising

59

Dichte Embeddings

A ist Matrix von m WorternTermen und n Kontexten (PPMIfrequency )Reduced SVD resultiert in Ak mit

Umtimesk ist mtimes k - MatrixZeilen von Umtimesk reprasentieren TermeSpalten in Umtimesk latente Reprasentation der KontexteBenutze Umtimesk middotΣktimesk zur Berechnung von Termahnlichkeiten

Vorteile gegenuber der vollen Term-Kontext-MatrixDichte MatrixDimensionsreduktion effizientere VerarbeitungDe-Noising

59

Das Beispiel vom Anfang

Eine Wort-Dokument-Matrix M aus dem R5times3

d1 d2 d3ship 1 1 0boat 0 0 1

ocean 1 0 1motor 1 0 1wood 0 1 0

cossim(shipboat) = 0

cossim(shipocean) =12

cossim(boatocean) =1radic2

= 07

60

SVD Zerlegung war

minus041 07 024minus029 minus033 minus072minus061 minus02 014minus061 minus02 014minus01 057 minus062

227 0 0

0 149 00 0 078

minus072 minus023 minus066019 085 minus05067 minus048 minus056

=

minus093 104 0187minus0658 minus049 minus056minus138 minus0298 01092minus138 minus0298 minus1092minus0227 084 minus0483

minus072 minus023 minus066

019 085 minus05067 minus048 minus056

=

1 1 00 0 11 0 11 0 10 1 0

Abweichungen sind Rundungsfehler61

Niedrigdimensionale Approximation

Die kleinsten Eigenwerte sind die unwichtigsten Wir konnen dieseldquoweglassenrdquo = auf Null setzenrarr eine Matrix mit kleinerem Rang dieaber relativ ahnlich zur Ausgangsmatrix istminus041 07 024minus029 minus033 minus072minus061 minus02 014minus061 minus02 014minus01 057 minus062

227 0 0

0 149 00 0 0

minus072 minus023 minus066019 085 minus05067 minus048 minus056

=

minus093 104 0minus0658 minus049 0minus138 minus0298 0minus138 minus0298 0minus0227 084 0

minus072 minus023 minus066

019 085 minus05067 minus048 minus056

=

087 109 011038 minus027 068093 005 106093 005 106032 077 minus027

62

Die niedrigdimensionale Approximation

Wir interessieren uns fur die Matrix U2 = UΣ2 also die Matrix mit demniedrigerem Rang

minus093 104 0minus0658 minus049 0minus138 minus0298 0minus138 minus0298 0minus0227 084 0

Man kann diese nun als die Reprasentation unserer 5 Worter mit zweiversteckten Dimensionen auffassen

h1 h2ship minus093 104boat minus0658 minus049

ocean minus138 minus0298motor minus138 minus0298wood minus0227 084

63

Neue Ahnlichkeitsberechnungen

h1 h2ship minus093 104boat minus0658 minus049

ocean minus138 minus0298motor minus138 minus0298wood minus0227 084

cossim(shipboat) =(minus093) middot (minus0658) + 104 middot (minus049)radic

(0932 + 1042) middotradic

(06582 + 0492)= 009

cossim(shipocean) =(minus093) middot (minus138) + 104 middot (minus029)radic

(0932 + 1042) middotradic

(1382 + 0292)= 049

cossim(boatocean) = 09

64

Variationen

Benutze nur Umtimesk zur Ahnlichkeitsberechnung

Benutze Umtimesk middotΣpktimesk zur Ahnlichkeitsberechnungrarr Parameter p

sollte getuned werden Kann groszlige Unterschiede machen

Oft p = 0p = 05p = 1

65

Performanz der Reduced-SVD-Embeddings

Levy O Goldberg Y Neural word embedding as implicit matrix factorization In

Advances in neural information processing systems 2014 S 2177-2185

(Englische) Wikipedia 15 Milliarden Tokens

Fenster 2 beiderseits

Vokabular 189 533 fur Terme sowie Kontexte

PPMI Matrizen

SVD sowie ohne Zerlegung (PPMI) sowie neurale (SGNS)

Algorithmus Spearman Rank zu WordSim 353SVD 0652SGNS 0633PPMI 0605

66

Latent Semantic Analysis und Word Embeddings

Levy2014

ldquoWe analyze skip-gram with negative-sampling (SGNS) [] and show that it isimplicitly factorizing a word-context matrix whose cells are the pointwise mutualinformation (PMI) of the respective word and context pairs shifted by a globalconstant When dense low-dimensional vectors are preferred exact factorizationwith SVD can achieve solutions that are at least as good as SGNSrsquoss solutions forword similarity tasks On analogy questions SGNS remains superior to SVD Weconjecture that this stems from the weighted nature of SGNSrsquos factorizationrdquo

67

Zusammenfassung

Reduced SVD resultiert in einer optimalen Approximation derOriginalmatrix mit niedrigerem Rang Optimal = optimal bzgl derFrobeniusnorm (bzw mean squared error)

Dadurch erhalten wir eine mathematisch fundierte dichtereMatrix die Rauschen (weniger wichtige Dimensionen) eliminiert

Wir konnen mittels Umtimesk Σktimesk weiterhin Wortahnlichkeitenberechnen

Es konnen Resultate erreicht werden die bei word similaritymindestens ebensogut sind wie mit neuralen word embeddings

Nachteile Kosten der SVD Berechnung fur mtimesn matrixO(n middotm2) (when m lt n)rarr Nicht gut fur sehr grosse Matrizen

Nachteile Geht nicht gut mit unbekannten Wortern um

Nachteile schlechter bei Wortanalogieaufgaben

68

Literatur

Guter erweiterter Hintergrundhttptheorystanfordedu˜tims15ll7pdf bishttptheorystanfordedu˜tims15ll9pdf

SVD Tutorial (ohne vollstandigen Hintergrund) Kirk Baker(2005) Singular Value Decomposition Tutorialhttpsdatajobscomdata-science-repoSVD-Tutorial-[Kirk-Baker]pdf Leider ist hier imKonstruktionsverfahren I die Vorzeichenproblematikfalschlicherweise nicht behandelt worden

Levy O Goldberg Y Neural word embedding as implicit matrixfactorization In Advances in neural information processingsystems 2014 S 2177-2185

Ubungsblatt II

69

  • SVD Hauptsatz
    • Der SVD-Satz
    • Konstruktion am Beispiel Methodologie I
    • Konstruktionsmethodologie II
      • Interpretation der SVD
      • Reduced SVD
      • Verwendung in NLP

Moglicher Schritt VIII Vorzeichenverbesserung

Nehmen wir mal an wir hatten bei V die falschen Vorzeichen gewahltZum Beispiel wir hatten fur σ2 = 10 anstatt (2minus10) den Vektor(minus210) gewahlt Damit ergibt sich

V =

1 minus2 12 1 21 0 minus5

und

V =

1radic6

minus2radic5

1radic30

2radic6

1radic5

2radic30

1radic6

0 minus5radic30

und

V T =

1radic6

2radic6

1radic6

minus2radic5

1radic5

01radic30

2radic30

minus5radic30

26

Moglicher Schritt VIII Vorzeichenverbesserung

Leider ist nun

UΣV T =

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00

radic10 0

)1radic6

2radic6

1radic6

minus2radic5

1radic5

01radic30

2radic30

minus5radic30

=

(radic12radic2

radic10radic2

0radic

12radic2

minusradic

10radic2

0

)1radic6

2radic6

1radic6

minus2radic5

1radic5

01radic30

2radic30

minus5radic30

=

(minus1 3 13 1 1

)

27

Moglicher Schritt VIII Vorzeichenverbesserung

Die unelegante Losung Gehe durch alle Zeilen von V T (Spalten vonV ) multizipliere sie systematisch mit minus1 bis es passt Durch dieMultiplikation mit minus1 bleiben die Vektoren immer noch normal undauch die Orthogonalitat andert sich nicht

Da eventuell auch mehrere Zeilen mit minus1 multipliziert werdenmussen ist dies leider exponentiell in der Zeilenanzahl von V T

(alle moglichen Kombinationen mussen probiert werden)

Es ist nicht gerade elegant

Man kann naturlich stattdessen auch durch die Spalten von Ugehen und diese anpassen

28

Konstruktionsmethodologie II

1 Berechne die quadratische ntimesn Matrix AT middotA2 Berechne die Eigenwerte σ2

j und Eigenvektoren vj von AT middotA3 Die Vektoren vj werden orthonormalisiert (Gram-Schmidt) und

bilden die Spaltenvektoren von V4 Die Wurzeln der σ2-Werte werden in absteigender Reihenfolge

die Eintrage von Σ

5 Die Spaltenvektoren von U bis zum Rang r der AT middotA Matrix sindnun eindeutig bestimmt aus der Vorgabe A = UΣV T und werdendaraus berechnet

6 Wenn r lt m mussen noch mminus r Vektoren zur Orthonormalbasiserganzt werden

29

Konstruktionsmethodologie II

1 Berechne die quadratische ntimesn Matrix AT middotA2 Berechne die Eigenwerte σ2

j und Eigenvektoren vj von AT middotA3 Die Vektoren vj werden orthonormalisiert (Gram-Schmidt) und

bilden die Spaltenvektoren von V4 Die Wurzeln der σ2-Werte werden in absteigender Reihenfolge

die Eintrage von Σ

5 Die Spaltenvektoren von U bis zum Rang r der AT middotA Matrix sindnun eindeutig bestimmt aus der Vorgabe A = UΣV T und werdendaraus berechnet

6 Wenn r lt m mussen noch mminus r Vektoren zur Orthonormalbasiserganzt werden

29

Konstruktionsmethodologie II

1 Berechne die quadratische ntimesn Matrix AT middotA2 Berechne die Eigenwerte σ2

j und Eigenvektoren vj von AT middotA3 Die Vektoren vj werden orthonormalisiert (Gram-Schmidt) und

bilden die Spaltenvektoren von V4 Die Wurzeln der σ2-Werte werden in absteigender Reihenfolge

die Eintrage von Σ

5 Die Spaltenvektoren von U bis zum Rang r der AT middotA Matrix sindnun eindeutig bestimmt aus der Vorgabe A = UΣV T und werdendaraus berechnet

6 Wenn r lt m mussen noch mminus r Vektoren zur Orthonormalbasiserganzt werden

29

Konstruktionsmethodologie II

1 Berechne die quadratische ntimesn Matrix AT middotA2 Berechne die Eigenwerte σ2

j und Eigenvektoren vj von AT middotA3 Die Vektoren vj werden orthonormalisiert (Gram-Schmidt) und

bilden die Spaltenvektoren von V4 Die Wurzeln der σ2-Werte werden in absteigender Reihenfolge

die Eintrage von Σ

5 Die Spaltenvektoren von U bis zum Rang r der AT middotA Matrix sindnun eindeutig bestimmt aus der Vorgabe A = UΣV T und werdendaraus berechnet

6 Wenn r lt m mussen noch mminus r Vektoren zur Orthonormalbasiserganzt werden

29

Schritt I Bestimme V T und Σ wie bisher

Nach dem ublichen Verfahren sei also V T zum Beispiel1radic6

2radic6

1radic6

minus2radic5

1radic5

01radic30

2radic30

minus5radic30

bzw V

V =

1radic6

minus2radic5

1radic30

2radic6

1radic5

2radic30

1radic6

0 minus5radic30

Die Vorzeichen konnten auch anders seinWeiterhin ist

Σ =

(radic12 0 00

radic10 0

)

30

Schritt II Bestimme U

Es muss gelten

A = UΣV T

und damit

AV = UΣV T V

Da V orthogonal ist V T V die Einheitsmatrix und damit

AV = UΣ

31

Schritt II Bestimme U

Man bilde nun eine ntimesm Matrix Σprime die genau auf denentsprechenden Diagonaleintragen 1σi stehen hat Im Beispiel ist

Σprime =

1radic12

0

0 1radic10

0 0

Es gilt dass Σ middotΣprime die mtimesm Einheitsmatrix istUnd damit

AVΣprime = UΣΣprime = U

32

Schritt II Bestimme U

Also giltU = AVΣprime

Damit gilt fur die Spalten von U wenn man sich dieMatrixmultiplikation genauer anschaut

u(j) =1σj

Av (j)

In unserem Beispiel

u(1) =1radic12

(3 1 1minus1 3 1

)1radic6

2radic6

1radic6

=

(1radic2

1radic2

)

33

Schritt II Bestimme U

Und ebenso

u(2) =1radic10

(3 1 1minus1 3 1

)minus2radic

51radic5

0

=

(minus1radic2

1radic2

)

Man sieht dass sich hier das veranderte Vorzeichen von v (2) imentgegengesetzten Vorzeichen von u(2) widerspiegelt Wir musstenauch nicht zweimal Eigenvektoren berechnen sondern U ist aus denvorherigen Berechnungen bestimmt

34

Beispiel mit einer Matrix mit niedrigerem Rang

Da wir durch 1σj

dividieren mussten geht dies nur fur Eigenwerteungleich Null Wenn aber die Matrizen niedrigere Range haben als mdann bekommen wir so nicht genugend U-Vektoren Was machen wirdann

Beispiel Sei eine Matrix von Rang 1 gegeben

A =

(1 01 0

)

35

Berechnung von V

AT A =

(1 10 0

)(1 01 0

)=

(2 00 0

)

36

Berechnung von V

(2 00 0

)hat die Eigenwerte 2 und 0 mit den jeweiligen Eigenvektoren (10)sowie (01)Daraus folgt

V =

(1 00 1

)Die ist schon eine Orthonormalmatrix also gilt V = V sowie daDiagonalmatrix V T = V

37

Bestimmung von Σ

Es gilt

Σ =

(radic2 0

0 0

)

38

Bestimmung von U

Der erste Spaltenvektor u(1) kann wie ublich bestimmt werden mit

u(1) =1radic2

Av (1) =1radic2

(1 01 0

)(10

)

=1radic2

(11

)=

(1radic2

1radic2

)

39

Bestimmung von U

Da wir keinen weiteren Eigenwert 6= 0 haben konnen wir leider sonicht weitermachen dh es geht nur bis zum Rang von A Es gilt aber(

1radic2

x21radic2

y2

)(radic2 0

0 0

)(1 00 1

)

=

(1 01 0

)= A

unabhangig von x2 und y2 Das heisst unser halb vollstandiges U istgenug fur eine Zerlegung

40

Bestimmung von U

1 Wir konnen also jedes x2 und y2 wahlen solange normiert undsenkrecht auf dem ersten Vektor stehend

2 Nach dem sogenannten Basiserganzungssatz geht dies immer3 In unserem Beispiel konnte man zum Beispiel (minus1radic

2 1radic

2) wahlen

4 Wie genau man diese weiteren Vektoren von U konstruiert ist furuns unerheblich da wir ja sowieso die letzten Spalten von U diezu den niedrigeren Eigenwerten gehoren ldquoabschneidenrdquowerden

41

SVD Zwischenfazit

Wir haben eine Matrix in das Produkt einer OrthonormalmatrixDiagonalmatrix und Orthogonalmatrix zerlegt

Die Diagonalmatrix enthalt die Wurzeln von den Eigenwerten vonA middotAT nach Groszlige geordnet

Die erste Orthonormalmatrix enthalt die orthonormalisiertenEigenvektoren von A middotAT nach Eigenwertgrosse geordnet alsSpalten

Die zweite Orthonormalmatrix ist die Transponierte der Matrixdie die orthonormalisierten Eigenvektoren von AT middotA nachEigenwertgrosse geordnet als Spalten enthalt

42

Ubersicht

1 SVD HauptsatzDer SVD-SatzKonstruktion am Beispiel Methodologie IKonstruktionsmethodologie II

2 Interpretation der SVD

3 Reduced SVD

4 Verwendung in NLP

43

Geometrische Interpretation bei quadratischen Matrizen

Bedeutung der SVD ist dass sich die Funktion in eine DrehungDrehspiegelung (V T )eine Verzerrung (Σ) und eine zweite DrehungDrehspiegelung (U) zerlegen lsst

Matrix

(1 10 1

)SVD Geometrische Interpretationa

aQuelle httpscommonswikimediaorgwikiFileSingular-Value-Decompositionsvg

44

Noch einige Bemerkungen

Die Eigenwerte und damit Σ sind eindeutig bestimmt

U und V sind nicht eindeutig bestimmt Es konnen Drehungenum 180 Grad oder Spiegelungen hinzukommen

Wir konnen in vielen Fallen einen Eigenvektor wahlen(Freiheitsgrade) mussen aber dann bei den Vorzeichen derzweiten Matrix aufpassen

45

Noch einige Bemerkungen

Wir haben implizit den Rang der Ursprungsmatrix A bestimmtDies kann man klar an U middotΣ sehen

A = UΣV T =

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00

radic10 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(radic12radic2

radic10radic2

0radic

12radic2

minusradic

10radic2

0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(3 1 1minus1 3 1

)

46

Noch einige Bemerkungen

Deswegen wird manchmal die Singularwertzerlegung auch alsZerlegung in drei Matrizen Amtimesn = Umtimesr Σrtimesr V T

rtimesn wobei r der Rangder Matrix A ist beschrieben

A = UΣV T =

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00

radic10 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 00

radic10

)( 1radic6

2radic6

1radic6

2radic5

minus1radic5

0

)=

(radic12radic2

radic10radic2radic

12radic2

minusradic

10radic2

)(1radic6

2radic6

1radic6

2radic5

minus1radic5

0

)=

(3 1 1minus1 3 1

)47

Noch einige Bemerkungen

Bisher haben wir immer die Ausgangsmatrix einfach reproduziert(mit dem gleichen Rang) Man sieht den Rang besser und es gilt

Die ldquoZerrungrdquo durch die Matrix Σ ist bei den Dimensionen mit denhochsten Eigenwerten am groszligten Beispiel

(radic12 0 00

radic10 0

)x1

x2

x3

=

(radic12 middot x1radic10 middot x2

)Es macht also Sinn dass wir wenn wir eine Approximationunserer Ausgangsmatrix mit niedrigerem Rang wollen dann dieunwichtigen Dimensionen die durch niedrige Eigenwertegekennzeichnet sind weglassen

48

Ubersicht

1 SVD HauptsatzDer SVD-SatzKonstruktion am Beispiel Methodologie IKonstruktionsmethodologie II

2 Interpretation der SVD

3 Reduced SVD

4 Verwendung in NLP

49

Reduced SVD Approximation niedrigeren Ranges

Approximation von mtimesn Matrix A mit Rang r durch mtimesn -Matrix Ak mit Rang k lt r

A = UΣV T asymp Ak = UΣk V T

Σk ist eine ldquodiagonalerdquo mtimesn - Matrix bei der nur auf den erstenk Stellen der Diagonalmatrix Werte 6= 0 stehen

U und V wie zuvor

50

Beispiel

A = UΣV T =

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00

radic10 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

asymp

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00 0 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(radic12radic2

0 0radic

12radic2

0 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(1 2 11 2 1

)51

Reduced SVD

Wir hatten auch nur die ersten k Spalten von U sowie die ersten kZeilen von V T behalten konnen

Aasymp

(1radic2

1radic2

)(radic12)( 1radic

62radic6

1radic6

)=

(radic12radic2radic

12radic2

)(1radic6

2radic6

1radic6

)=

(1 2 11 2 1

)

52

Als Bild

53

Als Algorithmus

Gegeben mtimesn Matrix A und gewunschter Rank k Wir produziereneine Rangminus k Approximation wie folgt

1 Wir berechnen eine SVD Zerlegung von A

Amtimesn = UmtimesmΣmtimesnV Tntimesn

2 Wir behalten nur die ersten k Spalten von U resultierend in Umtimesk

3 Wir behalten nur die Top k sprich die ersten k Diagonalwerte vonΣ resultierend in Σktimesk

4 Wir behalten nur die ersten k Reihen von V T resultierend in V Tktimesn

54

Reduced SVD

Diagonale Eintrage in Σk sind die k groszligten Eigenwerte vonA middotAT

Satz UΣk V T minimiert die Differenz der Frobenius-Normzwischen A und Ak unter der Bedingung rang(Ak ) = k

Das heisst Fur jede mtimesn Matrix A mit Rang r angestrebtemRang k lt r und jede mtimesn Matrix B mit Rang k gilt

Aminus Ak2 le AminusB2

wobei Ak die Rang-k Approximation ist die man aus der SVD vonA ableiten kann

55

Was hat man erreicht

Unkorrelierte Dimensionen (Orthonormalbasis) die nur nochverzerrt werden

Wir haben die Dimensionen mit der meisten Variation identifiziertund danach geordnet

ldquoUnwichtigerdquo Dimensionen werden weggelassenrarr Rauschenvermindert

Man braucht viel weniger Speicherplatz O(k(n + m)) anstattO(nm)

Die neuen ldquoverstecktenrdquo Dimensionen konnen zurAhnlichkeitsberechnung verwendet werden und funktionieren oftbesser

56

Wie wahlt man k

Meist empirisch Gesehen

1 In NLP oft die ersten 200 bis 300 Dimensionen2 In Recommender Systems Wahle k so dass die Summe der

ersten k Eigenwerte mindestens 10-mal der Summe alleranderen Eigenwerte

57

Ubersicht

1 SVD HauptsatzDer SVD-SatzKonstruktion am Beispiel Methodologie IKonstruktionsmethodologie II

2 Interpretation der SVD

3 Reduced SVD

4 Verwendung in NLP

58

Dichte Embeddings

A ist Matrix von m WorternTermen und n Kontexten (PPMIfrequency )Reduced SVD resultiert in Ak mit

Umtimesk ist mtimes k - MatrixZeilen von Umtimesk reprasentieren TermeSpalten in Umtimesk latente Reprasentation der KontexteBenutze Umtimesk middotΣktimesk zur Berechnung von Termahnlichkeiten

Vorteile gegenuber der vollen Term-Kontext-MatrixDichte MatrixDimensionsreduktion effizientere VerarbeitungDe-Noising

59

Dichte Embeddings

A ist Matrix von m WorternTermen und n Kontexten (PPMIfrequency )Reduced SVD resultiert in Ak mit

Umtimesk ist mtimes k - MatrixZeilen von Umtimesk reprasentieren TermeSpalten in Umtimesk latente Reprasentation der KontexteBenutze Umtimesk middotΣktimesk zur Berechnung von Termahnlichkeiten

Vorteile gegenuber der vollen Term-Kontext-MatrixDichte MatrixDimensionsreduktion effizientere VerarbeitungDe-Noising

59

Dichte Embeddings

A ist Matrix von m WorternTermen und n Kontexten (PPMIfrequency )Reduced SVD resultiert in Ak mit

Umtimesk ist mtimes k - MatrixZeilen von Umtimesk reprasentieren TermeSpalten in Umtimesk latente Reprasentation der KontexteBenutze Umtimesk middotΣktimesk zur Berechnung von Termahnlichkeiten

Vorteile gegenuber der vollen Term-Kontext-MatrixDichte MatrixDimensionsreduktion effizientere VerarbeitungDe-Noising

59

Das Beispiel vom Anfang

Eine Wort-Dokument-Matrix M aus dem R5times3

d1 d2 d3ship 1 1 0boat 0 0 1

ocean 1 0 1motor 1 0 1wood 0 1 0

cossim(shipboat) = 0

cossim(shipocean) =12

cossim(boatocean) =1radic2

= 07

60

SVD Zerlegung war

minus041 07 024minus029 minus033 minus072minus061 minus02 014minus061 minus02 014minus01 057 minus062

227 0 0

0 149 00 0 078

minus072 minus023 minus066019 085 minus05067 minus048 minus056

=

minus093 104 0187minus0658 minus049 minus056minus138 minus0298 01092minus138 minus0298 minus1092minus0227 084 minus0483

minus072 minus023 minus066

019 085 minus05067 minus048 minus056

=

1 1 00 0 11 0 11 0 10 1 0

Abweichungen sind Rundungsfehler61

Niedrigdimensionale Approximation

Die kleinsten Eigenwerte sind die unwichtigsten Wir konnen dieseldquoweglassenrdquo = auf Null setzenrarr eine Matrix mit kleinerem Rang dieaber relativ ahnlich zur Ausgangsmatrix istminus041 07 024minus029 minus033 minus072minus061 minus02 014minus061 minus02 014minus01 057 minus062

227 0 0

0 149 00 0 0

minus072 minus023 minus066019 085 minus05067 minus048 minus056

=

minus093 104 0minus0658 minus049 0minus138 minus0298 0minus138 minus0298 0minus0227 084 0

minus072 minus023 minus066

019 085 minus05067 minus048 minus056

=

087 109 011038 minus027 068093 005 106093 005 106032 077 minus027

62

Die niedrigdimensionale Approximation

Wir interessieren uns fur die Matrix U2 = UΣ2 also die Matrix mit demniedrigerem Rang

minus093 104 0minus0658 minus049 0minus138 minus0298 0minus138 minus0298 0minus0227 084 0

Man kann diese nun als die Reprasentation unserer 5 Worter mit zweiversteckten Dimensionen auffassen

h1 h2ship minus093 104boat minus0658 minus049

ocean minus138 minus0298motor minus138 minus0298wood minus0227 084

63

Neue Ahnlichkeitsberechnungen

h1 h2ship minus093 104boat minus0658 minus049

ocean minus138 minus0298motor minus138 minus0298wood minus0227 084

cossim(shipboat) =(minus093) middot (minus0658) + 104 middot (minus049)radic

(0932 + 1042) middotradic

(06582 + 0492)= 009

cossim(shipocean) =(minus093) middot (minus138) + 104 middot (minus029)radic

(0932 + 1042) middotradic

(1382 + 0292)= 049

cossim(boatocean) = 09

64

Variationen

Benutze nur Umtimesk zur Ahnlichkeitsberechnung

Benutze Umtimesk middotΣpktimesk zur Ahnlichkeitsberechnungrarr Parameter p

sollte getuned werden Kann groszlige Unterschiede machen

Oft p = 0p = 05p = 1

65

Performanz der Reduced-SVD-Embeddings

Levy O Goldberg Y Neural word embedding as implicit matrix factorization In

Advances in neural information processing systems 2014 S 2177-2185

(Englische) Wikipedia 15 Milliarden Tokens

Fenster 2 beiderseits

Vokabular 189 533 fur Terme sowie Kontexte

PPMI Matrizen

SVD sowie ohne Zerlegung (PPMI) sowie neurale (SGNS)

Algorithmus Spearman Rank zu WordSim 353SVD 0652SGNS 0633PPMI 0605

66

Latent Semantic Analysis und Word Embeddings

Levy2014

ldquoWe analyze skip-gram with negative-sampling (SGNS) [] and show that it isimplicitly factorizing a word-context matrix whose cells are the pointwise mutualinformation (PMI) of the respective word and context pairs shifted by a globalconstant When dense low-dimensional vectors are preferred exact factorizationwith SVD can achieve solutions that are at least as good as SGNSrsquoss solutions forword similarity tasks On analogy questions SGNS remains superior to SVD Weconjecture that this stems from the weighted nature of SGNSrsquos factorizationrdquo

67

Zusammenfassung

Reduced SVD resultiert in einer optimalen Approximation derOriginalmatrix mit niedrigerem Rang Optimal = optimal bzgl derFrobeniusnorm (bzw mean squared error)

Dadurch erhalten wir eine mathematisch fundierte dichtereMatrix die Rauschen (weniger wichtige Dimensionen) eliminiert

Wir konnen mittels Umtimesk Σktimesk weiterhin Wortahnlichkeitenberechnen

Es konnen Resultate erreicht werden die bei word similaritymindestens ebensogut sind wie mit neuralen word embeddings

Nachteile Kosten der SVD Berechnung fur mtimesn matrixO(n middotm2) (when m lt n)rarr Nicht gut fur sehr grosse Matrizen

Nachteile Geht nicht gut mit unbekannten Wortern um

Nachteile schlechter bei Wortanalogieaufgaben

68

Literatur

Guter erweiterter Hintergrundhttptheorystanfordedu˜tims15ll7pdf bishttptheorystanfordedu˜tims15ll9pdf

SVD Tutorial (ohne vollstandigen Hintergrund) Kirk Baker(2005) Singular Value Decomposition Tutorialhttpsdatajobscomdata-science-repoSVD-Tutorial-[Kirk-Baker]pdf Leider ist hier imKonstruktionsverfahren I die Vorzeichenproblematikfalschlicherweise nicht behandelt worden

Levy O Goldberg Y Neural word embedding as implicit matrixfactorization In Advances in neural information processingsystems 2014 S 2177-2185

Ubungsblatt II

69

  • SVD Hauptsatz
    • Der SVD-Satz
    • Konstruktion am Beispiel Methodologie I
    • Konstruktionsmethodologie II
      • Interpretation der SVD
      • Reduced SVD
      • Verwendung in NLP

Moglicher Schritt VIII Vorzeichenverbesserung

Leider ist nun

UΣV T =

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00

radic10 0

)1radic6

2radic6

1radic6

minus2radic5

1radic5

01radic30

2radic30

minus5radic30

=

(radic12radic2

radic10radic2

0radic

12radic2

minusradic

10radic2

0

)1radic6

2radic6

1radic6

minus2radic5

1radic5

01radic30

2radic30

minus5radic30

=

(minus1 3 13 1 1

)

27

Moglicher Schritt VIII Vorzeichenverbesserung

Die unelegante Losung Gehe durch alle Zeilen von V T (Spalten vonV ) multizipliere sie systematisch mit minus1 bis es passt Durch dieMultiplikation mit minus1 bleiben die Vektoren immer noch normal undauch die Orthogonalitat andert sich nicht

Da eventuell auch mehrere Zeilen mit minus1 multipliziert werdenmussen ist dies leider exponentiell in der Zeilenanzahl von V T

(alle moglichen Kombinationen mussen probiert werden)

Es ist nicht gerade elegant

Man kann naturlich stattdessen auch durch die Spalten von Ugehen und diese anpassen

28

Konstruktionsmethodologie II

1 Berechne die quadratische ntimesn Matrix AT middotA2 Berechne die Eigenwerte σ2

j und Eigenvektoren vj von AT middotA3 Die Vektoren vj werden orthonormalisiert (Gram-Schmidt) und

bilden die Spaltenvektoren von V4 Die Wurzeln der σ2-Werte werden in absteigender Reihenfolge

die Eintrage von Σ

5 Die Spaltenvektoren von U bis zum Rang r der AT middotA Matrix sindnun eindeutig bestimmt aus der Vorgabe A = UΣV T und werdendaraus berechnet

6 Wenn r lt m mussen noch mminus r Vektoren zur Orthonormalbasiserganzt werden

29

Konstruktionsmethodologie II

1 Berechne die quadratische ntimesn Matrix AT middotA2 Berechne die Eigenwerte σ2

j und Eigenvektoren vj von AT middotA3 Die Vektoren vj werden orthonormalisiert (Gram-Schmidt) und

bilden die Spaltenvektoren von V4 Die Wurzeln der σ2-Werte werden in absteigender Reihenfolge

die Eintrage von Σ

5 Die Spaltenvektoren von U bis zum Rang r der AT middotA Matrix sindnun eindeutig bestimmt aus der Vorgabe A = UΣV T und werdendaraus berechnet

6 Wenn r lt m mussen noch mminus r Vektoren zur Orthonormalbasiserganzt werden

29

Konstruktionsmethodologie II

1 Berechne die quadratische ntimesn Matrix AT middotA2 Berechne die Eigenwerte σ2

j und Eigenvektoren vj von AT middotA3 Die Vektoren vj werden orthonormalisiert (Gram-Schmidt) und

bilden die Spaltenvektoren von V4 Die Wurzeln der σ2-Werte werden in absteigender Reihenfolge

die Eintrage von Σ

5 Die Spaltenvektoren von U bis zum Rang r der AT middotA Matrix sindnun eindeutig bestimmt aus der Vorgabe A = UΣV T und werdendaraus berechnet

6 Wenn r lt m mussen noch mminus r Vektoren zur Orthonormalbasiserganzt werden

29

Konstruktionsmethodologie II

1 Berechne die quadratische ntimesn Matrix AT middotA2 Berechne die Eigenwerte σ2

j und Eigenvektoren vj von AT middotA3 Die Vektoren vj werden orthonormalisiert (Gram-Schmidt) und

bilden die Spaltenvektoren von V4 Die Wurzeln der σ2-Werte werden in absteigender Reihenfolge

die Eintrage von Σ

5 Die Spaltenvektoren von U bis zum Rang r der AT middotA Matrix sindnun eindeutig bestimmt aus der Vorgabe A = UΣV T und werdendaraus berechnet

6 Wenn r lt m mussen noch mminus r Vektoren zur Orthonormalbasiserganzt werden

29

Schritt I Bestimme V T und Σ wie bisher

Nach dem ublichen Verfahren sei also V T zum Beispiel1radic6

2radic6

1radic6

minus2radic5

1radic5

01radic30

2radic30

minus5radic30

bzw V

V =

1radic6

minus2radic5

1radic30

2radic6

1radic5

2radic30

1radic6

0 minus5radic30

Die Vorzeichen konnten auch anders seinWeiterhin ist

Σ =

(radic12 0 00

radic10 0

)

30

Schritt II Bestimme U

Es muss gelten

A = UΣV T

und damit

AV = UΣV T V

Da V orthogonal ist V T V die Einheitsmatrix und damit

AV = UΣ

31

Schritt II Bestimme U

Man bilde nun eine ntimesm Matrix Σprime die genau auf denentsprechenden Diagonaleintragen 1σi stehen hat Im Beispiel ist

Σprime =

1radic12

0

0 1radic10

0 0

Es gilt dass Σ middotΣprime die mtimesm Einheitsmatrix istUnd damit

AVΣprime = UΣΣprime = U

32

Schritt II Bestimme U

Also giltU = AVΣprime

Damit gilt fur die Spalten von U wenn man sich dieMatrixmultiplikation genauer anschaut

u(j) =1σj

Av (j)

In unserem Beispiel

u(1) =1radic12

(3 1 1minus1 3 1

)1radic6

2radic6

1radic6

=

(1radic2

1radic2

)

33

Schritt II Bestimme U

Und ebenso

u(2) =1radic10

(3 1 1minus1 3 1

)minus2radic

51radic5

0

=

(minus1radic2

1radic2

)

Man sieht dass sich hier das veranderte Vorzeichen von v (2) imentgegengesetzten Vorzeichen von u(2) widerspiegelt Wir musstenauch nicht zweimal Eigenvektoren berechnen sondern U ist aus denvorherigen Berechnungen bestimmt

34

Beispiel mit einer Matrix mit niedrigerem Rang

Da wir durch 1σj

dividieren mussten geht dies nur fur Eigenwerteungleich Null Wenn aber die Matrizen niedrigere Range haben als mdann bekommen wir so nicht genugend U-Vektoren Was machen wirdann

Beispiel Sei eine Matrix von Rang 1 gegeben

A =

(1 01 0

)

35

Berechnung von V

AT A =

(1 10 0

)(1 01 0

)=

(2 00 0

)

36

Berechnung von V

(2 00 0

)hat die Eigenwerte 2 und 0 mit den jeweiligen Eigenvektoren (10)sowie (01)Daraus folgt

V =

(1 00 1

)Die ist schon eine Orthonormalmatrix also gilt V = V sowie daDiagonalmatrix V T = V

37

Bestimmung von Σ

Es gilt

Σ =

(radic2 0

0 0

)

38

Bestimmung von U

Der erste Spaltenvektor u(1) kann wie ublich bestimmt werden mit

u(1) =1radic2

Av (1) =1radic2

(1 01 0

)(10

)

=1radic2

(11

)=

(1radic2

1radic2

)

39

Bestimmung von U

Da wir keinen weiteren Eigenwert 6= 0 haben konnen wir leider sonicht weitermachen dh es geht nur bis zum Rang von A Es gilt aber(

1radic2

x21radic2

y2

)(radic2 0

0 0

)(1 00 1

)

=

(1 01 0

)= A

unabhangig von x2 und y2 Das heisst unser halb vollstandiges U istgenug fur eine Zerlegung

40

Bestimmung von U

1 Wir konnen also jedes x2 und y2 wahlen solange normiert undsenkrecht auf dem ersten Vektor stehend

2 Nach dem sogenannten Basiserganzungssatz geht dies immer3 In unserem Beispiel konnte man zum Beispiel (minus1radic

2 1radic

2) wahlen

4 Wie genau man diese weiteren Vektoren von U konstruiert ist furuns unerheblich da wir ja sowieso die letzten Spalten von U diezu den niedrigeren Eigenwerten gehoren ldquoabschneidenrdquowerden

41

SVD Zwischenfazit

Wir haben eine Matrix in das Produkt einer OrthonormalmatrixDiagonalmatrix und Orthogonalmatrix zerlegt

Die Diagonalmatrix enthalt die Wurzeln von den Eigenwerten vonA middotAT nach Groszlige geordnet

Die erste Orthonormalmatrix enthalt die orthonormalisiertenEigenvektoren von A middotAT nach Eigenwertgrosse geordnet alsSpalten

Die zweite Orthonormalmatrix ist die Transponierte der Matrixdie die orthonormalisierten Eigenvektoren von AT middotA nachEigenwertgrosse geordnet als Spalten enthalt

42

Ubersicht

1 SVD HauptsatzDer SVD-SatzKonstruktion am Beispiel Methodologie IKonstruktionsmethodologie II

2 Interpretation der SVD

3 Reduced SVD

4 Verwendung in NLP

43

Geometrische Interpretation bei quadratischen Matrizen

Bedeutung der SVD ist dass sich die Funktion in eine DrehungDrehspiegelung (V T )eine Verzerrung (Σ) und eine zweite DrehungDrehspiegelung (U) zerlegen lsst

Matrix

(1 10 1

)SVD Geometrische Interpretationa

aQuelle httpscommonswikimediaorgwikiFileSingular-Value-Decompositionsvg

44

Noch einige Bemerkungen

Die Eigenwerte und damit Σ sind eindeutig bestimmt

U und V sind nicht eindeutig bestimmt Es konnen Drehungenum 180 Grad oder Spiegelungen hinzukommen

Wir konnen in vielen Fallen einen Eigenvektor wahlen(Freiheitsgrade) mussen aber dann bei den Vorzeichen derzweiten Matrix aufpassen

45

Noch einige Bemerkungen

Wir haben implizit den Rang der Ursprungsmatrix A bestimmtDies kann man klar an U middotΣ sehen

A = UΣV T =

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00

radic10 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(radic12radic2

radic10radic2

0radic

12radic2

minusradic

10radic2

0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(3 1 1minus1 3 1

)

46

Noch einige Bemerkungen

Deswegen wird manchmal die Singularwertzerlegung auch alsZerlegung in drei Matrizen Amtimesn = Umtimesr Σrtimesr V T

rtimesn wobei r der Rangder Matrix A ist beschrieben

A = UΣV T =

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00

radic10 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 00

radic10

)( 1radic6

2radic6

1radic6

2radic5

minus1radic5

0

)=

(radic12radic2

radic10radic2radic

12radic2

minusradic

10radic2

)(1radic6

2radic6

1radic6

2radic5

minus1radic5

0

)=

(3 1 1minus1 3 1

)47

Noch einige Bemerkungen

Bisher haben wir immer die Ausgangsmatrix einfach reproduziert(mit dem gleichen Rang) Man sieht den Rang besser und es gilt

Die ldquoZerrungrdquo durch die Matrix Σ ist bei den Dimensionen mit denhochsten Eigenwerten am groszligten Beispiel

(radic12 0 00

radic10 0

)x1

x2

x3

=

(radic12 middot x1radic10 middot x2

)Es macht also Sinn dass wir wenn wir eine Approximationunserer Ausgangsmatrix mit niedrigerem Rang wollen dann dieunwichtigen Dimensionen die durch niedrige Eigenwertegekennzeichnet sind weglassen

48

Ubersicht

1 SVD HauptsatzDer SVD-SatzKonstruktion am Beispiel Methodologie IKonstruktionsmethodologie II

2 Interpretation der SVD

3 Reduced SVD

4 Verwendung in NLP

49

Reduced SVD Approximation niedrigeren Ranges

Approximation von mtimesn Matrix A mit Rang r durch mtimesn -Matrix Ak mit Rang k lt r

A = UΣV T asymp Ak = UΣk V T

Σk ist eine ldquodiagonalerdquo mtimesn - Matrix bei der nur auf den erstenk Stellen der Diagonalmatrix Werte 6= 0 stehen

U und V wie zuvor

50

Beispiel

A = UΣV T =

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00

radic10 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

asymp

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00 0 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(radic12radic2

0 0radic

12radic2

0 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(1 2 11 2 1

)51

Reduced SVD

Wir hatten auch nur die ersten k Spalten von U sowie die ersten kZeilen von V T behalten konnen

Aasymp

(1radic2

1radic2

)(radic12)( 1radic

62radic6

1radic6

)=

(radic12radic2radic

12radic2

)(1radic6

2radic6

1radic6

)=

(1 2 11 2 1

)

52

Als Bild

53

Als Algorithmus

Gegeben mtimesn Matrix A und gewunschter Rank k Wir produziereneine Rangminus k Approximation wie folgt

1 Wir berechnen eine SVD Zerlegung von A

Amtimesn = UmtimesmΣmtimesnV Tntimesn

2 Wir behalten nur die ersten k Spalten von U resultierend in Umtimesk

3 Wir behalten nur die Top k sprich die ersten k Diagonalwerte vonΣ resultierend in Σktimesk

4 Wir behalten nur die ersten k Reihen von V T resultierend in V Tktimesn

54

Reduced SVD

Diagonale Eintrage in Σk sind die k groszligten Eigenwerte vonA middotAT

Satz UΣk V T minimiert die Differenz der Frobenius-Normzwischen A und Ak unter der Bedingung rang(Ak ) = k

Das heisst Fur jede mtimesn Matrix A mit Rang r angestrebtemRang k lt r und jede mtimesn Matrix B mit Rang k gilt

Aminus Ak2 le AminusB2

wobei Ak die Rang-k Approximation ist die man aus der SVD vonA ableiten kann

55

Was hat man erreicht

Unkorrelierte Dimensionen (Orthonormalbasis) die nur nochverzerrt werden

Wir haben die Dimensionen mit der meisten Variation identifiziertund danach geordnet

ldquoUnwichtigerdquo Dimensionen werden weggelassenrarr Rauschenvermindert

Man braucht viel weniger Speicherplatz O(k(n + m)) anstattO(nm)

Die neuen ldquoverstecktenrdquo Dimensionen konnen zurAhnlichkeitsberechnung verwendet werden und funktionieren oftbesser

56

Wie wahlt man k

Meist empirisch Gesehen

1 In NLP oft die ersten 200 bis 300 Dimensionen2 In Recommender Systems Wahle k so dass die Summe der

ersten k Eigenwerte mindestens 10-mal der Summe alleranderen Eigenwerte

57

Ubersicht

1 SVD HauptsatzDer SVD-SatzKonstruktion am Beispiel Methodologie IKonstruktionsmethodologie II

2 Interpretation der SVD

3 Reduced SVD

4 Verwendung in NLP

58

Dichte Embeddings

A ist Matrix von m WorternTermen und n Kontexten (PPMIfrequency )Reduced SVD resultiert in Ak mit

Umtimesk ist mtimes k - MatrixZeilen von Umtimesk reprasentieren TermeSpalten in Umtimesk latente Reprasentation der KontexteBenutze Umtimesk middotΣktimesk zur Berechnung von Termahnlichkeiten

Vorteile gegenuber der vollen Term-Kontext-MatrixDichte MatrixDimensionsreduktion effizientere VerarbeitungDe-Noising

59

Dichte Embeddings

A ist Matrix von m WorternTermen und n Kontexten (PPMIfrequency )Reduced SVD resultiert in Ak mit

Umtimesk ist mtimes k - MatrixZeilen von Umtimesk reprasentieren TermeSpalten in Umtimesk latente Reprasentation der KontexteBenutze Umtimesk middotΣktimesk zur Berechnung von Termahnlichkeiten

Vorteile gegenuber der vollen Term-Kontext-MatrixDichte MatrixDimensionsreduktion effizientere VerarbeitungDe-Noising

59

Dichte Embeddings

A ist Matrix von m WorternTermen und n Kontexten (PPMIfrequency )Reduced SVD resultiert in Ak mit

Umtimesk ist mtimes k - MatrixZeilen von Umtimesk reprasentieren TermeSpalten in Umtimesk latente Reprasentation der KontexteBenutze Umtimesk middotΣktimesk zur Berechnung von Termahnlichkeiten

Vorteile gegenuber der vollen Term-Kontext-MatrixDichte MatrixDimensionsreduktion effizientere VerarbeitungDe-Noising

59

Das Beispiel vom Anfang

Eine Wort-Dokument-Matrix M aus dem R5times3

d1 d2 d3ship 1 1 0boat 0 0 1

ocean 1 0 1motor 1 0 1wood 0 1 0

cossim(shipboat) = 0

cossim(shipocean) =12

cossim(boatocean) =1radic2

= 07

60

SVD Zerlegung war

minus041 07 024minus029 minus033 minus072minus061 minus02 014minus061 minus02 014minus01 057 minus062

227 0 0

0 149 00 0 078

minus072 minus023 minus066019 085 minus05067 minus048 minus056

=

minus093 104 0187minus0658 minus049 minus056minus138 minus0298 01092minus138 minus0298 minus1092minus0227 084 minus0483

minus072 minus023 minus066

019 085 minus05067 minus048 minus056

=

1 1 00 0 11 0 11 0 10 1 0

Abweichungen sind Rundungsfehler61

Niedrigdimensionale Approximation

Die kleinsten Eigenwerte sind die unwichtigsten Wir konnen dieseldquoweglassenrdquo = auf Null setzenrarr eine Matrix mit kleinerem Rang dieaber relativ ahnlich zur Ausgangsmatrix istminus041 07 024minus029 minus033 minus072minus061 minus02 014minus061 minus02 014minus01 057 minus062

227 0 0

0 149 00 0 0

minus072 minus023 minus066019 085 minus05067 minus048 minus056

=

minus093 104 0minus0658 minus049 0minus138 minus0298 0minus138 minus0298 0minus0227 084 0

minus072 minus023 minus066

019 085 minus05067 minus048 minus056

=

087 109 011038 minus027 068093 005 106093 005 106032 077 minus027

62

Die niedrigdimensionale Approximation

Wir interessieren uns fur die Matrix U2 = UΣ2 also die Matrix mit demniedrigerem Rang

minus093 104 0minus0658 minus049 0minus138 minus0298 0minus138 minus0298 0minus0227 084 0

Man kann diese nun als die Reprasentation unserer 5 Worter mit zweiversteckten Dimensionen auffassen

h1 h2ship minus093 104boat minus0658 minus049

ocean minus138 minus0298motor minus138 minus0298wood minus0227 084

63

Neue Ahnlichkeitsberechnungen

h1 h2ship minus093 104boat minus0658 minus049

ocean minus138 minus0298motor minus138 minus0298wood minus0227 084

cossim(shipboat) =(minus093) middot (minus0658) + 104 middot (minus049)radic

(0932 + 1042) middotradic

(06582 + 0492)= 009

cossim(shipocean) =(minus093) middot (minus138) + 104 middot (minus029)radic

(0932 + 1042) middotradic

(1382 + 0292)= 049

cossim(boatocean) = 09

64

Variationen

Benutze nur Umtimesk zur Ahnlichkeitsberechnung

Benutze Umtimesk middotΣpktimesk zur Ahnlichkeitsberechnungrarr Parameter p

sollte getuned werden Kann groszlige Unterschiede machen

Oft p = 0p = 05p = 1

65

Performanz der Reduced-SVD-Embeddings

Levy O Goldberg Y Neural word embedding as implicit matrix factorization In

Advances in neural information processing systems 2014 S 2177-2185

(Englische) Wikipedia 15 Milliarden Tokens

Fenster 2 beiderseits

Vokabular 189 533 fur Terme sowie Kontexte

PPMI Matrizen

SVD sowie ohne Zerlegung (PPMI) sowie neurale (SGNS)

Algorithmus Spearman Rank zu WordSim 353SVD 0652SGNS 0633PPMI 0605

66

Latent Semantic Analysis und Word Embeddings

Levy2014

ldquoWe analyze skip-gram with negative-sampling (SGNS) [] and show that it isimplicitly factorizing a word-context matrix whose cells are the pointwise mutualinformation (PMI) of the respective word and context pairs shifted by a globalconstant When dense low-dimensional vectors are preferred exact factorizationwith SVD can achieve solutions that are at least as good as SGNSrsquoss solutions forword similarity tasks On analogy questions SGNS remains superior to SVD Weconjecture that this stems from the weighted nature of SGNSrsquos factorizationrdquo

67

Zusammenfassung

Reduced SVD resultiert in einer optimalen Approximation derOriginalmatrix mit niedrigerem Rang Optimal = optimal bzgl derFrobeniusnorm (bzw mean squared error)

Dadurch erhalten wir eine mathematisch fundierte dichtereMatrix die Rauschen (weniger wichtige Dimensionen) eliminiert

Wir konnen mittels Umtimesk Σktimesk weiterhin Wortahnlichkeitenberechnen

Es konnen Resultate erreicht werden die bei word similaritymindestens ebensogut sind wie mit neuralen word embeddings

Nachteile Kosten der SVD Berechnung fur mtimesn matrixO(n middotm2) (when m lt n)rarr Nicht gut fur sehr grosse Matrizen

Nachteile Geht nicht gut mit unbekannten Wortern um

Nachteile schlechter bei Wortanalogieaufgaben

68

Literatur

Guter erweiterter Hintergrundhttptheorystanfordedu˜tims15ll7pdf bishttptheorystanfordedu˜tims15ll9pdf

SVD Tutorial (ohne vollstandigen Hintergrund) Kirk Baker(2005) Singular Value Decomposition Tutorialhttpsdatajobscomdata-science-repoSVD-Tutorial-[Kirk-Baker]pdf Leider ist hier imKonstruktionsverfahren I die Vorzeichenproblematikfalschlicherweise nicht behandelt worden

Levy O Goldberg Y Neural word embedding as implicit matrixfactorization In Advances in neural information processingsystems 2014 S 2177-2185

Ubungsblatt II

69

  • SVD Hauptsatz
    • Der SVD-Satz
    • Konstruktion am Beispiel Methodologie I
    • Konstruktionsmethodologie II
      • Interpretation der SVD
      • Reduced SVD
      • Verwendung in NLP

Moglicher Schritt VIII Vorzeichenverbesserung

Die unelegante Losung Gehe durch alle Zeilen von V T (Spalten vonV ) multizipliere sie systematisch mit minus1 bis es passt Durch dieMultiplikation mit minus1 bleiben die Vektoren immer noch normal undauch die Orthogonalitat andert sich nicht

Da eventuell auch mehrere Zeilen mit minus1 multipliziert werdenmussen ist dies leider exponentiell in der Zeilenanzahl von V T

(alle moglichen Kombinationen mussen probiert werden)

Es ist nicht gerade elegant

Man kann naturlich stattdessen auch durch die Spalten von Ugehen und diese anpassen

28

Konstruktionsmethodologie II

1 Berechne die quadratische ntimesn Matrix AT middotA2 Berechne die Eigenwerte σ2

j und Eigenvektoren vj von AT middotA3 Die Vektoren vj werden orthonormalisiert (Gram-Schmidt) und

bilden die Spaltenvektoren von V4 Die Wurzeln der σ2-Werte werden in absteigender Reihenfolge

die Eintrage von Σ

5 Die Spaltenvektoren von U bis zum Rang r der AT middotA Matrix sindnun eindeutig bestimmt aus der Vorgabe A = UΣV T und werdendaraus berechnet

6 Wenn r lt m mussen noch mminus r Vektoren zur Orthonormalbasiserganzt werden

29

Konstruktionsmethodologie II

1 Berechne die quadratische ntimesn Matrix AT middotA2 Berechne die Eigenwerte σ2

j und Eigenvektoren vj von AT middotA3 Die Vektoren vj werden orthonormalisiert (Gram-Schmidt) und

bilden die Spaltenvektoren von V4 Die Wurzeln der σ2-Werte werden in absteigender Reihenfolge

die Eintrage von Σ

5 Die Spaltenvektoren von U bis zum Rang r der AT middotA Matrix sindnun eindeutig bestimmt aus der Vorgabe A = UΣV T und werdendaraus berechnet

6 Wenn r lt m mussen noch mminus r Vektoren zur Orthonormalbasiserganzt werden

29

Konstruktionsmethodologie II

1 Berechne die quadratische ntimesn Matrix AT middotA2 Berechne die Eigenwerte σ2

j und Eigenvektoren vj von AT middotA3 Die Vektoren vj werden orthonormalisiert (Gram-Schmidt) und

bilden die Spaltenvektoren von V4 Die Wurzeln der σ2-Werte werden in absteigender Reihenfolge

die Eintrage von Σ

5 Die Spaltenvektoren von U bis zum Rang r der AT middotA Matrix sindnun eindeutig bestimmt aus der Vorgabe A = UΣV T und werdendaraus berechnet

6 Wenn r lt m mussen noch mminus r Vektoren zur Orthonormalbasiserganzt werden

29

Konstruktionsmethodologie II

1 Berechne die quadratische ntimesn Matrix AT middotA2 Berechne die Eigenwerte σ2

j und Eigenvektoren vj von AT middotA3 Die Vektoren vj werden orthonormalisiert (Gram-Schmidt) und

bilden die Spaltenvektoren von V4 Die Wurzeln der σ2-Werte werden in absteigender Reihenfolge

die Eintrage von Σ

5 Die Spaltenvektoren von U bis zum Rang r der AT middotA Matrix sindnun eindeutig bestimmt aus der Vorgabe A = UΣV T und werdendaraus berechnet

6 Wenn r lt m mussen noch mminus r Vektoren zur Orthonormalbasiserganzt werden

29

Schritt I Bestimme V T und Σ wie bisher

Nach dem ublichen Verfahren sei also V T zum Beispiel1radic6

2radic6

1radic6

minus2radic5

1radic5

01radic30

2radic30

minus5radic30

bzw V

V =

1radic6

minus2radic5

1radic30

2radic6

1radic5

2radic30

1radic6

0 minus5radic30

Die Vorzeichen konnten auch anders seinWeiterhin ist

Σ =

(radic12 0 00

radic10 0

)

30

Schritt II Bestimme U

Es muss gelten

A = UΣV T

und damit

AV = UΣV T V

Da V orthogonal ist V T V die Einheitsmatrix und damit

AV = UΣ

31

Schritt II Bestimme U

Man bilde nun eine ntimesm Matrix Σprime die genau auf denentsprechenden Diagonaleintragen 1σi stehen hat Im Beispiel ist

Σprime =

1radic12

0

0 1radic10

0 0

Es gilt dass Σ middotΣprime die mtimesm Einheitsmatrix istUnd damit

AVΣprime = UΣΣprime = U

32

Schritt II Bestimme U

Also giltU = AVΣprime

Damit gilt fur die Spalten von U wenn man sich dieMatrixmultiplikation genauer anschaut

u(j) =1σj

Av (j)

In unserem Beispiel

u(1) =1radic12

(3 1 1minus1 3 1

)1radic6

2radic6

1radic6

=

(1radic2

1radic2

)

33

Schritt II Bestimme U

Und ebenso

u(2) =1radic10

(3 1 1minus1 3 1

)minus2radic

51radic5

0

=

(minus1radic2

1radic2

)

Man sieht dass sich hier das veranderte Vorzeichen von v (2) imentgegengesetzten Vorzeichen von u(2) widerspiegelt Wir musstenauch nicht zweimal Eigenvektoren berechnen sondern U ist aus denvorherigen Berechnungen bestimmt

34

Beispiel mit einer Matrix mit niedrigerem Rang

Da wir durch 1σj

dividieren mussten geht dies nur fur Eigenwerteungleich Null Wenn aber die Matrizen niedrigere Range haben als mdann bekommen wir so nicht genugend U-Vektoren Was machen wirdann

Beispiel Sei eine Matrix von Rang 1 gegeben

A =

(1 01 0

)

35

Berechnung von V

AT A =

(1 10 0

)(1 01 0

)=

(2 00 0

)

36

Berechnung von V

(2 00 0

)hat die Eigenwerte 2 und 0 mit den jeweiligen Eigenvektoren (10)sowie (01)Daraus folgt

V =

(1 00 1

)Die ist schon eine Orthonormalmatrix also gilt V = V sowie daDiagonalmatrix V T = V

37

Bestimmung von Σ

Es gilt

Σ =

(radic2 0

0 0

)

38

Bestimmung von U

Der erste Spaltenvektor u(1) kann wie ublich bestimmt werden mit

u(1) =1radic2

Av (1) =1radic2

(1 01 0

)(10

)

=1radic2

(11

)=

(1radic2

1radic2

)

39

Bestimmung von U

Da wir keinen weiteren Eigenwert 6= 0 haben konnen wir leider sonicht weitermachen dh es geht nur bis zum Rang von A Es gilt aber(

1radic2

x21radic2

y2

)(radic2 0

0 0

)(1 00 1

)

=

(1 01 0

)= A

unabhangig von x2 und y2 Das heisst unser halb vollstandiges U istgenug fur eine Zerlegung

40

Bestimmung von U

1 Wir konnen also jedes x2 und y2 wahlen solange normiert undsenkrecht auf dem ersten Vektor stehend

2 Nach dem sogenannten Basiserganzungssatz geht dies immer3 In unserem Beispiel konnte man zum Beispiel (minus1radic

2 1radic

2) wahlen

4 Wie genau man diese weiteren Vektoren von U konstruiert ist furuns unerheblich da wir ja sowieso die letzten Spalten von U diezu den niedrigeren Eigenwerten gehoren ldquoabschneidenrdquowerden

41

SVD Zwischenfazit

Wir haben eine Matrix in das Produkt einer OrthonormalmatrixDiagonalmatrix und Orthogonalmatrix zerlegt

Die Diagonalmatrix enthalt die Wurzeln von den Eigenwerten vonA middotAT nach Groszlige geordnet

Die erste Orthonormalmatrix enthalt die orthonormalisiertenEigenvektoren von A middotAT nach Eigenwertgrosse geordnet alsSpalten

Die zweite Orthonormalmatrix ist die Transponierte der Matrixdie die orthonormalisierten Eigenvektoren von AT middotA nachEigenwertgrosse geordnet als Spalten enthalt

42

Ubersicht

1 SVD HauptsatzDer SVD-SatzKonstruktion am Beispiel Methodologie IKonstruktionsmethodologie II

2 Interpretation der SVD

3 Reduced SVD

4 Verwendung in NLP

43

Geometrische Interpretation bei quadratischen Matrizen

Bedeutung der SVD ist dass sich die Funktion in eine DrehungDrehspiegelung (V T )eine Verzerrung (Σ) und eine zweite DrehungDrehspiegelung (U) zerlegen lsst

Matrix

(1 10 1

)SVD Geometrische Interpretationa

aQuelle httpscommonswikimediaorgwikiFileSingular-Value-Decompositionsvg

44

Noch einige Bemerkungen

Die Eigenwerte und damit Σ sind eindeutig bestimmt

U und V sind nicht eindeutig bestimmt Es konnen Drehungenum 180 Grad oder Spiegelungen hinzukommen

Wir konnen in vielen Fallen einen Eigenvektor wahlen(Freiheitsgrade) mussen aber dann bei den Vorzeichen derzweiten Matrix aufpassen

45

Noch einige Bemerkungen

Wir haben implizit den Rang der Ursprungsmatrix A bestimmtDies kann man klar an U middotΣ sehen

A = UΣV T =

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00

radic10 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(radic12radic2

radic10radic2

0radic

12radic2

minusradic

10radic2

0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(3 1 1minus1 3 1

)

46

Noch einige Bemerkungen

Deswegen wird manchmal die Singularwertzerlegung auch alsZerlegung in drei Matrizen Amtimesn = Umtimesr Σrtimesr V T

rtimesn wobei r der Rangder Matrix A ist beschrieben

A = UΣV T =

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00

radic10 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 00

radic10

)( 1radic6

2radic6

1radic6

2radic5

minus1radic5

0

)=

(radic12radic2

radic10radic2radic

12radic2

minusradic

10radic2

)(1radic6

2radic6

1radic6

2radic5

minus1radic5

0

)=

(3 1 1minus1 3 1

)47

Noch einige Bemerkungen

Bisher haben wir immer die Ausgangsmatrix einfach reproduziert(mit dem gleichen Rang) Man sieht den Rang besser und es gilt

Die ldquoZerrungrdquo durch die Matrix Σ ist bei den Dimensionen mit denhochsten Eigenwerten am groszligten Beispiel

(radic12 0 00

radic10 0

)x1

x2

x3

=

(radic12 middot x1radic10 middot x2

)Es macht also Sinn dass wir wenn wir eine Approximationunserer Ausgangsmatrix mit niedrigerem Rang wollen dann dieunwichtigen Dimensionen die durch niedrige Eigenwertegekennzeichnet sind weglassen

48

Ubersicht

1 SVD HauptsatzDer SVD-SatzKonstruktion am Beispiel Methodologie IKonstruktionsmethodologie II

2 Interpretation der SVD

3 Reduced SVD

4 Verwendung in NLP

49

Reduced SVD Approximation niedrigeren Ranges

Approximation von mtimesn Matrix A mit Rang r durch mtimesn -Matrix Ak mit Rang k lt r

A = UΣV T asymp Ak = UΣk V T

Σk ist eine ldquodiagonalerdquo mtimesn - Matrix bei der nur auf den erstenk Stellen der Diagonalmatrix Werte 6= 0 stehen

U und V wie zuvor

50

Beispiel

A = UΣV T =

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00

radic10 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

asymp

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00 0 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(radic12radic2

0 0radic

12radic2

0 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(1 2 11 2 1

)51

Reduced SVD

Wir hatten auch nur die ersten k Spalten von U sowie die ersten kZeilen von V T behalten konnen

Aasymp

(1radic2

1radic2

)(radic12)( 1radic

62radic6

1radic6

)=

(radic12radic2radic

12radic2

)(1radic6

2radic6

1radic6

)=

(1 2 11 2 1

)

52

Als Bild

53

Als Algorithmus

Gegeben mtimesn Matrix A und gewunschter Rank k Wir produziereneine Rangminus k Approximation wie folgt

1 Wir berechnen eine SVD Zerlegung von A

Amtimesn = UmtimesmΣmtimesnV Tntimesn

2 Wir behalten nur die ersten k Spalten von U resultierend in Umtimesk

3 Wir behalten nur die Top k sprich die ersten k Diagonalwerte vonΣ resultierend in Σktimesk

4 Wir behalten nur die ersten k Reihen von V T resultierend in V Tktimesn

54

Reduced SVD

Diagonale Eintrage in Σk sind die k groszligten Eigenwerte vonA middotAT

Satz UΣk V T minimiert die Differenz der Frobenius-Normzwischen A und Ak unter der Bedingung rang(Ak ) = k

Das heisst Fur jede mtimesn Matrix A mit Rang r angestrebtemRang k lt r und jede mtimesn Matrix B mit Rang k gilt

Aminus Ak2 le AminusB2

wobei Ak die Rang-k Approximation ist die man aus der SVD vonA ableiten kann

55

Was hat man erreicht

Unkorrelierte Dimensionen (Orthonormalbasis) die nur nochverzerrt werden

Wir haben die Dimensionen mit der meisten Variation identifiziertund danach geordnet

ldquoUnwichtigerdquo Dimensionen werden weggelassenrarr Rauschenvermindert

Man braucht viel weniger Speicherplatz O(k(n + m)) anstattO(nm)

Die neuen ldquoverstecktenrdquo Dimensionen konnen zurAhnlichkeitsberechnung verwendet werden und funktionieren oftbesser

56

Wie wahlt man k

Meist empirisch Gesehen

1 In NLP oft die ersten 200 bis 300 Dimensionen2 In Recommender Systems Wahle k so dass die Summe der

ersten k Eigenwerte mindestens 10-mal der Summe alleranderen Eigenwerte

57

Ubersicht

1 SVD HauptsatzDer SVD-SatzKonstruktion am Beispiel Methodologie IKonstruktionsmethodologie II

2 Interpretation der SVD

3 Reduced SVD

4 Verwendung in NLP

58

Dichte Embeddings

A ist Matrix von m WorternTermen und n Kontexten (PPMIfrequency )Reduced SVD resultiert in Ak mit

Umtimesk ist mtimes k - MatrixZeilen von Umtimesk reprasentieren TermeSpalten in Umtimesk latente Reprasentation der KontexteBenutze Umtimesk middotΣktimesk zur Berechnung von Termahnlichkeiten

Vorteile gegenuber der vollen Term-Kontext-MatrixDichte MatrixDimensionsreduktion effizientere VerarbeitungDe-Noising

59

Dichte Embeddings

A ist Matrix von m WorternTermen und n Kontexten (PPMIfrequency )Reduced SVD resultiert in Ak mit

Umtimesk ist mtimes k - MatrixZeilen von Umtimesk reprasentieren TermeSpalten in Umtimesk latente Reprasentation der KontexteBenutze Umtimesk middotΣktimesk zur Berechnung von Termahnlichkeiten

Vorteile gegenuber der vollen Term-Kontext-MatrixDichte MatrixDimensionsreduktion effizientere VerarbeitungDe-Noising

59

Dichte Embeddings

A ist Matrix von m WorternTermen und n Kontexten (PPMIfrequency )Reduced SVD resultiert in Ak mit

Umtimesk ist mtimes k - MatrixZeilen von Umtimesk reprasentieren TermeSpalten in Umtimesk latente Reprasentation der KontexteBenutze Umtimesk middotΣktimesk zur Berechnung von Termahnlichkeiten

Vorteile gegenuber der vollen Term-Kontext-MatrixDichte MatrixDimensionsreduktion effizientere VerarbeitungDe-Noising

59

Das Beispiel vom Anfang

Eine Wort-Dokument-Matrix M aus dem R5times3

d1 d2 d3ship 1 1 0boat 0 0 1

ocean 1 0 1motor 1 0 1wood 0 1 0

cossim(shipboat) = 0

cossim(shipocean) =12

cossim(boatocean) =1radic2

= 07

60

SVD Zerlegung war

minus041 07 024minus029 minus033 minus072minus061 minus02 014minus061 minus02 014minus01 057 minus062

227 0 0

0 149 00 0 078

minus072 minus023 minus066019 085 minus05067 minus048 minus056

=

minus093 104 0187minus0658 minus049 minus056minus138 minus0298 01092minus138 minus0298 minus1092minus0227 084 minus0483

minus072 minus023 minus066

019 085 minus05067 minus048 minus056

=

1 1 00 0 11 0 11 0 10 1 0

Abweichungen sind Rundungsfehler61

Niedrigdimensionale Approximation

Die kleinsten Eigenwerte sind die unwichtigsten Wir konnen dieseldquoweglassenrdquo = auf Null setzenrarr eine Matrix mit kleinerem Rang dieaber relativ ahnlich zur Ausgangsmatrix istminus041 07 024minus029 minus033 minus072minus061 minus02 014minus061 minus02 014minus01 057 minus062

227 0 0

0 149 00 0 0

minus072 minus023 minus066019 085 minus05067 minus048 minus056

=

minus093 104 0minus0658 minus049 0minus138 minus0298 0minus138 minus0298 0minus0227 084 0

minus072 minus023 minus066

019 085 minus05067 minus048 minus056

=

087 109 011038 minus027 068093 005 106093 005 106032 077 minus027

62

Die niedrigdimensionale Approximation

Wir interessieren uns fur die Matrix U2 = UΣ2 also die Matrix mit demniedrigerem Rang

minus093 104 0minus0658 minus049 0minus138 minus0298 0minus138 minus0298 0minus0227 084 0

Man kann diese nun als die Reprasentation unserer 5 Worter mit zweiversteckten Dimensionen auffassen

h1 h2ship minus093 104boat minus0658 minus049

ocean minus138 minus0298motor minus138 minus0298wood minus0227 084

63

Neue Ahnlichkeitsberechnungen

h1 h2ship minus093 104boat minus0658 minus049

ocean minus138 minus0298motor minus138 minus0298wood minus0227 084

cossim(shipboat) =(minus093) middot (minus0658) + 104 middot (minus049)radic

(0932 + 1042) middotradic

(06582 + 0492)= 009

cossim(shipocean) =(minus093) middot (minus138) + 104 middot (minus029)radic

(0932 + 1042) middotradic

(1382 + 0292)= 049

cossim(boatocean) = 09

64

Variationen

Benutze nur Umtimesk zur Ahnlichkeitsberechnung

Benutze Umtimesk middotΣpktimesk zur Ahnlichkeitsberechnungrarr Parameter p

sollte getuned werden Kann groszlige Unterschiede machen

Oft p = 0p = 05p = 1

65

Performanz der Reduced-SVD-Embeddings

Levy O Goldberg Y Neural word embedding as implicit matrix factorization In

Advances in neural information processing systems 2014 S 2177-2185

(Englische) Wikipedia 15 Milliarden Tokens

Fenster 2 beiderseits

Vokabular 189 533 fur Terme sowie Kontexte

PPMI Matrizen

SVD sowie ohne Zerlegung (PPMI) sowie neurale (SGNS)

Algorithmus Spearman Rank zu WordSim 353SVD 0652SGNS 0633PPMI 0605

66

Latent Semantic Analysis und Word Embeddings

Levy2014

ldquoWe analyze skip-gram with negative-sampling (SGNS) [] and show that it isimplicitly factorizing a word-context matrix whose cells are the pointwise mutualinformation (PMI) of the respective word and context pairs shifted by a globalconstant When dense low-dimensional vectors are preferred exact factorizationwith SVD can achieve solutions that are at least as good as SGNSrsquoss solutions forword similarity tasks On analogy questions SGNS remains superior to SVD Weconjecture that this stems from the weighted nature of SGNSrsquos factorizationrdquo

67

Zusammenfassung

Reduced SVD resultiert in einer optimalen Approximation derOriginalmatrix mit niedrigerem Rang Optimal = optimal bzgl derFrobeniusnorm (bzw mean squared error)

Dadurch erhalten wir eine mathematisch fundierte dichtereMatrix die Rauschen (weniger wichtige Dimensionen) eliminiert

Wir konnen mittels Umtimesk Σktimesk weiterhin Wortahnlichkeitenberechnen

Es konnen Resultate erreicht werden die bei word similaritymindestens ebensogut sind wie mit neuralen word embeddings

Nachteile Kosten der SVD Berechnung fur mtimesn matrixO(n middotm2) (when m lt n)rarr Nicht gut fur sehr grosse Matrizen

Nachteile Geht nicht gut mit unbekannten Wortern um

Nachteile schlechter bei Wortanalogieaufgaben

68

Literatur

Guter erweiterter Hintergrundhttptheorystanfordedu˜tims15ll7pdf bishttptheorystanfordedu˜tims15ll9pdf

SVD Tutorial (ohne vollstandigen Hintergrund) Kirk Baker(2005) Singular Value Decomposition Tutorialhttpsdatajobscomdata-science-repoSVD-Tutorial-[Kirk-Baker]pdf Leider ist hier imKonstruktionsverfahren I die Vorzeichenproblematikfalschlicherweise nicht behandelt worden

Levy O Goldberg Y Neural word embedding as implicit matrixfactorization In Advances in neural information processingsystems 2014 S 2177-2185

Ubungsblatt II

69

  • SVD Hauptsatz
    • Der SVD-Satz
    • Konstruktion am Beispiel Methodologie I
    • Konstruktionsmethodologie II
      • Interpretation der SVD
      • Reduced SVD
      • Verwendung in NLP

Konstruktionsmethodologie II

1 Berechne die quadratische ntimesn Matrix AT middotA2 Berechne die Eigenwerte σ2

j und Eigenvektoren vj von AT middotA3 Die Vektoren vj werden orthonormalisiert (Gram-Schmidt) und

bilden die Spaltenvektoren von V4 Die Wurzeln der σ2-Werte werden in absteigender Reihenfolge

die Eintrage von Σ

5 Die Spaltenvektoren von U bis zum Rang r der AT middotA Matrix sindnun eindeutig bestimmt aus der Vorgabe A = UΣV T und werdendaraus berechnet

6 Wenn r lt m mussen noch mminus r Vektoren zur Orthonormalbasiserganzt werden

29

Konstruktionsmethodologie II

1 Berechne die quadratische ntimesn Matrix AT middotA2 Berechne die Eigenwerte σ2

j und Eigenvektoren vj von AT middotA3 Die Vektoren vj werden orthonormalisiert (Gram-Schmidt) und

bilden die Spaltenvektoren von V4 Die Wurzeln der σ2-Werte werden in absteigender Reihenfolge

die Eintrage von Σ

5 Die Spaltenvektoren von U bis zum Rang r der AT middotA Matrix sindnun eindeutig bestimmt aus der Vorgabe A = UΣV T und werdendaraus berechnet

6 Wenn r lt m mussen noch mminus r Vektoren zur Orthonormalbasiserganzt werden

29

Konstruktionsmethodologie II

1 Berechne die quadratische ntimesn Matrix AT middotA2 Berechne die Eigenwerte σ2

j und Eigenvektoren vj von AT middotA3 Die Vektoren vj werden orthonormalisiert (Gram-Schmidt) und

bilden die Spaltenvektoren von V4 Die Wurzeln der σ2-Werte werden in absteigender Reihenfolge

die Eintrage von Σ

5 Die Spaltenvektoren von U bis zum Rang r der AT middotA Matrix sindnun eindeutig bestimmt aus der Vorgabe A = UΣV T und werdendaraus berechnet

6 Wenn r lt m mussen noch mminus r Vektoren zur Orthonormalbasiserganzt werden

29

Konstruktionsmethodologie II

1 Berechne die quadratische ntimesn Matrix AT middotA2 Berechne die Eigenwerte σ2

j und Eigenvektoren vj von AT middotA3 Die Vektoren vj werden orthonormalisiert (Gram-Schmidt) und

bilden die Spaltenvektoren von V4 Die Wurzeln der σ2-Werte werden in absteigender Reihenfolge

die Eintrage von Σ

5 Die Spaltenvektoren von U bis zum Rang r der AT middotA Matrix sindnun eindeutig bestimmt aus der Vorgabe A = UΣV T und werdendaraus berechnet

6 Wenn r lt m mussen noch mminus r Vektoren zur Orthonormalbasiserganzt werden

29

Schritt I Bestimme V T und Σ wie bisher

Nach dem ublichen Verfahren sei also V T zum Beispiel1radic6

2radic6

1radic6

minus2radic5

1radic5

01radic30

2radic30

minus5radic30

bzw V

V =

1radic6

minus2radic5

1radic30

2radic6

1radic5

2radic30

1radic6

0 minus5radic30

Die Vorzeichen konnten auch anders seinWeiterhin ist

Σ =

(radic12 0 00

radic10 0

)

30

Schritt II Bestimme U

Es muss gelten

A = UΣV T

und damit

AV = UΣV T V

Da V orthogonal ist V T V die Einheitsmatrix und damit

AV = UΣ

31

Schritt II Bestimme U

Man bilde nun eine ntimesm Matrix Σprime die genau auf denentsprechenden Diagonaleintragen 1σi stehen hat Im Beispiel ist

Σprime =

1radic12

0

0 1radic10

0 0

Es gilt dass Σ middotΣprime die mtimesm Einheitsmatrix istUnd damit

AVΣprime = UΣΣprime = U

32

Schritt II Bestimme U

Also giltU = AVΣprime

Damit gilt fur die Spalten von U wenn man sich dieMatrixmultiplikation genauer anschaut

u(j) =1σj

Av (j)

In unserem Beispiel

u(1) =1radic12

(3 1 1minus1 3 1

)1radic6

2radic6

1radic6

=

(1radic2

1radic2

)

33

Schritt II Bestimme U

Und ebenso

u(2) =1radic10

(3 1 1minus1 3 1

)minus2radic

51radic5

0

=

(minus1radic2

1radic2

)

Man sieht dass sich hier das veranderte Vorzeichen von v (2) imentgegengesetzten Vorzeichen von u(2) widerspiegelt Wir musstenauch nicht zweimal Eigenvektoren berechnen sondern U ist aus denvorherigen Berechnungen bestimmt

34

Beispiel mit einer Matrix mit niedrigerem Rang

Da wir durch 1σj

dividieren mussten geht dies nur fur Eigenwerteungleich Null Wenn aber die Matrizen niedrigere Range haben als mdann bekommen wir so nicht genugend U-Vektoren Was machen wirdann

Beispiel Sei eine Matrix von Rang 1 gegeben

A =

(1 01 0

)

35

Berechnung von V

AT A =

(1 10 0

)(1 01 0

)=

(2 00 0

)

36

Berechnung von V

(2 00 0

)hat die Eigenwerte 2 und 0 mit den jeweiligen Eigenvektoren (10)sowie (01)Daraus folgt

V =

(1 00 1

)Die ist schon eine Orthonormalmatrix also gilt V = V sowie daDiagonalmatrix V T = V

37

Bestimmung von Σ

Es gilt

Σ =

(radic2 0

0 0

)

38

Bestimmung von U

Der erste Spaltenvektor u(1) kann wie ublich bestimmt werden mit

u(1) =1radic2

Av (1) =1radic2

(1 01 0

)(10

)

=1radic2

(11

)=

(1radic2

1radic2

)

39

Bestimmung von U

Da wir keinen weiteren Eigenwert 6= 0 haben konnen wir leider sonicht weitermachen dh es geht nur bis zum Rang von A Es gilt aber(

1radic2

x21radic2

y2

)(radic2 0

0 0

)(1 00 1

)

=

(1 01 0

)= A

unabhangig von x2 und y2 Das heisst unser halb vollstandiges U istgenug fur eine Zerlegung

40

Bestimmung von U

1 Wir konnen also jedes x2 und y2 wahlen solange normiert undsenkrecht auf dem ersten Vektor stehend

2 Nach dem sogenannten Basiserganzungssatz geht dies immer3 In unserem Beispiel konnte man zum Beispiel (minus1radic

2 1radic

2) wahlen

4 Wie genau man diese weiteren Vektoren von U konstruiert ist furuns unerheblich da wir ja sowieso die letzten Spalten von U diezu den niedrigeren Eigenwerten gehoren ldquoabschneidenrdquowerden

41

SVD Zwischenfazit

Wir haben eine Matrix in das Produkt einer OrthonormalmatrixDiagonalmatrix und Orthogonalmatrix zerlegt

Die Diagonalmatrix enthalt die Wurzeln von den Eigenwerten vonA middotAT nach Groszlige geordnet

Die erste Orthonormalmatrix enthalt die orthonormalisiertenEigenvektoren von A middotAT nach Eigenwertgrosse geordnet alsSpalten

Die zweite Orthonormalmatrix ist die Transponierte der Matrixdie die orthonormalisierten Eigenvektoren von AT middotA nachEigenwertgrosse geordnet als Spalten enthalt

42

Ubersicht

1 SVD HauptsatzDer SVD-SatzKonstruktion am Beispiel Methodologie IKonstruktionsmethodologie II

2 Interpretation der SVD

3 Reduced SVD

4 Verwendung in NLP

43

Geometrische Interpretation bei quadratischen Matrizen

Bedeutung der SVD ist dass sich die Funktion in eine DrehungDrehspiegelung (V T )eine Verzerrung (Σ) und eine zweite DrehungDrehspiegelung (U) zerlegen lsst

Matrix

(1 10 1

)SVD Geometrische Interpretationa

aQuelle httpscommonswikimediaorgwikiFileSingular-Value-Decompositionsvg

44

Noch einige Bemerkungen

Die Eigenwerte und damit Σ sind eindeutig bestimmt

U und V sind nicht eindeutig bestimmt Es konnen Drehungenum 180 Grad oder Spiegelungen hinzukommen

Wir konnen in vielen Fallen einen Eigenvektor wahlen(Freiheitsgrade) mussen aber dann bei den Vorzeichen derzweiten Matrix aufpassen

45

Noch einige Bemerkungen

Wir haben implizit den Rang der Ursprungsmatrix A bestimmtDies kann man klar an U middotΣ sehen

A = UΣV T =

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00

radic10 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(radic12radic2

radic10radic2

0radic

12radic2

minusradic

10radic2

0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(3 1 1minus1 3 1

)

46

Noch einige Bemerkungen

Deswegen wird manchmal die Singularwertzerlegung auch alsZerlegung in drei Matrizen Amtimesn = Umtimesr Σrtimesr V T

rtimesn wobei r der Rangder Matrix A ist beschrieben

A = UΣV T =

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00

radic10 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 00

radic10

)( 1radic6

2radic6

1radic6

2radic5

minus1radic5

0

)=

(radic12radic2

radic10radic2radic

12radic2

minusradic

10radic2

)(1radic6

2radic6

1radic6

2radic5

minus1radic5

0

)=

(3 1 1minus1 3 1

)47

Noch einige Bemerkungen

Bisher haben wir immer die Ausgangsmatrix einfach reproduziert(mit dem gleichen Rang) Man sieht den Rang besser und es gilt

Die ldquoZerrungrdquo durch die Matrix Σ ist bei den Dimensionen mit denhochsten Eigenwerten am groszligten Beispiel

(radic12 0 00

radic10 0

)x1

x2

x3

=

(radic12 middot x1radic10 middot x2

)Es macht also Sinn dass wir wenn wir eine Approximationunserer Ausgangsmatrix mit niedrigerem Rang wollen dann dieunwichtigen Dimensionen die durch niedrige Eigenwertegekennzeichnet sind weglassen

48

Ubersicht

1 SVD HauptsatzDer SVD-SatzKonstruktion am Beispiel Methodologie IKonstruktionsmethodologie II

2 Interpretation der SVD

3 Reduced SVD

4 Verwendung in NLP

49

Reduced SVD Approximation niedrigeren Ranges

Approximation von mtimesn Matrix A mit Rang r durch mtimesn -Matrix Ak mit Rang k lt r

A = UΣV T asymp Ak = UΣk V T

Σk ist eine ldquodiagonalerdquo mtimesn - Matrix bei der nur auf den erstenk Stellen der Diagonalmatrix Werte 6= 0 stehen

U und V wie zuvor

50

Beispiel

A = UΣV T =

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00

radic10 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

asymp

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00 0 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(radic12radic2

0 0radic

12radic2

0 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(1 2 11 2 1

)51

Reduced SVD

Wir hatten auch nur die ersten k Spalten von U sowie die ersten kZeilen von V T behalten konnen

Aasymp

(1radic2

1radic2

)(radic12)( 1radic

62radic6

1radic6

)=

(radic12radic2radic

12radic2

)(1radic6

2radic6

1radic6

)=

(1 2 11 2 1

)

52

Als Bild

53

Als Algorithmus

Gegeben mtimesn Matrix A und gewunschter Rank k Wir produziereneine Rangminus k Approximation wie folgt

1 Wir berechnen eine SVD Zerlegung von A

Amtimesn = UmtimesmΣmtimesnV Tntimesn

2 Wir behalten nur die ersten k Spalten von U resultierend in Umtimesk

3 Wir behalten nur die Top k sprich die ersten k Diagonalwerte vonΣ resultierend in Σktimesk

4 Wir behalten nur die ersten k Reihen von V T resultierend in V Tktimesn

54

Reduced SVD

Diagonale Eintrage in Σk sind die k groszligten Eigenwerte vonA middotAT

Satz UΣk V T minimiert die Differenz der Frobenius-Normzwischen A und Ak unter der Bedingung rang(Ak ) = k

Das heisst Fur jede mtimesn Matrix A mit Rang r angestrebtemRang k lt r und jede mtimesn Matrix B mit Rang k gilt

Aminus Ak2 le AminusB2

wobei Ak die Rang-k Approximation ist die man aus der SVD vonA ableiten kann

55

Was hat man erreicht

Unkorrelierte Dimensionen (Orthonormalbasis) die nur nochverzerrt werden

Wir haben die Dimensionen mit der meisten Variation identifiziertund danach geordnet

ldquoUnwichtigerdquo Dimensionen werden weggelassenrarr Rauschenvermindert

Man braucht viel weniger Speicherplatz O(k(n + m)) anstattO(nm)

Die neuen ldquoverstecktenrdquo Dimensionen konnen zurAhnlichkeitsberechnung verwendet werden und funktionieren oftbesser

56

Wie wahlt man k

Meist empirisch Gesehen

1 In NLP oft die ersten 200 bis 300 Dimensionen2 In Recommender Systems Wahle k so dass die Summe der

ersten k Eigenwerte mindestens 10-mal der Summe alleranderen Eigenwerte

57

Ubersicht

1 SVD HauptsatzDer SVD-SatzKonstruktion am Beispiel Methodologie IKonstruktionsmethodologie II

2 Interpretation der SVD

3 Reduced SVD

4 Verwendung in NLP

58

Dichte Embeddings

A ist Matrix von m WorternTermen und n Kontexten (PPMIfrequency )Reduced SVD resultiert in Ak mit

Umtimesk ist mtimes k - MatrixZeilen von Umtimesk reprasentieren TermeSpalten in Umtimesk latente Reprasentation der KontexteBenutze Umtimesk middotΣktimesk zur Berechnung von Termahnlichkeiten

Vorteile gegenuber der vollen Term-Kontext-MatrixDichte MatrixDimensionsreduktion effizientere VerarbeitungDe-Noising

59

Dichte Embeddings

A ist Matrix von m WorternTermen und n Kontexten (PPMIfrequency )Reduced SVD resultiert in Ak mit

Umtimesk ist mtimes k - MatrixZeilen von Umtimesk reprasentieren TermeSpalten in Umtimesk latente Reprasentation der KontexteBenutze Umtimesk middotΣktimesk zur Berechnung von Termahnlichkeiten

Vorteile gegenuber der vollen Term-Kontext-MatrixDichte MatrixDimensionsreduktion effizientere VerarbeitungDe-Noising

59

Dichte Embeddings

A ist Matrix von m WorternTermen und n Kontexten (PPMIfrequency )Reduced SVD resultiert in Ak mit

Umtimesk ist mtimes k - MatrixZeilen von Umtimesk reprasentieren TermeSpalten in Umtimesk latente Reprasentation der KontexteBenutze Umtimesk middotΣktimesk zur Berechnung von Termahnlichkeiten

Vorteile gegenuber der vollen Term-Kontext-MatrixDichte MatrixDimensionsreduktion effizientere VerarbeitungDe-Noising

59

Das Beispiel vom Anfang

Eine Wort-Dokument-Matrix M aus dem R5times3

d1 d2 d3ship 1 1 0boat 0 0 1

ocean 1 0 1motor 1 0 1wood 0 1 0

cossim(shipboat) = 0

cossim(shipocean) =12

cossim(boatocean) =1radic2

= 07

60

SVD Zerlegung war

minus041 07 024minus029 minus033 minus072minus061 minus02 014minus061 minus02 014minus01 057 minus062

227 0 0

0 149 00 0 078

minus072 minus023 minus066019 085 minus05067 minus048 minus056

=

minus093 104 0187minus0658 minus049 minus056minus138 minus0298 01092minus138 minus0298 minus1092minus0227 084 minus0483

minus072 minus023 minus066

019 085 minus05067 minus048 minus056

=

1 1 00 0 11 0 11 0 10 1 0

Abweichungen sind Rundungsfehler61

Niedrigdimensionale Approximation

Die kleinsten Eigenwerte sind die unwichtigsten Wir konnen dieseldquoweglassenrdquo = auf Null setzenrarr eine Matrix mit kleinerem Rang dieaber relativ ahnlich zur Ausgangsmatrix istminus041 07 024minus029 minus033 minus072minus061 minus02 014minus061 minus02 014minus01 057 minus062

227 0 0

0 149 00 0 0

minus072 minus023 minus066019 085 minus05067 minus048 minus056

=

minus093 104 0minus0658 minus049 0minus138 minus0298 0minus138 minus0298 0minus0227 084 0

minus072 minus023 minus066

019 085 minus05067 minus048 minus056

=

087 109 011038 minus027 068093 005 106093 005 106032 077 minus027

62

Die niedrigdimensionale Approximation

Wir interessieren uns fur die Matrix U2 = UΣ2 also die Matrix mit demniedrigerem Rang

minus093 104 0minus0658 minus049 0minus138 minus0298 0minus138 minus0298 0minus0227 084 0

Man kann diese nun als die Reprasentation unserer 5 Worter mit zweiversteckten Dimensionen auffassen

h1 h2ship minus093 104boat minus0658 minus049

ocean minus138 minus0298motor minus138 minus0298wood minus0227 084

63

Neue Ahnlichkeitsberechnungen

h1 h2ship minus093 104boat minus0658 minus049

ocean minus138 minus0298motor minus138 minus0298wood minus0227 084

cossim(shipboat) =(minus093) middot (minus0658) + 104 middot (minus049)radic

(0932 + 1042) middotradic

(06582 + 0492)= 009

cossim(shipocean) =(minus093) middot (minus138) + 104 middot (minus029)radic

(0932 + 1042) middotradic

(1382 + 0292)= 049

cossim(boatocean) = 09

64

Variationen

Benutze nur Umtimesk zur Ahnlichkeitsberechnung

Benutze Umtimesk middotΣpktimesk zur Ahnlichkeitsberechnungrarr Parameter p

sollte getuned werden Kann groszlige Unterschiede machen

Oft p = 0p = 05p = 1

65

Performanz der Reduced-SVD-Embeddings

Levy O Goldberg Y Neural word embedding as implicit matrix factorization In

Advances in neural information processing systems 2014 S 2177-2185

(Englische) Wikipedia 15 Milliarden Tokens

Fenster 2 beiderseits

Vokabular 189 533 fur Terme sowie Kontexte

PPMI Matrizen

SVD sowie ohne Zerlegung (PPMI) sowie neurale (SGNS)

Algorithmus Spearman Rank zu WordSim 353SVD 0652SGNS 0633PPMI 0605

66

Latent Semantic Analysis und Word Embeddings

Levy2014

ldquoWe analyze skip-gram with negative-sampling (SGNS) [] and show that it isimplicitly factorizing a word-context matrix whose cells are the pointwise mutualinformation (PMI) of the respective word and context pairs shifted by a globalconstant When dense low-dimensional vectors are preferred exact factorizationwith SVD can achieve solutions that are at least as good as SGNSrsquoss solutions forword similarity tasks On analogy questions SGNS remains superior to SVD Weconjecture that this stems from the weighted nature of SGNSrsquos factorizationrdquo

67

Zusammenfassung

Reduced SVD resultiert in einer optimalen Approximation derOriginalmatrix mit niedrigerem Rang Optimal = optimal bzgl derFrobeniusnorm (bzw mean squared error)

Dadurch erhalten wir eine mathematisch fundierte dichtereMatrix die Rauschen (weniger wichtige Dimensionen) eliminiert

Wir konnen mittels Umtimesk Σktimesk weiterhin Wortahnlichkeitenberechnen

Es konnen Resultate erreicht werden die bei word similaritymindestens ebensogut sind wie mit neuralen word embeddings

Nachteile Kosten der SVD Berechnung fur mtimesn matrixO(n middotm2) (when m lt n)rarr Nicht gut fur sehr grosse Matrizen

Nachteile Geht nicht gut mit unbekannten Wortern um

Nachteile schlechter bei Wortanalogieaufgaben

68

Literatur

Guter erweiterter Hintergrundhttptheorystanfordedu˜tims15ll7pdf bishttptheorystanfordedu˜tims15ll9pdf

SVD Tutorial (ohne vollstandigen Hintergrund) Kirk Baker(2005) Singular Value Decomposition Tutorialhttpsdatajobscomdata-science-repoSVD-Tutorial-[Kirk-Baker]pdf Leider ist hier imKonstruktionsverfahren I die Vorzeichenproblematikfalschlicherweise nicht behandelt worden

Levy O Goldberg Y Neural word embedding as implicit matrixfactorization In Advances in neural information processingsystems 2014 S 2177-2185

Ubungsblatt II

69

  • SVD Hauptsatz
    • Der SVD-Satz
    • Konstruktion am Beispiel Methodologie I
    • Konstruktionsmethodologie II
      • Interpretation der SVD
      • Reduced SVD
      • Verwendung in NLP

Konstruktionsmethodologie II

1 Berechne die quadratische ntimesn Matrix AT middotA2 Berechne die Eigenwerte σ2

j und Eigenvektoren vj von AT middotA3 Die Vektoren vj werden orthonormalisiert (Gram-Schmidt) und

bilden die Spaltenvektoren von V4 Die Wurzeln der σ2-Werte werden in absteigender Reihenfolge

die Eintrage von Σ

5 Die Spaltenvektoren von U bis zum Rang r der AT middotA Matrix sindnun eindeutig bestimmt aus der Vorgabe A = UΣV T und werdendaraus berechnet

6 Wenn r lt m mussen noch mminus r Vektoren zur Orthonormalbasiserganzt werden

29

Konstruktionsmethodologie II

1 Berechne die quadratische ntimesn Matrix AT middotA2 Berechne die Eigenwerte σ2

j und Eigenvektoren vj von AT middotA3 Die Vektoren vj werden orthonormalisiert (Gram-Schmidt) und

bilden die Spaltenvektoren von V4 Die Wurzeln der σ2-Werte werden in absteigender Reihenfolge

die Eintrage von Σ

5 Die Spaltenvektoren von U bis zum Rang r der AT middotA Matrix sindnun eindeutig bestimmt aus der Vorgabe A = UΣV T und werdendaraus berechnet

6 Wenn r lt m mussen noch mminus r Vektoren zur Orthonormalbasiserganzt werden

29

Konstruktionsmethodologie II

1 Berechne die quadratische ntimesn Matrix AT middotA2 Berechne die Eigenwerte σ2

j und Eigenvektoren vj von AT middotA3 Die Vektoren vj werden orthonormalisiert (Gram-Schmidt) und

bilden die Spaltenvektoren von V4 Die Wurzeln der σ2-Werte werden in absteigender Reihenfolge

die Eintrage von Σ

5 Die Spaltenvektoren von U bis zum Rang r der AT middotA Matrix sindnun eindeutig bestimmt aus der Vorgabe A = UΣV T und werdendaraus berechnet

6 Wenn r lt m mussen noch mminus r Vektoren zur Orthonormalbasiserganzt werden

29

Schritt I Bestimme V T und Σ wie bisher

Nach dem ublichen Verfahren sei also V T zum Beispiel1radic6

2radic6

1radic6

minus2radic5

1radic5

01radic30

2radic30

minus5radic30

bzw V

V =

1radic6

minus2radic5

1radic30

2radic6

1radic5

2radic30

1radic6

0 minus5radic30

Die Vorzeichen konnten auch anders seinWeiterhin ist

Σ =

(radic12 0 00

radic10 0

)

30

Schritt II Bestimme U

Es muss gelten

A = UΣV T

und damit

AV = UΣV T V

Da V orthogonal ist V T V die Einheitsmatrix und damit

AV = UΣ

31

Schritt II Bestimme U

Man bilde nun eine ntimesm Matrix Σprime die genau auf denentsprechenden Diagonaleintragen 1σi stehen hat Im Beispiel ist

Σprime =

1radic12

0

0 1radic10

0 0

Es gilt dass Σ middotΣprime die mtimesm Einheitsmatrix istUnd damit

AVΣprime = UΣΣprime = U

32

Schritt II Bestimme U

Also giltU = AVΣprime

Damit gilt fur die Spalten von U wenn man sich dieMatrixmultiplikation genauer anschaut

u(j) =1σj

Av (j)

In unserem Beispiel

u(1) =1radic12

(3 1 1minus1 3 1

)1radic6

2radic6

1radic6

=

(1radic2

1radic2

)

33

Schritt II Bestimme U

Und ebenso

u(2) =1radic10

(3 1 1minus1 3 1

)minus2radic

51radic5

0

=

(minus1radic2

1radic2

)

Man sieht dass sich hier das veranderte Vorzeichen von v (2) imentgegengesetzten Vorzeichen von u(2) widerspiegelt Wir musstenauch nicht zweimal Eigenvektoren berechnen sondern U ist aus denvorherigen Berechnungen bestimmt

34

Beispiel mit einer Matrix mit niedrigerem Rang

Da wir durch 1σj

dividieren mussten geht dies nur fur Eigenwerteungleich Null Wenn aber die Matrizen niedrigere Range haben als mdann bekommen wir so nicht genugend U-Vektoren Was machen wirdann

Beispiel Sei eine Matrix von Rang 1 gegeben

A =

(1 01 0

)

35

Berechnung von V

AT A =

(1 10 0

)(1 01 0

)=

(2 00 0

)

36

Berechnung von V

(2 00 0

)hat die Eigenwerte 2 und 0 mit den jeweiligen Eigenvektoren (10)sowie (01)Daraus folgt

V =

(1 00 1

)Die ist schon eine Orthonormalmatrix also gilt V = V sowie daDiagonalmatrix V T = V

37

Bestimmung von Σ

Es gilt

Σ =

(radic2 0

0 0

)

38

Bestimmung von U

Der erste Spaltenvektor u(1) kann wie ublich bestimmt werden mit

u(1) =1radic2

Av (1) =1radic2

(1 01 0

)(10

)

=1radic2

(11

)=

(1radic2

1radic2

)

39

Bestimmung von U

Da wir keinen weiteren Eigenwert 6= 0 haben konnen wir leider sonicht weitermachen dh es geht nur bis zum Rang von A Es gilt aber(

1radic2

x21radic2

y2

)(radic2 0

0 0

)(1 00 1

)

=

(1 01 0

)= A

unabhangig von x2 und y2 Das heisst unser halb vollstandiges U istgenug fur eine Zerlegung

40

Bestimmung von U

1 Wir konnen also jedes x2 und y2 wahlen solange normiert undsenkrecht auf dem ersten Vektor stehend

2 Nach dem sogenannten Basiserganzungssatz geht dies immer3 In unserem Beispiel konnte man zum Beispiel (minus1radic

2 1radic

2) wahlen

4 Wie genau man diese weiteren Vektoren von U konstruiert ist furuns unerheblich da wir ja sowieso die letzten Spalten von U diezu den niedrigeren Eigenwerten gehoren ldquoabschneidenrdquowerden

41

SVD Zwischenfazit

Wir haben eine Matrix in das Produkt einer OrthonormalmatrixDiagonalmatrix und Orthogonalmatrix zerlegt

Die Diagonalmatrix enthalt die Wurzeln von den Eigenwerten vonA middotAT nach Groszlige geordnet

Die erste Orthonormalmatrix enthalt die orthonormalisiertenEigenvektoren von A middotAT nach Eigenwertgrosse geordnet alsSpalten

Die zweite Orthonormalmatrix ist die Transponierte der Matrixdie die orthonormalisierten Eigenvektoren von AT middotA nachEigenwertgrosse geordnet als Spalten enthalt

42

Ubersicht

1 SVD HauptsatzDer SVD-SatzKonstruktion am Beispiel Methodologie IKonstruktionsmethodologie II

2 Interpretation der SVD

3 Reduced SVD

4 Verwendung in NLP

43

Geometrische Interpretation bei quadratischen Matrizen

Bedeutung der SVD ist dass sich die Funktion in eine DrehungDrehspiegelung (V T )eine Verzerrung (Σ) und eine zweite DrehungDrehspiegelung (U) zerlegen lsst

Matrix

(1 10 1

)SVD Geometrische Interpretationa

aQuelle httpscommonswikimediaorgwikiFileSingular-Value-Decompositionsvg

44

Noch einige Bemerkungen

Die Eigenwerte und damit Σ sind eindeutig bestimmt

U und V sind nicht eindeutig bestimmt Es konnen Drehungenum 180 Grad oder Spiegelungen hinzukommen

Wir konnen in vielen Fallen einen Eigenvektor wahlen(Freiheitsgrade) mussen aber dann bei den Vorzeichen derzweiten Matrix aufpassen

45

Noch einige Bemerkungen

Wir haben implizit den Rang der Ursprungsmatrix A bestimmtDies kann man klar an U middotΣ sehen

A = UΣV T =

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00

radic10 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(radic12radic2

radic10radic2

0radic

12radic2

minusradic

10radic2

0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(3 1 1minus1 3 1

)

46

Noch einige Bemerkungen

Deswegen wird manchmal die Singularwertzerlegung auch alsZerlegung in drei Matrizen Amtimesn = Umtimesr Σrtimesr V T

rtimesn wobei r der Rangder Matrix A ist beschrieben

A = UΣV T =

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00

radic10 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 00

radic10

)( 1radic6

2radic6

1radic6

2radic5

minus1radic5

0

)=

(radic12radic2

radic10radic2radic

12radic2

minusradic

10radic2

)(1radic6

2radic6

1radic6

2radic5

minus1radic5

0

)=

(3 1 1minus1 3 1

)47

Noch einige Bemerkungen

Bisher haben wir immer die Ausgangsmatrix einfach reproduziert(mit dem gleichen Rang) Man sieht den Rang besser und es gilt

Die ldquoZerrungrdquo durch die Matrix Σ ist bei den Dimensionen mit denhochsten Eigenwerten am groszligten Beispiel

(radic12 0 00

radic10 0

)x1

x2

x3

=

(radic12 middot x1radic10 middot x2

)Es macht also Sinn dass wir wenn wir eine Approximationunserer Ausgangsmatrix mit niedrigerem Rang wollen dann dieunwichtigen Dimensionen die durch niedrige Eigenwertegekennzeichnet sind weglassen

48

Ubersicht

1 SVD HauptsatzDer SVD-SatzKonstruktion am Beispiel Methodologie IKonstruktionsmethodologie II

2 Interpretation der SVD

3 Reduced SVD

4 Verwendung in NLP

49

Reduced SVD Approximation niedrigeren Ranges

Approximation von mtimesn Matrix A mit Rang r durch mtimesn -Matrix Ak mit Rang k lt r

A = UΣV T asymp Ak = UΣk V T

Σk ist eine ldquodiagonalerdquo mtimesn - Matrix bei der nur auf den erstenk Stellen der Diagonalmatrix Werte 6= 0 stehen

U und V wie zuvor

50

Beispiel

A = UΣV T =

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00

radic10 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

asymp

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00 0 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(radic12radic2

0 0radic

12radic2

0 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(1 2 11 2 1

)51

Reduced SVD

Wir hatten auch nur die ersten k Spalten von U sowie die ersten kZeilen von V T behalten konnen

Aasymp

(1radic2

1radic2

)(radic12)( 1radic

62radic6

1radic6

)=

(radic12radic2radic

12radic2

)(1radic6

2radic6

1radic6

)=

(1 2 11 2 1

)

52

Als Bild

53

Als Algorithmus

Gegeben mtimesn Matrix A und gewunschter Rank k Wir produziereneine Rangminus k Approximation wie folgt

1 Wir berechnen eine SVD Zerlegung von A

Amtimesn = UmtimesmΣmtimesnV Tntimesn

2 Wir behalten nur die ersten k Spalten von U resultierend in Umtimesk

3 Wir behalten nur die Top k sprich die ersten k Diagonalwerte vonΣ resultierend in Σktimesk

4 Wir behalten nur die ersten k Reihen von V T resultierend in V Tktimesn

54

Reduced SVD

Diagonale Eintrage in Σk sind die k groszligten Eigenwerte vonA middotAT

Satz UΣk V T minimiert die Differenz der Frobenius-Normzwischen A und Ak unter der Bedingung rang(Ak ) = k

Das heisst Fur jede mtimesn Matrix A mit Rang r angestrebtemRang k lt r und jede mtimesn Matrix B mit Rang k gilt

Aminus Ak2 le AminusB2

wobei Ak die Rang-k Approximation ist die man aus der SVD vonA ableiten kann

55

Was hat man erreicht

Unkorrelierte Dimensionen (Orthonormalbasis) die nur nochverzerrt werden

Wir haben die Dimensionen mit der meisten Variation identifiziertund danach geordnet

ldquoUnwichtigerdquo Dimensionen werden weggelassenrarr Rauschenvermindert

Man braucht viel weniger Speicherplatz O(k(n + m)) anstattO(nm)

Die neuen ldquoverstecktenrdquo Dimensionen konnen zurAhnlichkeitsberechnung verwendet werden und funktionieren oftbesser

56

Wie wahlt man k

Meist empirisch Gesehen

1 In NLP oft die ersten 200 bis 300 Dimensionen2 In Recommender Systems Wahle k so dass die Summe der

ersten k Eigenwerte mindestens 10-mal der Summe alleranderen Eigenwerte

57

Ubersicht

1 SVD HauptsatzDer SVD-SatzKonstruktion am Beispiel Methodologie IKonstruktionsmethodologie II

2 Interpretation der SVD

3 Reduced SVD

4 Verwendung in NLP

58

Dichte Embeddings

A ist Matrix von m WorternTermen und n Kontexten (PPMIfrequency )Reduced SVD resultiert in Ak mit

Umtimesk ist mtimes k - MatrixZeilen von Umtimesk reprasentieren TermeSpalten in Umtimesk latente Reprasentation der KontexteBenutze Umtimesk middotΣktimesk zur Berechnung von Termahnlichkeiten

Vorteile gegenuber der vollen Term-Kontext-MatrixDichte MatrixDimensionsreduktion effizientere VerarbeitungDe-Noising

59

Dichte Embeddings

A ist Matrix von m WorternTermen und n Kontexten (PPMIfrequency )Reduced SVD resultiert in Ak mit

Umtimesk ist mtimes k - MatrixZeilen von Umtimesk reprasentieren TermeSpalten in Umtimesk latente Reprasentation der KontexteBenutze Umtimesk middotΣktimesk zur Berechnung von Termahnlichkeiten

Vorteile gegenuber der vollen Term-Kontext-MatrixDichte MatrixDimensionsreduktion effizientere VerarbeitungDe-Noising

59

Dichte Embeddings

A ist Matrix von m WorternTermen und n Kontexten (PPMIfrequency )Reduced SVD resultiert in Ak mit

Umtimesk ist mtimes k - MatrixZeilen von Umtimesk reprasentieren TermeSpalten in Umtimesk latente Reprasentation der KontexteBenutze Umtimesk middotΣktimesk zur Berechnung von Termahnlichkeiten

Vorteile gegenuber der vollen Term-Kontext-MatrixDichte MatrixDimensionsreduktion effizientere VerarbeitungDe-Noising

59

Das Beispiel vom Anfang

Eine Wort-Dokument-Matrix M aus dem R5times3

d1 d2 d3ship 1 1 0boat 0 0 1

ocean 1 0 1motor 1 0 1wood 0 1 0

cossim(shipboat) = 0

cossim(shipocean) =12

cossim(boatocean) =1radic2

= 07

60

SVD Zerlegung war

minus041 07 024minus029 minus033 minus072minus061 minus02 014minus061 minus02 014minus01 057 minus062

227 0 0

0 149 00 0 078

minus072 minus023 minus066019 085 minus05067 minus048 minus056

=

minus093 104 0187minus0658 minus049 minus056minus138 minus0298 01092minus138 minus0298 minus1092minus0227 084 minus0483

minus072 minus023 minus066

019 085 minus05067 minus048 minus056

=

1 1 00 0 11 0 11 0 10 1 0

Abweichungen sind Rundungsfehler61

Niedrigdimensionale Approximation

Die kleinsten Eigenwerte sind die unwichtigsten Wir konnen dieseldquoweglassenrdquo = auf Null setzenrarr eine Matrix mit kleinerem Rang dieaber relativ ahnlich zur Ausgangsmatrix istminus041 07 024minus029 minus033 minus072minus061 minus02 014minus061 minus02 014minus01 057 minus062

227 0 0

0 149 00 0 0

minus072 minus023 minus066019 085 minus05067 minus048 minus056

=

minus093 104 0minus0658 minus049 0minus138 minus0298 0minus138 minus0298 0minus0227 084 0

minus072 minus023 minus066

019 085 minus05067 minus048 minus056

=

087 109 011038 minus027 068093 005 106093 005 106032 077 minus027

62

Die niedrigdimensionale Approximation

Wir interessieren uns fur die Matrix U2 = UΣ2 also die Matrix mit demniedrigerem Rang

minus093 104 0minus0658 minus049 0minus138 minus0298 0minus138 minus0298 0minus0227 084 0

Man kann diese nun als die Reprasentation unserer 5 Worter mit zweiversteckten Dimensionen auffassen

h1 h2ship minus093 104boat minus0658 minus049

ocean minus138 minus0298motor minus138 minus0298wood minus0227 084

63

Neue Ahnlichkeitsberechnungen

h1 h2ship minus093 104boat minus0658 minus049

ocean minus138 minus0298motor minus138 minus0298wood minus0227 084

cossim(shipboat) =(minus093) middot (minus0658) + 104 middot (minus049)radic

(0932 + 1042) middotradic

(06582 + 0492)= 009

cossim(shipocean) =(minus093) middot (minus138) + 104 middot (minus029)radic

(0932 + 1042) middotradic

(1382 + 0292)= 049

cossim(boatocean) = 09

64

Variationen

Benutze nur Umtimesk zur Ahnlichkeitsberechnung

Benutze Umtimesk middotΣpktimesk zur Ahnlichkeitsberechnungrarr Parameter p

sollte getuned werden Kann groszlige Unterschiede machen

Oft p = 0p = 05p = 1

65

Performanz der Reduced-SVD-Embeddings

Levy O Goldberg Y Neural word embedding as implicit matrix factorization In

Advances in neural information processing systems 2014 S 2177-2185

(Englische) Wikipedia 15 Milliarden Tokens

Fenster 2 beiderseits

Vokabular 189 533 fur Terme sowie Kontexte

PPMI Matrizen

SVD sowie ohne Zerlegung (PPMI) sowie neurale (SGNS)

Algorithmus Spearman Rank zu WordSim 353SVD 0652SGNS 0633PPMI 0605

66

Latent Semantic Analysis und Word Embeddings

Levy2014

ldquoWe analyze skip-gram with negative-sampling (SGNS) [] and show that it isimplicitly factorizing a word-context matrix whose cells are the pointwise mutualinformation (PMI) of the respective word and context pairs shifted by a globalconstant When dense low-dimensional vectors are preferred exact factorizationwith SVD can achieve solutions that are at least as good as SGNSrsquoss solutions forword similarity tasks On analogy questions SGNS remains superior to SVD Weconjecture that this stems from the weighted nature of SGNSrsquos factorizationrdquo

67

Zusammenfassung

Reduced SVD resultiert in einer optimalen Approximation derOriginalmatrix mit niedrigerem Rang Optimal = optimal bzgl derFrobeniusnorm (bzw mean squared error)

Dadurch erhalten wir eine mathematisch fundierte dichtereMatrix die Rauschen (weniger wichtige Dimensionen) eliminiert

Wir konnen mittels Umtimesk Σktimesk weiterhin Wortahnlichkeitenberechnen

Es konnen Resultate erreicht werden die bei word similaritymindestens ebensogut sind wie mit neuralen word embeddings

Nachteile Kosten der SVD Berechnung fur mtimesn matrixO(n middotm2) (when m lt n)rarr Nicht gut fur sehr grosse Matrizen

Nachteile Geht nicht gut mit unbekannten Wortern um

Nachteile schlechter bei Wortanalogieaufgaben

68

Literatur

Guter erweiterter Hintergrundhttptheorystanfordedu˜tims15ll7pdf bishttptheorystanfordedu˜tims15ll9pdf

SVD Tutorial (ohne vollstandigen Hintergrund) Kirk Baker(2005) Singular Value Decomposition Tutorialhttpsdatajobscomdata-science-repoSVD-Tutorial-[Kirk-Baker]pdf Leider ist hier imKonstruktionsverfahren I die Vorzeichenproblematikfalschlicherweise nicht behandelt worden

Levy O Goldberg Y Neural word embedding as implicit matrixfactorization In Advances in neural information processingsystems 2014 S 2177-2185

Ubungsblatt II

69

  • SVD Hauptsatz
    • Der SVD-Satz
    • Konstruktion am Beispiel Methodologie I
    • Konstruktionsmethodologie II
      • Interpretation der SVD
      • Reduced SVD
      • Verwendung in NLP

Konstruktionsmethodologie II

1 Berechne die quadratische ntimesn Matrix AT middotA2 Berechne die Eigenwerte σ2

j und Eigenvektoren vj von AT middotA3 Die Vektoren vj werden orthonormalisiert (Gram-Schmidt) und

bilden die Spaltenvektoren von V4 Die Wurzeln der σ2-Werte werden in absteigender Reihenfolge

die Eintrage von Σ

5 Die Spaltenvektoren von U bis zum Rang r der AT middotA Matrix sindnun eindeutig bestimmt aus der Vorgabe A = UΣV T und werdendaraus berechnet

6 Wenn r lt m mussen noch mminus r Vektoren zur Orthonormalbasiserganzt werden

29

Konstruktionsmethodologie II

1 Berechne die quadratische ntimesn Matrix AT middotA2 Berechne die Eigenwerte σ2

j und Eigenvektoren vj von AT middotA3 Die Vektoren vj werden orthonormalisiert (Gram-Schmidt) und

bilden die Spaltenvektoren von V4 Die Wurzeln der σ2-Werte werden in absteigender Reihenfolge

die Eintrage von Σ

5 Die Spaltenvektoren von U bis zum Rang r der AT middotA Matrix sindnun eindeutig bestimmt aus der Vorgabe A = UΣV T und werdendaraus berechnet

6 Wenn r lt m mussen noch mminus r Vektoren zur Orthonormalbasiserganzt werden

29

Schritt I Bestimme V T und Σ wie bisher

Nach dem ublichen Verfahren sei also V T zum Beispiel1radic6

2radic6

1radic6

minus2radic5

1radic5

01radic30

2radic30

minus5radic30

bzw V

V =

1radic6

minus2radic5

1radic30

2radic6

1radic5

2radic30

1radic6

0 minus5radic30

Die Vorzeichen konnten auch anders seinWeiterhin ist

Σ =

(radic12 0 00

radic10 0

)

30

Schritt II Bestimme U

Es muss gelten

A = UΣV T

und damit

AV = UΣV T V

Da V orthogonal ist V T V die Einheitsmatrix und damit

AV = UΣ

31

Schritt II Bestimme U

Man bilde nun eine ntimesm Matrix Σprime die genau auf denentsprechenden Diagonaleintragen 1σi stehen hat Im Beispiel ist

Σprime =

1radic12

0

0 1radic10

0 0

Es gilt dass Σ middotΣprime die mtimesm Einheitsmatrix istUnd damit

AVΣprime = UΣΣprime = U

32

Schritt II Bestimme U

Also giltU = AVΣprime

Damit gilt fur die Spalten von U wenn man sich dieMatrixmultiplikation genauer anschaut

u(j) =1σj

Av (j)

In unserem Beispiel

u(1) =1radic12

(3 1 1minus1 3 1

)1radic6

2radic6

1radic6

=

(1radic2

1radic2

)

33

Schritt II Bestimme U

Und ebenso

u(2) =1radic10

(3 1 1minus1 3 1

)minus2radic

51radic5

0

=

(minus1radic2

1radic2

)

Man sieht dass sich hier das veranderte Vorzeichen von v (2) imentgegengesetzten Vorzeichen von u(2) widerspiegelt Wir musstenauch nicht zweimal Eigenvektoren berechnen sondern U ist aus denvorherigen Berechnungen bestimmt

34

Beispiel mit einer Matrix mit niedrigerem Rang

Da wir durch 1σj

dividieren mussten geht dies nur fur Eigenwerteungleich Null Wenn aber die Matrizen niedrigere Range haben als mdann bekommen wir so nicht genugend U-Vektoren Was machen wirdann

Beispiel Sei eine Matrix von Rang 1 gegeben

A =

(1 01 0

)

35

Berechnung von V

AT A =

(1 10 0

)(1 01 0

)=

(2 00 0

)

36

Berechnung von V

(2 00 0

)hat die Eigenwerte 2 und 0 mit den jeweiligen Eigenvektoren (10)sowie (01)Daraus folgt

V =

(1 00 1

)Die ist schon eine Orthonormalmatrix also gilt V = V sowie daDiagonalmatrix V T = V

37

Bestimmung von Σ

Es gilt

Σ =

(radic2 0

0 0

)

38

Bestimmung von U

Der erste Spaltenvektor u(1) kann wie ublich bestimmt werden mit

u(1) =1radic2

Av (1) =1radic2

(1 01 0

)(10

)

=1radic2

(11

)=

(1radic2

1radic2

)

39

Bestimmung von U

Da wir keinen weiteren Eigenwert 6= 0 haben konnen wir leider sonicht weitermachen dh es geht nur bis zum Rang von A Es gilt aber(

1radic2

x21radic2

y2

)(radic2 0

0 0

)(1 00 1

)

=

(1 01 0

)= A

unabhangig von x2 und y2 Das heisst unser halb vollstandiges U istgenug fur eine Zerlegung

40

Bestimmung von U

1 Wir konnen also jedes x2 und y2 wahlen solange normiert undsenkrecht auf dem ersten Vektor stehend

2 Nach dem sogenannten Basiserganzungssatz geht dies immer3 In unserem Beispiel konnte man zum Beispiel (minus1radic

2 1radic

2) wahlen

4 Wie genau man diese weiteren Vektoren von U konstruiert ist furuns unerheblich da wir ja sowieso die letzten Spalten von U diezu den niedrigeren Eigenwerten gehoren ldquoabschneidenrdquowerden

41

SVD Zwischenfazit

Wir haben eine Matrix in das Produkt einer OrthonormalmatrixDiagonalmatrix und Orthogonalmatrix zerlegt

Die Diagonalmatrix enthalt die Wurzeln von den Eigenwerten vonA middotAT nach Groszlige geordnet

Die erste Orthonormalmatrix enthalt die orthonormalisiertenEigenvektoren von A middotAT nach Eigenwertgrosse geordnet alsSpalten

Die zweite Orthonormalmatrix ist die Transponierte der Matrixdie die orthonormalisierten Eigenvektoren von AT middotA nachEigenwertgrosse geordnet als Spalten enthalt

42

Ubersicht

1 SVD HauptsatzDer SVD-SatzKonstruktion am Beispiel Methodologie IKonstruktionsmethodologie II

2 Interpretation der SVD

3 Reduced SVD

4 Verwendung in NLP

43

Geometrische Interpretation bei quadratischen Matrizen

Bedeutung der SVD ist dass sich die Funktion in eine DrehungDrehspiegelung (V T )eine Verzerrung (Σ) und eine zweite DrehungDrehspiegelung (U) zerlegen lsst

Matrix

(1 10 1

)SVD Geometrische Interpretationa

aQuelle httpscommonswikimediaorgwikiFileSingular-Value-Decompositionsvg

44

Noch einige Bemerkungen

Die Eigenwerte und damit Σ sind eindeutig bestimmt

U und V sind nicht eindeutig bestimmt Es konnen Drehungenum 180 Grad oder Spiegelungen hinzukommen

Wir konnen in vielen Fallen einen Eigenvektor wahlen(Freiheitsgrade) mussen aber dann bei den Vorzeichen derzweiten Matrix aufpassen

45

Noch einige Bemerkungen

Wir haben implizit den Rang der Ursprungsmatrix A bestimmtDies kann man klar an U middotΣ sehen

A = UΣV T =

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00

radic10 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(radic12radic2

radic10radic2

0radic

12radic2

minusradic

10radic2

0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(3 1 1minus1 3 1

)

46

Noch einige Bemerkungen

Deswegen wird manchmal die Singularwertzerlegung auch alsZerlegung in drei Matrizen Amtimesn = Umtimesr Σrtimesr V T

rtimesn wobei r der Rangder Matrix A ist beschrieben

A = UΣV T =

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00

radic10 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 00

radic10

)( 1radic6

2radic6

1radic6

2radic5

minus1radic5

0

)=

(radic12radic2

radic10radic2radic

12radic2

minusradic

10radic2

)(1radic6

2radic6

1radic6

2radic5

minus1radic5

0

)=

(3 1 1minus1 3 1

)47

Noch einige Bemerkungen

Bisher haben wir immer die Ausgangsmatrix einfach reproduziert(mit dem gleichen Rang) Man sieht den Rang besser und es gilt

Die ldquoZerrungrdquo durch die Matrix Σ ist bei den Dimensionen mit denhochsten Eigenwerten am groszligten Beispiel

(radic12 0 00

radic10 0

)x1

x2

x3

=

(radic12 middot x1radic10 middot x2

)Es macht also Sinn dass wir wenn wir eine Approximationunserer Ausgangsmatrix mit niedrigerem Rang wollen dann dieunwichtigen Dimensionen die durch niedrige Eigenwertegekennzeichnet sind weglassen

48

Ubersicht

1 SVD HauptsatzDer SVD-SatzKonstruktion am Beispiel Methodologie IKonstruktionsmethodologie II

2 Interpretation der SVD

3 Reduced SVD

4 Verwendung in NLP

49

Reduced SVD Approximation niedrigeren Ranges

Approximation von mtimesn Matrix A mit Rang r durch mtimesn -Matrix Ak mit Rang k lt r

A = UΣV T asymp Ak = UΣk V T

Σk ist eine ldquodiagonalerdquo mtimesn - Matrix bei der nur auf den erstenk Stellen der Diagonalmatrix Werte 6= 0 stehen

U und V wie zuvor

50

Beispiel

A = UΣV T =

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00

radic10 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

asymp

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00 0 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(radic12radic2

0 0radic

12radic2

0 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(1 2 11 2 1

)51

Reduced SVD

Wir hatten auch nur die ersten k Spalten von U sowie die ersten kZeilen von V T behalten konnen

Aasymp

(1radic2

1radic2

)(radic12)( 1radic

62radic6

1radic6

)=

(radic12radic2radic

12radic2

)(1radic6

2radic6

1radic6

)=

(1 2 11 2 1

)

52

Als Bild

53

Als Algorithmus

Gegeben mtimesn Matrix A und gewunschter Rank k Wir produziereneine Rangminus k Approximation wie folgt

1 Wir berechnen eine SVD Zerlegung von A

Amtimesn = UmtimesmΣmtimesnV Tntimesn

2 Wir behalten nur die ersten k Spalten von U resultierend in Umtimesk

3 Wir behalten nur die Top k sprich die ersten k Diagonalwerte vonΣ resultierend in Σktimesk

4 Wir behalten nur die ersten k Reihen von V T resultierend in V Tktimesn

54

Reduced SVD

Diagonale Eintrage in Σk sind die k groszligten Eigenwerte vonA middotAT

Satz UΣk V T minimiert die Differenz der Frobenius-Normzwischen A und Ak unter der Bedingung rang(Ak ) = k

Das heisst Fur jede mtimesn Matrix A mit Rang r angestrebtemRang k lt r und jede mtimesn Matrix B mit Rang k gilt

Aminus Ak2 le AminusB2

wobei Ak die Rang-k Approximation ist die man aus der SVD vonA ableiten kann

55

Was hat man erreicht

Unkorrelierte Dimensionen (Orthonormalbasis) die nur nochverzerrt werden

Wir haben die Dimensionen mit der meisten Variation identifiziertund danach geordnet

ldquoUnwichtigerdquo Dimensionen werden weggelassenrarr Rauschenvermindert

Man braucht viel weniger Speicherplatz O(k(n + m)) anstattO(nm)

Die neuen ldquoverstecktenrdquo Dimensionen konnen zurAhnlichkeitsberechnung verwendet werden und funktionieren oftbesser

56

Wie wahlt man k

Meist empirisch Gesehen

1 In NLP oft die ersten 200 bis 300 Dimensionen2 In Recommender Systems Wahle k so dass die Summe der

ersten k Eigenwerte mindestens 10-mal der Summe alleranderen Eigenwerte

57

Ubersicht

1 SVD HauptsatzDer SVD-SatzKonstruktion am Beispiel Methodologie IKonstruktionsmethodologie II

2 Interpretation der SVD

3 Reduced SVD

4 Verwendung in NLP

58

Dichte Embeddings

A ist Matrix von m WorternTermen und n Kontexten (PPMIfrequency )Reduced SVD resultiert in Ak mit

Umtimesk ist mtimes k - MatrixZeilen von Umtimesk reprasentieren TermeSpalten in Umtimesk latente Reprasentation der KontexteBenutze Umtimesk middotΣktimesk zur Berechnung von Termahnlichkeiten

Vorteile gegenuber der vollen Term-Kontext-MatrixDichte MatrixDimensionsreduktion effizientere VerarbeitungDe-Noising

59

Dichte Embeddings

A ist Matrix von m WorternTermen und n Kontexten (PPMIfrequency )Reduced SVD resultiert in Ak mit

Umtimesk ist mtimes k - MatrixZeilen von Umtimesk reprasentieren TermeSpalten in Umtimesk latente Reprasentation der KontexteBenutze Umtimesk middotΣktimesk zur Berechnung von Termahnlichkeiten

Vorteile gegenuber der vollen Term-Kontext-MatrixDichte MatrixDimensionsreduktion effizientere VerarbeitungDe-Noising

59

Dichte Embeddings

A ist Matrix von m WorternTermen und n Kontexten (PPMIfrequency )Reduced SVD resultiert in Ak mit

Umtimesk ist mtimes k - MatrixZeilen von Umtimesk reprasentieren TermeSpalten in Umtimesk latente Reprasentation der KontexteBenutze Umtimesk middotΣktimesk zur Berechnung von Termahnlichkeiten

Vorteile gegenuber der vollen Term-Kontext-MatrixDichte MatrixDimensionsreduktion effizientere VerarbeitungDe-Noising

59

Das Beispiel vom Anfang

Eine Wort-Dokument-Matrix M aus dem R5times3

d1 d2 d3ship 1 1 0boat 0 0 1

ocean 1 0 1motor 1 0 1wood 0 1 0

cossim(shipboat) = 0

cossim(shipocean) =12

cossim(boatocean) =1radic2

= 07

60

SVD Zerlegung war

minus041 07 024minus029 minus033 minus072minus061 minus02 014minus061 minus02 014minus01 057 minus062

227 0 0

0 149 00 0 078

minus072 minus023 minus066019 085 minus05067 minus048 minus056

=

minus093 104 0187minus0658 minus049 minus056minus138 minus0298 01092minus138 minus0298 minus1092minus0227 084 minus0483

minus072 minus023 minus066

019 085 minus05067 minus048 minus056

=

1 1 00 0 11 0 11 0 10 1 0

Abweichungen sind Rundungsfehler61

Niedrigdimensionale Approximation

Die kleinsten Eigenwerte sind die unwichtigsten Wir konnen dieseldquoweglassenrdquo = auf Null setzenrarr eine Matrix mit kleinerem Rang dieaber relativ ahnlich zur Ausgangsmatrix istminus041 07 024minus029 minus033 minus072minus061 minus02 014minus061 minus02 014minus01 057 minus062

227 0 0

0 149 00 0 0

minus072 minus023 minus066019 085 minus05067 minus048 minus056

=

minus093 104 0minus0658 minus049 0minus138 minus0298 0minus138 minus0298 0minus0227 084 0

minus072 minus023 minus066

019 085 minus05067 minus048 minus056

=

087 109 011038 minus027 068093 005 106093 005 106032 077 minus027

62

Die niedrigdimensionale Approximation

Wir interessieren uns fur die Matrix U2 = UΣ2 also die Matrix mit demniedrigerem Rang

minus093 104 0minus0658 minus049 0minus138 minus0298 0minus138 minus0298 0minus0227 084 0

Man kann diese nun als die Reprasentation unserer 5 Worter mit zweiversteckten Dimensionen auffassen

h1 h2ship minus093 104boat minus0658 minus049

ocean minus138 minus0298motor minus138 minus0298wood minus0227 084

63

Neue Ahnlichkeitsberechnungen

h1 h2ship minus093 104boat minus0658 minus049

ocean minus138 minus0298motor minus138 minus0298wood minus0227 084

cossim(shipboat) =(minus093) middot (minus0658) + 104 middot (minus049)radic

(0932 + 1042) middotradic

(06582 + 0492)= 009

cossim(shipocean) =(minus093) middot (minus138) + 104 middot (minus029)radic

(0932 + 1042) middotradic

(1382 + 0292)= 049

cossim(boatocean) = 09

64

Variationen

Benutze nur Umtimesk zur Ahnlichkeitsberechnung

Benutze Umtimesk middotΣpktimesk zur Ahnlichkeitsberechnungrarr Parameter p

sollte getuned werden Kann groszlige Unterschiede machen

Oft p = 0p = 05p = 1

65

Performanz der Reduced-SVD-Embeddings

Levy O Goldberg Y Neural word embedding as implicit matrix factorization In

Advances in neural information processing systems 2014 S 2177-2185

(Englische) Wikipedia 15 Milliarden Tokens

Fenster 2 beiderseits

Vokabular 189 533 fur Terme sowie Kontexte

PPMI Matrizen

SVD sowie ohne Zerlegung (PPMI) sowie neurale (SGNS)

Algorithmus Spearman Rank zu WordSim 353SVD 0652SGNS 0633PPMI 0605

66

Latent Semantic Analysis und Word Embeddings

Levy2014

ldquoWe analyze skip-gram with negative-sampling (SGNS) [] and show that it isimplicitly factorizing a word-context matrix whose cells are the pointwise mutualinformation (PMI) of the respective word and context pairs shifted by a globalconstant When dense low-dimensional vectors are preferred exact factorizationwith SVD can achieve solutions that are at least as good as SGNSrsquoss solutions forword similarity tasks On analogy questions SGNS remains superior to SVD Weconjecture that this stems from the weighted nature of SGNSrsquos factorizationrdquo

67

Zusammenfassung

Reduced SVD resultiert in einer optimalen Approximation derOriginalmatrix mit niedrigerem Rang Optimal = optimal bzgl derFrobeniusnorm (bzw mean squared error)

Dadurch erhalten wir eine mathematisch fundierte dichtereMatrix die Rauschen (weniger wichtige Dimensionen) eliminiert

Wir konnen mittels Umtimesk Σktimesk weiterhin Wortahnlichkeitenberechnen

Es konnen Resultate erreicht werden die bei word similaritymindestens ebensogut sind wie mit neuralen word embeddings

Nachteile Kosten der SVD Berechnung fur mtimesn matrixO(n middotm2) (when m lt n)rarr Nicht gut fur sehr grosse Matrizen

Nachteile Geht nicht gut mit unbekannten Wortern um

Nachteile schlechter bei Wortanalogieaufgaben

68

Literatur

Guter erweiterter Hintergrundhttptheorystanfordedu˜tims15ll7pdf bishttptheorystanfordedu˜tims15ll9pdf

SVD Tutorial (ohne vollstandigen Hintergrund) Kirk Baker(2005) Singular Value Decomposition Tutorialhttpsdatajobscomdata-science-repoSVD-Tutorial-[Kirk-Baker]pdf Leider ist hier imKonstruktionsverfahren I die Vorzeichenproblematikfalschlicherweise nicht behandelt worden

Levy O Goldberg Y Neural word embedding as implicit matrixfactorization In Advances in neural information processingsystems 2014 S 2177-2185

Ubungsblatt II

69

  • SVD Hauptsatz
    • Der SVD-Satz
    • Konstruktion am Beispiel Methodologie I
    • Konstruktionsmethodologie II
      • Interpretation der SVD
      • Reduced SVD
      • Verwendung in NLP

Konstruktionsmethodologie II

1 Berechne die quadratische ntimesn Matrix AT middotA2 Berechne die Eigenwerte σ2

j und Eigenvektoren vj von AT middotA3 Die Vektoren vj werden orthonormalisiert (Gram-Schmidt) und

bilden die Spaltenvektoren von V4 Die Wurzeln der σ2-Werte werden in absteigender Reihenfolge

die Eintrage von Σ

5 Die Spaltenvektoren von U bis zum Rang r der AT middotA Matrix sindnun eindeutig bestimmt aus der Vorgabe A = UΣV T und werdendaraus berechnet

6 Wenn r lt m mussen noch mminus r Vektoren zur Orthonormalbasiserganzt werden

29

Schritt I Bestimme V T und Σ wie bisher

Nach dem ublichen Verfahren sei also V T zum Beispiel1radic6

2radic6

1radic6

minus2radic5

1radic5

01radic30

2radic30

minus5radic30

bzw V

V =

1radic6

minus2radic5

1radic30

2radic6

1radic5

2radic30

1radic6

0 minus5radic30

Die Vorzeichen konnten auch anders seinWeiterhin ist

Σ =

(radic12 0 00

radic10 0

)

30

Schritt II Bestimme U

Es muss gelten

A = UΣV T

und damit

AV = UΣV T V

Da V orthogonal ist V T V die Einheitsmatrix und damit

AV = UΣ

31

Schritt II Bestimme U

Man bilde nun eine ntimesm Matrix Σprime die genau auf denentsprechenden Diagonaleintragen 1σi stehen hat Im Beispiel ist

Σprime =

1radic12

0

0 1radic10

0 0

Es gilt dass Σ middotΣprime die mtimesm Einheitsmatrix istUnd damit

AVΣprime = UΣΣprime = U

32

Schritt II Bestimme U

Also giltU = AVΣprime

Damit gilt fur die Spalten von U wenn man sich dieMatrixmultiplikation genauer anschaut

u(j) =1σj

Av (j)

In unserem Beispiel

u(1) =1radic12

(3 1 1minus1 3 1

)1radic6

2radic6

1radic6

=

(1radic2

1radic2

)

33

Schritt II Bestimme U

Und ebenso

u(2) =1radic10

(3 1 1minus1 3 1

)minus2radic

51radic5

0

=

(minus1radic2

1radic2

)

Man sieht dass sich hier das veranderte Vorzeichen von v (2) imentgegengesetzten Vorzeichen von u(2) widerspiegelt Wir musstenauch nicht zweimal Eigenvektoren berechnen sondern U ist aus denvorherigen Berechnungen bestimmt

34

Beispiel mit einer Matrix mit niedrigerem Rang

Da wir durch 1σj

dividieren mussten geht dies nur fur Eigenwerteungleich Null Wenn aber die Matrizen niedrigere Range haben als mdann bekommen wir so nicht genugend U-Vektoren Was machen wirdann

Beispiel Sei eine Matrix von Rang 1 gegeben

A =

(1 01 0

)

35

Berechnung von V

AT A =

(1 10 0

)(1 01 0

)=

(2 00 0

)

36

Berechnung von V

(2 00 0

)hat die Eigenwerte 2 und 0 mit den jeweiligen Eigenvektoren (10)sowie (01)Daraus folgt

V =

(1 00 1

)Die ist schon eine Orthonormalmatrix also gilt V = V sowie daDiagonalmatrix V T = V

37

Bestimmung von Σ

Es gilt

Σ =

(radic2 0

0 0

)

38

Bestimmung von U

Der erste Spaltenvektor u(1) kann wie ublich bestimmt werden mit

u(1) =1radic2

Av (1) =1radic2

(1 01 0

)(10

)

=1radic2

(11

)=

(1radic2

1radic2

)

39

Bestimmung von U

Da wir keinen weiteren Eigenwert 6= 0 haben konnen wir leider sonicht weitermachen dh es geht nur bis zum Rang von A Es gilt aber(

1radic2

x21radic2

y2

)(radic2 0

0 0

)(1 00 1

)

=

(1 01 0

)= A

unabhangig von x2 und y2 Das heisst unser halb vollstandiges U istgenug fur eine Zerlegung

40

Bestimmung von U

1 Wir konnen also jedes x2 und y2 wahlen solange normiert undsenkrecht auf dem ersten Vektor stehend

2 Nach dem sogenannten Basiserganzungssatz geht dies immer3 In unserem Beispiel konnte man zum Beispiel (minus1radic

2 1radic

2) wahlen

4 Wie genau man diese weiteren Vektoren von U konstruiert ist furuns unerheblich da wir ja sowieso die letzten Spalten von U diezu den niedrigeren Eigenwerten gehoren ldquoabschneidenrdquowerden

41

SVD Zwischenfazit

Wir haben eine Matrix in das Produkt einer OrthonormalmatrixDiagonalmatrix und Orthogonalmatrix zerlegt

Die Diagonalmatrix enthalt die Wurzeln von den Eigenwerten vonA middotAT nach Groszlige geordnet

Die erste Orthonormalmatrix enthalt die orthonormalisiertenEigenvektoren von A middotAT nach Eigenwertgrosse geordnet alsSpalten

Die zweite Orthonormalmatrix ist die Transponierte der Matrixdie die orthonormalisierten Eigenvektoren von AT middotA nachEigenwertgrosse geordnet als Spalten enthalt

42

Ubersicht

1 SVD HauptsatzDer SVD-SatzKonstruktion am Beispiel Methodologie IKonstruktionsmethodologie II

2 Interpretation der SVD

3 Reduced SVD

4 Verwendung in NLP

43

Geometrische Interpretation bei quadratischen Matrizen

Bedeutung der SVD ist dass sich die Funktion in eine DrehungDrehspiegelung (V T )eine Verzerrung (Σ) und eine zweite DrehungDrehspiegelung (U) zerlegen lsst

Matrix

(1 10 1

)SVD Geometrische Interpretationa

aQuelle httpscommonswikimediaorgwikiFileSingular-Value-Decompositionsvg

44

Noch einige Bemerkungen

Die Eigenwerte und damit Σ sind eindeutig bestimmt

U und V sind nicht eindeutig bestimmt Es konnen Drehungenum 180 Grad oder Spiegelungen hinzukommen

Wir konnen in vielen Fallen einen Eigenvektor wahlen(Freiheitsgrade) mussen aber dann bei den Vorzeichen derzweiten Matrix aufpassen

45

Noch einige Bemerkungen

Wir haben implizit den Rang der Ursprungsmatrix A bestimmtDies kann man klar an U middotΣ sehen

A = UΣV T =

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00

radic10 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(radic12radic2

radic10radic2

0radic

12radic2

minusradic

10radic2

0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(3 1 1minus1 3 1

)

46

Noch einige Bemerkungen

Deswegen wird manchmal die Singularwertzerlegung auch alsZerlegung in drei Matrizen Amtimesn = Umtimesr Σrtimesr V T

rtimesn wobei r der Rangder Matrix A ist beschrieben

A = UΣV T =

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00

radic10 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 00

radic10

)( 1radic6

2radic6

1radic6

2radic5

minus1radic5

0

)=

(radic12radic2

radic10radic2radic

12radic2

minusradic

10radic2

)(1radic6

2radic6

1radic6

2radic5

minus1radic5

0

)=

(3 1 1minus1 3 1

)47

Noch einige Bemerkungen

Bisher haben wir immer die Ausgangsmatrix einfach reproduziert(mit dem gleichen Rang) Man sieht den Rang besser und es gilt

Die ldquoZerrungrdquo durch die Matrix Σ ist bei den Dimensionen mit denhochsten Eigenwerten am groszligten Beispiel

(radic12 0 00

radic10 0

)x1

x2

x3

=

(radic12 middot x1radic10 middot x2

)Es macht also Sinn dass wir wenn wir eine Approximationunserer Ausgangsmatrix mit niedrigerem Rang wollen dann dieunwichtigen Dimensionen die durch niedrige Eigenwertegekennzeichnet sind weglassen

48

Ubersicht

1 SVD HauptsatzDer SVD-SatzKonstruktion am Beispiel Methodologie IKonstruktionsmethodologie II

2 Interpretation der SVD

3 Reduced SVD

4 Verwendung in NLP

49

Reduced SVD Approximation niedrigeren Ranges

Approximation von mtimesn Matrix A mit Rang r durch mtimesn -Matrix Ak mit Rang k lt r

A = UΣV T asymp Ak = UΣk V T

Σk ist eine ldquodiagonalerdquo mtimesn - Matrix bei der nur auf den erstenk Stellen der Diagonalmatrix Werte 6= 0 stehen

U und V wie zuvor

50

Beispiel

A = UΣV T =

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00

radic10 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

asymp

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00 0 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(radic12radic2

0 0radic

12radic2

0 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(1 2 11 2 1

)51

Reduced SVD

Wir hatten auch nur die ersten k Spalten von U sowie die ersten kZeilen von V T behalten konnen

Aasymp

(1radic2

1radic2

)(radic12)( 1radic

62radic6

1radic6

)=

(radic12radic2radic

12radic2

)(1radic6

2radic6

1radic6

)=

(1 2 11 2 1

)

52

Als Bild

53

Als Algorithmus

Gegeben mtimesn Matrix A und gewunschter Rank k Wir produziereneine Rangminus k Approximation wie folgt

1 Wir berechnen eine SVD Zerlegung von A

Amtimesn = UmtimesmΣmtimesnV Tntimesn

2 Wir behalten nur die ersten k Spalten von U resultierend in Umtimesk

3 Wir behalten nur die Top k sprich die ersten k Diagonalwerte vonΣ resultierend in Σktimesk

4 Wir behalten nur die ersten k Reihen von V T resultierend in V Tktimesn

54

Reduced SVD

Diagonale Eintrage in Σk sind die k groszligten Eigenwerte vonA middotAT

Satz UΣk V T minimiert die Differenz der Frobenius-Normzwischen A und Ak unter der Bedingung rang(Ak ) = k

Das heisst Fur jede mtimesn Matrix A mit Rang r angestrebtemRang k lt r und jede mtimesn Matrix B mit Rang k gilt

Aminus Ak2 le AminusB2

wobei Ak die Rang-k Approximation ist die man aus der SVD vonA ableiten kann

55

Was hat man erreicht

Unkorrelierte Dimensionen (Orthonormalbasis) die nur nochverzerrt werden

Wir haben die Dimensionen mit der meisten Variation identifiziertund danach geordnet

ldquoUnwichtigerdquo Dimensionen werden weggelassenrarr Rauschenvermindert

Man braucht viel weniger Speicherplatz O(k(n + m)) anstattO(nm)

Die neuen ldquoverstecktenrdquo Dimensionen konnen zurAhnlichkeitsberechnung verwendet werden und funktionieren oftbesser

56

Wie wahlt man k

Meist empirisch Gesehen

1 In NLP oft die ersten 200 bis 300 Dimensionen2 In Recommender Systems Wahle k so dass die Summe der

ersten k Eigenwerte mindestens 10-mal der Summe alleranderen Eigenwerte

57

Ubersicht

1 SVD HauptsatzDer SVD-SatzKonstruktion am Beispiel Methodologie IKonstruktionsmethodologie II

2 Interpretation der SVD

3 Reduced SVD

4 Verwendung in NLP

58

Dichte Embeddings

A ist Matrix von m WorternTermen und n Kontexten (PPMIfrequency )Reduced SVD resultiert in Ak mit

Umtimesk ist mtimes k - MatrixZeilen von Umtimesk reprasentieren TermeSpalten in Umtimesk latente Reprasentation der KontexteBenutze Umtimesk middotΣktimesk zur Berechnung von Termahnlichkeiten

Vorteile gegenuber der vollen Term-Kontext-MatrixDichte MatrixDimensionsreduktion effizientere VerarbeitungDe-Noising

59

Dichte Embeddings

A ist Matrix von m WorternTermen und n Kontexten (PPMIfrequency )Reduced SVD resultiert in Ak mit

Umtimesk ist mtimes k - MatrixZeilen von Umtimesk reprasentieren TermeSpalten in Umtimesk latente Reprasentation der KontexteBenutze Umtimesk middotΣktimesk zur Berechnung von Termahnlichkeiten

Vorteile gegenuber der vollen Term-Kontext-MatrixDichte MatrixDimensionsreduktion effizientere VerarbeitungDe-Noising

59

Dichte Embeddings

A ist Matrix von m WorternTermen und n Kontexten (PPMIfrequency )Reduced SVD resultiert in Ak mit

Umtimesk ist mtimes k - MatrixZeilen von Umtimesk reprasentieren TermeSpalten in Umtimesk latente Reprasentation der KontexteBenutze Umtimesk middotΣktimesk zur Berechnung von Termahnlichkeiten

Vorteile gegenuber der vollen Term-Kontext-MatrixDichte MatrixDimensionsreduktion effizientere VerarbeitungDe-Noising

59

Das Beispiel vom Anfang

Eine Wort-Dokument-Matrix M aus dem R5times3

d1 d2 d3ship 1 1 0boat 0 0 1

ocean 1 0 1motor 1 0 1wood 0 1 0

cossim(shipboat) = 0

cossim(shipocean) =12

cossim(boatocean) =1radic2

= 07

60

SVD Zerlegung war

minus041 07 024minus029 minus033 minus072minus061 minus02 014minus061 minus02 014minus01 057 minus062

227 0 0

0 149 00 0 078

minus072 minus023 minus066019 085 minus05067 minus048 minus056

=

minus093 104 0187minus0658 minus049 minus056minus138 minus0298 01092minus138 minus0298 minus1092minus0227 084 minus0483

minus072 minus023 minus066

019 085 minus05067 minus048 minus056

=

1 1 00 0 11 0 11 0 10 1 0

Abweichungen sind Rundungsfehler61

Niedrigdimensionale Approximation

Die kleinsten Eigenwerte sind die unwichtigsten Wir konnen dieseldquoweglassenrdquo = auf Null setzenrarr eine Matrix mit kleinerem Rang dieaber relativ ahnlich zur Ausgangsmatrix istminus041 07 024minus029 minus033 minus072minus061 minus02 014minus061 minus02 014minus01 057 minus062

227 0 0

0 149 00 0 0

minus072 minus023 minus066019 085 minus05067 minus048 minus056

=

minus093 104 0minus0658 minus049 0minus138 minus0298 0minus138 minus0298 0minus0227 084 0

minus072 minus023 minus066

019 085 minus05067 minus048 minus056

=

087 109 011038 minus027 068093 005 106093 005 106032 077 minus027

62

Die niedrigdimensionale Approximation

Wir interessieren uns fur die Matrix U2 = UΣ2 also die Matrix mit demniedrigerem Rang

minus093 104 0minus0658 minus049 0minus138 minus0298 0minus138 minus0298 0minus0227 084 0

Man kann diese nun als die Reprasentation unserer 5 Worter mit zweiversteckten Dimensionen auffassen

h1 h2ship minus093 104boat minus0658 minus049

ocean minus138 minus0298motor minus138 minus0298wood minus0227 084

63

Neue Ahnlichkeitsberechnungen

h1 h2ship minus093 104boat minus0658 minus049

ocean minus138 minus0298motor minus138 minus0298wood minus0227 084

cossim(shipboat) =(minus093) middot (minus0658) + 104 middot (minus049)radic

(0932 + 1042) middotradic

(06582 + 0492)= 009

cossim(shipocean) =(minus093) middot (minus138) + 104 middot (minus029)radic

(0932 + 1042) middotradic

(1382 + 0292)= 049

cossim(boatocean) = 09

64

Variationen

Benutze nur Umtimesk zur Ahnlichkeitsberechnung

Benutze Umtimesk middotΣpktimesk zur Ahnlichkeitsberechnungrarr Parameter p

sollte getuned werden Kann groszlige Unterschiede machen

Oft p = 0p = 05p = 1

65

Performanz der Reduced-SVD-Embeddings

Levy O Goldberg Y Neural word embedding as implicit matrix factorization In

Advances in neural information processing systems 2014 S 2177-2185

(Englische) Wikipedia 15 Milliarden Tokens

Fenster 2 beiderseits

Vokabular 189 533 fur Terme sowie Kontexte

PPMI Matrizen

SVD sowie ohne Zerlegung (PPMI) sowie neurale (SGNS)

Algorithmus Spearman Rank zu WordSim 353SVD 0652SGNS 0633PPMI 0605

66

Latent Semantic Analysis und Word Embeddings

Levy2014

ldquoWe analyze skip-gram with negative-sampling (SGNS) [] and show that it isimplicitly factorizing a word-context matrix whose cells are the pointwise mutualinformation (PMI) of the respective word and context pairs shifted by a globalconstant When dense low-dimensional vectors are preferred exact factorizationwith SVD can achieve solutions that are at least as good as SGNSrsquoss solutions forword similarity tasks On analogy questions SGNS remains superior to SVD Weconjecture that this stems from the weighted nature of SGNSrsquos factorizationrdquo

67

Zusammenfassung

Reduced SVD resultiert in einer optimalen Approximation derOriginalmatrix mit niedrigerem Rang Optimal = optimal bzgl derFrobeniusnorm (bzw mean squared error)

Dadurch erhalten wir eine mathematisch fundierte dichtereMatrix die Rauschen (weniger wichtige Dimensionen) eliminiert

Wir konnen mittels Umtimesk Σktimesk weiterhin Wortahnlichkeitenberechnen

Es konnen Resultate erreicht werden die bei word similaritymindestens ebensogut sind wie mit neuralen word embeddings

Nachteile Kosten der SVD Berechnung fur mtimesn matrixO(n middotm2) (when m lt n)rarr Nicht gut fur sehr grosse Matrizen

Nachteile Geht nicht gut mit unbekannten Wortern um

Nachteile schlechter bei Wortanalogieaufgaben

68

Literatur

Guter erweiterter Hintergrundhttptheorystanfordedu˜tims15ll7pdf bishttptheorystanfordedu˜tims15ll9pdf

SVD Tutorial (ohne vollstandigen Hintergrund) Kirk Baker(2005) Singular Value Decomposition Tutorialhttpsdatajobscomdata-science-repoSVD-Tutorial-[Kirk-Baker]pdf Leider ist hier imKonstruktionsverfahren I die Vorzeichenproblematikfalschlicherweise nicht behandelt worden

Levy O Goldberg Y Neural word embedding as implicit matrixfactorization In Advances in neural information processingsystems 2014 S 2177-2185

Ubungsblatt II

69

  • SVD Hauptsatz
    • Der SVD-Satz
    • Konstruktion am Beispiel Methodologie I
    • Konstruktionsmethodologie II
      • Interpretation der SVD
      • Reduced SVD
      • Verwendung in NLP

Schritt I Bestimme V T und Σ wie bisher

Nach dem ublichen Verfahren sei also V T zum Beispiel1radic6

2radic6

1radic6

minus2radic5

1radic5

01radic30

2radic30

minus5radic30

bzw V

V =

1radic6

minus2radic5

1radic30

2radic6

1radic5

2radic30

1radic6

0 minus5radic30

Die Vorzeichen konnten auch anders seinWeiterhin ist

Σ =

(radic12 0 00

radic10 0

)

30

Schritt II Bestimme U

Es muss gelten

A = UΣV T

und damit

AV = UΣV T V

Da V orthogonal ist V T V die Einheitsmatrix und damit

AV = UΣ

31

Schritt II Bestimme U

Man bilde nun eine ntimesm Matrix Σprime die genau auf denentsprechenden Diagonaleintragen 1σi stehen hat Im Beispiel ist

Σprime =

1radic12

0

0 1radic10

0 0

Es gilt dass Σ middotΣprime die mtimesm Einheitsmatrix istUnd damit

AVΣprime = UΣΣprime = U

32

Schritt II Bestimme U

Also giltU = AVΣprime

Damit gilt fur die Spalten von U wenn man sich dieMatrixmultiplikation genauer anschaut

u(j) =1σj

Av (j)

In unserem Beispiel

u(1) =1radic12

(3 1 1minus1 3 1

)1radic6

2radic6

1radic6

=

(1radic2

1radic2

)

33

Schritt II Bestimme U

Und ebenso

u(2) =1radic10

(3 1 1minus1 3 1

)minus2radic

51radic5

0

=

(minus1radic2

1radic2

)

Man sieht dass sich hier das veranderte Vorzeichen von v (2) imentgegengesetzten Vorzeichen von u(2) widerspiegelt Wir musstenauch nicht zweimal Eigenvektoren berechnen sondern U ist aus denvorherigen Berechnungen bestimmt

34

Beispiel mit einer Matrix mit niedrigerem Rang

Da wir durch 1σj

dividieren mussten geht dies nur fur Eigenwerteungleich Null Wenn aber die Matrizen niedrigere Range haben als mdann bekommen wir so nicht genugend U-Vektoren Was machen wirdann

Beispiel Sei eine Matrix von Rang 1 gegeben

A =

(1 01 0

)

35

Berechnung von V

AT A =

(1 10 0

)(1 01 0

)=

(2 00 0

)

36

Berechnung von V

(2 00 0

)hat die Eigenwerte 2 und 0 mit den jeweiligen Eigenvektoren (10)sowie (01)Daraus folgt

V =

(1 00 1

)Die ist schon eine Orthonormalmatrix also gilt V = V sowie daDiagonalmatrix V T = V

37

Bestimmung von Σ

Es gilt

Σ =

(radic2 0

0 0

)

38

Bestimmung von U

Der erste Spaltenvektor u(1) kann wie ublich bestimmt werden mit

u(1) =1radic2

Av (1) =1radic2

(1 01 0

)(10

)

=1radic2

(11

)=

(1radic2

1radic2

)

39

Bestimmung von U

Da wir keinen weiteren Eigenwert 6= 0 haben konnen wir leider sonicht weitermachen dh es geht nur bis zum Rang von A Es gilt aber(

1radic2

x21radic2

y2

)(radic2 0

0 0

)(1 00 1

)

=

(1 01 0

)= A

unabhangig von x2 und y2 Das heisst unser halb vollstandiges U istgenug fur eine Zerlegung

40

Bestimmung von U

1 Wir konnen also jedes x2 und y2 wahlen solange normiert undsenkrecht auf dem ersten Vektor stehend

2 Nach dem sogenannten Basiserganzungssatz geht dies immer3 In unserem Beispiel konnte man zum Beispiel (minus1radic

2 1radic

2) wahlen

4 Wie genau man diese weiteren Vektoren von U konstruiert ist furuns unerheblich da wir ja sowieso die letzten Spalten von U diezu den niedrigeren Eigenwerten gehoren ldquoabschneidenrdquowerden

41

SVD Zwischenfazit

Wir haben eine Matrix in das Produkt einer OrthonormalmatrixDiagonalmatrix und Orthogonalmatrix zerlegt

Die Diagonalmatrix enthalt die Wurzeln von den Eigenwerten vonA middotAT nach Groszlige geordnet

Die erste Orthonormalmatrix enthalt die orthonormalisiertenEigenvektoren von A middotAT nach Eigenwertgrosse geordnet alsSpalten

Die zweite Orthonormalmatrix ist die Transponierte der Matrixdie die orthonormalisierten Eigenvektoren von AT middotA nachEigenwertgrosse geordnet als Spalten enthalt

42

Ubersicht

1 SVD HauptsatzDer SVD-SatzKonstruktion am Beispiel Methodologie IKonstruktionsmethodologie II

2 Interpretation der SVD

3 Reduced SVD

4 Verwendung in NLP

43

Geometrische Interpretation bei quadratischen Matrizen

Bedeutung der SVD ist dass sich die Funktion in eine DrehungDrehspiegelung (V T )eine Verzerrung (Σ) und eine zweite DrehungDrehspiegelung (U) zerlegen lsst

Matrix

(1 10 1

)SVD Geometrische Interpretationa

aQuelle httpscommonswikimediaorgwikiFileSingular-Value-Decompositionsvg

44

Noch einige Bemerkungen

Die Eigenwerte und damit Σ sind eindeutig bestimmt

U und V sind nicht eindeutig bestimmt Es konnen Drehungenum 180 Grad oder Spiegelungen hinzukommen

Wir konnen in vielen Fallen einen Eigenvektor wahlen(Freiheitsgrade) mussen aber dann bei den Vorzeichen derzweiten Matrix aufpassen

45

Noch einige Bemerkungen

Wir haben implizit den Rang der Ursprungsmatrix A bestimmtDies kann man klar an U middotΣ sehen

A = UΣV T =

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00

radic10 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(radic12radic2

radic10radic2

0radic

12radic2

minusradic

10radic2

0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(3 1 1minus1 3 1

)

46

Noch einige Bemerkungen

Deswegen wird manchmal die Singularwertzerlegung auch alsZerlegung in drei Matrizen Amtimesn = Umtimesr Σrtimesr V T

rtimesn wobei r der Rangder Matrix A ist beschrieben

A = UΣV T =

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00

radic10 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 00

radic10

)( 1radic6

2radic6

1radic6

2radic5

minus1radic5

0

)=

(radic12radic2

radic10radic2radic

12radic2

minusradic

10radic2

)(1radic6

2radic6

1radic6

2radic5

minus1radic5

0

)=

(3 1 1minus1 3 1

)47

Noch einige Bemerkungen

Bisher haben wir immer die Ausgangsmatrix einfach reproduziert(mit dem gleichen Rang) Man sieht den Rang besser und es gilt

Die ldquoZerrungrdquo durch die Matrix Σ ist bei den Dimensionen mit denhochsten Eigenwerten am groszligten Beispiel

(radic12 0 00

radic10 0

)x1

x2

x3

=

(radic12 middot x1radic10 middot x2

)Es macht also Sinn dass wir wenn wir eine Approximationunserer Ausgangsmatrix mit niedrigerem Rang wollen dann dieunwichtigen Dimensionen die durch niedrige Eigenwertegekennzeichnet sind weglassen

48

Ubersicht

1 SVD HauptsatzDer SVD-SatzKonstruktion am Beispiel Methodologie IKonstruktionsmethodologie II

2 Interpretation der SVD

3 Reduced SVD

4 Verwendung in NLP

49

Reduced SVD Approximation niedrigeren Ranges

Approximation von mtimesn Matrix A mit Rang r durch mtimesn -Matrix Ak mit Rang k lt r

A = UΣV T asymp Ak = UΣk V T

Σk ist eine ldquodiagonalerdquo mtimesn - Matrix bei der nur auf den erstenk Stellen der Diagonalmatrix Werte 6= 0 stehen

U und V wie zuvor

50

Beispiel

A = UΣV T =

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00

radic10 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

asymp

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00 0 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(radic12radic2

0 0radic

12radic2

0 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(1 2 11 2 1

)51

Reduced SVD

Wir hatten auch nur die ersten k Spalten von U sowie die ersten kZeilen von V T behalten konnen

Aasymp

(1radic2

1radic2

)(radic12)( 1radic

62radic6

1radic6

)=

(radic12radic2radic

12radic2

)(1radic6

2radic6

1radic6

)=

(1 2 11 2 1

)

52

Als Bild

53

Als Algorithmus

Gegeben mtimesn Matrix A und gewunschter Rank k Wir produziereneine Rangminus k Approximation wie folgt

1 Wir berechnen eine SVD Zerlegung von A

Amtimesn = UmtimesmΣmtimesnV Tntimesn

2 Wir behalten nur die ersten k Spalten von U resultierend in Umtimesk

3 Wir behalten nur die Top k sprich die ersten k Diagonalwerte vonΣ resultierend in Σktimesk

4 Wir behalten nur die ersten k Reihen von V T resultierend in V Tktimesn

54

Reduced SVD

Diagonale Eintrage in Σk sind die k groszligten Eigenwerte vonA middotAT

Satz UΣk V T minimiert die Differenz der Frobenius-Normzwischen A und Ak unter der Bedingung rang(Ak ) = k

Das heisst Fur jede mtimesn Matrix A mit Rang r angestrebtemRang k lt r und jede mtimesn Matrix B mit Rang k gilt

Aminus Ak2 le AminusB2

wobei Ak die Rang-k Approximation ist die man aus der SVD vonA ableiten kann

55

Was hat man erreicht

Unkorrelierte Dimensionen (Orthonormalbasis) die nur nochverzerrt werden

Wir haben die Dimensionen mit der meisten Variation identifiziertund danach geordnet

ldquoUnwichtigerdquo Dimensionen werden weggelassenrarr Rauschenvermindert

Man braucht viel weniger Speicherplatz O(k(n + m)) anstattO(nm)

Die neuen ldquoverstecktenrdquo Dimensionen konnen zurAhnlichkeitsberechnung verwendet werden und funktionieren oftbesser

56

Wie wahlt man k

Meist empirisch Gesehen

1 In NLP oft die ersten 200 bis 300 Dimensionen2 In Recommender Systems Wahle k so dass die Summe der

ersten k Eigenwerte mindestens 10-mal der Summe alleranderen Eigenwerte

57

Ubersicht

1 SVD HauptsatzDer SVD-SatzKonstruktion am Beispiel Methodologie IKonstruktionsmethodologie II

2 Interpretation der SVD

3 Reduced SVD

4 Verwendung in NLP

58

Dichte Embeddings

A ist Matrix von m WorternTermen und n Kontexten (PPMIfrequency )Reduced SVD resultiert in Ak mit

Umtimesk ist mtimes k - MatrixZeilen von Umtimesk reprasentieren TermeSpalten in Umtimesk latente Reprasentation der KontexteBenutze Umtimesk middotΣktimesk zur Berechnung von Termahnlichkeiten

Vorteile gegenuber der vollen Term-Kontext-MatrixDichte MatrixDimensionsreduktion effizientere VerarbeitungDe-Noising

59

Dichte Embeddings

A ist Matrix von m WorternTermen und n Kontexten (PPMIfrequency )Reduced SVD resultiert in Ak mit

Umtimesk ist mtimes k - MatrixZeilen von Umtimesk reprasentieren TermeSpalten in Umtimesk latente Reprasentation der KontexteBenutze Umtimesk middotΣktimesk zur Berechnung von Termahnlichkeiten

Vorteile gegenuber der vollen Term-Kontext-MatrixDichte MatrixDimensionsreduktion effizientere VerarbeitungDe-Noising

59

Dichte Embeddings

A ist Matrix von m WorternTermen und n Kontexten (PPMIfrequency )Reduced SVD resultiert in Ak mit

Umtimesk ist mtimes k - MatrixZeilen von Umtimesk reprasentieren TermeSpalten in Umtimesk latente Reprasentation der KontexteBenutze Umtimesk middotΣktimesk zur Berechnung von Termahnlichkeiten

Vorteile gegenuber der vollen Term-Kontext-MatrixDichte MatrixDimensionsreduktion effizientere VerarbeitungDe-Noising

59

Das Beispiel vom Anfang

Eine Wort-Dokument-Matrix M aus dem R5times3

d1 d2 d3ship 1 1 0boat 0 0 1

ocean 1 0 1motor 1 0 1wood 0 1 0

cossim(shipboat) = 0

cossim(shipocean) =12

cossim(boatocean) =1radic2

= 07

60

SVD Zerlegung war

minus041 07 024minus029 minus033 minus072minus061 minus02 014minus061 minus02 014minus01 057 minus062

227 0 0

0 149 00 0 078

minus072 minus023 minus066019 085 minus05067 minus048 minus056

=

minus093 104 0187minus0658 minus049 minus056minus138 minus0298 01092minus138 minus0298 minus1092minus0227 084 minus0483

minus072 minus023 minus066

019 085 minus05067 minus048 minus056

=

1 1 00 0 11 0 11 0 10 1 0

Abweichungen sind Rundungsfehler61

Niedrigdimensionale Approximation

Die kleinsten Eigenwerte sind die unwichtigsten Wir konnen dieseldquoweglassenrdquo = auf Null setzenrarr eine Matrix mit kleinerem Rang dieaber relativ ahnlich zur Ausgangsmatrix istminus041 07 024minus029 minus033 minus072minus061 minus02 014minus061 minus02 014minus01 057 minus062

227 0 0

0 149 00 0 0

minus072 minus023 minus066019 085 minus05067 minus048 minus056

=

minus093 104 0minus0658 minus049 0minus138 minus0298 0minus138 minus0298 0minus0227 084 0

minus072 minus023 minus066

019 085 minus05067 minus048 minus056

=

087 109 011038 minus027 068093 005 106093 005 106032 077 minus027

62

Die niedrigdimensionale Approximation

Wir interessieren uns fur die Matrix U2 = UΣ2 also die Matrix mit demniedrigerem Rang

minus093 104 0minus0658 minus049 0minus138 minus0298 0minus138 minus0298 0minus0227 084 0

Man kann diese nun als die Reprasentation unserer 5 Worter mit zweiversteckten Dimensionen auffassen

h1 h2ship minus093 104boat minus0658 minus049

ocean minus138 minus0298motor minus138 minus0298wood minus0227 084

63

Neue Ahnlichkeitsberechnungen

h1 h2ship minus093 104boat minus0658 minus049

ocean minus138 minus0298motor minus138 minus0298wood minus0227 084

cossim(shipboat) =(minus093) middot (minus0658) + 104 middot (minus049)radic

(0932 + 1042) middotradic

(06582 + 0492)= 009

cossim(shipocean) =(minus093) middot (minus138) + 104 middot (minus029)radic

(0932 + 1042) middotradic

(1382 + 0292)= 049

cossim(boatocean) = 09

64

Variationen

Benutze nur Umtimesk zur Ahnlichkeitsberechnung

Benutze Umtimesk middotΣpktimesk zur Ahnlichkeitsberechnungrarr Parameter p

sollte getuned werden Kann groszlige Unterschiede machen

Oft p = 0p = 05p = 1

65

Performanz der Reduced-SVD-Embeddings

Levy O Goldberg Y Neural word embedding as implicit matrix factorization In

Advances in neural information processing systems 2014 S 2177-2185

(Englische) Wikipedia 15 Milliarden Tokens

Fenster 2 beiderseits

Vokabular 189 533 fur Terme sowie Kontexte

PPMI Matrizen

SVD sowie ohne Zerlegung (PPMI) sowie neurale (SGNS)

Algorithmus Spearman Rank zu WordSim 353SVD 0652SGNS 0633PPMI 0605

66

Latent Semantic Analysis und Word Embeddings

Levy2014

ldquoWe analyze skip-gram with negative-sampling (SGNS) [] and show that it isimplicitly factorizing a word-context matrix whose cells are the pointwise mutualinformation (PMI) of the respective word and context pairs shifted by a globalconstant When dense low-dimensional vectors are preferred exact factorizationwith SVD can achieve solutions that are at least as good as SGNSrsquoss solutions forword similarity tasks On analogy questions SGNS remains superior to SVD Weconjecture that this stems from the weighted nature of SGNSrsquos factorizationrdquo

67

Zusammenfassung

Reduced SVD resultiert in einer optimalen Approximation derOriginalmatrix mit niedrigerem Rang Optimal = optimal bzgl derFrobeniusnorm (bzw mean squared error)

Dadurch erhalten wir eine mathematisch fundierte dichtereMatrix die Rauschen (weniger wichtige Dimensionen) eliminiert

Wir konnen mittels Umtimesk Σktimesk weiterhin Wortahnlichkeitenberechnen

Es konnen Resultate erreicht werden die bei word similaritymindestens ebensogut sind wie mit neuralen word embeddings

Nachteile Kosten der SVD Berechnung fur mtimesn matrixO(n middotm2) (when m lt n)rarr Nicht gut fur sehr grosse Matrizen

Nachteile Geht nicht gut mit unbekannten Wortern um

Nachteile schlechter bei Wortanalogieaufgaben

68

Literatur

Guter erweiterter Hintergrundhttptheorystanfordedu˜tims15ll7pdf bishttptheorystanfordedu˜tims15ll9pdf

SVD Tutorial (ohne vollstandigen Hintergrund) Kirk Baker(2005) Singular Value Decomposition Tutorialhttpsdatajobscomdata-science-repoSVD-Tutorial-[Kirk-Baker]pdf Leider ist hier imKonstruktionsverfahren I die Vorzeichenproblematikfalschlicherweise nicht behandelt worden

Levy O Goldberg Y Neural word embedding as implicit matrixfactorization In Advances in neural information processingsystems 2014 S 2177-2185

Ubungsblatt II

69

  • SVD Hauptsatz
    • Der SVD-Satz
    • Konstruktion am Beispiel Methodologie I
    • Konstruktionsmethodologie II
      • Interpretation der SVD
      • Reduced SVD
      • Verwendung in NLP

Schritt II Bestimme U

Es muss gelten

A = UΣV T

und damit

AV = UΣV T V

Da V orthogonal ist V T V die Einheitsmatrix und damit

AV = UΣ

31

Schritt II Bestimme U

Man bilde nun eine ntimesm Matrix Σprime die genau auf denentsprechenden Diagonaleintragen 1σi stehen hat Im Beispiel ist

Σprime =

1radic12

0

0 1radic10

0 0

Es gilt dass Σ middotΣprime die mtimesm Einheitsmatrix istUnd damit

AVΣprime = UΣΣprime = U

32

Schritt II Bestimme U

Also giltU = AVΣprime

Damit gilt fur die Spalten von U wenn man sich dieMatrixmultiplikation genauer anschaut

u(j) =1σj

Av (j)

In unserem Beispiel

u(1) =1radic12

(3 1 1minus1 3 1

)1radic6

2radic6

1radic6

=

(1radic2

1radic2

)

33

Schritt II Bestimme U

Und ebenso

u(2) =1radic10

(3 1 1minus1 3 1

)minus2radic

51radic5

0

=

(minus1radic2

1radic2

)

Man sieht dass sich hier das veranderte Vorzeichen von v (2) imentgegengesetzten Vorzeichen von u(2) widerspiegelt Wir musstenauch nicht zweimal Eigenvektoren berechnen sondern U ist aus denvorherigen Berechnungen bestimmt

34

Beispiel mit einer Matrix mit niedrigerem Rang

Da wir durch 1σj

dividieren mussten geht dies nur fur Eigenwerteungleich Null Wenn aber die Matrizen niedrigere Range haben als mdann bekommen wir so nicht genugend U-Vektoren Was machen wirdann

Beispiel Sei eine Matrix von Rang 1 gegeben

A =

(1 01 0

)

35

Berechnung von V

AT A =

(1 10 0

)(1 01 0

)=

(2 00 0

)

36

Berechnung von V

(2 00 0

)hat die Eigenwerte 2 und 0 mit den jeweiligen Eigenvektoren (10)sowie (01)Daraus folgt

V =

(1 00 1

)Die ist schon eine Orthonormalmatrix also gilt V = V sowie daDiagonalmatrix V T = V

37

Bestimmung von Σ

Es gilt

Σ =

(radic2 0

0 0

)

38

Bestimmung von U

Der erste Spaltenvektor u(1) kann wie ublich bestimmt werden mit

u(1) =1radic2

Av (1) =1radic2

(1 01 0

)(10

)

=1radic2

(11

)=

(1radic2

1radic2

)

39

Bestimmung von U

Da wir keinen weiteren Eigenwert 6= 0 haben konnen wir leider sonicht weitermachen dh es geht nur bis zum Rang von A Es gilt aber(

1radic2

x21radic2

y2

)(radic2 0

0 0

)(1 00 1

)

=

(1 01 0

)= A

unabhangig von x2 und y2 Das heisst unser halb vollstandiges U istgenug fur eine Zerlegung

40

Bestimmung von U

1 Wir konnen also jedes x2 und y2 wahlen solange normiert undsenkrecht auf dem ersten Vektor stehend

2 Nach dem sogenannten Basiserganzungssatz geht dies immer3 In unserem Beispiel konnte man zum Beispiel (minus1radic

2 1radic

2) wahlen

4 Wie genau man diese weiteren Vektoren von U konstruiert ist furuns unerheblich da wir ja sowieso die letzten Spalten von U diezu den niedrigeren Eigenwerten gehoren ldquoabschneidenrdquowerden

41

SVD Zwischenfazit

Wir haben eine Matrix in das Produkt einer OrthonormalmatrixDiagonalmatrix und Orthogonalmatrix zerlegt

Die Diagonalmatrix enthalt die Wurzeln von den Eigenwerten vonA middotAT nach Groszlige geordnet

Die erste Orthonormalmatrix enthalt die orthonormalisiertenEigenvektoren von A middotAT nach Eigenwertgrosse geordnet alsSpalten

Die zweite Orthonormalmatrix ist die Transponierte der Matrixdie die orthonormalisierten Eigenvektoren von AT middotA nachEigenwertgrosse geordnet als Spalten enthalt

42

Ubersicht

1 SVD HauptsatzDer SVD-SatzKonstruktion am Beispiel Methodologie IKonstruktionsmethodologie II

2 Interpretation der SVD

3 Reduced SVD

4 Verwendung in NLP

43

Geometrische Interpretation bei quadratischen Matrizen

Bedeutung der SVD ist dass sich die Funktion in eine DrehungDrehspiegelung (V T )eine Verzerrung (Σ) und eine zweite DrehungDrehspiegelung (U) zerlegen lsst

Matrix

(1 10 1

)SVD Geometrische Interpretationa

aQuelle httpscommonswikimediaorgwikiFileSingular-Value-Decompositionsvg

44

Noch einige Bemerkungen

Die Eigenwerte und damit Σ sind eindeutig bestimmt

U und V sind nicht eindeutig bestimmt Es konnen Drehungenum 180 Grad oder Spiegelungen hinzukommen

Wir konnen in vielen Fallen einen Eigenvektor wahlen(Freiheitsgrade) mussen aber dann bei den Vorzeichen derzweiten Matrix aufpassen

45

Noch einige Bemerkungen

Wir haben implizit den Rang der Ursprungsmatrix A bestimmtDies kann man klar an U middotΣ sehen

A = UΣV T =

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00

radic10 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(radic12radic2

radic10radic2

0radic

12radic2

minusradic

10radic2

0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(3 1 1minus1 3 1

)

46

Noch einige Bemerkungen

Deswegen wird manchmal die Singularwertzerlegung auch alsZerlegung in drei Matrizen Amtimesn = Umtimesr Σrtimesr V T

rtimesn wobei r der Rangder Matrix A ist beschrieben

A = UΣV T =

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00

radic10 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 00

radic10

)( 1radic6

2radic6

1radic6

2radic5

minus1radic5

0

)=

(radic12radic2

radic10radic2radic

12radic2

minusradic

10radic2

)(1radic6

2radic6

1radic6

2radic5

minus1radic5

0

)=

(3 1 1minus1 3 1

)47

Noch einige Bemerkungen

Bisher haben wir immer die Ausgangsmatrix einfach reproduziert(mit dem gleichen Rang) Man sieht den Rang besser und es gilt

Die ldquoZerrungrdquo durch die Matrix Σ ist bei den Dimensionen mit denhochsten Eigenwerten am groszligten Beispiel

(radic12 0 00

radic10 0

)x1

x2

x3

=

(radic12 middot x1radic10 middot x2

)Es macht also Sinn dass wir wenn wir eine Approximationunserer Ausgangsmatrix mit niedrigerem Rang wollen dann dieunwichtigen Dimensionen die durch niedrige Eigenwertegekennzeichnet sind weglassen

48

Ubersicht

1 SVD HauptsatzDer SVD-SatzKonstruktion am Beispiel Methodologie IKonstruktionsmethodologie II

2 Interpretation der SVD

3 Reduced SVD

4 Verwendung in NLP

49

Reduced SVD Approximation niedrigeren Ranges

Approximation von mtimesn Matrix A mit Rang r durch mtimesn -Matrix Ak mit Rang k lt r

A = UΣV T asymp Ak = UΣk V T

Σk ist eine ldquodiagonalerdquo mtimesn - Matrix bei der nur auf den erstenk Stellen der Diagonalmatrix Werte 6= 0 stehen

U und V wie zuvor

50

Beispiel

A = UΣV T =

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00

radic10 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

asymp

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00 0 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(radic12radic2

0 0radic

12radic2

0 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(1 2 11 2 1

)51

Reduced SVD

Wir hatten auch nur die ersten k Spalten von U sowie die ersten kZeilen von V T behalten konnen

Aasymp

(1radic2

1radic2

)(radic12)( 1radic

62radic6

1radic6

)=

(radic12radic2radic

12radic2

)(1radic6

2radic6

1radic6

)=

(1 2 11 2 1

)

52

Als Bild

53

Als Algorithmus

Gegeben mtimesn Matrix A und gewunschter Rank k Wir produziereneine Rangminus k Approximation wie folgt

1 Wir berechnen eine SVD Zerlegung von A

Amtimesn = UmtimesmΣmtimesnV Tntimesn

2 Wir behalten nur die ersten k Spalten von U resultierend in Umtimesk

3 Wir behalten nur die Top k sprich die ersten k Diagonalwerte vonΣ resultierend in Σktimesk

4 Wir behalten nur die ersten k Reihen von V T resultierend in V Tktimesn

54

Reduced SVD

Diagonale Eintrage in Σk sind die k groszligten Eigenwerte vonA middotAT

Satz UΣk V T minimiert die Differenz der Frobenius-Normzwischen A und Ak unter der Bedingung rang(Ak ) = k

Das heisst Fur jede mtimesn Matrix A mit Rang r angestrebtemRang k lt r und jede mtimesn Matrix B mit Rang k gilt

Aminus Ak2 le AminusB2

wobei Ak die Rang-k Approximation ist die man aus der SVD vonA ableiten kann

55

Was hat man erreicht

Unkorrelierte Dimensionen (Orthonormalbasis) die nur nochverzerrt werden

Wir haben die Dimensionen mit der meisten Variation identifiziertund danach geordnet

ldquoUnwichtigerdquo Dimensionen werden weggelassenrarr Rauschenvermindert

Man braucht viel weniger Speicherplatz O(k(n + m)) anstattO(nm)

Die neuen ldquoverstecktenrdquo Dimensionen konnen zurAhnlichkeitsberechnung verwendet werden und funktionieren oftbesser

56

Wie wahlt man k

Meist empirisch Gesehen

1 In NLP oft die ersten 200 bis 300 Dimensionen2 In Recommender Systems Wahle k so dass die Summe der

ersten k Eigenwerte mindestens 10-mal der Summe alleranderen Eigenwerte

57

Ubersicht

1 SVD HauptsatzDer SVD-SatzKonstruktion am Beispiel Methodologie IKonstruktionsmethodologie II

2 Interpretation der SVD

3 Reduced SVD

4 Verwendung in NLP

58

Dichte Embeddings

A ist Matrix von m WorternTermen und n Kontexten (PPMIfrequency )Reduced SVD resultiert in Ak mit

Umtimesk ist mtimes k - MatrixZeilen von Umtimesk reprasentieren TermeSpalten in Umtimesk latente Reprasentation der KontexteBenutze Umtimesk middotΣktimesk zur Berechnung von Termahnlichkeiten

Vorteile gegenuber der vollen Term-Kontext-MatrixDichte MatrixDimensionsreduktion effizientere VerarbeitungDe-Noising

59

Dichte Embeddings

A ist Matrix von m WorternTermen und n Kontexten (PPMIfrequency )Reduced SVD resultiert in Ak mit

Umtimesk ist mtimes k - MatrixZeilen von Umtimesk reprasentieren TermeSpalten in Umtimesk latente Reprasentation der KontexteBenutze Umtimesk middotΣktimesk zur Berechnung von Termahnlichkeiten

Vorteile gegenuber der vollen Term-Kontext-MatrixDichte MatrixDimensionsreduktion effizientere VerarbeitungDe-Noising

59

Dichte Embeddings

A ist Matrix von m WorternTermen und n Kontexten (PPMIfrequency )Reduced SVD resultiert in Ak mit

Umtimesk ist mtimes k - MatrixZeilen von Umtimesk reprasentieren TermeSpalten in Umtimesk latente Reprasentation der KontexteBenutze Umtimesk middotΣktimesk zur Berechnung von Termahnlichkeiten

Vorteile gegenuber der vollen Term-Kontext-MatrixDichte MatrixDimensionsreduktion effizientere VerarbeitungDe-Noising

59

Das Beispiel vom Anfang

Eine Wort-Dokument-Matrix M aus dem R5times3

d1 d2 d3ship 1 1 0boat 0 0 1

ocean 1 0 1motor 1 0 1wood 0 1 0

cossim(shipboat) = 0

cossim(shipocean) =12

cossim(boatocean) =1radic2

= 07

60

SVD Zerlegung war

minus041 07 024minus029 minus033 minus072minus061 minus02 014minus061 minus02 014minus01 057 minus062

227 0 0

0 149 00 0 078

minus072 minus023 minus066019 085 minus05067 minus048 minus056

=

minus093 104 0187minus0658 minus049 minus056minus138 minus0298 01092minus138 minus0298 minus1092minus0227 084 minus0483

minus072 minus023 minus066

019 085 minus05067 minus048 minus056

=

1 1 00 0 11 0 11 0 10 1 0

Abweichungen sind Rundungsfehler61

Niedrigdimensionale Approximation

Die kleinsten Eigenwerte sind die unwichtigsten Wir konnen dieseldquoweglassenrdquo = auf Null setzenrarr eine Matrix mit kleinerem Rang dieaber relativ ahnlich zur Ausgangsmatrix istminus041 07 024minus029 minus033 minus072minus061 minus02 014minus061 minus02 014minus01 057 minus062

227 0 0

0 149 00 0 0

minus072 minus023 minus066019 085 minus05067 minus048 minus056

=

minus093 104 0minus0658 minus049 0minus138 minus0298 0minus138 minus0298 0minus0227 084 0

minus072 minus023 minus066

019 085 minus05067 minus048 minus056

=

087 109 011038 minus027 068093 005 106093 005 106032 077 minus027

62

Die niedrigdimensionale Approximation

Wir interessieren uns fur die Matrix U2 = UΣ2 also die Matrix mit demniedrigerem Rang

minus093 104 0minus0658 minus049 0minus138 minus0298 0minus138 minus0298 0minus0227 084 0

Man kann diese nun als die Reprasentation unserer 5 Worter mit zweiversteckten Dimensionen auffassen

h1 h2ship minus093 104boat minus0658 minus049

ocean minus138 minus0298motor minus138 minus0298wood minus0227 084

63

Neue Ahnlichkeitsberechnungen

h1 h2ship minus093 104boat minus0658 minus049

ocean minus138 minus0298motor minus138 minus0298wood minus0227 084

cossim(shipboat) =(minus093) middot (minus0658) + 104 middot (minus049)radic

(0932 + 1042) middotradic

(06582 + 0492)= 009

cossim(shipocean) =(minus093) middot (minus138) + 104 middot (minus029)radic

(0932 + 1042) middotradic

(1382 + 0292)= 049

cossim(boatocean) = 09

64

Variationen

Benutze nur Umtimesk zur Ahnlichkeitsberechnung

Benutze Umtimesk middotΣpktimesk zur Ahnlichkeitsberechnungrarr Parameter p

sollte getuned werden Kann groszlige Unterschiede machen

Oft p = 0p = 05p = 1

65

Performanz der Reduced-SVD-Embeddings

Levy O Goldberg Y Neural word embedding as implicit matrix factorization In

Advances in neural information processing systems 2014 S 2177-2185

(Englische) Wikipedia 15 Milliarden Tokens

Fenster 2 beiderseits

Vokabular 189 533 fur Terme sowie Kontexte

PPMI Matrizen

SVD sowie ohne Zerlegung (PPMI) sowie neurale (SGNS)

Algorithmus Spearman Rank zu WordSim 353SVD 0652SGNS 0633PPMI 0605

66

Latent Semantic Analysis und Word Embeddings

Levy2014

ldquoWe analyze skip-gram with negative-sampling (SGNS) [] and show that it isimplicitly factorizing a word-context matrix whose cells are the pointwise mutualinformation (PMI) of the respective word and context pairs shifted by a globalconstant When dense low-dimensional vectors are preferred exact factorizationwith SVD can achieve solutions that are at least as good as SGNSrsquoss solutions forword similarity tasks On analogy questions SGNS remains superior to SVD Weconjecture that this stems from the weighted nature of SGNSrsquos factorizationrdquo

67

Zusammenfassung

Reduced SVD resultiert in einer optimalen Approximation derOriginalmatrix mit niedrigerem Rang Optimal = optimal bzgl derFrobeniusnorm (bzw mean squared error)

Dadurch erhalten wir eine mathematisch fundierte dichtereMatrix die Rauschen (weniger wichtige Dimensionen) eliminiert

Wir konnen mittels Umtimesk Σktimesk weiterhin Wortahnlichkeitenberechnen

Es konnen Resultate erreicht werden die bei word similaritymindestens ebensogut sind wie mit neuralen word embeddings

Nachteile Kosten der SVD Berechnung fur mtimesn matrixO(n middotm2) (when m lt n)rarr Nicht gut fur sehr grosse Matrizen

Nachteile Geht nicht gut mit unbekannten Wortern um

Nachteile schlechter bei Wortanalogieaufgaben

68

Literatur

Guter erweiterter Hintergrundhttptheorystanfordedu˜tims15ll7pdf bishttptheorystanfordedu˜tims15ll9pdf

SVD Tutorial (ohne vollstandigen Hintergrund) Kirk Baker(2005) Singular Value Decomposition Tutorialhttpsdatajobscomdata-science-repoSVD-Tutorial-[Kirk-Baker]pdf Leider ist hier imKonstruktionsverfahren I die Vorzeichenproblematikfalschlicherweise nicht behandelt worden

Levy O Goldberg Y Neural word embedding as implicit matrixfactorization In Advances in neural information processingsystems 2014 S 2177-2185

Ubungsblatt II

69

  • SVD Hauptsatz
    • Der SVD-Satz
    • Konstruktion am Beispiel Methodologie I
    • Konstruktionsmethodologie II
      • Interpretation der SVD
      • Reduced SVD
      • Verwendung in NLP

Schritt II Bestimme U

Man bilde nun eine ntimesm Matrix Σprime die genau auf denentsprechenden Diagonaleintragen 1σi stehen hat Im Beispiel ist

Σprime =

1radic12

0

0 1radic10

0 0

Es gilt dass Σ middotΣprime die mtimesm Einheitsmatrix istUnd damit

AVΣprime = UΣΣprime = U

32

Schritt II Bestimme U

Also giltU = AVΣprime

Damit gilt fur die Spalten von U wenn man sich dieMatrixmultiplikation genauer anschaut

u(j) =1σj

Av (j)

In unserem Beispiel

u(1) =1radic12

(3 1 1minus1 3 1

)1radic6

2radic6

1radic6

=

(1radic2

1radic2

)

33

Schritt II Bestimme U

Und ebenso

u(2) =1radic10

(3 1 1minus1 3 1

)minus2radic

51radic5

0

=

(minus1radic2

1radic2

)

Man sieht dass sich hier das veranderte Vorzeichen von v (2) imentgegengesetzten Vorzeichen von u(2) widerspiegelt Wir musstenauch nicht zweimal Eigenvektoren berechnen sondern U ist aus denvorherigen Berechnungen bestimmt

34

Beispiel mit einer Matrix mit niedrigerem Rang

Da wir durch 1σj

dividieren mussten geht dies nur fur Eigenwerteungleich Null Wenn aber die Matrizen niedrigere Range haben als mdann bekommen wir so nicht genugend U-Vektoren Was machen wirdann

Beispiel Sei eine Matrix von Rang 1 gegeben

A =

(1 01 0

)

35

Berechnung von V

AT A =

(1 10 0

)(1 01 0

)=

(2 00 0

)

36

Berechnung von V

(2 00 0

)hat die Eigenwerte 2 und 0 mit den jeweiligen Eigenvektoren (10)sowie (01)Daraus folgt

V =

(1 00 1

)Die ist schon eine Orthonormalmatrix also gilt V = V sowie daDiagonalmatrix V T = V

37

Bestimmung von Σ

Es gilt

Σ =

(radic2 0

0 0

)

38

Bestimmung von U

Der erste Spaltenvektor u(1) kann wie ublich bestimmt werden mit

u(1) =1radic2

Av (1) =1radic2

(1 01 0

)(10

)

=1radic2

(11

)=

(1radic2

1radic2

)

39

Bestimmung von U

Da wir keinen weiteren Eigenwert 6= 0 haben konnen wir leider sonicht weitermachen dh es geht nur bis zum Rang von A Es gilt aber(

1radic2

x21radic2

y2

)(radic2 0

0 0

)(1 00 1

)

=

(1 01 0

)= A

unabhangig von x2 und y2 Das heisst unser halb vollstandiges U istgenug fur eine Zerlegung

40

Bestimmung von U

1 Wir konnen also jedes x2 und y2 wahlen solange normiert undsenkrecht auf dem ersten Vektor stehend

2 Nach dem sogenannten Basiserganzungssatz geht dies immer3 In unserem Beispiel konnte man zum Beispiel (minus1radic

2 1radic

2) wahlen

4 Wie genau man diese weiteren Vektoren von U konstruiert ist furuns unerheblich da wir ja sowieso die letzten Spalten von U diezu den niedrigeren Eigenwerten gehoren ldquoabschneidenrdquowerden

41

SVD Zwischenfazit

Wir haben eine Matrix in das Produkt einer OrthonormalmatrixDiagonalmatrix und Orthogonalmatrix zerlegt

Die Diagonalmatrix enthalt die Wurzeln von den Eigenwerten vonA middotAT nach Groszlige geordnet

Die erste Orthonormalmatrix enthalt die orthonormalisiertenEigenvektoren von A middotAT nach Eigenwertgrosse geordnet alsSpalten

Die zweite Orthonormalmatrix ist die Transponierte der Matrixdie die orthonormalisierten Eigenvektoren von AT middotA nachEigenwertgrosse geordnet als Spalten enthalt

42

Ubersicht

1 SVD HauptsatzDer SVD-SatzKonstruktion am Beispiel Methodologie IKonstruktionsmethodologie II

2 Interpretation der SVD

3 Reduced SVD

4 Verwendung in NLP

43

Geometrische Interpretation bei quadratischen Matrizen

Bedeutung der SVD ist dass sich die Funktion in eine DrehungDrehspiegelung (V T )eine Verzerrung (Σ) und eine zweite DrehungDrehspiegelung (U) zerlegen lsst

Matrix

(1 10 1

)SVD Geometrische Interpretationa

aQuelle httpscommonswikimediaorgwikiFileSingular-Value-Decompositionsvg

44

Noch einige Bemerkungen

Die Eigenwerte und damit Σ sind eindeutig bestimmt

U und V sind nicht eindeutig bestimmt Es konnen Drehungenum 180 Grad oder Spiegelungen hinzukommen

Wir konnen in vielen Fallen einen Eigenvektor wahlen(Freiheitsgrade) mussen aber dann bei den Vorzeichen derzweiten Matrix aufpassen

45

Noch einige Bemerkungen

Wir haben implizit den Rang der Ursprungsmatrix A bestimmtDies kann man klar an U middotΣ sehen

A = UΣV T =

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00

radic10 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(radic12radic2

radic10radic2

0radic

12radic2

minusradic

10radic2

0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(3 1 1minus1 3 1

)

46

Noch einige Bemerkungen

Deswegen wird manchmal die Singularwertzerlegung auch alsZerlegung in drei Matrizen Amtimesn = Umtimesr Σrtimesr V T

rtimesn wobei r der Rangder Matrix A ist beschrieben

A = UΣV T =

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00

radic10 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 00

radic10

)( 1radic6

2radic6

1radic6

2radic5

minus1radic5

0

)=

(radic12radic2

radic10radic2radic

12radic2

minusradic

10radic2

)(1radic6

2radic6

1radic6

2radic5

minus1radic5

0

)=

(3 1 1minus1 3 1

)47

Noch einige Bemerkungen

Bisher haben wir immer die Ausgangsmatrix einfach reproduziert(mit dem gleichen Rang) Man sieht den Rang besser und es gilt

Die ldquoZerrungrdquo durch die Matrix Σ ist bei den Dimensionen mit denhochsten Eigenwerten am groszligten Beispiel

(radic12 0 00

radic10 0

)x1

x2

x3

=

(radic12 middot x1radic10 middot x2

)Es macht also Sinn dass wir wenn wir eine Approximationunserer Ausgangsmatrix mit niedrigerem Rang wollen dann dieunwichtigen Dimensionen die durch niedrige Eigenwertegekennzeichnet sind weglassen

48

Ubersicht

1 SVD HauptsatzDer SVD-SatzKonstruktion am Beispiel Methodologie IKonstruktionsmethodologie II

2 Interpretation der SVD

3 Reduced SVD

4 Verwendung in NLP

49

Reduced SVD Approximation niedrigeren Ranges

Approximation von mtimesn Matrix A mit Rang r durch mtimesn -Matrix Ak mit Rang k lt r

A = UΣV T asymp Ak = UΣk V T

Σk ist eine ldquodiagonalerdquo mtimesn - Matrix bei der nur auf den erstenk Stellen der Diagonalmatrix Werte 6= 0 stehen

U und V wie zuvor

50

Beispiel

A = UΣV T =

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00

radic10 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

asymp

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00 0 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(radic12radic2

0 0radic

12radic2

0 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(1 2 11 2 1

)51

Reduced SVD

Wir hatten auch nur die ersten k Spalten von U sowie die ersten kZeilen von V T behalten konnen

Aasymp

(1radic2

1radic2

)(radic12)( 1radic

62radic6

1radic6

)=

(radic12radic2radic

12radic2

)(1radic6

2radic6

1radic6

)=

(1 2 11 2 1

)

52

Als Bild

53

Als Algorithmus

Gegeben mtimesn Matrix A und gewunschter Rank k Wir produziereneine Rangminus k Approximation wie folgt

1 Wir berechnen eine SVD Zerlegung von A

Amtimesn = UmtimesmΣmtimesnV Tntimesn

2 Wir behalten nur die ersten k Spalten von U resultierend in Umtimesk

3 Wir behalten nur die Top k sprich die ersten k Diagonalwerte vonΣ resultierend in Σktimesk

4 Wir behalten nur die ersten k Reihen von V T resultierend in V Tktimesn

54

Reduced SVD

Diagonale Eintrage in Σk sind die k groszligten Eigenwerte vonA middotAT

Satz UΣk V T minimiert die Differenz der Frobenius-Normzwischen A und Ak unter der Bedingung rang(Ak ) = k

Das heisst Fur jede mtimesn Matrix A mit Rang r angestrebtemRang k lt r und jede mtimesn Matrix B mit Rang k gilt

Aminus Ak2 le AminusB2

wobei Ak die Rang-k Approximation ist die man aus der SVD vonA ableiten kann

55

Was hat man erreicht

Unkorrelierte Dimensionen (Orthonormalbasis) die nur nochverzerrt werden

Wir haben die Dimensionen mit der meisten Variation identifiziertund danach geordnet

ldquoUnwichtigerdquo Dimensionen werden weggelassenrarr Rauschenvermindert

Man braucht viel weniger Speicherplatz O(k(n + m)) anstattO(nm)

Die neuen ldquoverstecktenrdquo Dimensionen konnen zurAhnlichkeitsberechnung verwendet werden und funktionieren oftbesser

56

Wie wahlt man k

Meist empirisch Gesehen

1 In NLP oft die ersten 200 bis 300 Dimensionen2 In Recommender Systems Wahle k so dass die Summe der

ersten k Eigenwerte mindestens 10-mal der Summe alleranderen Eigenwerte

57

Ubersicht

1 SVD HauptsatzDer SVD-SatzKonstruktion am Beispiel Methodologie IKonstruktionsmethodologie II

2 Interpretation der SVD

3 Reduced SVD

4 Verwendung in NLP

58

Dichte Embeddings

A ist Matrix von m WorternTermen und n Kontexten (PPMIfrequency )Reduced SVD resultiert in Ak mit

Umtimesk ist mtimes k - MatrixZeilen von Umtimesk reprasentieren TermeSpalten in Umtimesk latente Reprasentation der KontexteBenutze Umtimesk middotΣktimesk zur Berechnung von Termahnlichkeiten

Vorteile gegenuber der vollen Term-Kontext-MatrixDichte MatrixDimensionsreduktion effizientere VerarbeitungDe-Noising

59

Dichte Embeddings

A ist Matrix von m WorternTermen und n Kontexten (PPMIfrequency )Reduced SVD resultiert in Ak mit

Umtimesk ist mtimes k - MatrixZeilen von Umtimesk reprasentieren TermeSpalten in Umtimesk latente Reprasentation der KontexteBenutze Umtimesk middotΣktimesk zur Berechnung von Termahnlichkeiten

Vorteile gegenuber der vollen Term-Kontext-MatrixDichte MatrixDimensionsreduktion effizientere VerarbeitungDe-Noising

59

Dichte Embeddings

A ist Matrix von m WorternTermen und n Kontexten (PPMIfrequency )Reduced SVD resultiert in Ak mit

Umtimesk ist mtimes k - MatrixZeilen von Umtimesk reprasentieren TermeSpalten in Umtimesk latente Reprasentation der KontexteBenutze Umtimesk middotΣktimesk zur Berechnung von Termahnlichkeiten

Vorteile gegenuber der vollen Term-Kontext-MatrixDichte MatrixDimensionsreduktion effizientere VerarbeitungDe-Noising

59

Das Beispiel vom Anfang

Eine Wort-Dokument-Matrix M aus dem R5times3

d1 d2 d3ship 1 1 0boat 0 0 1

ocean 1 0 1motor 1 0 1wood 0 1 0

cossim(shipboat) = 0

cossim(shipocean) =12

cossim(boatocean) =1radic2

= 07

60

SVD Zerlegung war

minus041 07 024minus029 minus033 minus072minus061 minus02 014minus061 minus02 014minus01 057 minus062

227 0 0

0 149 00 0 078

minus072 minus023 minus066019 085 minus05067 minus048 minus056

=

minus093 104 0187minus0658 minus049 minus056minus138 minus0298 01092minus138 minus0298 minus1092minus0227 084 minus0483

minus072 minus023 minus066

019 085 minus05067 minus048 minus056

=

1 1 00 0 11 0 11 0 10 1 0

Abweichungen sind Rundungsfehler61

Niedrigdimensionale Approximation

Die kleinsten Eigenwerte sind die unwichtigsten Wir konnen dieseldquoweglassenrdquo = auf Null setzenrarr eine Matrix mit kleinerem Rang dieaber relativ ahnlich zur Ausgangsmatrix istminus041 07 024minus029 minus033 minus072minus061 minus02 014minus061 minus02 014minus01 057 minus062

227 0 0

0 149 00 0 0

minus072 minus023 minus066019 085 minus05067 minus048 minus056

=

minus093 104 0minus0658 minus049 0minus138 minus0298 0minus138 minus0298 0minus0227 084 0

minus072 minus023 minus066

019 085 minus05067 minus048 minus056

=

087 109 011038 minus027 068093 005 106093 005 106032 077 minus027

62

Die niedrigdimensionale Approximation

Wir interessieren uns fur die Matrix U2 = UΣ2 also die Matrix mit demniedrigerem Rang

minus093 104 0minus0658 minus049 0minus138 minus0298 0minus138 minus0298 0minus0227 084 0

Man kann diese nun als die Reprasentation unserer 5 Worter mit zweiversteckten Dimensionen auffassen

h1 h2ship minus093 104boat minus0658 minus049

ocean minus138 minus0298motor minus138 minus0298wood minus0227 084

63

Neue Ahnlichkeitsberechnungen

h1 h2ship minus093 104boat minus0658 minus049

ocean minus138 minus0298motor minus138 minus0298wood minus0227 084

cossim(shipboat) =(minus093) middot (minus0658) + 104 middot (minus049)radic

(0932 + 1042) middotradic

(06582 + 0492)= 009

cossim(shipocean) =(minus093) middot (minus138) + 104 middot (minus029)radic

(0932 + 1042) middotradic

(1382 + 0292)= 049

cossim(boatocean) = 09

64

Variationen

Benutze nur Umtimesk zur Ahnlichkeitsberechnung

Benutze Umtimesk middotΣpktimesk zur Ahnlichkeitsberechnungrarr Parameter p

sollte getuned werden Kann groszlige Unterschiede machen

Oft p = 0p = 05p = 1

65

Performanz der Reduced-SVD-Embeddings

Levy O Goldberg Y Neural word embedding as implicit matrix factorization In

Advances in neural information processing systems 2014 S 2177-2185

(Englische) Wikipedia 15 Milliarden Tokens

Fenster 2 beiderseits

Vokabular 189 533 fur Terme sowie Kontexte

PPMI Matrizen

SVD sowie ohne Zerlegung (PPMI) sowie neurale (SGNS)

Algorithmus Spearman Rank zu WordSim 353SVD 0652SGNS 0633PPMI 0605

66

Latent Semantic Analysis und Word Embeddings

Levy2014

ldquoWe analyze skip-gram with negative-sampling (SGNS) [] and show that it isimplicitly factorizing a word-context matrix whose cells are the pointwise mutualinformation (PMI) of the respective word and context pairs shifted by a globalconstant When dense low-dimensional vectors are preferred exact factorizationwith SVD can achieve solutions that are at least as good as SGNSrsquoss solutions forword similarity tasks On analogy questions SGNS remains superior to SVD Weconjecture that this stems from the weighted nature of SGNSrsquos factorizationrdquo

67

Zusammenfassung

Reduced SVD resultiert in einer optimalen Approximation derOriginalmatrix mit niedrigerem Rang Optimal = optimal bzgl derFrobeniusnorm (bzw mean squared error)

Dadurch erhalten wir eine mathematisch fundierte dichtereMatrix die Rauschen (weniger wichtige Dimensionen) eliminiert

Wir konnen mittels Umtimesk Σktimesk weiterhin Wortahnlichkeitenberechnen

Es konnen Resultate erreicht werden die bei word similaritymindestens ebensogut sind wie mit neuralen word embeddings

Nachteile Kosten der SVD Berechnung fur mtimesn matrixO(n middotm2) (when m lt n)rarr Nicht gut fur sehr grosse Matrizen

Nachteile Geht nicht gut mit unbekannten Wortern um

Nachteile schlechter bei Wortanalogieaufgaben

68

Literatur

Guter erweiterter Hintergrundhttptheorystanfordedu˜tims15ll7pdf bishttptheorystanfordedu˜tims15ll9pdf

SVD Tutorial (ohne vollstandigen Hintergrund) Kirk Baker(2005) Singular Value Decomposition Tutorialhttpsdatajobscomdata-science-repoSVD-Tutorial-[Kirk-Baker]pdf Leider ist hier imKonstruktionsverfahren I die Vorzeichenproblematikfalschlicherweise nicht behandelt worden

Levy O Goldberg Y Neural word embedding as implicit matrixfactorization In Advances in neural information processingsystems 2014 S 2177-2185

Ubungsblatt II

69

  • SVD Hauptsatz
    • Der SVD-Satz
    • Konstruktion am Beispiel Methodologie I
    • Konstruktionsmethodologie II
      • Interpretation der SVD
      • Reduced SVD
      • Verwendung in NLP

Schritt II Bestimme U

Also giltU = AVΣprime

Damit gilt fur die Spalten von U wenn man sich dieMatrixmultiplikation genauer anschaut

u(j) =1σj

Av (j)

In unserem Beispiel

u(1) =1radic12

(3 1 1minus1 3 1

)1radic6

2radic6

1radic6

=

(1radic2

1radic2

)

33

Schritt II Bestimme U

Und ebenso

u(2) =1radic10

(3 1 1minus1 3 1

)minus2radic

51radic5

0

=

(minus1radic2

1radic2

)

Man sieht dass sich hier das veranderte Vorzeichen von v (2) imentgegengesetzten Vorzeichen von u(2) widerspiegelt Wir musstenauch nicht zweimal Eigenvektoren berechnen sondern U ist aus denvorherigen Berechnungen bestimmt

34

Beispiel mit einer Matrix mit niedrigerem Rang

Da wir durch 1σj

dividieren mussten geht dies nur fur Eigenwerteungleich Null Wenn aber die Matrizen niedrigere Range haben als mdann bekommen wir so nicht genugend U-Vektoren Was machen wirdann

Beispiel Sei eine Matrix von Rang 1 gegeben

A =

(1 01 0

)

35

Berechnung von V

AT A =

(1 10 0

)(1 01 0

)=

(2 00 0

)

36

Berechnung von V

(2 00 0

)hat die Eigenwerte 2 und 0 mit den jeweiligen Eigenvektoren (10)sowie (01)Daraus folgt

V =

(1 00 1

)Die ist schon eine Orthonormalmatrix also gilt V = V sowie daDiagonalmatrix V T = V

37

Bestimmung von Σ

Es gilt

Σ =

(radic2 0

0 0

)

38

Bestimmung von U

Der erste Spaltenvektor u(1) kann wie ublich bestimmt werden mit

u(1) =1radic2

Av (1) =1radic2

(1 01 0

)(10

)

=1radic2

(11

)=

(1radic2

1radic2

)

39

Bestimmung von U

Da wir keinen weiteren Eigenwert 6= 0 haben konnen wir leider sonicht weitermachen dh es geht nur bis zum Rang von A Es gilt aber(

1radic2

x21radic2

y2

)(radic2 0

0 0

)(1 00 1

)

=

(1 01 0

)= A

unabhangig von x2 und y2 Das heisst unser halb vollstandiges U istgenug fur eine Zerlegung

40

Bestimmung von U

1 Wir konnen also jedes x2 und y2 wahlen solange normiert undsenkrecht auf dem ersten Vektor stehend

2 Nach dem sogenannten Basiserganzungssatz geht dies immer3 In unserem Beispiel konnte man zum Beispiel (minus1radic

2 1radic

2) wahlen

4 Wie genau man diese weiteren Vektoren von U konstruiert ist furuns unerheblich da wir ja sowieso die letzten Spalten von U diezu den niedrigeren Eigenwerten gehoren ldquoabschneidenrdquowerden

41

SVD Zwischenfazit

Wir haben eine Matrix in das Produkt einer OrthonormalmatrixDiagonalmatrix und Orthogonalmatrix zerlegt

Die Diagonalmatrix enthalt die Wurzeln von den Eigenwerten vonA middotAT nach Groszlige geordnet

Die erste Orthonormalmatrix enthalt die orthonormalisiertenEigenvektoren von A middotAT nach Eigenwertgrosse geordnet alsSpalten

Die zweite Orthonormalmatrix ist die Transponierte der Matrixdie die orthonormalisierten Eigenvektoren von AT middotA nachEigenwertgrosse geordnet als Spalten enthalt

42

Ubersicht

1 SVD HauptsatzDer SVD-SatzKonstruktion am Beispiel Methodologie IKonstruktionsmethodologie II

2 Interpretation der SVD

3 Reduced SVD

4 Verwendung in NLP

43

Geometrische Interpretation bei quadratischen Matrizen

Bedeutung der SVD ist dass sich die Funktion in eine DrehungDrehspiegelung (V T )eine Verzerrung (Σ) und eine zweite DrehungDrehspiegelung (U) zerlegen lsst

Matrix

(1 10 1

)SVD Geometrische Interpretationa

aQuelle httpscommonswikimediaorgwikiFileSingular-Value-Decompositionsvg

44

Noch einige Bemerkungen

Die Eigenwerte und damit Σ sind eindeutig bestimmt

U und V sind nicht eindeutig bestimmt Es konnen Drehungenum 180 Grad oder Spiegelungen hinzukommen

Wir konnen in vielen Fallen einen Eigenvektor wahlen(Freiheitsgrade) mussen aber dann bei den Vorzeichen derzweiten Matrix aufpassen

45

Noch einige Bemerkungen

Wir haben implizit den Rang der Ursprungsmatrix A bestimmtDies kann man klar an U middotΣ sehen

A = UΣV T =

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00

radic10 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(radic12radic2

radic10radic2

0radic

12radic2

minusradic

10radic2

0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(3 1 1minus1 3 1

)

46

Noch einige Bemerkungen

Deswegen wird manchmal die Singularwertzerlegung auch alsZerlegung in drei Matrizen Amtimesn = Umtimesr Σrtimesr V T

rtimesn wobei r der Rangder Matrix A ist beschrieben

A = UΣV T =

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00

radic10 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 00

radic10

)( 1radic6

2radic6

1radic6

2radic5

minus1radic5

0

)=

(radic12radic2

radic10radic2radic

12radic2

minusradic

10radic2

)(1radic6

2radic6

1radic6

2radic5

minus1radic5

0

)=

(3 1 1minus1 3 1

)47

Noch einige Bemerkungen

Bisher haben wir immer die Ausgangsmatrix einfach reproduziert(mit dem gleichen Rang) Man sieht den Rang besser und es gilt

Die ldquoZerrungrdquo durch die Matrix Σ ist bei den Dimensionen mit denhochsten Eigenwerten am groszligten Beispiel

(radic12 0 00

radic10 0

)x1

x2

x3

=

(radic12 middot x1radic10 middot x2

)Es macht also Sinn dass wir wenn wir eine Approximationunserer Ausgangsmatrix mit niedrigerem Rang wollen dann dieunwichtigen Dimensionen die durch niedrige Eigenwertegekennzeichnet sind weglassen

48

Ubersicht

1 SVD HauptsatzDer SVD-SatzKonstruktion am Beispiel Methodologie IKonstruktionsmethodologie II

2 Interpretation der SVD

3 Reduced SVD

4 Verwendung in NLP

49

Reduced SVD Approximation niedrigeren Ranges

Approximation von mtimesn Matrix A mit Rang r durch mtimesn -Matrix Ak mit Rang k lt r

A = UΣV T asymp Ak = UΣk V T

Σk ist eine ldquodiagonalerdquo mtimesn - Matrix bei der nur auf den erstenk Stellen der Diagonalmatrix Werte 6= 0 stehen

U und V wie zuvor

50

Beispiel

A = UΣV T =

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00

radic10 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

asymp

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00 0 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(radic12radic2

0 0radic

12radic2

0 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(1 2 11 2 1

)51

Reduced SVD

Wir hatten auch nur die ersten k Spalten von U sowie die ersten kZeilen von V T behalten konnen

Aasymp

(1radic2

1radic2

)(radic12)( 1radic

62radic6

1radic6

)=

(radic12radic2radic

12radic2

)(1radic6

2radic6

1radic6

)=

(1 2 11 2 1

)

52

Als Bild

53

Als Algorithmus

Gegeben mtimesn Matrix A und gewunschter Rank k Wir produziereneine Rangminus k Approximation wie folgt

1 Wir berechnen eine SVD Zerlegung von A

Amtimesn = UmtimesmΣmtimesnV Tntimesn

2 Wir behalten nur die ersten k Spalten von U resultierend in Umtimesk

3 Wir behalten nur die Top k sprich die ersten k Diagonalwerte vonΣ resultierend in Σktimesk

4 Wir behalten nur die ersten k Reihen von V T resultierend in V Tktimesn

54

Reduced SVD

Diagonale Eintrage in Σk sind die k groszligten Eigenwerte vonA middotAT

Satz UΣk V T minimiert die Differenz der Frobenius-Normzwischen A und Ak unter der Bedingung rang(Ak ) = k

Das heisst Fur jede mtimesn Matrix A mit Rang r angestrebtemRang k lt r und jede mtimesn Matrix B mit Rang k gilt

Aminus Ak2 le AminusB2

wobei Ak die Rang-k Approximation ist die man aus der SVD vonA ableiten kann

55

Was hat man erreicht

Unkorrelierte Dimensionen (Orthonormalbasis) die nur nochverzerrt werden

Wir haben die Dimensionen mit der meisten Variation identifiziertund danach geordnet

ldquoUnwichtigerdquo Dimensionen werden weggelassenrarr Rauschenvermindert

Man braucht viel weniger Speicherplatz O(k(n + m)) anstattO(nm)

Die neuen ldquoverstecktenrdquo Dimensionen konnen zurAhnlichkeitsberechnung verwendet werden und funktionieren oftbesser

56

Wie wahlt man k

Meist empirisch Gesehen

1 In NLP oft die ersten 200 bis 300 Dimensionen2 In Recommender Systems Wahle k so dass die Summe der

ersten k Eigenwerte mindestens 10-mal der Summe alleranderen Eigenwerte

57

Ubersicht

1 SVD HauptsatzDer SVD-SatzKonstruktion am Beispiel Methodologie IKonstruktionsmethodologie II

2 Interpretation der SVD

3 Reduced SVD

4 Verwendung in NLP

58

Dichte Embeddings

A ist Matrix von m WorternTermen und n Kontexten (PPMIfrequency )Reduced SVD resultiert in Ak mit

Umtimesk ist mtimes k - MatrixZeilen von Umtimesk reprasentieren TermeSpalten in Umtimesk latente Reprasentation der KontexteBenutze Umtimesk middotΣktimesk zur Berechnung von Termahnlichkeiten

Vorteile gegenuber der vollen Term-Kontext-MatrixDichte MatrixDimensionsreduktion effizientere VerarbeitungDe-Noising

59

Dichte Embeddings

A ist Matrix von m WorternTermen und n Kontexten (PPMIfrequency )Reduced SVD resultiert in Ak mit

Umtimesk ist mtimes k - MatrixZeilen von Umtimesk reprasentieren TermeSpalten in Umtimesk latente Reprasentation der KontexteBenutze Umtimesk middotΣktimesk zur Berechnung von Termahnlichkeiten

Vorteile gegenuber der vollen Term-Kontext-MatrixDichte MatrixDimensionsreduktion effizientere VerarbeitungDe-Noising

59

Dichte Embeddings

A ist Matrix von m WorternTermen und n Kontexten (PPMIfrequency )Reduced SVD resultiert in Ak mit

Umtimesk ist mtimes k - MatrixZeilen von Umtimesk reprasentieren TermeSpalten in Umtimesk latente Reprasentation der KontexteBenutze Umtimesk middotΣktimesk zur Berechnung von Termahnlichkeiten

Vorteile gegenuber der vollen Term-Kontext-MatrixDichte MatrixDimensionsreduktion effizientere VerarbeitungDe-Noising

59

Das Beispiel vom Anfang

Eine Wort-Dokument-Matrix M aus dem R5times3

d1 d2 d3ship 1 1 0boat 0 0 1

ocean 1 0 1motor 1 0 1wood 0 1 0

cossim(shipboat) = 0

cossim(shipocean) =12

cossim(boatocean) =1radic2

= 07

60

SVD Zerlegung war

minus041 07 024minus029 minus033 minus072minus061 minus02 014minus061 minus02 014minus01 057 minus062

227 0 0

0 149 00 0 078

minus072 minus023 minus066019 085 minus05067 minus048 minus056

=

minus093 104 0187minus0658 minus049 minus056minus138 minus0298 01092minus138 minus0298 minus1092minus0227 084 minus0483

minus072 minus023 minus066

019 085 minus05067 minus048 minus056

=

1 1 00 0 11 0 11 0 10 1 0

Abweichungen sind Rundungsfehler61

Niedrigdimensionale Approximation

Die kleinsten Eigenwerte sind die unwichtigsten Wir konnen dieseldquoweglassenrdquo = auf Null setzenrarr eine Matrix mit kleinerem Rang dieaber relativ ahnlich zur Ausgangsmatrix istminus041 07 024minus029 minus033 minus072minus061 minus02 014minus061 minus02 014minus01 057 minus062

227 0 0

0 149 00 0 0

minus072 minus023 minus066019 085 minus05067 minus048 minus056

=

minus093 104 0minus0658 minus049 0minus138 minus0298 0minus138 minus0298 0minus0227 084 0

minus072 minus023 minus066

019 085 minus05067 minus048 minus056

=

087 109 011038 minus027 068093 005 106093 005 106032 077 minus027

62

Die niedrigdimensionale Approximation

Wir interessieren uns fur die Matrix U2 = UΣ2 also die Matrix mit demniedrigerem Rang

minus093 104 0minus0658 minus049 0minus138 minus0298 0minus138 minus0298 0minus0227 084 0

Man kann diese nun als die Reprasentation unserer 5 Worter mit zweiversteckten Dimensionen auffassen

h1 h2ship minus093 104boat minus0658 minus049

ocean minus138 minus0298motor minus138 minus0298wood minus0227 084

63

Neue Ahnlichkeitsberechnungen

h1 h2ship minus093 104boat minus0658 minus049

ocean minus138 minus0298motor minus138 minus0298wood minus0227 084

cossim(shipboat) =(minus093) middot (minus0658) + 104 middot (minus049)radic

(0932 + 1042) middotradic

(06582 + 0492)= 009

cossim(shipocean) =(minus093) middot (minus138) + 104 middot (minus029)radic

(0932 + 1042) middotradic

(1382 + 0292)= 049

cossim(boatocean) = 09

64

Variationen

Benutze nur Umtimesk zur Ahnlichkeitsberechnung

Benutze Umtimesk middotΣpktimesk zur Ahnlichkeitsberechnungrarr Parameter p

sollte getuned werden Kann groszlige Unterschiede machen

Oft p = 0p = 05p = 1

65

Performanz der Reduced-SVD-Embeddings

Levy O Goldberg Y Neural word embedding as implicit matrix factorization In

Advances in neural information processing systems 2014 S 2177-2185

(Englische) Wikipedia 15 Milliarden Tokens

Fenster 2 beiderseits

Vokabular 189 533 fur Terme sowie Kontexte

PPMI Matrizen

SVD sowie ohne Zerlegung (PPMI) sowie neurale (SGNS)

Algorithmus Spearman Rank zu WordSim 353SVD 0652SGNS 0633PPMI 0605

66

Latent Semantic Analysis und Word Embeddings

Levy2014

ldquoWe analyze skip-gram with negative-sampling (SGNS) [] and show that it isimplicitly factorizing a word-context matrix whose cells are the pointwise mutualinformation (PMI) of the respective word and context pairs shifted by a globalconstant When dense low-dimensional vectors are preferred exact factorizationwith SVD can achieve solutions that are at least as good as SGNSrsquoss solutions forword similarity tasks On analogy questions SGNS remains superior to SVD Weconjecture that this stems from the weighted nature of SGNSrsquos factorizationrdquo

67

Zusammenfassung

Reduced SVD resultiert in einer optimalen Approximation derOriginalmatrix mit niedrigerem Rang Optimal = optimal bzgl derFrobeniusnorm (bzw mean squared error)

Dadurch erhalten wir eine mathematisch fundierte dichtereMatrix die Rauschen (weniger wichtige Dimensionen) eliminiert

Wir konnen mittels Umtimesk Σktimesk weiterhin Wortahnlichkeitenberechnen

Es konnen Resultate erreicht werden die bei word similaritymindestens ebensogut sind wie mit neuralen word embeddings

Nachteile Kosten der SVD Berechnung fur mtimesn matrixO(n middotm2) (when m lt n)rarr Nicht gut fur sehr grosse Matrizen

Nachteile Geht nicht gut mit unbekannten Wortern um

Nachteile schlechter bei Wortanalogieaufgaben

68

Literatur

Guter erweiterter Hintergrundhttptheorystanfordedu˜tims15ll7pdf bishttptheorystanfordedu˜tims15ll9pdf

SVD Tutorial (ohne vollstandigen Hintergrund) Kirk Baker(2005) Singular Value Decomposition Tutorialhttpsdatajobscomdata-science-repoSVD-Tutorial-[Kirk-Baker]pdf Leider ist hier imKonstruktionsverfahren I die Vorzeichenproblematikfalschlicherweise nicht behandelt worden

Levy O Goldberg Y Neural word embedding as implicit matrixfactorization In Advances in neural information processingsystems 2014 S 2177-2185

Ubungsblatt II

69

  • SVD Hauptsatz
    • Der SVD-Satz
    • Konstruktion am Beispiel Methodologie I
    • Konstruktionsmethodologie II
      • Interpretation der SVD
      • Reduced SVD
      • Verwendung in NLP

Schritt II Bestimme U

Und ebenso

u(2) =1radic10

(3 1 1minus1 3 1

)minus2radic

51radic5

0

=

(minus1radic2

1radic2

)

Man sieht dass sich hier das veranderte Vorzeichen von v (2) imentgegengesetzten Vorzeichen von u(2) widerspiegelt Wir musstenauch nicht zweimal Eigenvektoren berechnen sondern U ist aus denvorherigen Berechnungen bestimmt

34

Beispiel mit einer Matrix mit niedrigerem Rang

Da wir durch 1σj

dividieren mussten geht dies nur fur Eigenwerteungleich Null Wenn aber die Matrizen niedrigere Range haben als mdann bekommen wir so nicht genugend U-Vektoren Was machen wirdann

Beispiel Sei eine Matrix von Rang 1 gegeben

A =

(1 01 0

)

35

Berechnung von V

AT A =

(1 10 0

)(1 01 0

)=

(2 00 0

)

36

Berechnung von V

(2 00 0

)hat die Eigenwerte 2 und 0 mit den jeweiligen Eigenvektoren (10)sowie (01)Daraus folgt

V =

(1 00 1

)Die ist schon eine Orthonormalmatrix also gilt V = V sowie daDiagonalmatrix V T = V

37

Bestimmung von Σ

Es gilt

Σ =

(radic2 0

0 0

)

38

Bestimmung von U

Der erste Spaltenvektor u(1) kann wie ublich bestimmt werden mit

u(1) =1radic2

Av (1) =1radic2

(1 01 0

)(10

)

=1radic2

(11

)=

(1radic2

1radic2

)

39

Bestimmung von U

Da wir keinen weiteren Eigenwert 6= 0 haben konnen wir leider sonicht weitermachen dh es geht nur bis zum Rang von A Es gilt aber(

1radic2

x21radic2

y2

)(radic2 0

0 0

)(1 00 1

)

=

(1 01 0

)= A

unabhangig von x2 und y2 Das heisst unser halb vollstandiges U istgenug fur eine Zerlegung

40

Bestimmung von U

1 Wir konnen also jedes x2 und y2 wahlen solange normiert undsenkrecht auf dem ersten Vektor stehend

2 Nach dem sogenannten Basiserganzungssatz geht dies immer3 In unserem Beispiel konnte man zum Beispiel (minus1radic

2 1radic

2) wahlen

4 Wie genau man diese weiteren Vektoren von U konstruiert ist furuns unerheblich da wir ja sowieso die letzten Spalten von U diezu den niedrigeren Eigenwerten gehoren ldquoabschneidenrdquowerden

41

SVD Zwischenfazit

Wir haben eine Matrix in das Produkt einer OrthonormalmatrixDiagonalmatrix und Orthogonalmatrix zerlegt

Die Diagonalmatrix enthalt die Wurzeln von den Eigenwerten vonA middotAT nach Groszlige geordnet

Die erste Orthonormalmatrix enthalt die orthonormalisiertenEigenvektoren von A middotAT nach Eigenwertgrosse geordnet alsSpalten

Die zweite Orthonormalmatrix ist die Transponierte der Matrixdie die orthonormalisierten Eigenvektoren von AT middotA nachEigenwertgrosse geordnet als Spalten enthalt

42

Ubersicht

1 SVD HauptsatzDer SVD-SatzKonstruktion am Beispiel Methodologie IKonstruktionsmethodologie II

2 Interpretation der SVD

3 Reduced SVD

4 Verwendung in NLP

43

Geometrische Interpretation bei quadratischen Matrizen

Bedeutung der SVD ist dass sich die Funktion in eine DrehungDrehspiegelung (V T )eine Verzerrung (Σ) und eine zweite DrehungDrehspiegelung (U) zerlegen lsst

Matrix

(1 10 1

)SVD Geometrische Interpretationa

aQuelle httpscommonswikimediaorgwikiFileSingular-Value-Decompositionsvg

44

Noch einige Bemerkungen

Die Eigenwerte und damit Σ sind eindeutig bestimmt

U und V sind nicht eindeutig bestimmt Es konnen Drehungenum 180 Grad oder Spiegelungen hinzukommen

Wir konnen in vielen Fallen einen Eigenvektor wahlen(Freiheitsgrade) mussen aber dann bei den Vorzeichen derzweiten Matrix aufpassen

45

Noch einige Bemerkungen

Wir haben implizit den Rang der Ursprungsmatrix A bestimmtDies kann man klar an U middotΣ sehen

A = UΣV T =

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00

radic10 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(radic12radic2

radic10radic2

0radic

12radic2

minusradic

10radic2

0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(3 1 1minus1 3 1

)

46

Noch einige Bemerkungen

Deswegen wird manchmal die Singularwertzerlegung auch alsZerlegung in drei Matrizen Amtimesn = Umtimesr Σrtimesr V T

rtimesn wobei r der Rangder Matrix A ist beschrieben

A = UΣV T =

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00

radic10 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 00

radic10

)( 1radic6

2radic6

1radic6

2radic5

minus1radic5

0

)=

(radic12radic2

radic10radic2radic

12radic2

minusradic

10radic2

)(1radic6

2radic6

1radic6

2radic5

minus1radic5

0

)=

(3 1 1minus1 3 1

)47

Noch einige Bemerkungen

Bisher haben wir immer die Ausgangsmatrix einfach reproduziert(mit dem gleichen Rang) Man sieht den Rang besser und es gilt

Die ldquoZerrungrdquo durch die Matrix Σ ist bei den Dimensionen mit denhochsten Eigenwerten am groszligten Beispiel

(radic12 0 00

radic10 0

)x1

x2

x3

=

(radic12 middot x1radic10 middot x2

)Es macht also Sinn dass wir wenn wir eine Approximationunserer Ausgangsmatrix mit niedrigerem Rang wollen dann dieunwichtigen Dimensionen die durch niedrige Eigenwertegekennzeichnet sind weglassen

48

Ubersicht

1 SVD HauptsatzDer SVD-SatzKonstruktion am Beispiel Methodologie IKonstruktionsmethodologie II

2 Interpretation der SVD

3 Reduced SVD

4 Verwendung in NLP

49

Reduced SVD Approximation niedrigeren Ranges

Approximation von mtimesn Matrix A mit Rang r durch mtimesn -Matrix Ak mit Rang k lt r

A = UΣV T asymp Ak = UΣk V T

Σk ist eine ldquodiagonalerdquo mtimesn - Matrix bei der nur auf den erstenk Stellen der Diagonalmatrix Werte 6= 0 stehen

U und V wie zuvor

50

Beispiel

A = UΣV T =

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00

radic10 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

asymp

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00 0 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(radic12radic2

0 0radic

12radic2

0 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(1 2 11 2 1

)51

Reduced SVD

Wir hatten auch nur die ersten k Spalten von U sowie die ersten kZeilen von V T behalten konnen

Aasymp

(1radic2

1radic2

)(radic12)( 1radic

62radic6

1radic6

)=

(radic12radic2radic

12radic2

)(1radic6

2radic6

1radic6

)=

(1 2 11 2 1

)

52

Als Bild

53

Als Algorithmus

Gegeben mtimesn Matrix A und gewunschter Rank k Wir produziereneine Rangminus k Approximation wie folgt

1 Wir berechnen eine SVD Zerlegung von A

Amtimesn = UmtimesmΣmtimesnV Tntimesn

2 Wir behalten nur die ersten k Spalten von U resultierend in Umtimesk

3 Wir behalten nur die Top k sprich die ersten k Diagonalwerte vonΣ resultierend in Σktimesk

4 Wir behalten nur die ersten k Reihen von V T resultierend in V Tktimesn

54

Reduced SVD

Diagonale Eintrage in Σk sind die k groszligten Eigenwerte vonA middotAT

Satz UΣk V T minimiert die Differenz der Frobenius-Normzwischen A und Ak unter der Bedingung rang(Ak ) = k

Das heisst Fur jede mtimesn Matrix A mit Rang r angestrebtemRang k lt r und jede mtimesn Matrix B mit Rang k gilt

Aminus Ak2 le AminusB2

wobei Ak die Rang-k Approximation ist die man aus der SVD vonA ableiten kann

55

Was hat man erreicht

Unkorrelierte Dimensionen (Orthonormalbasis) die nur nochverzerrt werden

Wir haben die Dimensionen mit der meisten Variation identifiziertund danach geordnet

ldquoUnwichtigerdquo Dimensionen werden weggelassenrarr Rauschenvermindert

Man braucht viel weniger Speicherplatz O(k(n + m)) anstattO(nm)

Die neuen ldquoverstecktenrdquo Dimensionen konnen zurAhnlichkeitsberechnung verwendet werden und funktionieren oftbesser

56

Wie wahlt man k

Meist empirisch Gesehen

1 In NLP oft die ersten 200 bis 300 Dimensionen2 In Recommender Systems Wahle k so dass die Summe der

ersten k Eigenwerte mindestens 10-mal der Summe alleranderen Eigenwerte

57

Ubersicht

1 SVD HauptsatzDer SVD-SatzKonstruktion am Beispiel Methodologie IKonstruktionsmethodologie II

2 Interpretation der SVD

3 Reduced SVD

4 Verwendung in NLP

58

Dichte Embeddings

A ist Matrix von m WorternTermen und n Kontexten (PPMIfrequency )Reduced SVD resultiert in Ak mit

Umtimesk ist mtimes k - MatrixZeilen von Umtimesk reprasentieren TermeSpalten in Umtimesk latente Reprasentation der KontexteBenutze Umtimesk middotΣktimesk zur Berechnung von Termahnlichkeiten

Vorteile gegenuber der vollen Term-Kontext-MatrixDichte MatrixDimensionsreduktion effizientere VerarbeitungDe-Noising

59

Dichte Embeddings

A ist Matrix von m WorternTermen und n Kontexten (PPMIfrequency )Reduced SVD resultiert in Ak mit

Umtimesk ist mtimes k - MatrixZeilen von Umtimesk reprasentieren TermeSpalten in Umtimesk latente Reprasentation der KontexteBenutze Umtimesk middotΣktimesk zur Berechnung von Termahnlichkeiten

Vorteile gegenuber der vollen Term-Kontext-MatrixDichte MatrixDimensionsreduktion effizientere VerarbeitungDe-Noising

59

Dichte Embeddings

A ist Matrix von m WorternTermen und n Kontexten (PPMIfrequency )Reduced SVD resultiert in Ak mit

Umtimesk ist mtimes k - MatrixZeilen von Umtimesk reprasentieren TermeSpalten in Umtimesk latente Reprasentation der KontexteBenutze Umtimesk middotΣktimesk zur Berechnung von Termahnlichkeiten

Vorteile gegenuber der vollen Term-Kontext-MatrixDichte MatrixDimensionsreduktion effizientere VerarbeitungDe-Noising

59

Das Beispiel vom Anfang

Eine Wort-Dokument-Matrix M aus dem R5times3

d1 d2 d3ship 1 1 0boat 0 0 1

ocean 1 0 1motor 1 0 1wood 0 1 0

cossim(shipboat) = 0

cossim(shipocean) =12

cossim(boatocean) =1radic2

= 07

60

SVD Zerlegung war

minus041 07 024minus029 minus033 minus072minus061 minus02 014minus061 minus02 014minus01 057 minus062

227 0 0

0 149 00 0 078

minus072 minus023 minus066019 085 minus05067 minus048 minus056

=

minus093 104 0187minus0658 minus049 minus056minus138 minus0298 01092minus138 minus0298 minus1092minus0227 084 minus0483

minus072 minus023 minus066

019 085 minus05067 minus048 minus056

=

1 1 00 0 11 0 11 0 10 1 0

Abweichungen sind Rundungsfehler61

Niedrigdimensionale Approximation

Die kleinsten Eigenwerte sind die unwichtigsten Wir konnen dieseldquoweglassenrdquo = auf Null setzenrarr eine Matrix mit kleinerem Rang dieaber relativ ahnlich zur Ausgangsmatrix istminus041 07 024minus029 minus033 minus072minus061 minus02 014minus061 minus02 014minus01 057 minus062

227 0 0

0 149 00 0 0

minus072 minus023 minus066019 085 minus05067 minus048 minus056

=

minus093 104 0minus0658 minus049 0minus138 minus0298 0minus138 minus0298 0minus0227 084 0

minus072 minus023 minus066

019 085 minus05067 minus048 minus056

=

087 109 011038 minus027 068093 005 106093 005 106032 077 minus027

62

Die niedrigdimensionale Approximation

Wir interessieren uns fur die Matrix U2 = UΣ2 also die Matrix mit demniedrigerem Rang

minus093 104 0minus0658 minus049 0minus138 minus0298 0minus138 minus0298 0minus0227 084 0

Man kann diese nun als die Reprasentation unserer 5 Worter mit zweiversteckten Dimensionen auffassen

h1 h2ship minus093 104boat minus0658 minus049

ocean minus138 minus0298motor minus138 minus0298wood minus0227 084

63

Neue Ahnlichkeitsberechnungen

h1 h2ship minus093 104boat minus0658 minus049

ocean minus138 minus0298motor minus138 minus0298wood minus0227 084

cossim(shipboat) =(minus093) middot (minus0658) + 104 middot (minus049)radic

(0932 + 1042) middotradic

(06582 + 0492)= 009

cossim(shipocean) =(minus093) middot (minus138) + 104 middot (minus029)radic

(0932 + 1042) middotradic

(1382 + 0292)= 049

cossim(boatocean) = 09

64

Variationen

Benutze nur Umtimesk zur Ahnlichkeitsberechnung

Benutze Umtimesk middotΣpktimesk zur Ahnlichkeitsberechnungrarr Parameter p

sollte getuned werden Kann groszlige Unterschiede machen

Oft p = 0p = 05p = 1

65

Performanz der Reduced-SVD-Embeddings

Levy O Goldberg Y Neural word embedding as implicit matrix factorization In

Advances in neural information processing systems 2014 S 2177-2185

(Englische) Wikipedia 15 Milliarden Tokens

Fenster 2 beiderseits

Vokabular 189 533 fur Terme sowie Kontexte

PPMI Matrizen

SVD sowie ohne Zerlegung (PPMI) sowie neurale (SGNS)

Algorithmus Spearman Rank zu WordSim 353SVD 0652SGNS 0633PPMI 0605

66

Latent Semantic Analysis und Word Embeddings

Levy2014

ldquoWe analyze skip-gram with negative-sampling (SGNS) [] and show that it isimplicitly factorizing a word-context matrix whose cells are the pointwise mutualinformation (PMI) of the respective word and context pairs shifted by a globalconstant When dense low-dimensional vectors are preferred exact factorizationwith SVD can achieve solutions that are at least as good as SGNSrsquoss solutions forword similarity tasks On analogy questions SGNS remains superior to SVD Weconjecture that this stems from the weighted nature of SGNSrsquos factorizationrdquo

67

Zusammenfassung

Reduced SVD resultiert in einer optimalen Approximation derOriginalmatrix mit niedrigerem Rang Optimal = optimal bzgl derFrobeniusnorm (bzw mean squared error)

Dadurch erhalten wir eine mathematisch fundierte dichtereMatrix die Rauschen (weniger wichtige Dimensionen) eliminiert

Wir konnen mittels Umtimesk Σktimesk weiterhin Wortahnlichkeitenberechnen

Es konnen Resultate erreicht werden die bei word similaritymindestens ebensogut sind wie mit neuralen word embeddings

Nachteile Kosten der SVD Berechnung fur mtimesn matrixO(n middotm2) (when m lt n)rarr Nicht gut fur sehr grosse Matrizen

Nachteile Geht nicht gut mit unbekannten Wortern um

Nachteile schlechter bei Wortanalogieaufgaben

68

Literatur

Guter erweiterter Hintergrundhttptheorystanfordedu˜tims15ll7pdf bishttptheorystanfordedu˜tims15ll9pdf

SVD Tutorial (ohne vollstandigen Hintergrund) Kirk Baker(2005) Singular Value Decomposition Tutorialhttpsdatajobscomdata-science-repoSVD-Tutorial-[Kirk-Baker]pdf Leider ist hier imKonstruktionsverfahren I die Vorzeichenproblematikfalschlicherweise nicht behandelt worden

Levy O Goldberg Y Neural word embedding as implicit matrixfactorization In Advances in neural information processingsystems 2014 S 2177-2185

Ubungsblatt II

69

  • SVD Hauptsatz
    • Der SVD-Satz
    • Konstruktion am Beispiel Methodologie I
    • Konstruktionsmethodologie II
      • Interpretation der SVD
      • Reduced SVD
      • Verwendung in NLP

Beispiel mit einer Matrix mit niedrigerem Rang

Da wir durch 1σj

dividieren mussten geht dies nur fur Eigenwerteungleich Null Wenn aber die Matrizen niedrigere Range haben als mdann bekommen wir so nicht genugend U-Vektoren Was machen wirdann

Beispiel Sei eine Matrix von Rang 1 gegeben

A =

(1 01 0

)

35

Berechnung von V

AT A =

(1 10 0

)(1 01 0

)=

(2 00 0

)

36

Berechnung von V

(2 00 0

)hat die Eigenwerte 2 und 0 mit den jeweiligen Eigenvektoren (10)sowie (01)Daraus folgt

V =

(1 00 1

)Die ist schon eine Orthonormalmatrix also gilt V = V sowie daDiagonalmatrix V T = V

37

Bestimmung von Σ

Es gilt

Σ =

(radic2 0

0 0

)

38

Bestimmung von U

Der erste Spaltenvektor u(1) kann wie ublich bestimmt werden mit

u(1) =1radic2

Av (1) =1radic2

(1 01 0

)(10

)

=1radic2

(11

)=

(1radic2

1radic2

)

39

Bestimmung von U

Da wir keinen weiteren Eigenwert 6= 0 haben konnen wir leider sonicht weitermachen dh es geht nur bis zum Rang von A Es gilt aber(

1radic2

x21radic2

y2

)(radic2 0

0 0

)(1 00 1

)

=

(1 01 0

)= A

unabhangig von x2 und y2 Das heisst unser halb vollstandiges U istgenug fur eine Zerlegung

40

Bestimmung von U

1 Wir konnen also jedes x2 und y2 wahlen solange normiert undsenkrecht auf dem ersten Vektor stehend

2 Nach dem sogenannten Basiserganzungssatz geht dies immer3 In unserem Beispiel konnte man zum Beispiel (minus1radic

2 1radic

2) wahlen

4 Wie genau man diese weiteren Vektoren von U konstruiert ist furuns unerheblich da wir ja sowieso die letzten Spalten von U diezu den niedrigeren Eigenwerten gehoren ldquoabschneidenrdquowerden

41

SVD Zwischenfazit

Wir haben eine Matrix in das Produkt einer OrthonormalmatrixDiagonalmatrix und Orthogonalmatrix zerlegt

Die Diagonalmatrix enthalt die Wurzeln von den Eigenwerten vonA middotAT nach Groszlige geordnet

Die erste Orthonormalmatrix enthalt die orthonormalisiertenEigenvektoren von A middotAT nach Eigenwertgrosse geordnet alsSpalten

Die zweite Orthonormalmatrix ist die Transponierte der Matrixdie die orthonormalisierten Eigenvektoren von AT middotA nachEigenwertgrosse geordnet als Spalten enthalt

42

Ubersicht

1 SVD HauptsatzDer SVD-SatzKonstruktion am Beispiel Methodologie IKonstruktionsmethodologie II

2 Interpretation der SVD

3 Reduced SVD

4 Verwendung in NLP

43

Geometrische Interpretation bei quadratischen Matrizen

Bedeutung der SVD ist dass sich die Funktion in eine DrehungDrehspiegelung (V T )eine Verzerrung (Σ) und eine zweite DrehungDrehspiegelung (U) zerlegen lsst

Matrix

(1 10 1

)SVD Geometrische Interpretationa

aQuelle httpscommonswikimediaorgwikiFileSingular-Value-Decompositionsvg

44

Noch einige Bemerkungen

Die Eigenwerte und damit Σ sind eindeutig bestimmt

U und V sind nicht eindeutig bestimmt Es konnen Drehungenum 180 Grad oder Spiegelungen hinzukommen

Wir konnen in vielen Fallen einen Eigenvektor wahlen(Freiheitsgrade) mussen aber dann bei den Vorzeichen derzweiten Matrix aufpassen

45

Noch einige Bemerkungen

Wir haben implizit den Rang der Ursprungsmatrix A bestimmtDies kann man klar an U middotΣ sehen

A = UΣV T =

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00

radic10 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(radic12radic2

radic10radic2

0radic

12radic2

minusradic

10radic2

0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(3 1 1minus1 3 1

)

46

Noch einige Bemerkungen

Deswegen wird manchmal die Singularwertzerlegung auch alsZerlegung in drei Matrizen Amtimesn = Umtimesr Σrtimesr V T

rtimesn wobei r der Rangder Matrix A ist beschrieben

A = UΣV T =

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00

radic10 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 00

radic10

)( 1radic6

2radic6

1radic6

2radic5

minus1radic5

0

)=

(radic12radic2

radic10radic2radic

12radic2

minusradic

10radic2

)(1radic6

2radic6

1radic6

2radic5

minus1radic5

0

)=

(3 1 1minus1 3 1

)47

Noch einige Bemerkungen

Bisher haben wir immer die Ausgangsmatrix einfach reproduziert(mit dem gleichen Rang) Man sieht den Rang besser und es gilt

Die ldquoZerrungrdquo durch die Matrix Σ ist bei den Dimensionen mit denhochsten Eigenwerten am groszligten Beispiel

(radic12 0 00

radic10 0

)x1

x2

x3

=

(radic12 middot x1radic10 middot x2

)Es macht also Sinn dass wir wenn wir eine Approximationunserer Ausgangsmatrix mit niedrigerem Rang wollen dann dieunwichtigen Dimensionen die durch niedrige Eigenwertegekennzeichnet sind weglassen

48

Ubersicht

1 SVD HauptsatzDer SVD-SatzKonstruktion am Beispiel Methodologie IKonstruktionsmethodologie II

2 Interpretation der SVD

3 Reduced SVD

4 Verwendung in NLP

49

Reduced SVD Approximation niedrigeren Ranges

Approximation von mtimesn Matrix A mit Rang r durch mtimesn -Matrix Ak mit Rang k lt r

A = UΣV T asymp Ak = UΣk V T

Σk ist eine ldquodiagonalerdquo mtimesn - Matrix bei der nur auf den erstenk Stellen der Diagonalmatrix Werte 6= 0 stehen

U und V wie zuvor

50

Beispiel

A = UΣV T =

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00

radic10 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

asymp

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00 0 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(radic12radic2

0 0radic

12radic2

0 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(1 2 11 2 1

)51

Reduced SVD

Wir hatten auch nur die ersten k Spalten von U sowie die ersten kZeilen von V T behalten konnen

Aasymp

(1radic2

1radic2

)(radic12)( 1radic

62radic6

1radic6

)=

(radic12radic2radic

12radic2

)(1radic6

2radic6

1radic6

)=

(1 2 11 2 1

)

52

Als Bild

53

Als Algorithmus

Gegeben mtimesn Matrix A und gewunschter Rank k Wir produziereneine Rangminus k Approximation wie folgt

1 Wir berechnen eine SVD Zerlegung von A

Amtimesn = UmtimesmΣmtimesnV Tntimesn

2 Wir behalten nur die ersten k Spalten von U resultierend in Umtimesk

3 Wir behalten nur die Top k sprich die ersten k Diagonalwerte vonΣ resultierend in Σktimesk

4 Wir behalten nur die ersten k Reihen von V T resultierend in V Tktimesn

54

Reduced SVD

Diagonale Eintrage in Σk sind die k groszligten Eigenwerte vonA middotAT

Satz UΣk V T minimiert die Differenz der Frobenius-Normzwischen A und Ak unter der Bedingung rang(Ak ) = k

Das heisst Fur jede mtimesn Matrix A mit Rang r angestrebtemRang k lt r und jede mtimesn Matrix B mit Rang k gilt

Aminus Ak2 le AminusB2

wobei Ak die Rang-k Approximation ist die man aus der SVD vonA ableiten kann

55

Was hat man erreicht

Unkorrelierte Dimensionen (Orthonormalbasis) die nur nochverzerrt werden

Wir haben die Dimensionen mit der meisten Variation identifiziertund danach geordnet

ldquoUnwichtigerdquo Dimensionen werden weggelassenrarr Rauschenvermindert

Man braucht viel weniger Speicherplatz O(k(n + m)) anstattO(nm)

Die neuen ldquoverstecktenrdquo Dimensionen konnen zurAhnlichkeitsberechnung verwendet werden und funktionieren oftbesser

56

Wie wahlt man k

Meist empirisch Gesehen

1 In NLP oft die ersten 200 bis 300 Dimensionen2 In Recommender Systems Wahle k so dass die Summe der

ersten k Eigenwerte mindestens 10-mal der Summe alleranderen Eigenwerte

57

Ubersicht

1 SVD HauptsatzDer SVD-SatzKonstruktion am Beispiel Methodologie IKonstruktionsmethodologie II

2 Interpretation der SVD

3 Reduced SVD

4 Verwendung in NLP

58

Dichte Embeddings

A ist Matrix von m WorternTermen und n Kontexten (PPMIfrequency )Reduced SVD resultiert in Ak mit

Umtimesk ist mtimes k - MatrixZeilen von Umtimesk reprasentieren TermeSpalten in Umtimesk latente Reprasentation der KontexteBenutze Umtimesk middotΣktimesk zur Berechnung von Termahnlichkeiten

Vorteile gegenuber der vollen Term-Kontext-MatrixDichte MatrixDimensionsreduktion effizientere VerarbeitungDe-Noising

59

Dichte Embeddings

A ist Matrix von m WorternTermen und n Kontexten (PPMIfrequency )Reduced SVD resultiert in Ak mit

Umtimesk ist mtimes k - MatrixZeilen von Umtimesk reprasentieren TermeSpalten in Umtimesk latente Reprasentation der KontexteBenutze Umtimesk middotΣktimesk zur Berechnung von Termahnlichkeiten

Vorteile gegenuber der vollen Term-Kontext-MatrixDichte MatrixDimensionsreduktion effizientere VerarbeitungDe-Noising

59

Dichte Embeddings

A ist Matrix von m WorternTermen und n Kontexten (PPMIfrequency )Reduced SVD resultiert in Ak mit

Umtimesk ist mtimes k - MatrixZeilen von Umtimesk reprasentieren TermeSpalten in Umtimesk latente Reprasentation der KontexteBenutze Umtimesk middotΣktimesk zur Berechnung von Termahnlichkeiten

Vorteile gegenuber der vollen Term-Kontext-MatrixDichte MatrixDimensionsreduktion effizientere VerarbeitungDe-Noising

59

Das Beispiel vom Anfang

Eine Wort-Dokument-Matrix M aus dem R5times3

d1 d2 d3ship 1 1 0boat 0 0 1

ocean 1 0 1motor 1 0 1wood 0 1 0

cossim(shipboat) = 0

cossim(shipocean) =12

cossim(boatocean) =1radic2

= 07

60

SVD Zerlegung war

minus041 07 024minus029 minus033 minus072minus061 minus02 014minus061 minus02 014minus01 057 minus062

227 0 0

0 149 00 0 078

minus072 minus023 minus066019 085 minus05067 minus048 minus056

=

minus093 104 0187minus0658 minus049 minus056minus138 minus0298 01092minus138 minus0298 minus1092minus0227 084 minus0483

minus072 minus023 minus066

019 085 minus05067 minus048 minus056

=

1 1 00 0 11 0 11 0 10 1 0

Abweichungen sind Rundungsfehler61

Niedrigdimensionale Approximation

Die kleinsten Eigenwerte sind die unwichtigsten Wir konnen dieseldquoweglassenrdquo = auf Null setzenrarr eine Matrix mit kleinerem Rang dieaber relativ ahnlich zur Ausgangsmatrix istminus041 07 024minus029 minus033 minus072minus061 minus02 014minus061 minus02 014minus01 057 minus062

227 0 0

0 149 00 0 0

minus072 minus023 minus066019 085 minus05067 minus048 minus056

=

minus093 104 0minus0658 minus049 0minus138 minus0298 0minus138 minus0298 0minus0227 084 0

minus072 minus023 minus066

019 085 minus05067 minus048 minus056

=

087 109 011038 minus027 068093 005 106093 005 106032 077 minus027

62

Die niedrigdimensionale Approximation

Wir interessieren uns fur die Matrix U2 = UΣ2 also die Matrix mit demniedrigerem Rang

minus093 104 0minus0658 minus049 0minus138 minus0298 0minus138 minus0298 0minus0227 084 0

Man kann diese nun als die Reprasentation unserer 5 Worter mit zweiversteckten Dimensionen auffassen

h1 h2ship minus093 104boat minus0658 minus049

ocean minus138 minus0298motor minus138 minus0298wood minus0227 084

63

Neue Ahnlichkeitsberechnungen

h1 h2ship minus093 104boat minus0658 minus049

ocean minus138 minus0298motor minus138 minus0298wood minus0227 084

cossim(shipboat) =(minus093) middot (minus0658) + 104 middot (minus049)radic

(0932 + 1042) middotradic

(06582 + 0492)= 009

cossim(shipocean) =(minus093) middot (minus138) + 104 middot (minus029)radic

(0932 + 1042) middotradic

(1382 + 0292)= 049

cossim(boatocean) = 09

64

Variationen

Benutze nur Umtimesk zur Ahnlichkeitsberechnung

Benutze Umtimesk middotΣpktimesk zur Ahnlichkeitsberechnungrarr Parameter p

sollte getuned werden Kann groszlige Unterschiede machen

Oft p = 0p = 05p = 1

65

Performanz der Reduced-SVD-Embeddings

Levy O Goldberg Y Neural word embedding as implicit matrix factorization In

Advances in neural information processing systems 2014 S 2177-2185

(Englische) Wikipedia 15 Milliarden Tokens

Fenster 2 beiderseits

Vokabular 189 533 fur Terme sowie Kontexte

PPMI Matrizen

SVD sowie ohne Zerlegung (PPMI) sowie neurale (SGNS)

Algorithmus Spearman Rank zu WordSim 353SVD 0652SGNS 0633PPMI 0605

66

Latent Semantic Analysis und Word Embeddings

Levy2014

ldquoWe analyze skip-gram with negative-sampling (SGNS) [] and show that it isimplicitly factorizing a word-context matrix whose cells are the pointwise mutualinformation (PMI) of the respective word and context pairs shifted by a globalconstant When dense low-dimensional vectors are preferred exact factorizationwith SVD can achieve solutions that are at least as good as SGNSrsquoss solutions forword similarity tasks On analogy questions SGNS remains superior to SVD Weconjecture that this stems from the weighted nature of SGNSrsquos factorizationrdquo

67

Zusammenfassung

Reduced SVD resultiert in einer optimalen Approximation derOriginalmatrix mit niedrigerem Rang Optimal = optimal bzgl derFrobeniusnorm (bzw mean squared error)

Dadurch erhalten wir eine mathematisch fundierte dichtereMatrix die Rauschen (weniger wichtige Dimensionen) eliminiert

Wir konnen mittels Umtimesk Σktimesk weiterhin Wortahnlichkeitenberechnen

Es konnen Resultate erreicht werden die bei word similaritymindestens ebensogut sind wie mit neuralen word embeddings

Nachteile Kosten der SVD Berechnung fur mtimesn matrixO(n middotm2) (when m lt n)rarr Nicht gut fur sehr grosse Matrizen

Nachteile Geht nicht gut mit unbekannten Wortern um

Nachteile schlechter bei Wortanalogieaufgaben

68

Literatur

Guter erweiterter Hintergrundhttptheorystanfordedu˜tims15ll7pdf bishttptheorystanfordedu˜tims15ll9pdf

SVD Tutorial (ohne vollstandigen Hintergrund) Kirk Baker(2005) Singular Value Decomposition Tutorialhttpsdatajobscomdata-science-repoSVD-Tutorial-[Kirk-Baker]pdf Leider ist hier imKonstruktionsverfahren I die Vorzeichenproblematikfalschlicherweise nicht behandelt worden

Levy O Goldberg Y Neural word embedding as implicit matrixfactorization In Advances in neural information processingsystems 2014 S 2177-2185

Ubungsblatt II

69

  • SVD Hauptsatz
    • Der SVD-Satz
    • Konstruktion am Beispiel Methodologie I
    • Konstruktionsmethodologie II
      • Interpretation der SVD
      • Reduced SVD
      • Verwendung in NLP

Berechnung von V

AT A =

(1 10 0

)(1 01 0

)=

(2 00 0

)

36

Berechnung von V

(2 00 0

)hat die Eigenwerte 2 und 0 mit den jeweiligen Eigenvektoren (10)sowie (01)Daraus folgt

V =

(1 00 1

)Die ist schon eine Orthonormalmatrix also gilt V = V sowie daDiagonalmatrix V T = V

37

Bestimmung von Σ

Es gilt

Σ =

(radic2 0

0 0

)

38

Bestimmung von U

Der erste Spaltenvektor u(1) kann wie ublich bestimmt werden mit

u(1) =1radic2

Av (1) =1radic2

(1 01 0

)(10

)

=1radic2

(11

)=

(1radic2

1radic2

)

39

Bestimmung von U

Da wir keinen weiteren Eigenwert 6= 0 haben konnen wir leider sonicht weitermachen dh es geht nur bis zum Rang von A Es gilt aber(

1radic2

x21radic2

y2

)(radic2 0

0 0

)(1 00 1

)

=

(1 01 0

)= A

unabhangig von x2 und y2 Das heisst unser halb vollstandiges U istgenug fur eine Zerlegung

40

Bestimmung von U

1 Wir konnen also jedes x2 und y2 wahlen solange normiert undsenkrecht auf dem ersten Vektor stehend

2 Nach dem sogenannten Basiserganzungssatz geht dies immer3 In unserem Beispiel konnte man zum Beispiel (minus1radic

2 1radic

2) wahlen

4 Wie genau man diese weiteren Vektoren von U konstruiert ist furuns unerheblich da wir ja sowieso die letzten Spalten von U diezu den niedrigeren Eigenwerten gehoren ldquoabschneidenrdquowerden

41

SVD Zwischenfazit

Wir haben eine Matrix in das Produkt einer OrthonormalmatrixDiagonalmatrix und Orthogonalmatrix zerlegt

Die Diagonalmatrix enthalt die Wurzeln von den Eigenwerten vonA middotAT nach Groszlige geordnet

Die erste Orthonormalmatrix enthalt die orthonormalisiertenEigenvektoren von A middotAT nach Eigenwertgrosse geordnet alsSpalten

Die zweite Orthonormalmatrix ist die Transponierte der Matrixdie die orthonormalisierten Eigenvektoren von AT middotA nachEigenwertgrosse geordnet als Spalten enthalt

42

Ubersicht

1 SVD HauptsatzDer SVD-SatzKonstruktion am Beispiel Methodologie IKonstruktionsmethodologie II

2 Interpretation der SVD

3 Reduced SVD

4 Verwendung in NLP

43

Geometrische Interpretation bei quadratischen Matrizen

Bedeutung der SVD ist dass sich die Funktion in eine DrehungDrehspiegelung (V T )eine Verzerrung (Σ) und eine zweite DrehungDrehspiegelung (U) zerlegen lsst

Matrix

(1 10 1

)SVD Geometrische Interpretationa

aQuelle httpscommonswikimediaorgwikiFileSingular-Value-Decompositionsvg

44

Noch einige Bemerkungen

Die Eigenwerte und damit Σ sind eindeutig bestimmt

U und V sind nicht eindeutig bestimmt Es konnen Drehungenum 180 Grad oder Spiegelungen hinzukommen

Wir konnen in vielen Fallen einen Eigenvektor wahlen(Freiheitsgrade) mussen aber dann bei den Vorzeichen derzweiten Matrix aufpassen

45

Noch einige Bemerkungen

Wir haben implizit den Rang der Ursprungsmatrix A bestimmtDies kann man klar an U middotΣ sehen

A = UΣV T =

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00

radic10 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(radic12radic2

radic10radic2

0radic

12radic2

minusradic

10radic2

0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(3 1 1minus1 3 1

)

46

Noch einige Bemerkungen

Deswegen wird manchmal die Singularwertzerlegung auch alsZerlegung in drei Matrizen Amtimesn = Umtimesr Σrtimesr V T

rtimesn wobei r der Rangder Matrix A ist beschrieben

A = UΣV T =

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00

radic10 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 00

radic10

)( 1radic6

2radic6

1radic6

2radic5

minus1radic5

0

)=

(radic12radic2

radic10radic2radic

12radic2

minusradic

10radic2

)(1radic6

2radic6

1radic6

2radic5

minus1radic5

0

)=

(3 1 1minus1 3 1

)47

Noch einige Bemerkungen

Bisher haben wir immer die Ausgangsmatrix einfach reproduziert(mit dem gleichen Rang) Man sieht den Rang besser und es gilt

Die ldquoZerrungrdquo durch die Matrix Σ ist bei den Dimensionen mit denhochsten Eigenwerten am groszligten Beispiel

(radic12 0 00

radic10 0

)x1

x2

x3

=

(radic12 middot x1radic10 middot x2

)Es macht also Sinn dass wir wenn wir eine Approximationunserer Ausgangsmatrix mit niedrigerem Rang wollen dann dieunwichtigen Dimensionen die durch niedrige Eigenwertegekennzeichnet sind weglassen

48

Ubersicht

1 SVD HauptsatzDer SVD-SatzKonstruktion am Beispiel Methodologie IKonstruktionsmethodologie II

2 Interpretation der SVD

3 Reduced SVD

4 Verwendung in NLP

49

Reduced SVD Approximation niedrigeren Ranges

Approximation von mtimesn Matrix A mit Rang r durch mtimesn -Matrix Ak mit Rang k lt r

A = UΣV T asymp Ak = UΣk V T

Σk ist eine ldquodiagonalerdquo mtimesn - Matrix bei der nur auf den erstenk Stellen der Diagonalmatrix Werte 6= 0 stehen

U und V wie zuvor

50

Beispiel

A = UΣV T =

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00

radic10 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

asymp

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00 0 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(radic12radic2

0 0radic

12radic2

0 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(1 2 11 2 1

)51

Reduced SVD

Wir hatten auch nur die ersten k Spalten von U sowie die ersten kZeilen von V T behalten konnen

Aasymp

(1radic2

1radic2

)(radic12)( 1radic

62radic6

1radic6

)=

(radic12radic2radic

12radic2

)(1radic6

2radic6

1radic6

)=

(1 2 11 2 1

)

52

Als Bild

53

Als Algorithmus

Gegeben mtimesn Matrix A und gewunschter Rank k Wir produziereneine Rangminus k Approximation wie folgt

1 Wir berechnen eine SVD Zerlegung von A

Amtimesn = UmtimesmΣmtimesnV Tntimesn

2 Wir behalten nur die ersten k Spalten von U resultierend in Umtimesk

3 Wir behalten nur die Top k sprich die ersten k Diagonalwerte vonΣ resultierend in Σktimesk

4 Wir behalten nur die ersten k Reihen von V T resultierend in V Tktimesn

54

Reduced SVD

Diagonale Eintrage in Σk sind die k groszligten Eigenwerte vonA middotAT

Satz UΣk V T minimiert die Differenz der Frobenius-Normzwischen A und Ak unter der Bedingung rang(Ak ) = k

Das heisst Fur jede mtimesn Matrix A mit Rang r angestrebtemRang k lt r und jede mtimesn Matrix B mit Rang k gilt

Aminus Ak2 le AminusB2

wobei Ak die Rang-k Approximation ist die man aus der SVD vonA ableiten kann

55

Was hat man erreicht

Unkorrelierte Dimensionen (Orthonormalbasis) die nur nochverzerrt werden

Wir haben die Dimensionen mit der meisten Variation identifiziertund danach geordnet

ldquoUnwichtigerdquo Dimensionen werden weggelassenrarr Rauschenvermindert

Man braucht viel weniger Speicherplatz O(k(n + m)) anstattO(nm)

Die neuen ldquoverstecktenrdquo Dimensionen konnen zurAhnlichkeitsberechnung verwendet werden und funktionieren oftbesser

56

Wie wahlt man k

Meist empirisch Gesehen

1 In NLP oft die ersten 200 bis 300 Dimensionen2 In Recommender Systems Wahle k so dass die Summe der

ersten k Eigenwerte mindestens 10-mal der Summe alleranderen Eigenwerte

57

Ubersicht

1 SVD HauptsatzDer SVD-SatzKonstruktion am Beispiel Methodologie IKonstruktionsmethodologie II

2 Interpretation der SVD

3 Reduced SVD

4 Verwendung in NLP

58

Dichte Embeddings

A ist Matrix von m WorternTermen und n Kontexten (PPMIfrequency )Reduced SVD resultiert in Ak mit

Umtimesk ist mtimes k - MatrixZeilen von Umtimesk reprasentieren TermeSpalten in Umtimesk latente Reprasentation der KontexteBenutze Umtimesk middotΣktimesk zur Berechnung von Termahnlichkeiten

Vorteile gegenuber der vollen Term-Kontext-MatrixDichte MatrixDimensionsreduktion effizientere VerarbeitungDe-Noising

59

Dichte Embeddings

A ist Matrix von m WorternTermen und n Kontexten (PPMIfrequency )Reduced SVD resultiert in Ak mit

Umtimesk ist mtimes k - MatrixZeilen von Umtimesk reprasentieren TermeSpalten in Umtimesk latente Reprasentation der KontexteBenutze Umtimesk middotΣktimesk zur Berechnung von Termahnlichkeiten

Vorteile gegenuber der vollen Term-Kontext-MatrixDichte MatrixDimensionsreduktion effizientere VerarbeitungDe-Noising

59

Dichte Embeddings

A ist Matrix von m WorternTermen und n Kontexten (PPMIfrequency )Reduced SVD resultiert in Ak mit

Umtimesk ist mtimes k - MatrixZeilen von Umtimesk reprasentieren TermeSpalten in Umtimesk latente Reprasentation der KontexteBenutze Umtimesk middotΣktimesk zur Berechnung von Termahnlichkeiten

Vorteile gegenuber der vollen Term-Kontext-MatrixDichte MatrixDimensionsreduktion effizientere VerarbeitungDe-Noising

59

Das Beispiel vom Anfang

Eine Wort-Dokument-Matrix M aus dem R5times3

d1 d2 d3ship 1 1 0boat 0 0 1

ocean 1 0 1motor 1 0 1wood 0 1 0

cossim(shipboat) = 0

cossim(shipocean) =12

cossim(boatocean) =1radic2

= 07

60

SVD Zerlegung war

minus041 07 024minus029 minus033 minus072minus061 minus02 014minus061 minus02 014minus01 057 minus062

227 0 0

0 149 00 0 078

minus072 minus023 minus066019 085 minus05067 minus048 minus056

=

minus093 104 0187minus0658 minus049 minus056minus138 minus0298 01092minus138 minus0298 minus1092minus0227 084 minus0483

minus072 minus023 minus066

019 085 minus05067 minus048 minus056

=

1 1 00 0 11 0 11 0 10 1 0

Abweichungen sind Rundungsfehler61

Niedrigdimensionale Approximation

Die kleinsten Eigenwerte sind die unwichtigsten Wir konnen dieseldquoweglassenrdquo = auf Null setzenrarr eine Matrix mit kleinerem Rang dieaber relativ ahnlich zur Ausgangsmatrix istminus041 07 024minus029 minus033 minus072minus061 minus02 014minus061 minus02 014minus01 057 minus062

227 0 0

0 149 00 0 0

minus072 minus023 minus066019 085 minus05067 minus048 minus056

=

minus093 104 0minus0658 minus049 0minus138 minus0298 0minus138 minus0298 0minus0227 084 0

minus072 minus023 minus066

019 085 minus05067 minus048 minus056

=

087 109 011038 minus027 068093 005 106093 005 106032 077 minus027

62

Die niedrigdimensionale Approximation

Wir interessieren uns fur die Matrix U2 = UΣ2 also die Matrix mit demniedrigerem Rang

minus093 104 0minus0658 minus049 0minus138 minus0298 0minus138 minus0298 0minus0227 084 0

Man kann diese nun als die Reprasentation unserer 5 Worter mit zweiversteckten Dimensionen auffassen

h1 h2ship minus093 104boat minus0658 minus049

ocean minus138 minus0298motor minus138 minus0298wood minus0227 084

63

Neue Ahnlichkeitsberechnungen

h1 h2ship minus093 104boat minus0658 minus049

ocean minus138 minus0298motor minus138 minus0298wood minus0227 084

cossim(shipboat) =(minus093) middot (minus0658) + 104 middot (minus049)radic

(0932 + 1042) middotradic

(06582 + 0492)= 009

cossim(shipocean) =(minus093) middot (minus138) + 104 middot (minus029)radic

(0932 + 1042) middotradic

(1382 + 0292)= 049

cossim(boatocean) = 09

64

Variationen

Benutze nur Umtimesk zur Ahnlichkeitsberechnung

Benutze Umtimesk middotΣpktimesk zur Ahnlichkeitsberechnungrarr Parameter p

sollte getuned werden Kann groszlige Unterschiede machen

Oft p = 0p = 05p = 1

65

Performanz der Reduced-SVD-Embeddings

Levy O Goldberg Y Neural word embedding as implicit matrix factorization In

Advances in neural information processing systems 2014 S 2177-2185

(Englische) Wikipedia 15 Milliarden Tokens

Fenster 2 beiderseits

Vokabular 189 533 fur Terme sowie Kontexte

PPMI Matrizen

SVD sowie ohne Zerlegung (PPMI) sowie neurale (SGNS)

Algorithmus Spearman Rank zu WordSim 353SVD 0652SGNS 0633PPMI 0605

66

Latent Semantic Analysis und Word Embeddings

Levy2014

ldquoWe analyze skip-gram with negative-sampling (SGNS) [] and show that it isimplicitly factorizing a word-context matrix whose cells are the pointwise mutualinformation (PMI) of the respective word and context pairs shifted by a globalconstant When dense low-dimensional vectors are preferred exact factorizationwith SVD can achieve solutions that are at least as good as SGNSrsquoss solutions forword similarity tasks On analogy questions SGNS remains superior to SVD Weconjecture that this stems from the weighted nature of SGNSrsquos factorizationrdquo

67

Zusammenfassung

Reduced SVD resultiert in einer optimalen Approximation derOriginalmatrix mit niedrigerem Rang Optimal = optimal bzgl derFrobeniusnorm (bzw mean squared error)

Dadurch erhalten wir eine mathematisch fundierte dichtereMatrix die Rauschen (weniger wichtige Dimensionen) eliminiert

Wir konnen mittels Umtimesk Σktimesk weiterhin Wortahnlichkeitenberechnen

Es konnen Resultate erreicht werden die bei word similaritymindestens ebensogut sind wie mit neuralen word embeddings

Nachteile Kosten der SVD Berechnung fur mtimesn matrixO(n middotm2) (when m lt n)rarr Nicht gut fur sehr grosse Matrizen

Nachteile Geht nicht gut mit unbekannten Wortern um

Nachteile schlechter bei Wortanalogieaufgaben

68

Literatur

Guter erweiterter Hintergrundhttptheorystanfordedu˜tims15ll7pdf bishttptheorystanfordedu˜tims15ll9pdf

SVD Tutorial (ohne vollstandigen Hintergrund) Kirk Baker(2005) Singular Value Decomposition Tutorialhttpsdatajobscomdata-science-repoSVD-Tutorial-[Kirk-Baker]pdf Leider ist hier imKonstruktionsverfahren I die Vorzeichenproblematikfalschlicherweise nicht behandelt worden

Levy O Goldberg Y Neural word embedding as implicit matrixfactorization In Advances in neural information processingsystems 2014 S 2177-2185

Ubungsblatt II

69

  • SVD Hauptsatz
    • Der SVD-Satz
    • Konstruktion am Beispiel Methodologie I
    • Konstruktionsmethodologie II
      • Interpretation der SVD
      • Reduced SVD
      • Verwendung in NLP

Berechnung von V

(2 00 0

)hat die Eigenwerte 2 und 0 mit den jeweiligen Eigenvektoren (10)sowie (01)Daraus folgt

V =

(1 00 1

)Die ist schon eine Orthonormalmatrix also gilt V = V sowie daDiagonalmatrix V T = V

37

Bestimmung von Σ

Es gilt

Σ =

(radic2 0

0 0

)

38

Bestimmung von U

Der erste Spaltenvektor u(1) kann wie ublich bestimmt werden mit

u(1) =1radic2

Av (1) =1radic2

(1 01 0

)(10

)

=1radic2

(11

)=

(1radic2

1radic2

)

39

Bestimmung von U

Da wir keinen weiteren Eigenwert 6= 0 haben konnen wir leider sonicht weitermachen dh es geht nur bis zum Rang von A Es gilt aber(

1radic2

x21radic2

y2

)(radic2 0

0 0

)(1 00 1

)

=

(1 01 0

)= A

unabhangig von x2 und y2 Das heisst unser halb vollstandiges U istgenug fur eine Zerlegung

40

Bestimmung von U

1 Wir konnen also jedes x2 und y2 wahlen solange normiert undsenkrecht auf dem ersten Vektor stehend

2 Nach dem sogenannten Basiserganzungssatz geht dies immer3 In unserem Beispiel konnte man zum Beispiel (minus1radic

2 1radic

2) wahlen

4 Wie genau man diese weiteren Vektoren von U konstruiert ist furuns unerheblich da wir ja sowieso die letzten Spalten von U diezu den niedrigeren Eigenwerten gehoren ldquoabschneidenrdquowerden

41

SVD Zwischenfazit

Wir haben eine Matrix in das Produkt einer OrthonormalmatrixDiagonalmatrix und Orthogonalmatrix zerlegt

Die Diagonalmatrix enthalt die Wurzeln von den Eigenwerten vonA middotAT nach Groszlige geordnet

Die erste Orthonormalmatrix enthalt die orthonormalisiertenEigenvektoren von A middotAT nach Eigenwertgrosse geordnet alsSpalten

Die zweite Orthonormalmatrix ist die Transponierte der Matrixdie die orthonormalisierten Eigenvektoren von AT middotA nachEigenwertgrosse geordnet als Spalten enthalt

42

Ubersicht

1 SVD HauptsatzDer SVD-SatzKonstruktion am Beispiel Methodologie IKonstruktionsmethodologie II

2 Interpretation der SVD

3 Reduced SVD

4 Verwendung in NLP

43

Geometrische Interpretation bei quadratischen Matrizen

Bedeutung der SVD ist dass sich die Funktion in eine DrehungDrehspiegelung (V T )eine Verzerrung (Σ) und eine zweite DrehungDrehspiegelung (U) zerlegen lsst

Matrix

(1 10 1

)SVD Geometrische Interpretationa

aQuelle httpscommonswikimediaorgwikiFileSingular-Value-Decompositionsvg

44

Noch einige Bemerkungen

Die Eigenwerte und damit Σ sind eindeutig bestimmt

U und V sind nicht eindeutig bestimmt Es konnen Drehungenum 180 Grad oder Spiegelungen hinzukommen

Wir konnen in vielen Fallen einen Eigenvektor wahlen(Freiheitsgrade) mussen aber dann bei den Vorzeichen derzweiten Matrix aufpassen

45

Noch einige Bemerkungen

Wir haben implizit den Rang der Ursprungsmatrix A bestimmtDies kann man klar an U middotΣ sehen

A = UΣV T =

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00

radic10 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(radic12radic2

radic10radic2

0radic

12radic2

minusradic

10radic2

0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(3 1 1minus1 3 1

)

46

Noch einige Bemerkungen

Deswegen wird manchmal die Singularwertzerlegung auch alsZerlegung in drei Matrizen Amtimesn = Umtimesr Σrtimesr V T

rtimesn wobei r der Rangder Matrix A ist beschrieben

A = UΣV T =

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00

radic10 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 00

radic10

)( 1radic6

2radic6

1radic6

2radic5

minus1radic5

0

)=

(radic12radic2

radic10radic2radic

12radic2

minusradic

10radic2

)(1radic6

2radic6

1radic6

2radic5

minus1radic5

0

)=

(3 1 1minus1 3 1

)47

Noch einige Bemerkungen

Bisher haben wir immer die Ausgangsmatrix einfach reproduziert(mit dem gleichen Rang) Man sieht den Rang besser und es gilt

Die ldquoZerrungrdquo durch die Matrix Σ ist bei den Dimensionen mit denhochsten Eigenwerten am groszligten Beispiel

(radic12 0 00

radic10 0

)x1

x2

x3

=

(radic12 middot x1radic10 middot x2

)Es macht also Sinn dass wir wenn wir eine Approximationunserer Ausgangsmatrix mit niedrigerem Rang wollen dann dieunwichtigen Dimensionen die durch niedrige Eigenwertegekennzeichnet sind weglassen

48

Ubersicht

1 SVD HauptsatzDer SVD-SatzKonstruktion am Beispiel Methodologie IKonstruktionsmethodologie II

2 Interpretation der SVD

3 Reduced SVD

4 Verwendung in NLP

49

Reduced SVD Approximation niedrigeren Ranges

Approximation von mtimesn Matrix A mit Rang r durch mtimesn -Matrix Ak mit Rang k lt r

A = UΣV T asymp Ak = UΣk V T

Σk ist eine ldquodiagonalerdquo mtimesn - Matrix bei der nur auf den erstenk Stellen der Diagonalmatrix Werte 6= 0 stehen

U und V wie zuvor

50

Beispiel

A = UΣV T =

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00

radic10 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

asymp

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00 0 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(radic12radic2

0 0radic

12radic2

0 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(1 2 11 2 1

)51

Reduced SVD

Wir hatten auch nur die ersten k Spalten von U sowie die ersten kZeilen von V T behalten konnen

Aasymp

(1radic2

1radic2

)(radic12)( 1radic

62radic6

1radic6

)=

(radic12radic2radic

12radic2

)(1radic6

2radic6

1radic6

)=

(1 2 11 2 1

)

52

Als Bild

53

Als Algorithmus

Gegeben mtimesn Matrix A und gewunschter Rank k Wir produziereneine Rangminus k Approximation wie folgt

1 Wir berechnen eine SVD Zerlegung von A

Amtimesn = UmtimesmΣmtimesnV Tntimesn

2 Wir behalten nur die ersten k Spalten von U resultierend in Umtimesk

3 Wir behalten nur die Top k sprich die ersten k Diagonalwerte vonΣ resultierend in Σktimesk

4 Wir behalten nur die ersten k Reihen von V T resultierend in V Tktimesn

54

Reduced SVD

Diagonale Eintrage in Σk sind die k groszligten Eigenwerte vonA middotAT

Satz UΣk V T minimiert die Differenz der Frobenius-Normzwischen A und Ak unter der Bedingung rang(Ak ) = k

Das heisst Fur jede mtimesn Matrix A mit Rang r angestrebtemRang k lt r und jede mtimesn Matrix B mit Rang k gilt

Aminus Ak2 le AminusB2

wobei Ak die Rang-k Approximation ist die man aus der SVD vonA ableiten kann

55

Was hat man erreicht

Unkorrelierte Dimensionen (Orthonormalbasis) die nur nochverzerrt werden

Wir haben die Dimensionen mit der meisten Variation identifiziertund danach geordnet

ldquoUnwichtigerdquo Dimensionen werden weggelassenrarr Rauschenvermindert

Man braucht viel weniger Speicherplatz O(k(n + m)) anstattO(nm)

Die neuen ldquoverstecktenrdquo Dimensionen konnen zurAhnlichkeitsberechnung verwendet werden und funktionieren oftbesser

56

Wie wahlt man k

Meist empirisch Gesehen

1 In NLP oft die ersten 200 bis 300 Dimensionen2 In Recommender Systems Wahle k so dass die Summe der

ersten k Eigenwerte mindestens 10-mal der Summe alleranderen Eigenwerte

57

Ubersicht

1 SVD HauptsatzDer SVD-SatzKonstruktion am Beispiel Methodologie IKonstruktionsmethodologie II

2 Interpretation der SVD

3 Reduced SVD

4 Verwendung in NLP

58

Dichte Embeddings

A ist Matrix von m WorternTermen und n Kontexten (PPMIfrequency )Reduced SVD resultiert in Ak mit

Umtimesk ist mtimes k - MatrixZeilen von Umtimesk reprasentieren TermeSpalten in Umtimesk latente Reprasentation der KontexteBenutze Umtimesk middotΣktimesk zur Berechnung von Termahnlichkeiten

Vorteile gegenuber der vollen Term-Kontext-MatrixDichte MatrixDimensionsreduktion effizientere VerarbeitungDe-Noising

59

Dichte Embeddings

A ist Matrix von m WorternTermen und n Kontexten (PPMIfrequency )Reduced SVD resultiert in Ak mit

Umtimesk ist mtimes k - MatrixZeilen von Umtimesk reprasentieren TermeSpalten in Umtimesk latente Reprasentation der KontexteBenutze Umtimesk middotΣktimesk zur Berechnung von Termahnlichkeiten

Vorteile gegenuber der vollen Term-Kontext-MatrixDichte MatrixDimensionsreduktion effizientere VerarbeitungDe-Noising

59

Dichte Embeddings

A ist Matrix von m WorternTermen und n Kontexten (PPMIfrequency )Reduced SVD resultiert in Ak mit

Umtimesk ist mtimes k - MatrixZeilen von Umtimesk reprasentieren TermeSpalten in Umtimesk latente Reprasentation der KontexteBenutze Umtimesk middotΣktimesk zur Berechnung von Termahnlichkeiten

Vorteile gegenuber der vollen Term-Kontext-MatrixDichte MatrixDimensionsreduktion effizientere VerarbeitungDe-Noising

59

Das Beispiel vom Anfang

Eine Wort-Dokument-Matrix M aus dem R5times3

d1 d2 d3ship 1 1 0boat 0 0 1

ocean 1 0 1motor 1 0 1wood 0 1 0

cossim(shipboat) = 0

cossim(shipocean) =12

cossim(boatocean) =1radic2

= 07

60

SVD Zerlegung war

minus041 07 024minus029 minus033 minus072minus061 minus02 014minus061 minus02 014minus01 057 minus062

227 0 0

0 149 00 0 078

minus072 minus023 minus066019 085 minus05067 minus048 minus056

=

minus093 104 0187minus0658 minus049 minus056minus138 minus0298 01092minus138 minus0298 minus1092minus0227 084 minus0483

minus072 minus023 minus066

019 085 minus05067 minus048 minus056

=

1 1 00 0 11 0 11 0 10 1 0

Abweichungen sind Rundungsfehler61

Niedrigdimensionale Approximation

Die kleinsten Eigenwerte sind die unwichtigsten Wir konnen dieseldquoweglassenrdquo = auf Null setzenrarr eine Matrix mit kleinerem Rang dieaber relativ ahnlich zur Ausgangsmatrix istminus041 07 024minus029 minus033 minus072minus061 minus02 014minus061 minus02 014minus01 057 minus062

227 0 0

0 149 00 0 0

minus072 minus023 minus066019 085 minus05067 minus048 minus056

=

minus093 104 0minus0658 minus049 0minus138 minus0298 0minus138 minus0298 0minus0227 084 0

minus072 minus023 minus066

019 085 minus05067 minus048 minus056

=

087 109 011038 minus027 068093 005 106093 005 106032 077 minus027

62

Die niedrigdimensionale Approximation

Wir interessieren uns fur die Matrix U2 = UΣ2 also die Matrix mit demniedrigerem Rang

minus093 104 0minus0658 minus049 0minus138 minus0298 0minus138 minus0298 0minus0227 084 0

Man kann diese nun als die Reprasentation unserer 5 Worter mit zweiversteckten Dimensionen auffassen

h1 h2ship minus093 104boat minus0658 minus049

ocean minus138 minus0298motor minus138 minus0298wood minus0227 084

63

Neue Ahnlichkeitsberechnungen

h1 h2ship minus093 104boat minus0658 minus049

ocean minus138 minus0298motor minus138 minus0298wood minus0227 084

cossim(shipboat) =(minus093) middot (minus0658) + 104 middot (minus049)radic

(0932 + 1042) middotradic

(06582 + 0492)= 009

cossim(shipocean) =(minus093) middot (minus138) + 104 middot (minus029)radic

(0932 + 1042) middotradic

(1382 + 0292)= 049

cossim(boatocean) = 09

64

Variationen

Benutze nur Umtimesk zur Ahnlichkeitsberechnung

Benutze Umtimesk middotΣpktimesk zur Ahnlichkeitsberechnungrarr Parameter p

sollte getuned werden Kann groszlige Unterschiede machen

Oft p = 0p = 05p = 1

65

Performanz der Reduced-SVD-Embeddings

Levy O Goldberg Y Neural word embedding as implicit matrix factorization In

Advances in neural information processing systems 2014 S 2177-2185

(Englische) Wikipedia 15 Milliarden Tokens

Fenster 2 beiderseits

Vokabular 189 533 fur Terme sowie Kontexte

PPMI Matrizen

SVD sowie ohne Zerlegung (PPMI) sowie neurale (SGNS)

Algorithmus Spearman Rank zu WordSim 353SVD 0652SGNS 0633PPMI 0605

66

Latent Semantic Analysis und Word Embeddings

Levy2014

ldquoWe analyze skip-gram with negative-sampling (SGNS) [] and show that it isimplicitly factorizing a word-context matrix whose cells are the pointwise mutualinformation (PMI) of the respective word and context pairs shifted by a globalconstant When dense low-dimensional vectors are preferred exact factorizationwith SVD can achieve solutions that are at least as good as SGNSrsquoss solutions forword similarity tasks On analogy questions SGNS remains superior to SVD Weconjecture that this stems from the weighted nature of SGNSrsquos factorizationrdquo

67

Zusammenfassung

Reduced SVD resultiert in einer optimalen Approximation derOriginalmatrix mit niedrigerem Rang Optimal = optimal bzgl derFrobeniusnorm (bzw mean squared error)

Dadurch erhalten wir eine mathematisch fundierte dichtereMatrix die Rauschen (weniger wichtige Dimensionen) eliminiert

Wir konnen mittels Umtimesk Σktimesk weiterhin Wortahnlichkeitenberechnen

Es konnen Resultate erreicht werden die bei word similaritymindestens ebensogut sind wie mit neuralen word embeddings

Nachteile Kosten der SVD Berechnung fur mtimesn matrixO(n middotm2) (when m lt n)rarr Nicht gut fur sehr grosse Matrizen

Nachteile Geht nicht gut mit unbekannten Wortern um

Nachteile schlechter bei Wortanalogieaufgaben

68

Literatur

Guter erweiterter Hintergrundhttptheorystanfordedu˜tims15ll7pdf bishttptheorystanfordedu˜tims15ll9pdf

SVD Tutorial (ohne vollstandigen Hintergrund) Kirk Baker(2005) Singular Value Decomposition Tutorialhttpsdatajobscomdata-science-repoSVD-Tutorial-[Kirk-Baker]pdf Leider ist hier imKonstruktionsverfahren I die Vorzeichenproblematikfalschlicherweise nicht behandelt worden

Levy O Goldberg Y Neural word embedding as implicit matrixfactorization In Advances in neural information processingsystems 2014 S 2177-2185

Ubungsblatt II

69

  • SVD Hauptsatz
    • Der SVD-Satz
    • Konstruktion am Beispiel Methodologie I
    • Konstruktionsmethodologie II
      • Interpretation der SVD
      • Reduced SVD
      • Verwendung in NLP

Bestimmung von Σ

Es gilt

Σ =

(radic2 0

0 0

)

38

Bestimmung von U

Der erste Spaltenvektor u(1) kann wie ublich bestimmt werden mit

u(1) =1radic2

Av (1) =1radic2

(1 01 0

)(10

)

=1radic2

(11

)=

(1radic2

1radic2

)

39

Bestimmung von U

Da wir keinen weiteren Eigenwert 6= 0 haben konnen wir leider sonicht weitermachen dh es geht nur bis zum Rang von A Es gilt aber(

1radic2

x21radic2

y2

)(radic2 0

0 0

)(1 00 1

)

=

(1 01 0

)= A

unabhangig von x2 und y2 Das heisst unser halb vollstandiges U istgenug fur eine Zerlegung

40

Bestimmung von U

1 Wir konnen also jedes x2 und y2 wahlen solange normiert undsenkrecht auf dem ersten Vektor stehend

2 Nach dem sogenannten Basiserganzungssatz geht dies immer3 In unserem Beispiel konnte man zum Beispiel (minus1radic

2 1radic

2) wahlen

4 Wie genau man diese weiteren Vektoren von U konstruiert ist furuns unerheblich da wir ja sowieso die letzten Spalten von U diezu den niedrigeren Eigenwerten gehoren ldquoabschneidenrdquowerden

41

SVD Zwischenfazit

Wir haben eine Matrix in das Produkt einer OrthonormalmatrixDiagonalmatrix und Orthogonalmatrix zerlegt

Die Diagonalmatrix enthalt die Wurzeln von den Eigenwerten vonA middotAT nach Groszlige geordnet

Die erste Orthonormalmatrix enthalt die orthonormalisiertenEigenvektoren von A middotAT nach Eigenwertgrosse geordnet alsSpalten

Die zweite Orthonormalmatrix ist die Transponierte der Matrixdie die orthonormalisierten Eigenvektoren von AT middotA nachEigenwertgrosse geordnet als Spalten enthalt

42

Ubersicht

1 SVD HauptsatzDer SVD-SatzKonstruktion am Beispiel Methodologie IKonstruktionsmethodologie II

2 Interpretation der SVD

3 Reduced SVD

4 Verwendung in NLP

43

Geometrische Interpretation bei quadratischen Matrizen

Bedeutung der SVD ist dass sich die Funktion in eine DrehungDrehspiegelung (V T )eine Verzerrung (Σ) und eine zweite DrehungDrehspiegelung (U) zerlegen lsst

Matrix

(1 10 1

)SVD Geometrische Interpretationa

aQuelle httpscommonswikimediaorgwikiFileSingular-Value-Decompositionsvg

44

Noch einige Bemerkungen

Die Eigenwerte und damit Σ sind eindeutig bestimmt

U und V sind nicht eindeutig bestimmt Es konnen Drehungenum 180 Grad oder Spiegelungen hinzukommen

Wir konnen in vielen Fallen einen Eigenvektor wahlen(Freiheitsgrade) mussen aber dann bei den Vorzeichen derzweiten Matrix aufpassen

45

Noch einige Bemerkungen

Wir haben implizit den Rang der Ursprungsmatrix A bestimmtDies kann man klar an U middotΣ sehen

A = UΣV T =

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00

radic10 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(radic12radic2

radic10radic2

0radic

12radic2

minusradic

10radic2

0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(3 1 1minus1 3 1

)

46

Noch einige Bemerkungen

Deswegen wird manchmal die Singularwertzerlegung auch alsZerlegung in drei Matrizen Amtimesn = Umtimesr Σrtimesr V T

rtimesn wobei r der Rangder Matrix A ist beschrieben

A = UΣV T =

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00

radic10 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 00

radic10

)( 1radic6

2radic6

1radic6

2radic5

minus1radic5

0

)=

(radic12radic2

radic10radic2radic

12radic2

minusradic

10radic2

)(1radic6

2radic6

1radic6

2radic5

minus1radic5

0

)=

(3 1 1minus1 3 1

)47

Noch einige Bemerkungen

Bisher haben wir immer die Ausgangsmatrix einfach reproduziert(mit dem gleichen Rang) Man sieht den Rang besser und es gilt

Die ldquoZerrungrdquo durch die Matrix Σ ist bei den Dimensionen mit denhochsten Eigenwerten am groszligten Beispiel

(radic12 0 00

radic10 0

)x1

x2

x3

=

(radic12 middot x1radic10 middot x2

)Es macht also Sinn dass wir wenn wir eine Approximationunserer Ausgangsmatrix mit niedrigerem Rang wollen dann dieunwichtigen Dimensionen die durch niedrige Eigenwertegekennzeichnet sind weglassen

48

Ubersicht

1 SVD HauptsatzDer SVD-SatzKonstruktion am Beispiel Methodologie IKonstruktionsmethodologie II

2 Interpretation der SVD

3 Reduced SVD

4 Verwendung in NLP

49

Reduced SVD Approximation niedrigeren Ranges

Approximation von mtimesn Matrix A mit Rang r durch mtimesn -Matrix Ak mit Rang k lt r

A = UΣV T asymp Ak = UΣk V T

Σk ist eine ldquodiagonalerdquo mtimesn - Matrix bei der nur auf den erstenk Stellen der Diagonalmatrix Werte 6= 0 stehen

U und V wie zuvor

50

Beispiel

A = UΣV T =

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00

radic10 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

asymp

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00 0 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(radic12radic2

0 0radic

12radic2

0 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(1 2 11 2 1

)51

Reduced SVD

Wir hatten auch nur die ersten k Spalten von U sowie die ersten kZeilen von V T behalten konnen

Aasymp

(1radic2

1radic2

)(radic12)( 1radic

62radic6

1radic6

)=

(radic12radic2radic

12radic2

)(1radic6

2radic6

1radic6

)=

(1 2 11 2 1

)

52

Als Bild

53

Als Algorithmus

Gegeben mtimesn Matrix A und gewunschter Rank k Wir produziereneine Rangminus k Approximation wie folgt

1 Wir berechnen eine SVD Zerlegung von A

Amtimesn = UmtimesmΣmtimesnV Tntimesn

2 Wir behalten nur die ersten k Spalten von U resultierend in Umtimesk

3 Wir behalten nur die Top k sprich die ersten k Diagonalwerte vonΣ resultierend in Σktimesk

4 Wir behalten nur die ersten k Reihen von V T resultierend in V Tktimesn

54

Reduced SVD

Diagonale Eintrage in Σk sind die k groszligten Eigenwerte vonA middotAT

Satz UΣk V T minimiert die Differenz der Frobenius-Normzwischen A und Ak unter der Bedingung rang(Ak ) = k

Das heisst Fur jede mtimesn Matrix A mit Rang r angestrebtemRang k lt r und jede mtimesn Matrix B mit Rang k gilt

Aminus Ak2 le AminusB2

wobei Ak die Rang-k Approximation ist die man aus der SVD vonA ableiten kann

55

Was hat man erreicht

Unkorrelierte Dimensionen (Orthonormalbasis) die nur nochverzerrt werden

Wir haben die Dimensionen mit der meisten Variation identifiziertund danach geordnet

ldquoUnwichtigerdquo Dimensionen werden weggelassenrarr Rauschenvermindert

Man braucht viel weniger Speicherplatz O(k(n + m)) anstattO(nm)

Die neuen ldquoverstecktenrdquo Dimensionen konnen zurAhnlichkeitsberechnung verwendet werden und funktionieren oftbesser

56

Wie wahlt man k

Meist empirisch Gesehen

1 In NLP oft die ersten 200 bis 300 Dimensionen2 In Recommender Systems Wahle k so dass die Summe der

ersten k Eigenwerte mindestens 10-mal der Summe alleranderen Eigenwerte

57

Ubersicht

1 SVD HauptsatzDer SVD-SatzKonstruktion am Beispiel Methodologie IKonstruktionsmethodologie II

2 Interpretation der SVD

3 Reduced SVD

4 Verwendung in NLP

58

Dichte Embeddings

A ist Matrix von m WorternTermen und n Kontexten (PPMIfrequency )Reduced SVD resultiert in Ak mit

Umtimesk ist mtimes k - MatrixZeilen von Umtimesk reprasentieren TermeSpalten in Umtimesk latente Reprasentation der KontexteBenutze Umtimesk middotΣktimesk zur Berechnung von Termahnlichkeiten

Vorteile gegenuber der vollen Term-Kontext-MatrixDichte MatrixDimensionsreduktion effizientere VerarbeitungDe-Noising

59

Dichte Embeddings

A ist Matrix von m WorternTermen und n Kontexten (PPMIfrequency )Reduced SVD resultiert in Ak mit

Umtimesk ist mtimes k - MatrixZeilen von Umtimesk reprasentieren TermeSpalten in Umtimesk latente Reprasentation der KontexteBenutze Umtimesk middotΣktimesk zur Berechnung von Termahnlichkeiten

Vorteile gegenuber der vollen Term-Kontext-MatrixDichte MatrixDimensionsreduktion effizientere VerarbeitungDe-Noising

59

Dichte Embeddings

A ist Matrix von m WorternTermen und n Kontexten (PPMIfrequency )Reduced SVD resultiert in Ak mit

Umtimesk ist mtimes k - MatrixZeilen von Umtimesk reprasentieren TermeSpalten in Umtimesk latente Reprasentation der KontexteBenutze Umtimesk middotΣktimesk zur Berechnung von Termahnlichkeiten

Vorteile gegenuber der vollen Term-Kontext-MatrixDichte MatrixDimensionsreduktion effizientere VerarbeitungDe-Noising

59

Das Beispiel vom Anfang

Eine Wort-Dokument-Matrix M aus dem R5times3

d1 d2 d3ship 1 1 0boat 0 0 1

ocean 1 0 1motor 1 0 1wood 0 1 0

cossim(shipboat) = 0

cossim(shipocean) =12

cossim(boatocean) =1radic2

= 07

60

SVD Zerlegung war

minus041 07 024minus029 minus033 minus072minus061 minus02 014minus061 minus02 014minus01 057 minus062

227 0 0

0 149 00 0 078

minus072 minus023 minus066019 085 minus05067 minus048 minus056

=

minus093 104 0187minus0658 minus049 minus056minus138 minus0298 01092minus138 minus0298 minus1092minus0227 084 minus0483

minus072 minus023 minus066

019 085 minus05067 minus048 minus056

=

1 1 00 0 11 0 11 0 10 1 0

Abweichungen sind Rundungsfehler61

Niedrigdimensionale Approximation

Die kleinsten Eigenwerte sind die unwichtigsten Wir konnen dieseldquoweglassenrdquo = auf Null setzenrarr eine Matrix mit kleinerem Rang dieaber relativ ahnlich zur Ausgangsmatrix istminus041 07 024minus029 minus033 minus072minus061 minus02 014minus061 minus02 014minus01 057 minus062

227 0 0

0 149 00 0 0

minus072 minus023 minus066019 085 minus05067 minus048 minus056

=

minus093 104 0minus0658 minus049 0minus138 minus0298 0minus138 minus0298 0minus0227 084 0

minus072 minus023 minus066

019 085 minus05067 minus048 minus056

=

087 109 011038 minus027 068093 005 106093 005 106032 077 minus027

62

Die niedrigdimensionale Approximation

Wir interessieren uns fur die Matrix U2 = UΣ2 also die Matrix mit demniedrigerem Rang

minus093 104 0minus0658 minus049 0minus138 minus0298 0minus138 minus0298 0minus0227 084 0

Man kann diese nun als die Reprasentation unserer 5 Worter mit zweiversteckten Dimensionen auffassen

h1 h2ship minus093 104boat minus0658 minus049

ocean minus138 minus0298motor minus138 minus0298wood minus0227 084

63

Neue Ahnlichkeitsberechnungen

h1 h2ship minus093 104boat minus0658 minus049

ocean minus138 minus0298motor minus138 minus0298wood minus0227 084

cossim(shipboat) =(minus093) middot (minus0658) + 104 middot (minus049)radic

(0932 + 1042) middotradic

(06582 + 0492)= 009

cossim(shipocean) =(minus093) middot (minus138) + 104 middot (minus029)radic

(0932 + 1042) middotradic

(1382 + 0292)= 049

cossim(boatocean) = 09

64

Variationen

Benutze nur Umtimesk zur Ahnlichkeitsberechnung

Benutze Umtimesk middotΣpktimesk zur Ahnlichkeitsberechnungrarr Parameter p

sollte getuned werden Kann groszlige Unterschiede machen

Oft p = 0p = 05p = 1

65

Performanz der Reduced-SVD-Embeddings

Levy O Goldberg Y Neural word embedding as implicit matrix factorization In

Advances in neural information processing systems 2014 S 2177-2185

(Englische) Wikipedia 15 Milliarden Tokens

Fenster 2 beiderseits

Vokabular 189 533 fur Terme sowie Kontexte

PPMI Matrizen

SVD sowie ohne Zerlegung (PPMI) sowie neurale (SGNS)

Algorithmus Spearman Rank zu WordSim 353SVD 0652SGNS 0633PPMI 0605

66

Latent Semantic Analysis und Word Embeddings

Levy2014

ldquoWe analyze skip-gram with negative-sampling (SGNS) [] and show that it isimplicitly factorizing a word-context matrix whose cells are the pointwise mutualinformation (PMI) of the respective word and context pairs shifted by a globalconstant When dense low-dimensional vectors are preferred exact factorizationwith SVD can achieve solutions that are at least as good as SGNSrsquoss solutions forword similarity tasks On analogy questions SGNS remains superior to SVD Weconjecture that this stems from the weighted nature of SGNSrsquos factorizationrdquo

67

Zusammenfassung

Reduced SVD resultiert in einer optimalen Approximation derOriginalmatrix mit niedrigerem Rang Optimal = optimal bzgl derFrobeniusnorm (bzw mean squared error)

Dadurch erhalten wir eine mathematisch fundierte dichtereMatrix die Rauschen (weniger wichtige Dimensionen) eliminiert

Wir konnen mittels Umtimesk Σktimesk weiterhin Wortahnlichkeitenberechnen

Es konnen Resultate erreicht werden die bei word similaritymindestens ebensogut sind wie mit neuralen word embeddings

Nachteile Kosten der SVD Berechnung fur mtimesn matrixO(n middotm2) (when m lt n)rarr Nicht gut fur sehr grosse Matrizen

Nachteile Geht nicht gut mit unbekannten Wortern um

Nachteile schlechter bei Wortanalogieaufgaben

68

Literatur

Guter erweiterter Hintergrundhttptheorystanfordedu˜tims15ll7pdf bishttptheorystanfordedu˜tims15ll9pdf

SVD Tutorial (ohne vollstandigen Hintergrund) Kirk Baker(2005) Singular Value Decomposition Tutorialhttpsdatajobscomdata-science-repoSVD-Tutorial-[Kirk-Baker]pdf Leider ist hier imKonstruktionsverfahren I die Vorzeichenproblematikfalschlicherweise nicht behandelt worden

Levy O Goldberg Y Neural word embedding as implicit matrixfactorization In Advances in neural information processingsystems 2014 S 2177-2185

Ubungsblatt II

69

  • SVD Hauptsatz
    • Der SVD-Satz
    • Konstruktion am Beispiel Methodologie I
    • Konstruktionsmethodologie II
      • Interpretation der SVD
      • Reduced SVD
      • Verwendung in NLP

Bestimmung von U

Der erste Spaltenvektor u(1) kann wie ublich bestimmt werden mit

u(1) =1radic2

Av (1) =1radic2

(1 01 0

)(10

)

=1radic2

(11

)=

(1radic2

1radic2

)

39

Bestimmung von U

Da wir keinen weiteren Eigenwert 6= 0 haben konnen wir leider sonicht weitermachen dh es geht nur bis zum Rang von A Es gilt aber(

1radic2

x21radic2

y2

)(radic2 0

0 0

)(1 00 1

)

=

(1 01 0

)= A

unabhangig von x2 und y2 Das heisst unser halb vollstandiges U istgenug fur eine Zerlegung

40

Bestimmung von U

1 Wir konnen also jedes x2 und y2 wahlen solange normiert undsenkrecht auf dem ersten Vektor stehend

2 Nach dem sogenannten Basiserganzungssatz geht dies immer3 In unserem Beispiel konnte man zum Beispiel (minus1radic

2 1radic

2) wahlen

4 Wie genau man diese weiteren Vektoren von U konstruiert ist furuns unerheblich da wir ja sowieso die letzten Spalten von U diezu den niedrigeren Eigenwerten gehoren ldquoabschneidenrdquowerden

41

SVD Zwischenfazit

Wir haben eine Matrix in das Produkt einer OrthonormalmatrixDiagonalmatrix und Orthogonalmatrix zerlegt

Die Diagonalmatrix enthalt die Wurzeln von den Eigenwerten vonA middotAT nach Groszlige geordnet

Die erste Orthonormalmatrix enthalt die orthonormalisiertenEigenvektoren von A middotAT nach Eigenwertgrosse geordnet alsSpalten

Die zweite Orthonormalmatrix ist die Transponierte der Matrixdie die orthonormalisierten Eigenvektoren von AT middotA nachEigenwertgrosse geordnet als Spalten enthalt

42

Ubersicht

1 SVD HauptsatzDer SVD-SatzKonstruktion am Beispiel Methodologie IKonstruktionsmethodologie II

2 Interpretation der SVD

3 Reduced SVD

4 Verwendung in NLP

43

Geometrische Interpretation bei quadratischen Matrizen

Bedeutung der SVD ist dass sich die Funktion in eine DrehungDrehspiegelung (V T )eine Verzerrung (Σ) und eine zweite DrehungDrehspiegelung (U) zerlegen lsst

Matrix

(1 10 1

)SVD Geometrische Interpretationa

aQuelle httpscommonswikimediaorgwikiFileSingular-Value-Decompositionsvg

44

Noch einige Bemerkungen

Die Eigenwerte und damit Σ sind eindeutig bestimmt

U und V sind nicht eindeutig bestimmt Es konnen Drehungenum 180 Grad oder Spiegelungen hinzukommen

Wir konnen in vielen Fallen einen Eigenvektor wahlen(Freiheitsgrade) mussen aber dann bei den Vorzeichen derzweiten Matrix aufpassen

45

Noch einige Bemerkungen

Wir haben implizit den Rang der Ursprungsmatrix A bestimmtDies kann man klar an U middotΣ sehen

A = UΣV T =

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00

radic10 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(radic12radic2

radic10radic2

0radic

12radic2

minusradic

10radic2

0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(3 1 1minus1 3 1

)

46

Noch einige Bemerkungen

Deswegen wird manchmal die Singularwertzerlegung auch alsZerlegung in drei Matrizen Amtimesn = Umtimesr Σrtimesr V T

rtimesn wobei r der Rangder Matrix A ist beschrieben

A = UΣV T =

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00

radic10 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 00

radic10

)( 1radic6

2radic6

1radic6

2radic5

minus1radic5

0

)=

(radic12radic2

radic10radic2radic

12radic2

minusradic

10radic2

)(1radic6

2radic6

1radic6

2radic5

minus1radic5

0

)=

(3 1 1minus1 3 1

)47

Noch einige Bemerkungen

Bisher haben wir immer die Ausgangsmatrix einfach reproduziert(mit dem gleichen Rang) Man sieht den Rang besser und es gilt

Die ldquoZerrungrdquo durch die Matrix Σ ist bei den Dimensionen mit denhochsten Eigenwerten am groszligten Beispiel

(radic12 0 00

radic10 0

)x1

x2

x3

=

(radic12 middot x1radic10 middot x2

)Es macht also Sinn dass wir wenn wir eine Approximationunserer Ausgangsmatrix mit niedrigerem Rang wollen dann dieunwichtigen Dimensionen die durch niedrige Eigenwertegekennzeichnet sind weglassen

48

Ubersicht

1 SVD HauptsatzDer SVD-SatzKonstruktion am Beispiel Methodologie IKonstruktionsmethodologie II

2 Interpretation der SVD

3 Reduced SVD

4 Verwendung in NLP

49

Reduced SVD Approximation niedrigeren Ranges

Approximation von mtimesn Matrix A mit Rang r durch mtimesn -Matrix Ak mit Rang k lt r

A = UΣV T asymp Ak = UΣk V T

Σk ist eine ldquodiagonalerdquo mtimesn - Matrix bei der nur auf den erstenk Stellen der Diagonalmatrix Werte 6= 0 stehen

U und V wie zuvor

50

Beispiel

A = UΣV T =

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00

radic10 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

asymp

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00 0 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(radic12radic2

0 0radic

12radic2

0 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(1 2 11 2 1

)51

Reduced SVD

Wir hatten auch nur die ersten k Spalten von U sowie die ersten kZeilen von V T behalten konnen

Aasymp

(1radic2

1radic2

)(radic12)( 1radic

62radic6

1radic6

)=

(radic12radic2radic

12radic2

)(1radic6

2radic6

1radic6

)=

(1 2 11 2 1

)

52

Als Bild

53

Als Algorithmus

Gegeben mtimesn Matrix A und gewunschter Rank k Wir produziereneine Rangminus k Approximation wie folgt

1 Wir berechnen eine SVD Zerlegung von A

Amtimesn = UmtimesmΣmtimesnV Tntimesn

2 Wir behalten nur die ersten k Spalten von U resultierend in Umtimesk

3 Wir behalten nur die Top k sprich die ersten k Diagonalwerte vonΣ resultierend in Σktimesk

4 Wir behalten nur die ersten k Reihen von V T resultierend in V Tktimesn

54

Reduced SVD

Diagonale Eintrage in Σk sind die k groszligten Eigenwerte vonA middotAT

Satz UΣk V T minimiert die Differenz der Frobenius-Normzwischen A und Ak unter der Bedingung rang(Ak ) = k

Das heisst Fur jede mtimesn Matrix A mit Rang r angestrebtemRang k lt r und jede mtimesn Matrix B mit Rang k gilt

Aminus Ak2 le AminusB2

wobei Ak die Rang-k Approximation ist die man aus der SVD vonA ableiten kann

55

Was hat man erreicht

Unkorrelierte Dimensionen (Orthonormalbasis) die nur nochverzerrt werden

Wir haben die Dimensionen mit der meisten Variation identifiziertund danach geordnet

ldquoUnwichtigerdquo Dimensionen werden weggelassenrarr Rauschenvermindert

Man braucht viel weniger Speicherplatz O(k(n + m)) anstattO(nm)

Die neuen ldquoverstecktenrdquo Dimensionen konnen zurAhnlichkeitsberechnung verwendet werden und funktionieren oftbesser

56

Wie wahlt man k

Meist empirisch Gesehen

1 In NLP oft die ersten 200 bis 300 Dimensionen2 In Recommender Systems Wahle k so dass die Summe der

ersten k Eigenwerte mindestens 10-mal der Summe alleranderen Eigenwerte

57

Ubersicht

1 SVD HauptsatzDer SVD-SatzKonstruktion am Beispiel Methodologie IKonstruktionsmethodologie II

2 Interpretation der SVD

3 Reduced SVD

4 Verwendung in NLP

58

Dichte Embeddings

A ist Matrix von m WorternTermen und n Kontexten (PPMIfrequency )Reduced SVD resultiert in Ak mit

Umtimesk ist mtimes k - MatrixZeilen von Umtimesk reprasentieren TermeSpalten in Umtimesk latente Reprasentation der KontexteBenutze Umtimesk middotΣktimesk zur Berechnung von Termahnlichkeiten

Vorteile gegenuber der vollen Term-Kontext-MatrixDichte MatrixDimensionsreduktion effizientere VerarbeitungDe-Noising

59

Dichte Embeddings

A ist Matrix von m WorternTermen und n Kontexten (PPMIfrequency )Reduced SVD resultiert in Ak mit

Umtimesk ist mtimes k - MatrixZeilen von Umtimesk reprasentieren TermeSpalten in Umtimesk latente Reprasentation der KontexteBenutze Umtimesk middotΣktimesk zur Berechnung von Termahnlichkeiten

Vorteile gegenuber der vollen Term-Kontext-MatrixDichte MatrixDimensionsreduktion effizientere VerarbeitungDe-Noising

59

Dichte Embeddings

A ist Matrix von m WorternTermen und n Kontexten (PPMIfrequency )Reduced SVD resultiert in Ak mit

Umtimesk ist mtimes k - MatrixZeilen von Umtimesk reprasentieren TermeSpalten in Umtimesk latente Reprasentation der KontexteBenutze Umtimesk middotΣktimesk zur Berechnung von Termahnlichkeiten

Vorteile gegenuber der vollen Term-Kontext-MatrixDichte MatrixDimensionsreduktion effizientere VerarbeitungDe-Noising

59

Das Beispiel vom Anfang

Eine Wort-Dokument-Matrix M aus dem R5times3

d1 d2 d3ship 1 1 0boat 0 0 1

ocean 1 0 1motor 1 0 1wood 0 1 0

cossim(shipboat) = 0

cossim(shipocean) =12

cossim(boatocean) =1radic2

= 07

60

SVD Zerlegung war

minus041 07 024minus029 minus033 minus072minus061 minus02 014minus061 minus02 014minus01 057 minus062

227 0 0

0 149 00 0 078

minus072 minus023 minus066019 085 minus05067 minus048 minus056

=

minus093 104 0187minus0658 minus049 minus056minus138 minus0298 01092minus138 minus0298 minus1092minus0227 084 minus0483

minus072 minus023 minus066

019 085 minus05067 minus048 minus056

=

1 1 00 0 11 0 11 0 10 1 0

Abweichungen sind Rundungsfehler61

Niedrigdimensionale Approximation

Die kleinsten Eigenwerte sind die unwichtigsten Wir konnen dieseldquoweglassenrdquo = auf Null setzenrarr eine Matrix mit kleinerem Rang dieaber relativ ahnlich zur Ausgangsmatrix istminus041 07 024minus029 minus033 minus072minus061 minus02 014minus061 minus02 014minus01 057 minus062

227 0 0

0 149 00 0 0

minus072 minus023 minus066019 085 minus05067 minus048 minus056

=

minus093 104 0minus0658 minus049 0minus138 minus0298 0minus138 minus0298 0minus0227 084 0

minus072 minus023 minus066

019 085 minus05067 minus048 minus056

=

087 109 011038 minus027 068093 005 106093 005 106032 077 minus027

62

Die niedrigdimensionale Approximation

Wir interessieren uns fur die Matrix U2 = UΣ2 also die Matrix mit demniedrigerem Rang

minus093 104 0minus0658 minus049 0minus138 minus0298 0minus138 minus0298 0minus0227 084 0

Man kann diese nun als die Reprasentation unserer 5 Worter mit zweiversteckten Dimensionen auffassen

h1 h2ship minus093 104boat minus0658 minus049

ocean minus138 minus0298motor minus138 minus0298wood minus0227 084

63

Neue Ahnlichkeitsberechnungen

h1 h2ship minus093 104boat minus0658 minus049

ocean minus138 minus0298motor minus138 minus0298wood minus0227 084

cossim(shipboat) =(minus093) middot (minus0658) + 104 middot (minus049)radic

(0932 + 1042) middotradic

(06582 + 0492)= 009

cossim(shipocean) =(minus093) middot (minus138) + 104 middot (minus029)radic

(0932 + 1042) middotradic

(1382 + 0292)= 049

cossim(boatocean) = 09

64

Variationen

Benutze nur Umtimesk zur Ahnlichkeitsberechnung

Benutze Umtimesk middotΣpktimesk zur Ahnlichkeitsberechnungrarr Parameter p

sollte getuned werden Kann groszlige Unterschiede machen

Oft p = 0p = 05p = 1

65

Performanz der Reduced-SVD-Embeddings

Levy O Goldberg Y Neural word embedding as implicit matrix factorization In

Advances in neural information processing systems 2014 S 2177-2185

(Englische) Wikipedia 15 Milliarden Tokens

Fenster 2 beiderseits

Vokabular 189 533 fur Terme sowie Kontexte

PPMI Matrizen

SVD sowie ohne Zerlegung (PPMI) sowie neurale (SGNS)

Algorithmus Spearman Rank zu WordSim 353SVD 0652SGNS 0633PPMI 0605

66

Latent Semantic Analysis und Word Embeddings

Levy2014

ldquoWe analyze skip-gram with negative-sampling (SGNS) [] and show that it isimplicitly factorizing a word-context matrix whose cells are the pointwise mutualinformation (PMI) of the respective word and context pairs shifted by a globalconstant When dense low-dimensional vectors are preferred exact factorizationwith SVD can achieve solutions that are at least as good as SGNSrsquoss solutions forword similarity tasks On analogy questions SGNS remains superior to SVD Weconjecture that this stems from the weighted nature of SGNSrsquos factorizationrdquo

67

Zusammenfassung

Reduced SVD resultiert in einer optimalen Approximation derOriginalmatrix mit niedrigerem Rang Optimal = optimal bzgl derFrobeniusnorm (bzw mean squared error)

Dadurch erhalten wir eine mathematisch fundierte dichtereMatrix die Rauschen (weniger wichtige Dimensionen) eliminiert

Wir konnen mittels Umtimesk Σktimesk weiterhin Wortahnlichkeitenberechnen

Es konnen Resultate erreicht werden die bei word similaritymindestens ebensogut sind wie mit neuralen word embeddings

Nachteile Kosten der SVD Berechnung fur mtimesn matrixO(n middotm2) (when m lt n)rarr Nicht gut fur sehr grosse Matrizen

Nachteile Geht nicht gut mit unbekannten Wortern um

Nachteile schlechter bei Wortanalogieaufgaben

68

Literatur

Guter erweiterter Hintergrundhttptheorystanfordedu˜tims15ll7pdf bishttptheorystanfordedu˜tims15ll9pdf

SVD Tutorial (ohne vollstandigen Hintergrund) Kirk Baker(2005) Singular Value Decomposition Tutorialhttpsdatajobscomdata-science-repoSVD-Tutorial-[Kirk-Baker]pdf Leider ist hier imKonstruktionsverfahren I die Vorzeichenproblematikfalschlicherweise nicht behandelt worden

Levy O Goldberg Y Neural word embedding as implicit matrixfactorization In Advances in neural information processingsystems 2014 S 2177-2185

Ubungsblatt II

69

  • SVD Hauptsatz
    • Der SVD-Satz
    • Konstruktion am Beispiel Methodologie I
    • Konstruktionsmethodologie II
      • Interpretation der SVD
      • Reduced SVD
      • Verwendung in NLP

Bestimmung von U

Da wir keinen weiteren Eigenwert 6= 0 haben konnen wir leider sonicht weitermachen dh es geht nur bis zum Rang von A Es gilt aber(

1radic2

x21radic2

y2

)(radic2 0

0 0

)(1 00 1

)

=

(1 01 0

)= A

unabhangig von x2 und y2 Das heisst unser halb vollstandiges U istgenug fur eine Zerlegung

40

Bestimmung von U

1 Wir konnen also jedes x2 und y2 wahlen solange normiert undsenkrecht auf dem ersten Vektor stehend

2 Nach dem sogenannten Basiserganzungssatz geht dies immer3 In unserem Beispiel konnte man zum Beispiel (minus1radic

2 1radic

2) wahlen

4 Wie genau man diese weiteren Vektoren von U konstruiert ist furuns unerheblich da wir ja sowieso die letzten Spalten von U diezu den niedrigeren Eigenwerten gehoren ldquoabschneidenrdquowerden

41

SVD Zwischenfazit

Wir haben eine Matrix in das Produkt einer OrthonormalmatrixDiagonalmatrix und Orthogonalmatrix zerlegt

Die Diagonalmatrix enthalt die Wurzeln von den Eigenwerten vonA middotAT nach Groszlige geordnet

Die erste Orthonormalmatrix enthalt die orthonormalisiertenEigenvektoren von A middotAT nach Eigenwertgrosse geordnet alsSpalten

Die zweite Orthonormalmatrix ist die Transponierte der Matrixdie die orthonormalisierten Eigenvektoren von AT middotA nachEigenwertgrosse geordnet als Spalten enthalt

42

Ubersicht

1 SVD HauptsatzDer SVD-SatzKonstruktion am Beispiel Methodologie IKonstruktionsmethodologie II

2 Interpretation der SVD

3 Reduced SVD

4 Verwendung in NLP

43

Geometrische Interpretation bei quadratischen Matrizen

Bedeutung der SVD ist dass sich die Funktion in eine DrehungDrehspiegelung (V T )eine Verzerrung (Σ) und eine zweite DrehungDrehspiegelung (U) zerlegen lsst

Matrix

(1 10 1

)SVD Geometrische Interpretationa

aQuelle httpscommonswikimediaorgwikiFileSingular-Value-Decompositionsvg

44

Noch einige Bemerkungen

Die Eigenwerte und damit Σ sind eindeutig bestimmt

U und V sind nicht eindeutig bestimmt Es konnen Drehungenum 180 Grad oder Spiegelungen hinzukommen

Wir konnen in vielen Fallen einen Eigenvektor wahlen(Freiheitsgrade) mussen aber dann bei den Vorzeichen derzweiten Matrix aufpassen

45

Noch einige Bemerkungen

Wir haben implizit den Rang der Ursprungsmatrix A bestimmtDies kann man klar an U middotΣ sehen

A = UΣV T =

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00

radic10 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(radic12radic2

radic10radic2

0radic

12radic2

minusradic

10radic2

0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(3 1 1minus1 3 1

)

46

Noch einige Bemerkungen

Deswegen wird manchmal die Singularwertzerlegung auch alsZerlegung in drei Matrizen Amtimesn = Umtimesr Σrtimesr V T

rtimesn wobei r der Rangder Matrix A ist beschrieben

A = UΣV T =

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00

radic10 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 00

radic10

)( 1radic6

2radic6

1radic6

2radic5

minus1radic5

0

)=

(radic12radic2

radic10radic2radic

12radic2

minusradic

10radic2

)(1radic6

2radic6

1radic6

2radic5

minus1radic5

0

)=

(3 1 1minus1 3 1

)47

Noch einige Bemerkungen

Bisher haben wir immer die Ausgangsmatrix einfach reproduziert(mit dem gleichen Rang) Man sieht den Rang besser und es gilt

Die ldquoZerrungrdquo durch die Matrix Σ ist bei den Dimensionen mit denhochsten Eigenwerten am groszligten Beispiel

(radic12 0 00

radic10 0

)x1

x2

x3

=

(radic12 middot x1radic10 middot x2

)Es macht also Sinn dass wir wenn wir eine Approximationunserer Ausgangsmatrix mit niedrigerem Rang wollen dann dieunwichtigen Dimensionen die durch niedrige Eigenwertegekennzeichnet sind weglassen

48

Ubersicht

1 SVD HauptsatzDer SVD-SatzKonstruktion am Beispiel Methodologie IKonstruktionsmethodologie II

2 Interpretation der SVD

3 Reduced SVD

4 Verwendung in NLP

49

Reduced SVD Approximation niedrigeren Ranges

Approximation von mtimesn Matrix A mit Rang r durch mtimesn -Matrix Ak mit Rang k lt r

A = UΣV T asymp Ak = UΣk V T

Σk ist eine ldquodiagonalerdquo mtimesn - Matrix bei der nur auf den erstenk Stellen der Diagonalmatrix Werte 6= 0 stehen

U und V wie zuvor

50

Beispiel

A = UΣV T =

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00

radic10 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

asymp

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00 0 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(radic12radic2

0 0radic

12radic2

0 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(1 2 11 2 1

)51

Reduced SVD

Wir hatten auch nur die ersten k Spalten von U sowie die ersten kZeilen von V T behalten konnen

Aasymp

(1radic2

1radic2

)(radic12)( 1radic

62radic6

1radic6

)=

(radic12radic2radic

12radic2

)(1radic6

2radic6

1radic6

)=

(1 2 11 2 1

)

52

Als Bild

53

Als Algorithmus

Gegeben mtimesn Matrix A und gewunschter Rank k Wir produziereneine Rangminus k Approximation wie folgt

1 Wir berechnen eine SVD Zerlegung von A

Amtimesn = UmtimesmΣmtimesnV Tntimesn

2 Wir behalten nur die ersten k Spalten von U resultierend in Umtimesk

3 Wir behalten nur die Top k sprich die ersten k Diagonalwerte vonΣ resultierend in Σktimesk

4 Wir behalten nur die ersten k Reihen von V T resultierend in V Tktimesn

54

Reduced SVD

Diagonale Eintrage in Σk sind die k groszligten Eigenwerte vonA middotAT

Satz UΣk V T minimiert die Differenz der Frobenius-Normzwischen A und Ak unter der Bedingung rang(Ak ) = k

Das heisst Fur jede mtimesn Matrix A mit Rang r angestrebtemRang k lt r und jede mtimesn Matrix B mit Rang k gilt

Aminus Ak2 le AminusB2

wobei Ak die Rang-k Approximation ist die man aus der SVD vonA ableiten kann

55

Was hat man erreicht

Unkorrelierte Dimensionen (Orthonormalbasis) die nur nochverzerrt werden

Wir haben die Dimensionen mit der meisten Variation identifiziertund danach geordnet

ldquoUnwichtigerdquo Dimensionen werden weggelassenrarr Rauschenvermindert

Man braucht viel weniger Speicherplatz O(k(n + m)) anstattO(nm)

Die neuen ldquoverstecktenrdquo Dimensionen konnen zurAhnlichkeitsberechnung verwendet werden und funktionieren oftbesser

56

Wie wahlt man k

Meist empirisch Gesehen

1 In NLP oft die ersten 200 bis 300 Dimensionen2 In Recommender Systems Wahle k so dass die Summe der

ersten k Eigenwerte mindestens 10-mal der Summe alleranderen Eigenwerte

57

Ubersicht

1 SVD HauptsatzDer SVD-SatzKonstruktion am Beispiel Methodologie IKonstruktionsmethodologie II

2 Interpretation der SVD

3 Reduced SVD

4 Verwendung in NLP

58

Dichte Embeddings

A ist Matrix von m WorternTermen und n Kontexten (PPMIfrequency )Reduced SVD resultiert in Ak mit

Umtimesk ist mtimes k - MatrixZeilen von Umtimesk reprasentieren TermeSpalten in Umtimesk latente Reprasentation der KontexteBenutze Umtimesk middotΣktimesk zur Berechnung von Termahnlichkeiten

Vorteile gegenuber der vollen Term-Kontext-MatrixDichte MatrixDimensionsreduktion effizientere VerarbeitungDe-Noising

59

Dichte Embeddings

A ist Matrix von m WorternTermen und n Kontexten (PPMIfrequency )Reduced SVD resultiert in Ak mit

Umtimesk ist mtimes k - MatrixZeilen von Umtimesk reprasentieren TermeSpalten in Umtimesk latente Reprasentation der KontexteBenutze Umtimesk middotΣktimesk zur Berechnung von Termahnlichkeiten

Vorteile gegenuber der vollen Term-Kontext-MatrixDichte MatrixDimensionsreduktion effizientere VerarbeitungDe-Noising

59

Dichte Embeddings

A ist Matrix von m WorternTermen und n Kontexten (PPMIfrequency )Reduced SVD resultiert in Ak mit

Umtimesk ist mtimes k - MatrixZeilen von Umtimesk reprasentieren TermeSpalten in Umtimesk latente Reprasentation der KontexteBenutze Umtimesk middotΣktimesk zur Berechnung von Termahnlichkeiten

Vorteile gegenuber der vollen Term-Kontext-MatrixDichte MatrixDimensionsreduktion effizientere VerarbeitungDe-Noising

59

Das Beispiel vom Anfang

Eine Wort-Dokument-Matrix M aus dem R5times3

d1 d2 d3ship 1 1 0boat 0 0 1

ocean 1 0 1motor 1 0 1wood 0 1 0

cossim(shipboat) = 0

cossim(shipocean) =12

cossim(boatocean) =1radic2

= 07

60

SVD Zerlegung war

minus041 07 024minus029 minus033 minus072minus061 minus02 014minus061 minus02 014minus01 057 minus062

227 0 0

0 149 00 0 078

minus072 minus023 minus066019 085 minus05067 minus048 minus056

=

minus093 104 0187minus0658 minus049 minus056minus138 minus0298 01092minus138 minus0298 minus1092minus0227 084 minus0483

minus072 minus023 minus066

019 085 minus05067 minus048 minus056

=

1 1 00 0 11 0 11 0 10 1 0

Abweichungen sind Rundungsfehler61

Niedrigdimensionale Approximation

Die kleinsten Eigenwerte sind die unwichtigsten Wir konnen dieseldquoweglassenrdquo = auf Null setzenrarr eine Matrix mit kleinerem Rang dieaber relativ ahnlich zur Ausgangsmatrix istminus041 07 024minus029 minus033 minus072minus061 minus02 014minus061 minus02 014minus01 057 minus062

227 0 0

0 149 00 0 0

minus072 minus023 minus066019 085 minus05067 minus048 minus056

=

minus093 104 0minus0658 minus049 0minus138 minus0298 0minus138 minus0298 0minus0227 084 0

minus072 minus023 minus066

019 085 minus05067 minus048 minus056

=

087 109 011038 minus027 068093 005 106093 005 106032 077 minus027

62

Die niedrigdimensionale Approximation

Wir interessieren uns fur die Matrix U2 = UΣ2 also die Matrix mit demniedrigerem Rang

minus093 104 0minus0658 minus049 0minus138 minus0298 0minus138 minus0298 0minus0227 084 0

Man kann diese nun als die Reprasentation unserer 5 Worter mit zweiversteckten Dimensionen auffassen

h1 h2ship minus093 104boat minus0658 minus049

ocean minus138 minus0298motor minus138 minus0298wood minus0227 084

63

Neue Ahnlichkeitsberechnungen

h1 h2ship minus093 104boat minus0658 minus049

ocean minus138 minus0298motor minus138 minus0298wood minus0227 084

cossim(shipboat) =(minus093) middot (minus0658) + 104 middot (minus049)radic

(0932 + 1042) middotradic

(06582 + 0492)= 009

cossim(shipocean) =(minus093) middot (minus138) + 104 middot (minus029)radic

(0932 + 1042) middotradic

(1382 + 0292)= 049

cossim(boatocean) = 09

64

Variationen

Benutze nur Umtimesk zur Ahnlichkeitsberechnung

Benutze Umtimesk middotΣpktimesk zur Ahnlichkeitsberechnungrarr Parameter p

sollte getuned werden Kann groszlige Unterschiede machen

Oft p = 0p = 05p = 1

65

Performanz der Reduced-SVD-Embeddings

Levy O Goldberg Y Neural word embedding as implicit matrix factorization In

Advances in neural information processing systems 2014 S 2177-2185

(Englische) Wikipedia 15 Milliarden Tokens

Fenster 2 beiderseits

Vokabular 189 533 fur Terme sowie Kontexte

PPMI Matrizen

SVD sowie ohne Zerlegung (PPMI) sowie neurale (SGNS)

Algorithmus Spearman Rank zu WordSim 353SVD 0652SGNS 0633PPMI 0605

66

Latent Semantic Analysis und Word Embeddings

Levy2014

ldquoWe analyze skip-gram with negative-sampling (SGNS) [] and show that it isimplicitly factorizing a word-context matrix whose cells are the pointwise mutualinformation (PMI) of the respective word and context pairs shifted by a globalconstant When dense low-dimensional vectors are preferred exact factorizationwith SVD can achieve solutions that are at least as good as SGNSrsquoss solutions forword similarity tasks On analogy questions SGNS remains superior to SVD Weconjecture that this stems from the weighted nature of SGNSrsquos factorizationrdquo

67

Zusammenfassung

Reduced SVD resultiert in einer optimalen Approximation derOriginalmatrix mit niedrigerem Rang Optimal = optimal bzgl derFrobeniusnorm (bzw mean squared error)

Dadurch erhalten wir eine mathematisch fundierte dichtereMatrix die Rauschen (weniger wichtige Dimensionen) eliminiert

Wir konnen mittels Umtimesk Σktimesk weiterhin Wortahnlichkeitenberechnen

Es konnen Resultate erreicht werden die bei word similaritymindestens ebensogut sind wie mit neuralen word embeddings

Nachteile Kosten der SVD Berechnung fur mtimesn matrixO(n middotm2) (when m lt n)rarr Nicht gut fur sehr grosse Matrizen

Nachteile Geht nicht gut mit unbekannten Wortern um

Nachteile schlechter bei Wortanalogieaufgaben

68

Literatur

Guter erweiterter Hintergrundhttptheorystanfordedu˜tims15ll7pdf bishttptheorystanfordedu˜tims15ll9pdf

SVD Tutorial (ohne vollstandigen Hintergrund) Kirk Baker(2005) Singular Value Decomposition Tutorialhttpsdatajobscomdata-science-repoSVD-Tutorial-[Kirk-Baker]pdf Leider ist hier imKonstruktionsverfahren I die Vorzeichenproblematikfalschlicherweise nicht behandelt worden

Levy O Goldberg Y Neural word embedding as implicit matrixfactorization In Advances in neural information processingsystems 2014 S 2177-2185

Ubungsblatt II

69

  • SVD Hauptsatz
    • Der SVD-Satz
    • Konstruktion am Beispiel Methodologie I
    • Konstruktionsmethodologie II
      • Interpretation der SVD
      • Reduced SVD
      • Verwendung in NLP

Bestimmung von U

1 Wir konnen also jedes x2 und y2 wahlen solange normiert undsenkrecht auf dem ersten Vektor stehend

2 Nach dem sogenannten Basiserganzungssatz geht dies immer3 In unserem Beispiel konnte man zum Beispiel (minus1radic

2 1radic

2) wahlen

4 Wie genau man diese weiteren Vektoren von U konstruiert ist furuns unerheblich da wir ja sowieso die letzten Spalten von U diezu den niedrigeren Eigenwerten gehoren ldquoabschneidenrdquowerden

41

SVD Zwischenfazit

Wir haben eine Matrix in das Produkt einer OrthonormalmatrixDiagonalmatrix und Orthogonalmatrix zerlegt

Die Diagonalmatrix enthalt die Wurzeln von den Eigenwerten vonA middotAT nach Groszlige geordnet

Die erste Orthonormalmatrix enthalt die orthonormalisiertenEigenvektoren von A middotAT nach Eigenwertgrosse geordnet alsSpalten

Die zweite Orthonormalmatrix ist die Transponierte der Matrixdie die orthonormalisierten Eigenvektoren von AT middotA nachEigenwertgrosse geordnet als Spalten enthalt

42

Ubersicht

1 SVD HauptsatzDer SVD-SatzKonstruktion am Beispiel Methodologie IKonstruktionsmethodologie II

2 Interpretation der SVD

3 Reduced SVD

4 Verwendung in NLP

43

Geometrische Interpretation bei quadratischen Matrizen

Bedeutung der SVD ist dass sich die Funktion in eine DrehungDrehspiegelung (V T )eine Verzerrung (Σ) und eine zweite DrehungDrehspiegelung (U) zerlegen lsst

Matrix

(1 10 1

)SVD Geometrische Interpretationa

aQuelle httpscommonswikimediaorgwikiFileSingular-Value-Decompositionsvg

44

Noch einige Bemerkungen

Die Eigenwerte und damit Σ sind eindeutig bestimmt

U und V sind nicht eindeutig bestimmt Es konnen Drehungenum 180 Grad oder Spiegelungen hinzukommen

Wir konnen in vielen Fallen einen Eigenvektor wahlen(Freiheitsgrade) mussen aber dann bei den Vorzeichen derzweiten Matrix aufpassen

45

Noch einige Bemerkungen

Wir haben implizit den Rang der Ursprungsmatrix A bestimmtDies kann man klar an U middotΣ sehen

A = UΣV T =

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00

radic10 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(radic12radic2

radic10radic2

0radic

12radic2

minusradic

10radic2

0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(3 1 1minus1 3 1

)

46

Noch einige Bemerkungen

Deswegen wird manchmal die Singularwertzerlegung auch alsZerlegung in drei Matrizen Amtimesn = Umtimesr Σrtimesr V T

rtimesn wobei r der Rangder Matrix A ist beschrieben

A = UΣV T =

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00

radic10 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 00

radic10

)( 1radic6

2radic6

1radic6

2radic5

minus1radic5

0

)=

(radic12radic2

radic10radic2radic

12radic2

minusradic

10radic2

)(1radic6

2radic6

1radic6

2radic5

minus1radic5

0

)=

(3 1 1minus1 3 1

)47

Noch einige Bemerkungen

Bisher haben wir immer die Ausgangsmatrix einfach reproduziert(mit dem gleichen Rang) Man sieht den Rang besser und es gilt

Die ldquoZerrungrdquo durch die Matrix Σ ist bei den Dimensionen mit denhochsten Eigenwerten am groszligten Beispiel

(radic12 0 00

radic10 0

)x1

x2

x3

=

(radic12 middot x1radic10 middot x2

)Es macht also Sinn dass wir wenn wir eine Approximationunserer Ausgangsmatrix mit niedrigerem Rang wollen dann dieunwichtigen Dimensionen die durch niedrige Eigenwertegekennzeichnet sind weglassen

48

Ubersicht

1 SVD HauptsatzDer SVD-SatzKonstruktion am Beispiel Methodologie IKonstruktionsmethodologie II

2 Interpretation der SVD

3 Reduced SVD

4 Verwendung in NLP

49

Reduced SVD Approximation niedrigeren Ranges

Approximation von mtimesn Matrix A mit Rang r durch mtimesn -Matrix Ak mit Rang k lt r

A = UΣV T asymp Ak = UΣk V T

Σk ist eine ldquodiagonalerdquo mtimesn - Matrix bei der nur auf den erstenk Stellen der Diagonalmatrix Werte 6= 0 stehen

U und V wie zuvor

50

Beispiel

A = UΣV T =

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00

radic10 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

asymp

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00 0 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(radic12radic2

0 0radic

12radic2

0 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(1 2 11 2 1

)51

Reduced SVD

Wir hatten auch nur die ersten k Spalten von U sowie die ersten kZeilen von V T behalten konnen

Aasymp

(1radic2

1radic2

)(radic12)( 1radic

62radic6

1radic6

)=

(radic12radic2radic

12radic2

)(1radic6

2radic6

1radic6

)=

(1 2 11 2 1

)

52

Als Bild

53

Als Algorithmus

Gegeben mtimesn Matrix A und gewunschter Rank k Wir produziereneine Rangminus k Approximation wie folgt

1 Wir berechnen eine SVD Zerlegung von A

Amtimesn = UmtimesmΣmtimesnV Tntimesn

2 Wir behalten nur die ersten k Spalten von U resultierend in Umtimesk

3 Wir behalten nur die Top k sprich die ersten k Diagonalwerte vonΣ resultierend in Σktimesk

4 Wir behalten nur die ersten k Reihen von V T resultierend in V Tktimesn

54

Reduced SVD

Diagonale Eintrage in Σk sind die k groszligten Eigenwerte vonA middotAT

Satz UΣk V T minimiert die Differenz der Frobenius-Normzwischen A und Ak unter der Bedingung rang(Ak ) = k

Das heisst Fur jede mtimesn Matrix A mit Rang r angestrebtemRang k lt r und jede mtimesn Matrix B mit Rang k gilt

Aminus Ak2 le AminusB2

wobei Ak die Rang-k Approximation ist die man aus der SVD vonA ableiten kann

55

Was hat man erreicht

Unkorrelierte Dimensionen (Orthonormalbasis) die nur nochverzerrt werden

Wir haben die Dimensionen mit der meisten Variation identifiziertund danach geordnet

ldquoUnwichtigerdquo Dimensionen werden weggelassenrarr Rauschenvermindert

Man braucht viel weniger Speicherplatz O(k(n + m)) anstattO(nm)

Die neuen ldquoverstecktenrdquo Dimensionen konnen zurAhnlichkeitsberechnung verwendet werden und funktionieren oftbesser

56

Wie wahlt man k

Meist empirisch Gesehen

1 In NLP oft die ersten 200 bis 300 Dimensionen2 In Recommender Systems Wahle k so dass die Summe der

ersten k Eigenwerte mindestens 10-mal der Summe alleranderen Eigenwerte

57

Ubersicht

1 SVD HauptsatzDer SVD-SatzKonstruktion am Beispiel Methodologie IKonstruktionsmethodologie II

2 Interpretation der SVD

3 Reduced SVD

4 Verwendung in NLP

58

Dichte Embeddings

A ist Matrix von m WorternTermen und n Kontexten (PPMIfrequency )Reduced SVD resultiert in Ak mit

Umtimesk ist mtimes k - MatrixZeilen von Umtimesk reprasentieren TermeSpalten in Umtimesk latente Reprasentation der KontexteBenutze Umtimesk middotΣktimesk zur Berechnung von Termahnlichkeiten

Vorteile gegenuber der vollen Term-Kontext-MatrixDichte MatrixDimensionsreduktion effizientere VerarbeitungDe-Noising

59

Dichte Embeddings

A ist Matrix von m WorternTermen und n Kontexten (PPMIfrequency )Reduced SVD resultiert in Ak mit

Umtimesk ist mtimes k - MatrixZeilen von Umtimesk reprasentieren TermeSpalten in Umtimesk latente Reprasentation der KontexteBenutze Umtimesk middotΣktimesk zur Berechnung von Termahnlichkeiten

Vorteile gegenuber der vollen Term-Kontext-MatrixDichte MatrixDimensionsreduktion effizientere VerarbeitungDe-Noising

59

Dichte Embeddings

A ist Matrix von m WorternTermen und n Kontexten (PPMIfrequency )Reduced SVD resultiert in Ak mit

Umtimesk ist mtimes k - MatrixZeilen von Umtimesk reprasentieren TermeSpalten in Umtimesk latente Reprasentation der KontexteBenutze Umtimesk middotΣktimesk zur Berechnung von Termahnlichkeiten

Vorteile gegenuber der vollen Term-Kontext-MatrixDichte MatrixDimensionsreduktion effizientere VerarbeitungDe-Noising

59

Das Beispiel vom Anfang

Eine Wort-Dokument-Matrix M aus dem R5times3

d1 d2 d3ship 1 1 0boat 0 0 1

ocean 1 0 1motor 1 0 1wood 0 1 0

cossim(shipboat) = 0

cossim(shipocean) =12

cossim(boatocean) =1radic2

= 07

60

SVD Zerlegung war

minus041 07 024minus029 minus033 minus072minus061 minus02 014minus061 minus02 014minus01 057 minus062

227 0 0

0 149 00 0 078

minus072 minus023 minus066019 085 minus05067 minus048 minus056

=

minus093 104 0187minus0658 minus049 minus056minus138 minus0298 01092minus138 minus0298 minus1092minus0227 084 minus0483

minus072 minus023 minus066

019 085 minus05067 minus048 minus056

=

1 1 00 0 11 0 11 0 10 1 0

Abweichungen sind Rundungsfehler61

Niedrigdimensionale Approximation

Die kleinsten Eigenwerte sind die unwichtigsten Wir konnen dieseldquoweglassenrdquo = auf Null setzenrarr eine Matrix mit kleinerem Rang dieaber relativ ahnlich zur Ausgangsmatrix istminus041 07 024minus029 minus033 minus072minus061 minus02 014minus061 minus02 014minus01 057 minus062

227 0 0

0 149 00 0 0

minus072 minus023 minus066019 085 minus05067 minus048 minus056

=

minus093 104 0minus0658 minus049 0minus138 minus0298 0minus138 minus0298 0minus0227 084 0

minus072 minus023 minus066

019 085 minus05067 minus048 minus056

=

087 109 011038 minus027 068093 005 106093 005 106032 077 minus027

62

Die niedrigdimensionale Approximation

Wir interessieren uns fur die Matrix U2 = UΣ2 also die Matrix mit demniedrigerem Rang

minus093 104 0minus0658 minus049 0minus138 minus0298 0minus138 minus0298 0minus0227 084 0

Man kann diese nun als die Reprasentation unserer 5 Worter mit zweiversteckten Dimensionen auffassen

h1 h2ship minus093 104boat minus0658 minus049

ocean minus138 minus0298motor minus138 minus0298wood minus0227 084

63

Neue Ahnlichkeitsberechnungen

h1 h2ship minus093 104boat minus0658 minus049

ocean minus138 minus0298motor minus138 minus0298wood minus0227 084

cossim(shipboat) =(minus093) middot (minus0658) + 104 middot (minus049)radic

(0932 + 1042) middotradic

(06582 + 0492)= 009

cossim(shipocean) =(minus093) middot (minus138) + 104 middot (minus029)radic

(0932 + 1042) middotradic

(1382 + 0292)= 049

cossim(boatocean) = 09

64

Variationen

Benutze nur Umtimesk zur Ahnlichkeitsberechnung

Benutze Umtimesk middotΣpktimesk zur Ahnlichkeitsberechnungrarr Parameter p

sollte getuned werden Kann groszlige Unterschiede machen

Oft p = 0p = 05p = 1

65

Performanz der Reduced-SVD-Embeddings

Levy O Goldberg Y Neural word embedding as implicit matrix factorization In

Advances in neural information processing systems 2014 S 2177-2185

(Englische) Wikipedia 15 Milliarden Tokens

Fenster 2 beiderseits

Vokabular 189 533 fur Terme sowie Kontexte

PPMI Matrizen

SVD sowie ohne Zerlegung (PPMI) sowie neurale (SGNS)

Algorithmus Spearman Rank zu WordSim 353SVD 0652SGNS 0633PPMI 0605

66

Latent Semantic Analysis und Word Embeddings

Levy2014

ldquoWe analyze skip-gram with negative-sampling (SGNS) [] and show that it isimplicitly factorizing a word-context matrix whose cells are the pointwise mutualinformation (PMI) of the respective word and context pairs shifted by a globalconstant When dense low-dimensional vectors are preferred exact factorizationwith SVD can achieve solutions that are at least as good as SGNSrsquoss solutions forword similarity tasks On analogy questions SGNS remains superior to SVD Weconjecture that this stems from the weighted nature of SGNSrsquos factorizationrdquo

67

Zusammenfassung

Reduced SVD resultiert in einer optimalen Approximation derOriginalmatrix mit niedrigerem Rang Optimal = optimal bzgl derFrobeniusnorm (bzw mean squared error)

Dadurch erhalten wir eine mathematisch fundierte dichtereMatrix die Rauschen (weniger wichtige Dimensionen) eliminiert

Wir konnen mittels Umtimesk Σktimesk weiterhin Wortahnlichkeitenberechnen

Es konnen Resultate erreicht werden die bei word similaritymindestens ebensogut sind wie mit neuralen word embeddings

Nachteile Kosten der SVD Berechnung fur mtimesn matrixO(n middotm2) (when m lt n)rarr Nicht gut fur sehr grosse Matrizen

Nachteile Geht nicht gut mit unbekannten Wortern um

Nachteile schlechter bei Wortanalogieaufgaben

68

Literatur

Guter erweiterter Hintergrundhttptheorystanfordedu˜tims15ll7pdf bishttptheorystanfordedu˜tims15ll9pdf

SVD Tutorial (ohne vollstandigen Hintergrund) Kirk Baker(2005) Singular Value Decomposition Tutorialhttpsdatajobscomdata-science-repoSVD-Tutorial-[Kirk-Baker]pdf Leider ist hier imKonstruktionsverfahren I die Vorzeichenproblematikfalschlicherweise nicht behandelt worden

Levy O Goldberg Y Neural word embedding as implicit matrixfactorization In Advances in neural information processingsystems 2014 S 2177-2185

Ubungsblatt II

69

  • SVD Hauptsatz
    • Der SVD-Satz
    • Konstruktion am Beispiel Methodologie I
    • Konstruktionsmethodologie II
      • Interpretation der SVD
      • Reduced SVD
      • Verwendung in NLP

SVD Zwischenfazit

Wir haben eine Matrix in das Produkt einer OrthonormalmatrixDiagonalmatrix und Orthogonalmatrix zerlegt

Die Diagonalmatrix enthalt die Wurzeln von den Eigenwerten vonA middotAT nach Groszlige geordnet

Die erste Orthonormalmatrix enthalt die orthonormalisiertenEigenvektoren von A middotAT nach Eigenwertgrosse geordnet alsSpalten

Die zweite Orthonormalmatrix ist die Transponierte der Matrixdie die orthonormalisierten Eigenvektoren von AT middotA nachEigenwertgrosse geordnet als Spalten enthalt

42

Ubersicht

1 SVD HauptsatzDer SVD-SatzKonstruktion am Beispiel Methodologie IKonstruktionsmethodologie II

2 Interpretation der SVD

3 Reduced SVD

4 Verwendung in NLP

43

Geometrische Interpretation bei quadratischen Matrizen

Bedeutung der SVD ist dass sich die Funktion in eine DrehungDrehspiegelung (V T )eine Verzerrung (Σ) und eine zweite DrehungDrehspiegelung (U) zerlegen lsst

Matrix

(1 10 1

)SVD Geometrische Interpretationa

aQuelle httpscommonswikimediaorgwikiFileSingular-Value-Decompositionsvg

44

Noch einige Bemerkungen

Die Eigenwerte und damit Σ sind eindeutig bestimmt

U und V sind nicht eindeutig bestimmt Es konnen Drehungenum 180 Grad oder Spiegelungen hinzukommen

Wir konnen in vielen Fallen einen Eigenvektor wahlen(Freiheitsgrade) mussen aber dann bei den Vorzeichen derzweiten Matrix aufpassen

45

Noch einige Bemerkungen

Wir haben implizit den Rang der Ursprungsmatrix A bestimmtDies kann man klar an U middotΣ sehen

A = UΣV T =

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00

radic10 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(radic12radic2

radic10radic2

0radic

12radic2

minusradic

10radic2

0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(3 1 1minus1 3 1

)

46

Noch einige Bemerkungen

Deswegen wird manchmal die Singularwertzerlegung auch alsZerlegung in drei Matrizen Amtimesn = Umtimesr Σrtimesr V T

rtimesn wobei r der Rangder Matrix A ist beschrieben

A = UΣV T =

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00

radic10 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 00

radic10

)( 1radic6

2radic6

1radic6

2radic5

minus1radic5

0

)=

(radic12radic2

radic10radic2radic

12radic2

minusradic

10radic2

)(1radic6

2radic6

1radic6

2radic5

minus1radic5

0

)=

(3 1 1minus1 3 1

)47

Noch einige Bemerkungen

Bisher haben wir immer die Ausgangsmatrix einfach reproduziert(mit dem gleichen Rang) Man sieht den Rang besser und es gilt

Die ldquoZerrungrdquo durch die Matrix Σ ist bei den Dimensionen mit denhochsten Eigenwerten am groszligten Beispiel

(radic12 0 00

radic10 0

)x1

x2

x3

=

(radic12 middot x1radic10 middot x2

)Es macht also Sinn dass wir wenn wir eine Approximationunserer Ausgangsmatrix mit niedrigerem Rang wollen dann dieunwichtigen Dimensionen die durch niedrige Eigenwertegekennzeichnet sind weglassen

48

Ubersicht

1 SVD HauptsatzDer SVD-SatzKonstruktion am Beispiel Methodologie IKonstruktionsmethodologie II

2 Interpretation der SVD

3 Reduced SVD

4 Verwendung in NLP

49

Reduced SVD Approximation niedrigeren Ranges

Approximation von mtimesn Matrix A mit Rang r durch mtimesn -Matrix Ak mit Rang k lt r

A = UΣV T asymp Ak = UΣk V T

Σk ist eine ldquodiagonalerdquo mtimesn - Matrix bei der nur auf den erstenk Stellen der Diagonalmatrix Werte 6= 0 stehen

U und V wie zuvor

50

Beispiel

A = UΣV T =

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00

radic10 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

asymp

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00 0 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(radic12radic2

0 0radic

12radic2

0 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(1 2 11 2 1

)51

Reduced SVD

Wir hatten auch nur die ersten k Spalten von U sowie die ersten kZeilen von V T behalten konnen

Aasymp

(1radic2

1radic2

)(radic12)( 1radic

62radic6

1radic6

)=

(radic12radic2radic

12radic2

)(1radic6

2radic6

1radic6

)=

(1 2 11 2 1

)

52

Als Bild

53

Als Algorithmus

Gegeben mtimesn Matrix A und gewunschter Rank k Wir produziereneine Rangminus k Approximation wie folgt

1 Wir berechnen eine SVD Zerlegung von A

Amtimesn = UmtimesmΣmtimesnV Tntimesn

2 Wir behalten nur die ersten k Spalten von U resultierend in Umtimesk

3 Wir behalten nur die Top k sprich die ersten k Diagonalwerte vonΣ resultierend in Σktimesk

4 Wir behalten nur die ersten k Reihen von V T resultierend in V Tktimesn

54

Reduced SVD

Diagonale Eintrage in Σk sind die k groszligten Eigenwerte vonA middotAT

Satz UΣk V T minimiert die Differenz der Frobenius-Normzwischen A und Ak unter der Bedingung rang(Ak ) = k

Das heisst Fur jede mtimesn Matrix A mit Rang r angestrebtemRang k lt r und jede mtimesn Matrix B mit Rang k gilt

Aminus Ak2 le AminusB2

wobei Ak die Rang-k Approximation ist die man aus der SVD vonA ableiten kann

55

Was hat man erreicht

Unkorrelierte Dimensionen (Orthonormalbasis) die nur nochverzerrt werden

Wir haben die Dimensionen mit der meisten Variation identifiziertund danach geordnet

ldquoUnwichtigerdquo Dimensionen werden weggelassenrarr Rauschenvermindert

Man braucht viel weniger Speicherplatz O(k(n + m)) anstattO(nm)

Die neuen ldquoverstecktenrdquo Dimensionen konnen zurAhnlichkeitsberechnung verwendet werden und funktionieren oftbesser

56

Wie wahlt man k

Meist empirisch Gesehen

1 In NLP oft die ersten 200 bis 300 Dimensionen2 In Recommender Systems Wahle k so dass die Summe der

ersten k Eigenwerte mindestens 10-mal der Summe alleranderen Eigenwerte

57

Ubersicht

1 SVD HauptsatzDer SVD-SatzKonstruktion am Beispiel Methodologie IKonstruktionsmethodologie II

2 Interpretation der SVD

3 Reduced SVD

4 Verwendung in NLP

58

Dichte Embeddings

A ist Matrix von m WorternTermen und n Kontexten (PPMIfrequency )Reduced SVD resultiert in Ak mit

Umtimesk ist mtimes k - MatrixZeilen von Umtimesk reprasentieren TermeSpalten in Umtimesk latente Reprasentation der KontexteBenutze Umtimesk middotΣktimesk zur Berechnung von Termahnlichkeiten

Vorteile gegenuber der vollen Term-Kontext-MatrixDichte MatrixDimensionsreduktion effizientere VerarbeitungDe-Noising

59

Dichte Embeddings

A ist Matrix von m WorternTermen und n Kontexten (PPMIfrequency )Reduced SVD resultiert in Ak mit

Umtimesk ist mtimes k - MatrixZeilen von Umtimesk reprasentieren TermeSpalten in Umtimesk latente Reprasentation der KontexteBenutze Umtimesk middotΣktimesk zur Berechnung von Termahnlichkeiten

Vorteile gegenuber der vollen Term-Kontext-MatrixDichte MatrixDimensionsreduktion effizientere VerarbeitungDe-Noising

59

Dichte Embeddings

A ist Matrix von m WorternTermen und n Kontexten (PPMIfrequency )Reduced SVD resultiert in Ak mit

Umtimesk ist mtimes k - MatrixZeilen von Umtimesk reprasentieren TermeSpalten in Umtimesk latente Reprasentation der KontexteBenutze Umtimesk middotΣktimesk zur Berechnung von Termahnlichkeiten

Vorteile gegenuber der vollen Term-Kontext-MatrixDichte MatrixDimensionsreduktion effizientere VerarbeitungDe-Noising

59

Das Beispiel vom Anfang

Eine Wort-Dokument-Matrix M aus dem R5times3

d1 d2 d3ship 1 1 0boat 0 0 1

ocean 1 0 1motor 1 0 1wood 0 1 0

cossim(shipboat) = 0

cossim(shipocean) =12

cossim(boatocean) =1radic2

= 07

60

SVD Zerlegung war

minus041 07 024minus029 minus033 minus072minus061 minus02 014minus061 minus02 014minus01 057 minus062

227 0 0

0 149 00 0 078

minus072 minus023 minus066019 085 minus05067 minus048 minus056

=

minus093 104 0187minus0658 minus049 minus056minus138 minus0298 01092minus138 minus0298 minus1092minus0227 084 minus0483

minus072 minus023 minus066

019 085 minus05067 minus048 minus056

=

1 1 00 0 11 0 11 0 10 1 0

Abweichungen sind Rundungsfehler61

Niedrigdimensionale Approximation

Die kleinsten Eigenwerte sind die unwichtigsten Wir konnen dieseldquoweglassenrdquo = auf Null setzenrarr eine Matrix mit kleinerem Rang dieaber relativ ahnlich zur Ausgangsmatrix istminus041 07 024minus029 minus033 minus072minus061 minus02 014minus061 minus02 014minus01 057 minus062

227 0 0

0 149 00 0 0

minus072 minus023 minus066019 085 minus05067 minus048 minus056

=

minus093 104 0minus0658 minus049 0minus138 minus0298 0minus138 minus0298 0minus0227 084 0

minus072 minus023 minus066

019 085 minus05067 minus048 minus056

=

087 109 011038 minus027 068093 005 106093 005 106032 077 minus027

62

Die niedrigdimensionale Approximation

Wir interessieren uns fur die Matrix U2 = UΣ2 also die Matrix mit demniedrigerem Rang

minus093 104 0minus0658 minus049 0minus138 minus0298 0minus138 minus0298 0minus0227 084 0

Man kann diese nun als die Reprasentation unserer 5 Worter mit zweiversteckten Dimensionen auffassen

h1 h2ship minus093 104boat minus0658 minus049

ocean minus138 minus0298motor minus138 minus0298wood minus0227 084

63

Neue Ahnlichkeitsberechnungen

h1 h2ship minus093 104boat minus0658 minus049

ocean minus138 minus0298motor minus138 minus0298wood minus0227 084

cossim(shipboat) =(minus093) middot (minus0658) + 104 middot (minus049)radic

(0932 + 1042) middotradic

(06582 + 0492)= 009

cossim(shipocean) =(minus093) middot (minus138) + 104 middot (minus029)radic

(0932 + 1042) middotradic

(1382 + 0292)= 049

cossim(boatocean) = 09

64

Variationen

Benutze nur Umtimesk zur Ahnlichkeitsberechnung

Benutze Umtimesk middotΣpktimesk zur Ahnlichkeitsberechnungrarr Parameter p

sollte getuned werden Kann groszlige Unterschiede machen

Oft p = 0p = 05p = 1

65

Performanz der Reduced-SVD-Embeddings

Levy O Goldberg Y Neural word embedding as implicit matrix factorization In

Advances in neural information processing systems 2014 S 2177-2185

(Englische) Wikipedia 15 Milliarden Tokens

Fenster 2 beiderseits

Vokabular 189 533 fur Terme sowie Kontexte

PPMI Matrizen

SVD sowie ohne Zerlegung (PPMI) sowie neurale (SGNS)

Algorithmus Spearman Rank zu WordSim 353SVD 0652SGNS 0633PPMI 0605

66

Latent Semantic Analysis und Word Embeddings

Levy2014

ldquoWe analyze skip-gram with negative-sampling (SGNS) [] and show that it isimplicitly factorizing a word-context matrix whose cells are the pointwise mutualinformation (PMI) of the respective word and context pairs shifted by a globalconstant When dense low-dimensional vectors are preferred exact factorizationwith SVD can achieve solutions that are at least as good as SGNSrsquoss solutions forword similarity tasks On analogy questions SGNS remains superior to SVD Weconjecture that this stems from the weighted nature of SGNSrsquos factorizationrdquo

67

Zusammenfassung

Reduced SVD resultiert in einer optimalen Approximation derOriginalmatrix mit niedrigerem Rang Optimal = optimal bzgl derFrobeniusnorm (bzw mean squared error)

Dadurch erhalten wir eine mathematisch fundierte dichtereMatrix die Rauschen (weniger wichtige Dimensionen) eliminiert

Wir konnen mittels Umtimesk Σktimesk weiterhin Wortahnlichkeitenberechnen

Es konnen Resultate erreicht werden die bei word similaritymindestens ebensogut sind wie mit neuralen word embeddings

Nachteile Kosten der SVD Berechnung fur mtimesn matrixO(n middotm2) (when m lt n)rarr Nicht gut fur sehr grosse Matrizen

Nachteile Geht nicht gut mit unbekannten Wortern um

Nachteile schlechter bei Wortanalogieaufgaben

68

Literatur

Guter erweiterter Hintergrundhttptheorystanfordedu˜tims15ll7pdf bishttptheorystanfordedu˜tims15ll9pdf

SVD Tutorial (ohne vollstandigen Hintergrund) Kirk Baker(2005) Singular Value Decomposition Tutorialhttpsdatajobscomdata-science-repoSVD-Tutorial-[Kirk-Baker]pdf Leider ist hier imKonstruktionsverfahren I die Vorzeichenproblematikfalschlicherweise nicht behandelt worden

Levy O Goldberg Y Neural word embedding as implicit matrixfactorization In Advances in neural information processingsystems 2014 S 2177-2185

Ubungsblatt II

69

  • SVD Hauptsatz
    • Der SVD-Satz
    • Konstruktion am Beispiel Methodologie I
    • Konstruktionsmethodologie II
      • Interpretation der SVD
      • Reduced SVD
      • Verwendung in NLP

Ubersicht

1 SVD HauptsatzDer SVD-SatzKonstruktion am Beispiel Methodologie IKonstruktionsmethodologie II

2 Interpretation der SVD

3 Reduced SVD

4 Verwendung in NLP

43

Geometrische Interpretation bei quadratischen Matrizen

Bedeutung der SVD ist dass sich die Funktion in eine DrehungDrehspiegelung (V T )eine Verzerrung (Σ) und eine zweite DrehungDrehspiegelung (U) zerlegen lsst

Matrix

(1 10 1

)SVD Geometrische Interpretationa

aQuelle httpscommonswikimediaorgwikiFileSingular-Value-Decompositionsvg

44

Noch einige Bemerkungen

Die Eigenwerte und damit Σ sind eindeutig bestimmt

U und V sind nicht eindeutig bestimmt Es konnen Drehungenum 180 Grad oder Spiegelungen hinzukommen

Wir konnen in vielen Fallen einen Eigenvektor wahlen(Freiheitsgrade) mussen aber dann bei den Vorzeichen derzweiten Matrix aufpassen

45

Noch einige Bemerkungen

Wir haben implizit den Rang der Ursprungsmatrix A bestimmtDies kann man klar an U middotΣ sehen

A = UΣV T =

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00

radic10 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(radic12radic2

radic10radic2

0radic

12radic2

minusradic

10radic2

0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(3 1 1minus1 3 1

)

46

Noch einige Bemerkungen

Deswegen wird manchmal die Singularwertzerlegung auch alsZerlegung in drei Matrizen Amtimesn = Umtimesr Σrtimesr V T

rtimesn wobei r der Rangder Matrix A ist beschrieben

A = UΣV T =

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00

radic10 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 00

radic10

)( 1radic6

2radic6

1radic6

2radic5

minus1radic5

0

)=

(radic12radic2

radic10radic2radic

12radic2

minusradic

10radic2

)(1radic6

2radic6

1radic6

2radic5

minus1radic5

0

)=

(3 1 1minus1 3 1

)47

Noch einige Bemerkungen

Bisher haben wir immer die Ausgangsmatrix einfach reproduziert(mit dem gleichen Rang) Man sieht den Rang besser und es gilt

Die ldquoZerrungrdquo durch die Matrix Σ ist bei den Dimensionen mit denhochsten Eigenwerten am groszligten Beispiel

(radic12 0 00

radic10 0

)x1

x2

x3

=

(radic12 middot x1radic10 middot x2

)Es macht also Sinn dass wir wenn wir eine Approximationunserer Ausgangsmatrix mit niedrigerem Rang wollen dann dieunwichtigen Dimensionen die durch niedrige Eigenwertegekennzeichnet sind weglassen

48

Ubersicht

1 SVD HauptsatzDer SVD-SatzKonstruktion am Beispiel Methodologie IKonstruktionsmethodologie II

2 Interpretation der SVD

3 Reduced SVD

4 Verwendung in NLP

49

Reduced SVD Approximation niedrigeren Ranges

Approximation von mtimesn Matrix A mit Rang r durch mtimesn -Matrix Ak mit Rang k lt r

A = UΣV T asymp Ak = UΣk V T

Σk ist eine ldquodiagonalerdquo mtimesn - Matrix bei der nur auf den erstenk Stellen der Diagonalmatrix Werte 6= 0 stehen

U und V wie zuvor

50

Beispiel

A = UΣV T =

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00

radic10 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

asymp

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00 0 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(radic12radic2

0 0radic

12radic2

0 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(1 2 11 2 1

)51

Reduced SVD

Wir hatten auch nur die ersten k Spalten von U sowie die ersten kZeilen von V T behalten konnen

Aasymp

(1radic2

1radic2

)(radic12)( 1radic

62radic6

1radic6

)=

(radic12radic2radic

12radic2

)(1radic6

2radic6

1radic6

)=

(1 2 11 2 1

)

52

Als Bild

53

Als Algorithmus

Gegeben mtimesn Matrix A und gewunschter Rank k Wir produziereneine Rangminus k Approximation wie folgt

1 Wir berechnen eine SVD Zerlegung von A

Amtimesn = UmtimesmΣmtimesnV Tntimesn

2 Wir behalten nur die ersten k Spalten von U resultierend in Umtimesk

3 Wir behalten nur die Top k sprich die ersten k Diagonalwerte vonΣ resultierend in Σktimesk

4 Wir behalten nur die ersten k Reihen von V T resultierend in V Tktimesn

54

Reduced SVD

Diagonale Eintrage in Σk sind die k groszligten Eigenwerte vonA middotAT

Satz UΣk V T minimiert die Differenz der Frobenius-Normzwischen A und Ak unter der Bedingung rang(Ak ) = k

Das heisst Fur jede mtimesn Matrix A mit Rang r angestrebtemRang k lt r und jede mtimesn Matrix B mit Rang k gilt

Aminus Ak2 le AminusB2

wobei Ak die Rang-k Approximation ist die man aus der SVD vonA ableiten kann

55

Was hat man erreicht

Unkorrelierte Dimensionen (Orthonormalbasis) die nur nochverzerrt werden

Wir haben die Dimensionen mit der meisten Variation identifiziertund danach geordnet

ldquoUnwichtigerdquo Dimensionen werden weggelassenrarr Rauschenvermindert

Man braucht viel weniger Speicherplatz O(k(n + m)) anstattO(nm)

Die neuen ldquoverstecktenrdquo Dimensionen konnen zurAhnlichkeitsberechnung verwendet werden und funktionieren oftbesser

56

Wie wahlt man k

Meist empirisch Gesehen

1 In NLP oft die ersten 200 bis 300 Dimensionen2 In Recommender Systems Wahle k so dass die Summe der

ersten k Eigenwerte mindestens 10-mal der Summe alleranderen Eigenwerte

57

Ubersicht

1 SVD HauptsatzDer SVD-SatzKonstruktion am Beispiel Methodologie IKonstruktionsmethodologie II

2 Interpretation der SVD

3 Reduced SVD

4 Verwendung in NLP

58

Dichte Embeddings

A ist Matrix von m WorternTermen und n Kontexten (PPMIfrequency )Reduced SVD resultiert in Ak mit

Umtimesk ist mtimes k - MatrixZeilen von Umtimesk reprasentieren TermeSpalten in Umtimesk latente Reprasentation der KontexteBenutze Umtimesk middotΣktimesk zur Berechnung von Termahnlichkeiten

Vorteile gegenuber der vollen Term-Kontext-MatrixDichte MatrixDimensionsreduktion effizientere VerarbeitungDe-Noising

59

Dichte Embeddings

A ist Matrix von m WorternTermen und n Kontexten (PPMIfrequency )Reduced SVD resultiert in Ak mit

Umtimesk ist mtimes k - MatrixZeilen von Umtimesk reprasentieren TermeSpalten in Umtimesk latente Reprasentation der KontexteBenutze Umtimesk middotΣktimesk zur Berechnung von Termahnlichkeiten

Vorteile gegenuber der vollen Term-Kontext-MatrixDichte MatrixDimensionsreduktion effizientere VerarbeitungDe-Noising

59

Dichte Embeddings

A ist Matrix von m WorternTermen und n Kontexten (PPMIfrequency )Reduced SVD resultiert in Ak mit

Umtimesk ist mtimes k - MatrixZeilen von Umtimesk reprasentieren TermeSpalten in Umtimesk latente Reprasentation der KontexteBenutze Umtimesk middotΣktimesk zur Berechnung von Termahnlichkeiten

Vorteile gegenuber der vollen Term-Kontext-MatrixDichte MatrixDimensionsreduktion effizientere VerarbeitungDe-Noising

59

Das Beispiel vom Anfang

Eine Wort-Dokument-Matrix M aus dem R5times3

d1 d2 d3ship 1 1 0boat 0 0 1

ocean 1 0 1motor 1 0 1wood 0 1 0

cossim(shipboat) = 0

cossim(shipocean) =12

cossim(boatocean) =1radic2

= 07

60

SVD Zerlegung war

minus041 07 024minus029 minus033 minus072minus061 minus02 014minus061 minus02 014minus01 057 minus062

227 0 0

0 149 00 0 078

minus072 minus023 minus066019 085 minus05067 minus048 minus056

=

minus093 104 0187minus0658 minus049 minus056minus138 minus0298 01092minus138 minus0298 minus1092minus0227 084 minus0483

minus072 minus023 minus066

019 085 minus05067 minus048 minus056

=

1 1 00 0 11 0 11 0 10 1 0

Abweichungen sind Rundungsfehler61

Niedrigdimensionale Approximation

Die kleinsten Eigenwerte sind die unwichtigsten Wir konnen dieseldquoweglassenrdquo = auf Null setzenrarr eine Matrix mit kleinerem Rang dieaber relativ ahnlich zur Ausgangsmatrix istminus041 07 024minus029 minus033 minus072minus061 minus02 014minus061 minus02 014minus01 057 minus062

227 0 0

0 149 00 0 0

minus072 minus023 minus066019 085 minus05067 minus048 minus056

=

minus093 104 0minus0658 minus049 0minus138 minus0298 0minus138 minus0298 0minus0227 084 0

minus072 minus023 minus066

019 085 minus05067 minus048 minus056

=

087 109 011038 minus027 068093 005 106093 005 106032 077 minus027

62

Die niedrigdimensionale Approximation

Wir interessieren uns fur die Matrix U2 = UΣ2 also die Matrix mit demniedrigerem Rang

minus093 104 0minus0658 minus049 0minus138 minus0298 0minus138 minus0298 0minus0227 084 0

Man kann diese nun als die Reprasentation unserer 5 Worter mit zweiversteckten Dimensionen auffassen

h1 h2ship minus093 104boat minus0658 minus049

ocean minus138 minus0298motor minus138 minus0298wood minus0227 084

63

Neue Ahnlichkeitsberechnungen

h1 h2ship minus093 104boat minus0658 minus049

ocean minus138 minus0298motor minus138 minus0298wood minus0227 084

cossim(shipboat) =(minus093) middot (minus0658) + 104 middot (minus049)radic

(0932 + 1042) middotradic

(06582 + 0492)= 009

cossim(shipocean) =(minus093) middot (minus138) + 104 middot (minus029)radic

(0932 + 1042) middotradic

(1382 + 0292)= 049

cossim(boatocean) = 09

64

Variationen

Benutze nur Umtimesk zur Ahnlichkeitsberechnung

Benutze Umtimesk middotΣpktimesk zur Ahnlichkeitsberechnungrarr Parameter p

sollte getuned werden Kann groszlige Unterschiede machen

Oft p = 0p = 05p = 1

65

Performanz der Reduced-SVD-Embeddings

Levy O Goldberg Y Neural word embedding as implicit matrix factorization In

Advances in neural information processing systems 2014 S 2177-2185

(Englische) Wikipedia 15 Milliarden Tokens

Fenster 2 beiderseits

Vokabular 189 533 fur Terme sowie Kontexte

PPMI Matrizen

SVD sowie ohne Zerlegung (PPMI) sowie neurale (SGNS)

Algorithmus Spearman Rank zu WordSim 353SVD 0652SGNS 0633PPMI 0605

66

Latent Semantic Analysis und Word Embeddings

Levy2014

ldquoWe analyze skip-gram with negative-sampling (SGNS) [] and show that it isimplicitly factorizing a word-context matrix whose cells are the pointwise mutualinformation (PMI) of the respective word and context pairs shifted by a globalconstant When dense low-dimensional vectors are preferred exact factorizationwith SVD can achieve solutions that are at least as good as SGNSrsquoss solutions forword similarity tasks On analogy questions SGNS remains superior to SVD Weconjecture that this stems from the weighted nature of SGNSrsquos factorizationrdquo

67

Zusammenfassung

Reduced SVD resultiert in einer optimalen Approximation derOriginalmatrix mit niedrigerem Rang Optimal = optimal bzgl derFrobeniusnorm (bzw mean squared error)

Dadurch erhalten wir eine mathematisch fundierte dichtereMatrix die Rauschen (weniger wichtige Dimensionen) eliminiert

Wir konnen mittels Umtimesk Σktimesk weiterhin Wortahnlichkeitenberechnen

Es konnen Resultate erreicht werden die bei word similaritymindestens ebensogut sind wie mit neuralen word embeddings

Nachteile Kosten der SVD Berechnung fur mtimesn matrixO(n middotm2) (when m lt n)rarr Nicht gut fur sehr grosse Matrizen

Nachteile Geht nicht gut mit unbekannten Wortern um

Nachteile schlechter bei Wortanalogieaufgaben

68

Literatur

Guter erweiterter Hintergrundhttptheorystanfordedu˜tims15ll7pdf bishttptheorystanfordedu˜tims15ll9pdf

SVD Tutorial (ohne vollstandigen Hintergrund) Kirk Baker(2005) Singular Value Decomposition Tutorialhttpsdatajobscomdata-science-repoSVD-Tutorial-[Kirk-Baker]pdf Leider ist hier imKonstruktionsverfahren I die Vorzeichenproblematikfalschlicherweise nicht behandelt worden

Levy O Goldberg Y Neural word embedding as implicit matrixfactorization In Advances in neural information processingsystems 2014 S 2177-2185

Ubungsblatt II

69

  • SVD Hauptsatz
    • Der SVD-Satz
    • Konstruktion am Beispiel Methodologie I
    • Konstruktionsmethodologie II
      • Interpretation der SVD
      • Reduced SVD
      • Verwendung in NLP

Geometrische Interpretation bei quadratischen Matrizen

Bedeutung der SVD ist dass sich die Funktion in eine DrehungDrehspiegelung (V T )eine Verzerrung (Σ) und eine zweite DrehungDrehspiegelung (U) zerlegen lsst

Matrix

(1 10 1

)SVD Geometrische Interpretationa

aQuelle httpscommonswikimediaorgwikiFileSingular-Value-Decompositionsvg

44

Noch einige Bemerkungen

Die Eigenwerte und damit Σ sind eindeutig bestimmt

U und V sind nicht eindeutig bestimmt Es konnen Drehungenum 180 Grad oder Spiegelungen hinzukommen

Wir konnen in vielen Fallen einen Eigenvektor wahlen(Freiheitsgrade) mussen aber dann bei den Vorzeichen derzweiten Matrix aufpassen

45

Noch einige Bemerkungen

Wir haben implizit den Rang der Ursprungsmatrix A bestimmtDies kann man klar an U middotΣ sehen

A = UΣV T =

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00

radic10 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(radic12radic2

radic10radic2

0radic

12radic2

minusradic

10radic2

0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(3 1 1minus1 3 1

)

46

Noch einige Bemerkungen

Deswegen wird manchmal die Singularwertzerlegung auch alsZerlegung in drei Matrizen Amtimesn = Umtimesr Σrtimesr V T

rtimesn wobei r der Rangder Matrix A ist beschrieben

A = UΣV T =

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00

radic10 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 00

radic10

)( 1radic6

2radic6

1radic6

2radic5

minus1radic5

0

)=

(radic12radic2

radic10radic2radic

12radic2

minusradic

10radic2

)(1radic6

2radic6

1radic6

2radic5

minus1radic5

0

)=

(3 1 1minus1 3 1

)47

Noch einige Bemerkungen

Bisher haben wir immer die Ausgangsmatrix einfach reproduziert(mit dem gleichen Rang) Man sieht den Rang besser und es gilt

Die ldquoZerrungrdquo durch die Matrix Σ ist bei den Dimensionen mit denhochsten Eigenwerten am groszligten Beispiel

(radic12 0 00

radic10 0

)x1

x2

x3

=

(radic12 middot x1radic10 middot x2

)Es macht also Sinn dass wir wenn wir eine Approximationunserer Ausgangsmatrix mit niedrigerem Rang wollen dann dieunwichtigen Dimensionen die durch niedrige Eigenwertegekennzeichnet sind weglassen

48

Ubersicht

1 SVD HauptsatzDer SVD-SatzKonstruktion am Beispiel Methodologie IKonstruktionsmethodologie II

2 Interpretation der SVD

3 Reduced SVD

4 Verwendung in NLP

49

Reduced SVD Approximation niedrigeren Ranges

Approximation von mtimesn Matrix A mit Rang r durch mtimesn -Matrix Ak mit Rang k lt r

A = UΣV T asymp Ak = UΣk V T

Σk ist eine ldquodiagonalerdquo mtimesn - Matrix bei der nur auf den erstenk Stellen der Diagonalmatrix Werte 6= 0 stehen

U und V wie zuvor

50

Beispiel

A = UΣV T =

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00

radic10 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

asymp

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00 0 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(radic12radic2

0 0radic

12radic2

0 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(1 2 11 2 1

)51

Reduced SVD

Wir hatten auch nur die ersten k Spalten von U sowie die ersten kZeilen von V T behalten konnen

Aasymp

(1radic2

1radic2

)(radic12)( 1radic

62radic6

1radic6

)=

(radic12radic2radic

12radic2

)(1radic6

2radic6

1radic6

)=

(1 2 11 2 1

)

52

Als Bild

53

Als Algorithmus

Gegeben mtimesn Matrix A und gewunschter Rank k Wir produziereneine Rangminus k Approximation wie folgt

1 Wir berechnen eine SVD Zerlegung von A

Amtimesn = UmtimesmΣmtimesnV Tntimesn

2 Wir behalten nur die ersten k Spalten von U resultierend in Umtimesk

3 Wir behalten nur die Top k sprich die ersten k Diagonalwerte vonΣ resultierend in Σktimesk

4 Wir behalten nur die ersten k Reihen von V T resultierend in V Tktimesn

54

Reduced SVD

Diagonale Eintrage in Σk sind die k groszligten Eigenwerte vonA middotAT

Satz UΣk V T minimiert die Differenz der Frobenius-Normzwischen A und Ak unter der Bedingung rang(Ak ) = k

Das heisst Fur jede mtimesn Matrix A mit Rang r angestrebtemRang k lt r und jede mtimesn Matrix B mit Rang k gilt

Aminus Ak2 le AminusB2

wobei Ak die Rang-k Approximation ist die man aus der SVD vonA ableiten kann

55

Was hat man erreicht

Unkorrelierte Dimensionen (Orthonormalbasis) die nur nochverzerrt werden

Wir haben die Dimensionen mit der meisten Variation identifiziertund danach geordnet

ldquoUnwichtigerdquo Dimensionen werden weggelassenrarr Rauschenvermindert

Man braucht viel weniger Speicherplatz O(k(n + m)) anstattO(nm)

Die neuen ldquoverstecktenrdquo Dimensionen konnen zurAhnlichkeitsberechnung verwendet werden und funktionieren oftbesser

56

Wie wahlt man k

Meist empirisch Gesehen

1 In NLP oft die ersten 200 bis 300 Dimensionen2 In Recommender Systems Wahle k so dass die Summe der

ersten k Eigenwerte mindestens 10-mal der Summe alleranderen Eigenwerte

57

Ubersicht

1 SVD HauptsatzDer SVD-SatzKonstruktion am Beispiel Methodologie IKonstruktionsmethodologie II

2 Interpretation der SVD

3 Reduced SVD

4 Verwendung in NLP

58

Dichte Embeddings

A ist Matrix von m WorternTermen und n Kontexten (PPMIfrequency )Reduced SVD resultiert in Ak mit

Umtimesk ist mtimes k - MatrixZeilen von Umtimesk reprasentieren TermeSpalten in Umtimesk latente Reprasentation der KontexteBenutze Umtimesk middotΣktimesk zur Berechnung von Termahnlichkeiten

Vorteile gegenuber der vollen Term-Kontext-MatrixDichte MatrixDimensionsreduktion effizientere VerarbeitungDe-Noising

59

Dichte Embeddings

A ist Matrix von m WorternTermen und n Kontexten (PPMIfrequency )Reduced SVD resultiert in Ak mit

Umtimesk ist mtimes k - MatrixZeilen von Umtimesk reprasentieren TermeSpalten in Umtimesk latente Reprasentation der KontexteBenutze Umtimesk middotΣktimesk zur Berechnung von Termahnlichkeiten

Vorteile gegenuber der vollen Term-Kontext-MatrixDichte MatrixDimensionsreduktion effizientere VerarbeitungDe-Noising

59

Dichte Embeddings

A ist Matrix von m WorternTermen und n Kontexten (PPMIfrequency )Reduced SVD resultiert in Ak mit

Umtimesk ist mtimes k - MatrixZeilen von Umtimesk reprasentieren TermeSpalten in Umtimesk latente Reprasentation der KontexteBenutze Umtimesk middotΣktimesk zur Berechnung von Termahnlichkeiten

Vorteile gegenuber der vollen Term-Kontext-MatrixDichte MatrixDimensionsreduktion effizientere VerarbeitungDe-Noising

59

Das Beispiel vom Anfang

Eine Wort-Dokument-Matrix M aus dem R5times3

d1 d2 d3ship 1 1 0boat 0 0 1

ocean 1 0 1motor 1 0 1wood 0 1 0

cossim(shipboat) = 0

cossim(shipocean) =12

cossim(boatocean) =1radic2

= 07

60

SVD Zerlegung war

minus041 07 024minus029 minus033 minus072minus061 minus02 014minus061 minus02 014minus01 057 minus062

227 0 0

0 149 00 0 078

minus072 minus023 minus066019 085 minus05067 minus048 minus056

=

minus093 104 0187minus0658 minus049 minus056minus138 minus0298 01092minus138 minus0298 minus1092minus0227 084 minus0483

minus072 minus023 minus066

019 085 minus05067 minus048 minus056

=

1 1 00 0 11 0 11 0 10 1 0

Abweichungen sind Rundungsfehler61

Niedrigdimensionale Approximation

Die kleinsten Eigenwerte sind die unwichtigsten Wir konnen dieseldquoweglassenrdquo = auf Null setzenrarr eine Matrix mit kleinerem Rang dieaber relativ ahnlich zur Ausgangsmatrix istminus041 07 024minus029 minus033 minus072minus061 minus02 014minus061 minus02 014minus01 057 minus062

227 0 0

0 149 00 0 0

minus072 minus023 minus066019 085 minus05067 minus048 minus056

=

minus093 104 0minus0658 minus049 0minus138 minus0298 0minus138 minus0298 0minus0227 084 0

minus072 minus023 minus066

019 085 minus05067 minus048 minus056

=

087 109 011038 minus027 068093 005 106093 005 106032 077 minus027

62

Die niedrigdimensionale Approximation

Wir interessieren uns fur die Matrix U2 = UΣ2 also die Matrix mit demniedrigerem Rang

minus093 104 0minus0658 minus049 0minus138 minus0298 0minus138 minus0298 0minus0227 084 0

Man kann diese nun als die Reprasentation unserer 5 Worter mit zweiversteckten Dimensionen auffassen

h1 h2ship minus093 104boat minus0658 minus049

ocean minus138 minus0298motor minus138 minus0298wood minus0227 084

63

Neue Ahnlichkeitsberechnungen

h1 h2ship minus093 104boat minus0658 minus049

ocean minus138 minus0298motor minus138 minus0298wood minus0227 084

cossim(shipboat) =(minus093) middot (minus0658) + 104 middot (minus049)radic

(0932 + 1042) middotradic

(06582 + 0492)= 009

cossim(shipocean) =(minus093) middot (minus138) + 104 middot (minus029)radic

(0932 + 1042) middotradic

(1382 + 0292)= 049

cossim(boatocean) = 09

64

Variationen

Benutze nur Umtimesk zur Ahnlichkeitsberechnung

Benutze Umtimesk middotΣpktimesk zur Ahnlichkeitsberechnungrarr Parameter p

sollte getuned werden Kann groszlige Unterschiede machen

Oft p = 0p = 05p = 1

65

Performanz der Reduced-SVD-Embeddings

Levy O Goldberg Y Neural word embedding as implicit matrix factorization In

Advances in neural information processing systems 2014 S 2177-2185

(Englische) Wikipedia 15 Milliarden Tokens

Fenster 2 beiderseits

Vokabular 189 533 fur Terme sowie Kontexte

PPMI Matrizen

SVD sowie ohne Zerlegung (PPMI) sowie neurale (SGNS)

Algorithmus Spearman Rank zu WordSim 353SVD 0652SGNS 0633PPMI 0605

66

Latent Semantic Analysis und Word Embeddings

Levy2014

ldquoWe analyze skip-gram with negative-sampling (SGNS) [] and show that it isimplicitly factorizing a word-context matrix whose cells are the pointwise mutualinformation (PMI) of the respective word and context pairs shifted by a globalconstant When dense low-dimensional vectors are preferred exact factorizationwith SVD can achieve solutions that are at least as good as SGNSrsquoss solutions forword similarity tasks On analogy questions SGNS remains superior to SVD Weconjecture that this stems from the weighted nature of SGNSrsquos factorizationrdquo

67

Zusammenfassung

Reduced SVD resultiert in einer optimalen Approximation derOriginalmatrix mit niedrigerem Rang Optimal = optimal bzgl derFrobeniusnorm (bzw mean squared error)

Dadurch erhalten wir eine mathematisch fundierte dichtereMatrix die Rauschen (weniger wichtige Dimensionen) eliminiert

Wir konnen mittels Umtimesk Σktimesk weiterhin Wortahnlichkeitenberechnen

Es konnen Resultate erreicht werden die bei word similaritymindestens ebensogut sind wie mit neuralen word embeddings

Nachteile Kosten der SVD Berechnung fur mtimesn matrixO(n middotm2) (when m lt n)rarr Nicht gut fur sehr grosse Matrizen

Nachteile Geht nicht gut mit unbekannten Wortern um

Nachteile schlechter bei Wortanalogieaufgaben

68

Literatur

Guter erweiterter Hintergrundhttptheorystanfordedu˜tims15ll7pdf bishttptheorystanfordedu˜tims15ll9pdf

SVD Tutorial (ohne vollstandigen Hintergrund) Kirk Baker(2005) Singular Value Decomposition Tutorialhttpsdatajobscomdata-science-repoSVD-Tutorial-[Kirk-Baker]pdf Leider ist hier imKonstruktionsverfahren I die Vorzeichenproblematikfalschlicherweise nicht behandelt worden

Levy O Goldberg Y Neural word embedding as implicit matrixfactorization In Advances in neural information processingsystems 2014 S 2177-2185

Ubungsblatt II

69

  • SVD Hauptsatz
    • Der SVD-Satz
    • Konstruktion am Beispiel Methodologie I
    • Konstruktionsmethodologie II
      • Interpretation der SVD
      • Reduced SVD
      • Verwendung in NLP

Noch einige Bemerkungen

Die Eigenwerte und damit Σ sind eindeutig bestimmt

U und V sind nicht eindeutig bestimmt Es konnen Drehungenum 180 Grad oder Spiegelungen hinzukommen

Wir konnen in vielen Fallen einen Eigenvektor wahlen(Freiheitsgrade) mussen aber dann bei den Vorzeichen derzweiten Matrix aufpassen

45

Noch einige Bemerkungen

Wir haben implizit den Rang der Ursprungsmatrix A bestimmtDies kann man klar an U middotΣ sehen

A = UΣV T =

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00

radic10 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(radic12radic2

radic10radic2

0radic

12radic2

minusradic

10radic2

0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(3 1 1minus1 3 1

)

46

Noch einige Bemerkungen

Deswegen wird manchmal die Singularwertzerlegung auch alsZerlegung in drei Matrizen Amtimesn = Umtimesr Σrtimesr V T

rtimesn wobei r der Rangder Matrix A ist beschrieben

A = UΣV T =

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00

radic10 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 00

radic10

)( 1radic6

2radic6

1radic6

2radic5

minus1radic5

0

)=

(radic12radic2

radic10radic2radic

12radic2

minusradic

10radic2

)(1radic6

2radic6

1radic6

2radic5

minus1radic5

0

)=

(3 1 1minus1 3 1

)47

Noch einige Bemerkungen

Bisher haben wir immer die Ausgangsmatrix einfach reproduziert(mit dem gleichen Rang) Man sieht den Rang besser und es gilt

Die ldquoZerrungrdquo durch die Matrix Σ ist bei den Dimensionen mit denhochsten Eigenwerten am groszligten Beispiel

(radic12 0 00

radic10 0

)x1

x2

x3

=

(radic12 middot x1radic10 middot x2

)Es macht also Sinn dass wir wenn wir eine Approximationunserer Ausgangsmatrix mit niedrigerem Rang wollen dann dieunwichtigen Dimensionen die durch niedrige Eigenwertegekennzeichnet sind weglassen

48

Ubersicht

1 SVD HauptsatzDer SVD-SatzKonstruktion am Beispiel Methodologie IKonstruktionsmethodologie II

2 Interpretation der SVD

3 Reduced SVD

4 Verwendung in NLP

49

Reduced SVD Approximation niedrigeren Ranges

Approximation von mtimesn Matrix A mit Rang r durch mtimesn -Matrix Ak mit Rang k lt r

A = UΣV T asymp Ak = UΣk V T

Σk ist eine ldquodiagonalerdquo mtimesn - Matrix bei der nur auf den erstenk Stellen der Diagonalmatrix Werte 6= 0 stehen

U und V wie zuvor

50

Beispiel

A = UΣV T =

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00

radic10 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

asymp

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00 0 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(radic12radic2

0 0radic

12radic2

0 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(1 2 11 2 1

)51

Reduced SVD

Wir hatten auch nur die ersten k Spalten von U sowie die ersten kZeilen von V T behalten konnen

Aasymp

(1radic2

1radic2

)(radic12)( 1radic

62radic6

1radic6

)=

(radic12radic2radic

12radic2

)(1radic6

2radic6

1radic6

)=

(1 2 11 2 1

)

52

Als Bild

53

Als Algorithmus

Gegeben mtimesn Matrix A und gewunschter Rank k Wir produziereneine Rangminus k Approximation wie folgt

1 Wir berechnen eine SVD Zerlegung von A

Amtimesn = UmtimesmΣmtimesnV Tntimesn

2 Wir behalten nur die ersten k Spalten von U resultierend in Umtimesk

3 Wir behalten nur die Top k sprich die ersten k Diagonalwerte vonΣ resultierend in Σktimesk

4 Wir behalten nur die ersten k Reihen von V T resultierend in V Tktimesn

54

Reduced SVD

Diagonale Eintrage in Σk sind die k groszligten Eigenwerte vonA middotAT

Satz UΣk V T minimiert die Differenz der Frobenius-Normzwischen A und Ak unter der Bedingung rang(Ak ) = k

Das heisst Fur jede mtimesn Matrix A mit Rang r angestrebtemRang k lt r und jede mtimesn Matrix B mit Rang k gilt

Aminus Ak2 le AminusB2

wobei Ak die Rang-k Approximation ist die man aus der SVD vonA ableiten kann

55

Was hat man erreicht

Unkorrelierte Dimensionen (Orthonormalbasis) die nur nochverzerrt werden

Wir haben die Dimensionen mit der meisten Variation identifiziertund danach geordnet

ldquoUnwichtigerdquo Dimensionen werden weggelassenrarr Rauschenvermindert

Man braucht viel weniger Speicherplatz O(k(n + m)) anstattO(nm)

Die neuen ldquoverstecktenrdquo Dimensionen konnen zurAhnlichkeitsberechnung verwendet werden und funktionieren oftbesser

56

Wie wahlt man k

Meist empirisch Gesehen

1 In NLP oft die ersten 200 bis 300 Dimensionen2 In Recommender Systems Wahle k so dass die Summe der

ersten k Eigenwerte mindestens 10-mal der Summe alleranderen Eigenwerte

57

Ubersicht

1 SVD HauptsatzDer SVD-SatzKonstruktion am Beispiel Methodologie IKonstruktionsmethodologie II

2 Interpretation der SVD

3 Reduced SVD

4 Verwendung in NLP

58

Dichte Embeddings

A ist Matrix von m WorternTermen und n Kontexten (PPMIfrequency )Reduced SVD resultiert in Ak mit

Umtimesk ist mtimes k - MatrixZeilen von Umtimesk reprasentieren TermeSpalten in Umtimesk latente Reprasentation der KontexteBenutze Umtimesk middotΣktimesk zur Berechnung von Termahnlichkeiten

Vorteile gegenuber der vollen Term-Kontext-MatrixDichte MatrixDimensionsreduktion effizientere VerarbeitungDe-Noising

59

Dichte Embeddings

A ist Matrix von m WorternTermen und n Kontexten (PPMIfrequency )Reduced SVD resultiert in Ak mit

Umtimesk ist mtimes k - MatrixZeilen von Umtimesk reprasentieren TermeSpalten in Umtimesk latente Reprasentation der KontexteBenutze Umtimesk middotΣktimesk zur Berechnung von Termahnlichkeiten

Vorteile gegenuber der vollen Term-Kontext-MatrixDichte MatrixDimensionsreduktion effizientere VerarbeitungDe-Noising

59

Dichte Embeddings

A ist Matrix von m WorternTermen und n Kontexten (PPMIfrequency )Reduced SVD resultiert in Ak mit

Umtimesk ist mtimes k - MatrixZeilen von Umtimesk reprasentieren TermeSpalten in Umtimesk latente Reprasentation der KontexteBenutze Umtimesk middotΣktimesk zur Berechnung von Termahnlichkeiten

Vorteile gegenuber der vollen Term-Kontext-MatrixDichte MatrixDimensionsreduktion effizientere VerarbeitungDe-Noising

59

Das Beispiel vom Anfang

Eine Wort-Dokument-Matrix M aus dem R5times3

d1 d2 d3ship 1 1 0boat 0 0 1

ocean 1 0 1motor 1 0 1wood 0 1 0

cossim(shipboat) = 0

cossim(shipocean) =12

cossim(boatocean) =1radic2

= 07

60

SVD Zerlegung war

minus041 07 024minus029 minus033 minus072minus061 minus02 014minus061 minus02 014minus01 057 minus062

227 0 0

0 149 00 0 078

minus072 minus023 minus066019 085 minus05067 minus048 minus056

=

minus093 104 0187minus0658 minus049 minus056minus138 minus0298 01092minus138 minus0298 minus1092minus0227 084 minus0483

minus072 minus023 minus066

019 085 minus05067 minus048 minus056

=

1 1 00 0 11 0 11 0 10 1 0

Abweichungen sind Rundungsfehler61

Niedrigdimensionale Approximation

Die kleinsten Eigenwerte sind die unwichtigsten Wir konnen dieseldquoweglassenrdquo = auf Null setzenrarr eine Matrix mit kleinerem Rang dieaber relativ ahnlich zur Ausgangsmatrix istminus041 07 024minus029 minus033 minus072minus061 minus02 014minus061 minus02 014minus01 057 minus062

227 0 0

0 149 00 0 0

minus072 minus023 minus066019 085 minus05067 minus048 minus056

=

minus093 104 0minus0658 minus049 0minus138 minus0298 0minus138 minus0298 0minus0227 084 0

minus072 minus023 minus066

019 085 minus05067 minus048 minus056

=

087 109 011038 minus027 068093 005 106093 005 106032 077 minus027

62

Die niedrigdimensionale Approximation

Wir interessieren uns fur die Matrix U2 = UΣ2 also die Matrix mit demniedrigerem Rang

minus093 104 0minus0658 minus049 0minus138 minus0298 0minus138 minus0298 0minus0227 084 0

Man kann diese nun als die Reprasentation unserer 5 Worter mit zweiversteckten Dimensionen auffassen

h1 h2ship minus093 104boat minus0658 minus049

ocean minus138 minus0298motor minus138 minus0298wood minus0227 084

63

Neue Ahnlichkeitsberechnungen

h1 h2ship minus093 104boat minus0658 minus049

ocean minus138 minus0298motor minus138 minus0298wood minus0227 084

cossim(shipboat) =(minus093) middot (minus0658) + 104 middot (minus049)radic

(0932 + 1042) middotradic

(06582 + 0492)= 009

cossim(shipocean) =(minus093) middot (minus138) + 104 middot (minus029)radic

(0932 + 1042) middotradic

(1382 + 0292)= 049

cossim(boatocean) = 09

64

Variationen

Benutze nur Umtimesk zur Ahnlichkeitsberechnung

Benutze Umtimesk middotΣpktimesk zur Ahnlichkeitsberechnungrarr Parameter p

sollte getuned werden Kann groszlige Unterschiede machen

Oft p = 0p = 05p = 1

65

Performanz der Reduced-SVD-Embeddings

Levy O Goldberg Y Neural word embedding as implicit matrix factorization In

Advances in neural information processing systems 2014 S 2177-2185

(Englische) Wikipedia 15 Milliarden Tokens

Fenster 2 beiderseits

Vokabular 189 533 fur Terme sowie Kontexte

PPMI Matrizen

SVD sowie ohne Zerlegung (PPMI) sowie neurale (SGNS)

Algorithmus Spearman Rank zu WordSim 353SVD 0652SGNS 0633PPMI 0605

66

Latent Semantic Analysis und Word Embeddings

Levy2014

ldquoWe analyze skip-gram with negative-sampling (SGNS) [] and show that it isimplicitly factorizing a word-context matrix whose cells are the pointwise mutualinformation (PMI) of the respective word and context pairs shifted by a globalconstant When dense low-dimensional vectors are preferred exact factorizationwith SVD can achieve solutions that are at least as good as SGNSrsquoss solutions forword similarity tasks On analogy questions SGNS remains superior to SVD Weconjecture that this stems from the weighted nature of SGNSrsquos factorizationrdquo

67

Zusammenfassung

Reduced SVD resultiert in einer optimalen Approximation derOriginalmatrix mit niedrigerem Rang Optimal = optimal bzgl derFrobeniusnorm (bzw mean squared error)

Dadurch erhalten wir eine mathematisch fundierte dichtereMatrix die Rauschen (weniger wichtige Dimensionen) eliminiert

Wir konnen mittels Umtimesk Σktimesk weiterhin Wortahnlichkeitenberechnen

Es konnen Resultate erreicht werden die bei word similaritymindestens ebensogut sind wie mit neuralen word embeddings

Nachteile Kosten der SVD Berechnung fur mtimesn matrixO(n middotm2) (when m lt n)rarr Nicht gut fur sehr grosse Matrizen

Nachteile Geht nicht gut mit unbekannten Wortern um

Nachteile schlechter bei Wortanalogieaufgaben

68

Literatur

Guter erweiterter Hintergrundhttptheorystanfordedu˜tims15ll7pdf bishttptheorystanfordedu˜tims15ll9pdf

SVD Tutorial (ohne vollstandigen Hintergrund) Kirk Baker(2005) Singular Value Decomposition Tutorialhttpsdatajobscomdata-science-repoSVD-Tutorial-[Kirk-Baker]pdf Leider ist hier imKonstruktionsverfahren I die Vorzeichenproblematikfalschlicherweise nicht behandelt worden

Levy O Goldberg Y Neural word embedding as implicit matrixfactorization In Advances in neural information processingsystems 2014 S 2177-2185

Ubungsblatt II

69

  • SVD Hauptsatz
    • Der SVD-Satz
    • Konstruktion am Beispiel Methodologie I
    • Konstruktionsmethodologie II
      • Interpretation der SVD
      • Reduced SVD
      • Verwendung in NLP

Noch einige Bemerkungen

Wir haben implizit den Rang der Ursprungsmatrix A bestimmtDies kann man klar an U middotΣ sehen

A = UΣV T =

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00

radic10 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(radic12radic2

radic10radic2

0radic

12radic2

minusradic

10radic2

0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(3 1 1minus1 3 1

)

46

Noch einige Bemerkungen

Deswegen wird manchmal die Singularwertzerlegung auch alsZerlegung in drei Matrizen Amtimesn = Umtimesr Σrtimesr V T

rtimesn wobei r der Rangder Matrix A ist beschrieben

A = UΣV T =

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00

radic10 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 00

radic10

)( 1radic6

2radic6

1radic6

2radic5

minus1radic5

0

)=

(radic12radic2

radic10radic2radic

12radic2

minusradic

10radic2

)(1radic6

2radic6

1radic6

2radic5

minus1radic5

0

)=

(3 1 1minus1 3 1

)47

Noch einige Bemerkungen

Bisher haben wir immer die Ausgangsmatrix einfach reproduziert(mit dem gleichen Rang) Man sieht den Rang besser und es gilt

Die ldquoZerrungrdquo durch die Matrix Σ ist bei den Dimensionen mit denhochsten Eigenwerten am groszligten Beispiel

(radic12 0 00

radic10 0

)x1

x2

x3

=

(radic12 middot x1radic10 middot x2

)Es macht also Sinn dass wir wenn wir eine Approximationunserer Ausgangsmatrix mit niedrigerem Rang wollen dann dieunwichtigen Dimensionen die durch niedrige Eigenwertegekennzeichnet sind weglassen

48

Ubersicht

1 SVD HauptsatzDer SVD-SatzKonstruktion am Beispiel Methodologie IKonstruktionsmethodologie II

2 Interpretation der SVD

3 Reduced SVD

4 Verwendung in NLP

49

Reduced SVD Approximation niedrigeren Ranges

Approximation von mtimesn Matrix A mit Rang r durch mtimesn -Matrix Ak mit Rang k lt r

A = UΣV T asymp Ak = UΣk V T

Σk ist eine ldquodiagonalerdquo mtimesn - Matrix bei der nur auf den erstenk Stellen der Diagonalmatrix Werte 6= 0 stehen

U und V wie zuvor

50

Beispiel

A = UΣV T =

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00

radic10 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

asymp

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00 0 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(radic12radic2

0 0radic

12radic2

0 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(1 2 11 2 1

)51

Reduced SVD

Wir hatten auch nur die ersten k Spalten von U sowie die ersten kZeilen von V T behalten konnen

Aasymp

(1radic2

1radic2

)(radic12)( 1radic

62radic6

1radic6

)=

(radic12radic2radic

12radic2

)(1radic6

2radic6

1radic6

)=

(1 2 11 2 1

)

52

Als Bild

53

Als Algorithmus

Gegeben mtimesn Matrix A und gewunschter Rank k Wir produziereneine Rangminus k Approximation wie folgt

1 Wir berechnen eine SVD Zerlegung von A

Amtimesn = UmtimesmΣmtimesnV Tntimesn

2 Wir behalten nur die ersten k Spalten von U resultierend in Umtimesk

3 Wir behalten nur die Top k sprich die ersten k Diagonalwerte vonΣ resultierend in Σktimesk

4 Wir behalten nur die ersten k Reihen von V T resultierend in V Tktimesn

54

Reduced SVD

Diagonale Eintrage in Σk sind die k groszligten Eigenwerte vonA middotAT

Satz UΣk V T minimiert die Differenz der Frobenius-Normzwischen A und Ak unter der Bedingung rang(Ak ) = k

Das heisst Fur jede mtimesn Matrix A mit Rang r angestrebtemRang k lt r und jede mtimesn Matrix B mit Rang k gilt

Aminus Ak2 le AminusB2

wobei Ak die Rang-k Approximation ist die man aus der SVD vonA ableiten kann

55

Was hat man erreicht

Unkorrelierte Dimensionen (Orthonormalbasis) die nur nochverzerrt werden

Wir haben die Dimensionen mit der meisten Variation identifiziertund danach geordnet

ldquoUnwichtigerdquo Dimensionen werden weggelassenrarr Rauschenvermindert

Man braucht viel weniger Speicherplatz O(k(n + m)) anstattO(nm)

Die neuen ldquoverstecktenrdquo Dimensionen konnen zurAhnlichkeitsberechnung verwendet werden und funktionieren oftbesser

56

Wie wahlt man k

Meist empirisch Gesehen

1 In NLP oft die ersten 200 bis 300 Dimensionen2 In Recommender Systems Wahle k so dass die Summe der

ersten k Eigenwerte mindestens 10-mal der Summe alleranderen Eigenwerte

57

Ubersicht

1 SVD HauptsatzDer SVD-SatzKonstruktion am Beispiel Methodologie IKonstruktionsmethodologie II

2 Interpretation der SVD

3 Reduced SVD

4 Verwendung in NLP

58

Dichte Embeddings

A ist Matrix von m WorternTermen und n Kontexten (PPMIfrequency )Reduced SVD resultiert in Ak mit

Umtimesk ist mtimes k - MatrixZeilen von Umtimesk reprasentieren TermeSpalten in Umtimesk latente Reprasentation der KontexteBenutze Umtimesk middotΣktimesk zur Berechnung von Termahnlichkeiten

Vorteile gegenuber der vollen Term-Kontext-MatrixDichte MatrixDimensionsreduktion effizientere VerarbeitungDe-Noising

59

Dichte Embeddings

A ist Matrix von m WorternTermen und n Kontexten (PPMIfrequency )Reduced SVD resultiert in Ak mit

Umtimesk ist mtimes k - MatrixZeilen von Umtimesk reprasentieren TermeSpalten in Umtimesk latente Reprasentation der KontexteBenutze Umtimesk middotΣktimesk zur Berechnung von Termahnlichkeiten

Vorteile gegenuber der vollen Term-Kontext-MatrixDichte MatrixDimensionsreduktion effizientere VerarbeitungDe-Noising

59

Dichte Embeddings

A ist Matrix von m WorternTermen und n Kontexten (PPMIfrequency )Reduced SVD resultiert in Ak mit

Umtimesk ist mtimes k - MatrixZeilen von Umtimesk reprasentieren TermeSpalten in Umtimesk latente Reprasentation der KontexteBenutze Umtimesk middotΣktimesk zur Berechnung von Termahnlichkeiten

Vorteile gegenuber der vollen Term-Kontext-MatrixDichte MatrixDimensionsreduktion effizientere VerarbeitungDe-Noising

59

Das Beispiel vom Anfang

Eine Wort-Dokument-Matrix M aus dem R5times3

d1 d2 d3ship 1 1 0boat 0 0 1

ocean 1 0 1motor 1 0 1wood 0 1 0

cossim(shipboat) = 0

cossim(shipocean) =12

cossim(boatocean) =1radic2

= 07

60

SVD Zerlegung war

minus041 07 024minus029 minus033 minus072minus061 minus02 014minus061 minus02 014minus01 057 minus062

227 0 0

0 149 00 0 078

minus072 minus023 minus066019 085 minus05067 minus048 minus056

=

minus093 104 0187minus0658 minus049 minus056minus138 minus0298 01092minus138 minus0298 minus1092minus0227 084 minus0483

minus072 minus023 minus066

019 085 minus05067 minus048 minus056

=

1 1 00 0 11 0 11 0 10 1 0

Abweichungen sind Rundungsfehler61

Niedrigdimensionale Approximation

Die kleinsten Eigenwerte sind die unwichtigsten Wir konnen dieseldquoweglassenrdquo = auf Null setzenrarr eine Matrix mit kleinerem Rang dieaber relativ ahnlich zur Ausgangsmatrix istminus041 07 024minus029 minus033 minus072minus061 minus02 014minus061 minus02 014minus01 057 minus062

227 0 0

0 149 00 0 0

minus072 minus023 minus066019 085 minus05067 minus048 minus056

=

minus093 104 0minus0658 minus049 0minus138 minus0298 0minus138 minus0298 0minus0227 084 0

minus072 minus023 minus066

019 085 minus05067 minus048 minus056

=

087 109 011038 minus027 068093 005 106093 005 106032 077 minus027

62

Die niedrigdimensionale Approximation

Wir interessieren uns fur die Matrix U2 = UΣ2 also die Matrix mit demniedrigerem Rang

minus093 104 0minus0658 minus049 0minus138 minus0298 0minus138 minus0298 0minus0227 084 0

Man kann diese nun als die Reprasentation unserer 5 Worter mit zweiversteckten Dimensionen auffassen

h1 h2ship minus093 104boat minus0658 minus049

ocean minus138 minus0298motor minus138 minus0298wood minus0227 084

63

Neue Ahnlichkeitsberechnungen

h1 h2ship minus093 104boat minus0658 minus049

ocean minus138 minus0298motor minus138 minus0298wood minus0227 084

cossim(shipboat) =(minus093) middot (minus0658) + 104 middot (minus049)radic

(0932 + 1042) middotradic

(06582 + 0492)= 009

cossim(shipocean) =(minus093) middot (minus138) + 104 middot (minus029)radic

(0932 + 1042) middotradic

(1382 + 0292)= 049

cossim(boatocean) = 09

64

Variationen

Benutze nur Umtimesk zur Ahnlichkeitsberechnung

Benutze Umtimesk middotΣpktimesk zur Ahnlichkeitsberechnungrarr Parameter p

sollte getuned werden Kann groszlige Unterschiede machen

Oft p = 0p = 05p = 1

65

Performanz der Reduced-SVD-Embeddings

Levy O Goldberg Y Neural word embedding as implicit matrix factorization In

Advances in neural information processing systems 2014 S 2177-2185

(Englische) Wikipedia 15 Milliarden Tokens

Fenster 2 beiderseits

Vokabular 189 533 fur Terme sowie Kontexte

PPMI Matrizen

SVD sowie ohne Zerlegung (PPMI) sowie neurale (SGNS)

Algorithmus Spearman Rank zu WordSim 353SVD 0652SGNS 0633PPMI 0605

66

Latent Semantic Analysis und Word Embeddings

Levy2014

ldquoWe analyze skip-gram with negative-sampling (SGNS) [] and show that it isimplicitly factorizing a word-context matrix whose cells are the pointwise mutualinformation (PMI) of the respective word and context pairs shifted by a globalconstant When dense low-dimensional vectors are preferred exact factorizationwith SVD can achieve solutions that are at least as good as SGNSrsquoss solutions forword similarity tasks On analogy questions SGNS remains superior to SVD Weconjecture that this stems from the weighted nature of SGNSrsquos factorizationrdquo

67

Zusammenfassung

Reduced SVD resultiert in einer optimalen Approximation derOriginalmatrix mit niedrigerem Rang Optimal = optimal bzgl derFrobeniusnorm (bzw mean squared error)

Dadurch erhalten wir eine mathematisch fundierte dichtereMatrix die Rauschen (weniger wichtige Dimensionen) eliminiert

Wir konnen mittels Umtimesk Σktimesk weiterhin Wortahnlichkeitenberechnen

Es konnen Resultate erreicht werden die bei word similaritymindestens ebensogut sind wie mit neuralen word embeddings

Nachteile Kosten der SVD Berechnung fur mtimesn matrixO(n middotm2) (when m lt n)rarr Nicht gut fur sehr grosse Matrizen

Nachteile Geht nicht gut mit unbekannten Wortern um

Nachteile schlechter bei Wortanalogieaufgaben

68

Literatur

Guter erweiterter Hintergrundhttptheorystanfordedu˜tims15ll7pdf bishttptheorystanfordedu˜tims15ll9pdf

SVD Tutorial (ohne vollstandigen Hintergrund) Kirk Baker(2005) Singular Value Decomposition Tutorialhttpsdatajobscomdata-science-repoSVD-Tutorial-[Kirk-Baker]pdf Leider ist hier imKonstruktionsverfahren I die Vorzeichenproblematikfalschlicherweise nicht behandelt worden

Levy O Goldberg Y Neural word embedding as implicit matrixfactorization In Advances in neural information processingsystems 2014 S 2177-2185

Ubungsblatt II

69

  • SVD Hauptsatz
    • Der SVD-Satz
    • Konstruktion am Beispiel Methodologie I
    • Konstruktionsmethodologie II
      • Interpretation der SVD
      • Reduced SVD
      • Verwendung in NLP

Noch einige Bemerkungen

Deswegen wird manchmal die Singularwertzerlegung auch alsZerlegung in drei Matrizen Amtimesn = Umtimesr Σrtimesr V T

rtimesn wobei r der Rangder Matrix A ist beschrieben

A = UΣV T =

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00

radic10 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 00

radic10

)( 1radic6

2radic6

1radic6

2radic5

minus1radic5

0

)=

(radic12radic2

radic10radic2radic

12radic2

minusradic

10radic2

)(1radic6

2radic6

1radic6

2radic5

minus1radic5

0

)=

(3 1 1minus1 3 1

)47

Noch einige Bemerkungen

Bisher haben wir immer die Ausgangsmatrix einfach reproduziert(mit dem gleichen Rang) Man sieht den Rang besser und es gilt

Die ldquoZerrungrdquo durch die Matrix Σ ist bei den Dimensionen mit denhochsten Eigenwerten am groszligten Beispiel

(radic12 0 00

radic10 0

)x1

x2

x3

=

(radic12 middot x1radic10 middot x2

)Es macht also Sinn dass wir wenn wir eine Approximationunserer Ausgangsmatrix mit niedrigerem Rang wollen dann dieunwichtigen Dimensionen die durch niedrige Eigenwertegekennzeichnet sind weglassen

48

Ubersicht

1 SVD HauptsatzDer SVD-SatzKonstruktion am Beispiel Methodologie IKonstruktionsmethodologie II

2 Interpretation der SVD

3 Reduced SVD

4 Verwendung in NLP

49

Reduced SVD Approximation niedrigeren Ranges

Approximation von mtimesn Matrix A mit Rang r durch mtimesn -Matrix Ak mit Rang k lt r

A = UΣV T asymp Ak = UΣk V T

Σk ist eine ldquodiagonalerdquo mtimesn - Matrix bei der nur auf den erstenk Stellen der Diagonalmatrix Werte 6= 0 stehen

U und V wie zuvor

50

Beispiel

A = UΣV T =

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00

radic10 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

asymp

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00 0 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(radic12radic2

0 0radic

12radic2

0 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(1 2 11 2 1

)51

Reduced SVD

Wir hatten auch nur die ersten k Spalten von U sowie die ersten kZeilen von V T behalten konnen

Aasymp

(1radic2

1radic2

)(radic12)( 1radic

62radic6

1radic6

)=

(radic12radic2radic

12radic2

)(1radic6

2radic6

1radic6

)=

(1 2 11 2 1

)

52

Als Bild

53

Als Algorithmus

Gegeben mtimesn Matrix A und gewunschter Rank k Wir produziereneine Rangminus k Approximation wie folgt

1 Wir berechnen eine SVD Zerlegung von A

Amtimesn = UmtimesmΣmtimesnV Tntimesn

2 Wir behalten nur die ersten k Spalten von U resultierend in Umtimesk

3 Wir behalten nur die Top k sprich die ersten k Diagonalwerte vonΣ resultierend in Σktimesk

4 Wir behalten nur die ersten k Reihen von V T resultierend in V Tktimesn

54

Reduced SVD

Diagonale Eintrage in Σk sind die k groszligten Eigenwerte vonA middotAT

Satz UΣk V T minimiert die Differenz der Frobenius-Normzwischen A und Ak unter der Bedingung rang(Ak ) = k

Das heisst Fur jede mtimesn Matrix A mit Rang r angestrebtemRang k lt r und jede mtimesn Matrix B mit Rang k gilt

Aminus Ak2 le AminusB2

wobei Ak die Rang-k Approximation ist die man aus der SVD vonA ableiten kann

55

Was hat man erreicht

Unkorrelierte Dimensionen (Orthonormalbasis) die nur nochverzerrt werden

Wir haben die Dimensionen mit der meisten Variation identifiziertund danach geordnet

ldquoUnwichtigerdquo Dimensionen werden weggelassenrarr Rauschenvermindert

Man braucht viel weniger Speicherplatz O(k(n + m)) anstattO(nm)

Die neuen ldquoverstecktenrdquo Dimensionen konnen zurAhnlichkeitsberechnung verwendet werden und funktionieren oftbesser

56

Wie wahlt man k

Meist empirisch Gesehen

1 In NLP oft die ersten 200 bis 300 Dimensionen2 In Recommender Systems Wahle k so dass die Summe der

ersten k Eigenwerte mindestens 10-mal der Summe alleranderen Eigenwerte

57

Ubersicht

1 SVD HauptsatzDer SVD-SatzKonstruktion am Beispiel Methodologie IKonstruktionsmethodologie II

2 Interpretation der SVD

3 Reduced SVD

4 Verwendung in NLP

58

Dichte Embeddings

A ist Matrix von m WorternTermen und n Kontexten (PPMIfrequency )Reduced SVD resultiert in Ak mit

Umtimesk ist mtimes k - MatrixZeilen von Umtimesk reprasentieren TermeSpalten in Umtimesk latente Reprasentation der KontexteBenutze Umtimesk middotΣktimesk zur Berechnung von Termahnlichkeiten

Vorteile gegenuber der vollen Term-Kontext-MatrixDichte MatrixDimensionsreduktion effizientere VerarbeitungDe-Noising

59

Dichte Embeddings

A ist Matrix von m WorternTermen und n Kontexten (PPMIfrequency )Reduced SVD resultiert in Ak mit

Umtimesk ist mtimes k - MatrixZeilen von Umtimesk reprasentieren TermeSpalten in Umtimesk latente Reprasentation der KontexteBenutze Umtimesk middotΣktimesk zur Berechnung von Termahnlichkeiten

Vorteile gegenuber der vollen Term-Kontext-MatrixDichte MatrixDimensionsreduktion effizientere VerarbeitungDe-Noising

59

Dichte Embeddings

A ist Matrix von m WorternTermen und n Kontexten (PPMIfrequency )Reduced SVD resultiert in Ak mit

Umtimesk ist mtimes k - MatrixZeilen von Umtimesk reprasentieren TermeSpalten in Umtimesk latente Reprasentation der KontexteBenutze Umtimesk middotΣktimesk zur Berechnung von Termahnlichkeiten

Vorteile gegenuber der vollen Term-Kontext-MatrixDichte MatrixDimensionsreduktion effizientere VerarbeitungDe-Noising

59

Das Beispiel vom Anfang

Eine Wort-Dokument-Matrix M aus dem R5times3

d1 d2 d3ship 1 1 0boat 0 0 1

ocean 1 0 1motor 1 0 1wood 0 1 0

cossim(shipboat) = 0

cossim(shipocean) =12

cossim(boatocean) =1radic2

= 07

60

SVD Zerlegung war

minus041 07 024minus029 minus033 minus072minus061 minus02 014minus061 minus02 014minus01 057 minus062

227 0 0

0 149 00 0 078

minus072 minus023 minus066019 085 minus05067 minus048 minus056

=

minus093 104 0187minus0658 minus049 minus056minus138 minus0298 01092minus138 minus0298 minus1092minus0227 084 minus0483

minus072 minus023 minus066

019 085 minus05067 minus048 minus056

=

1 1 00 0 11 0 11 0 10 1 0

Abweichungen sind Rundungsfehler61

Niedrigdimensionale Approximation

Die kleinsten Eigenwerte sind die unwichtigsten Wir konnen dieseldquoweglassenrdquo = auf Null setzenrarr eine Matrix mit kleinerem Rang dieaber relativ ahnlich zur Ausgangsmatrix istminus041 07 024minus029 minus033 minus072minus061 minus02 014minus061 minus02 014minus01 057 minus062

227 0 0

0 149 00 0 0

minus072 minus023 minus066019 085 minus05067 minus048 minus056

=

minus093 104 0minus0658 minus049 0minus138 minus0298 0minus138 minus0298 0minus0227 084 0

minus072 minus023 minus066

019 085 minus05067 minus048 minus056

=

087 109 011038 minus027 068093 005 106093 005 106032 077 minus027

62

Die niedrigdimensionale Approximation

Wir interessieren uns fur die Matrix U2 = UΣ2 also die Matrix mit demniedrigerem Rang

minus093 104 0minus0658 minus049 0minus138 minus0298 0minus138 minus0298 0minus0227 084 0

Man kann diese nun als die Reprasentation unserer 5 Worter mit zweiversteckten Dimensionen auffassen

h1 h2ship minus093 104boat minus0658 minus049

ocean minus138 minus0298motor minus138 minus0298wood minus0227 084

63

Neue Ahnlichkeitsberechnungen

h1 h2ship minus093 104boat minus0658 minus049

ocean minus138 minus0298motor minus138 minus0298wood minus0227 084

cossim(shipboat) =(minus093) middot (minus0658) + 104 middot (minus049)radic

(0932 + 1042) middotradic

(06582 + 0492)= 009

cossim(shipocean) =(minus093) middot (minus138) + 104 middot (minus029)radic

(0932 + 1042) middotradic

(1382 + 0292)= 049

cossim(boatocean) = 09

64

Variationen

Benutze nur Umtimesk zur Ahnlichkeitsberechnung

Benutze Umtimesk middotΣpktimesk zur Ahnlichkeitsberechnungrarr Parameter p

sollte getuned werden Kann groszlige Unterschiede machen

Oft p = 0p = 05p = 1

65

Performanz der Reduced-SVD-Embeddings

Levy O Goldberg Y Neural word embedding as implicit matrix factorization In

Advances in neural information processing systems 2014 S 2177-2185

(Englische) Wikipedia 15 Milliarden Tokens

Fenster 2 beiderseits

Vokabular 189 533 fur Terme sowie Kontexte

PPMI Matrizen

SVD sowie ohne Zerlegung (PPMI) sowie neurale (SGNS)

Algorithmus Spearman Rank zu WordSim 353SVD 0652SGNS 0633PPMI 0605

66

Latent Semantic Analysis und Word Embeddings

Levy2014

ldquoWe analyze skip-gram with negative-sampling (SGNS) [] and show that it isimplicitly factorizing a word-context matrix whose cells are the pointwise mutualinformation (PMI) of the respective word and context pairs shifted by a globalconstant When dense low-dimensional vectors are preferred exact factorizationwith SVD can achieve solutions that are at least as good as SGNSrsquoss solutions forword similarity tasks On analogy questions SGNS remains superior to SVD Weconjecture that this stems from the weighted nature of SGNSrsquos factorizationrdquo

67

Zusammenfassung

Reduced SVD resultiert in einer optimalen Approximation derOriginalmatrix mit niedrigerem Rang Optimal = optimal bzgl derFrobeniusnorm (bzw mean squared error)

Dadurch erhalten wir eine mathematisch fundierte dichtereMatrix die Rauschen (weniger wichtige Dimensionen) eliminiert

Wir konnen mittels Umtimesk Σktimesk weiterhin Wortahnlichkeitenberechnen

Es konnen Resultate erreicht werden die bei word similaritymindestens ebensogut sind wie mit neuralen word embeddings

Nachteile Kosten der SVD Berechnung fur mtimesn matrixO(n middotm2) (when m lt n)rarr Nicht gut fur sehr grosse Matrizen

Nachteile Geht nicht gut mit unbekannten Wortern um

Nachteile schlechter bei Wortanalogieaufgaben

68

Literatur

Guter erweiterter Hintergrundhttptheorystanfordedu˜tims15ll7pdf bishttptheorystanfordedu˜tims15ll9pdf

SVD Tutorial (ohne vollstandigen Hintergrund) Kirk Baker(2005) Singular Value Decomposition Tutorialhttpsdatajobscomdata-science-repoSVD-Tutorial-[Kirk-Baker]pdf Leider ist hier imKonstruktionsverfahren I die Vorzeichenproblematikfalschlicherweise nicht behandelt worden

Levy O Goldberg Y Neural word embedding as implicit matrixfactorization In Advances in neural information processingsystems 2014 S 2177-2185

Ubungsblatt II

69

  • SVD Hauptsatz
    • Der SVD-Satz
    • Konstruktion am Beispiel Methodologie I
    • Konstruktionsmethodologie II
      • Interpretation der SVD
      • Reduced SVD
      • Verwendung in NLP

Noch einige Bemerkungen

Bisher haben wir immer die Ausgangsmatrix einfach reproduziert(mit dem gleichen Rang) Man sieht den Rang besser und es gilt

Die ldquoZerrungrdquo durch die Matrix Σ ist bei den Dimensionen mit denhochsten Eigenwerten am groszligten Beispiel

(radic12 0 00

radic10 0

)x1

x2

x3

=

(radic12 middot x1radic10 middot x2

)Es macht also Sinn dass wir wenn wir eine Approximationunserer Ausgangsmatrix mit niedrigerem Rang wollen dann dieunwichtigen Dimensionen die durch niedrige Eigenwertegekennzeichnet sind weglassen

48

Ubersicht

1 SVD HauptsatzDer SVD-SatzKonstruktion am Beispiel Methodologie IKonstruktionsmethodologie II

2 Interpretation der SVD

3 Reduced SVD

4 Verwendung in NLP

49

Reduced SVD Approximation niedrigeren Ranges

Approximation von mtimesn Matrix A mit Rang r durch mtimesn -Matrix Ak mit Rang k lt r

A = UΣV T asymp Ak = UΣk V T

Σk ist eine ldquodiagonalerdquo mtimesn - Matrix bei der nur auf den erstenk Stellen der Diagonalmatrix Werte 6= 0 stehen

U und V wie zuvor

50

Beispiel

A = UΣV T =

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00

radic10 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

asymp

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00 0 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(radic12radic2

0 0radic

12radic2

0 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(1 2 11 2 1

)51

Reduced SVD

Wir hatten auch nur die ersten k Spalten von U sowie die ersten kZeilen von V T behalten konnen

Aasymp

(1radic2

1radic2

)(radic12)( 1radic

62radic6

1radic6

)=

(radic12radic2radic

12radic2

)(1radic6

2radic6

1radic6

)=

(1 2 11 2 1

)

52

Als Bild

53

Als Algorithmus

Gegeben mtimesn Matrix A und gewunschter Rank k Wir produziereneine Rangminus k Approximation wie folgt

1 Wir berechnen eine SVD Zerlegung von A

Amtimesn = UmtimesmΣmtimesnV Tntimesn

2 Wir behalten nur die ersten k Spalten von U resultierend in Umtimesk

3 Wir behalten nur die Top k sprich die ersten k Diagonalwerte vonΣ resultierend in Σktimesk

4 Wir behalten nur die ersten k Reihen von V T resultierend in V Tktimesn

54

Reduced SVD

Diagonale Eintrage in Σk sind die k groszligten Eigenwerte vonA middotAT

Satz UΣk V T minimiert die Differenz der Frobenius-Normzwischen A und Ak unter der Bedingung rang(Ak ) = k

Das heisst Fur jede mtimesn Matrix A mit Rang r angestrebtemRang k lt r und jede mtimesn Matrix B mit Rang k gilt

Aminus Ak2 le AminusB2

wobei Ak die Rang-k Approximation ist die man aus der SVD vonA ableiten kann

55

Was hat man erreicht

Unkorrelierte Dimensionen (Orthonormalbasis) die nur nochverzerrt werden

Wir haben die Dimensionen mit der meisten Variation identifiziertund danach geordnet

ldquoUnwichtigerdquo Dimensionen werden weggelassenrarr Rauschenvermindert

Man braucht viel weniger Speicherplatz O(k(n + m)) anstattO(nm)

Die neuen ldquoverstecktenrdquo Dimensionen konnen zurAhnlichkeitsberechnung verwendet werden und funktionieren oftbesser

56

Wie wahlt man k

Meist empirisch Gesehen

1 In NLP oft die ersten 200 bis 300 Dimensionen2 In Recommender Systems Wahle k so dass die Summe der

ersten k Eigenwerte mindestens 10-mal der Summe alleranderen Eigenwerte

57

Ubersicht

1 SVD HauptsatzDer SVD-SatzKonstruktion am Beispiel Methodologie IKonstruktionsmethodologie II

2 Interpretation der SVD

3 Reduced SVD

4 Verwendung in NLP

58

Dichte Embeddings

A ist Matrix von m WorternTermen und n Kontexten (PPMIfrequency )Reduced SVD resultiert in Ak mit

Umtimesk ist mtimes k - MatrixZeilen von Umtimesk reprasentieren TermeSpalten in Umtimesk latente Reprasentation der KontexteBenutze Umtimesk middotΣktimesk zur Berechnung von Termahnlichkeiten

Vorteile gegenuber der vollen Term-Kontext-MatrixDichte MatrixDimensionsreduktion effizientere VerarbeitungDe-Noising

59

Dichte Embeddings

A ist Matrix von m WorternTermen und n Kontexten (PPMIfrequency )Reduced SVD resultiert in Ak mit

Umtimesk ist mtimes k - MatrixZeilen von Umtimesk reprasentieren TermeSpalten in Umtimesk latente Reprasentation der KontexteBenutze Umtimesk middotΣktimesk zur Berechnung von Termahnlichkeiten

Vorteile gegenuber der vollen Term-Kontext-MatrixDichte MatrixDimensionsreduktion effizientere VerarbeitungDe-Noising

59

Dichte Embeddings

A ist Matrix von m WorternTermen und n Kontexten (PPMIfrequency )Reduced SVD resultiert in Ak mit

Umtimesk ist mtimes k - MatrixZeilen von Umtimesk reprasentieren TermeSpalten in Umtimesk latente Reprasentation der KontexteBenutze Umtimesk middotΣktimesk zur Berechnung von Termahnlichkeiten

Vorteile gegenuber der vollen Term-Kontext-MatrixDichte MatrixDimensionsreduktion effizientere VerarbeitungDe-Noising

59

Das Beispiel vom Anfang

Eine Wort-Dokument-Matrix M aus dem R5times3

d1 d2 d3ship 1 1 0boat 0 0 1

ocean 1 0 1motor 1 0 1wood 0 1 0

cossim(shipboat) = 0

cossim(shipocean) =12

cossim(boatocean) =1radic2

= 07

60

SVD Zerlegung war

minus041 07 024minus029 minus033 minus072minus061 minus02 014minus061 minus02 014minus01 057 minus062

227 0 0

0 149 00 0 078

minus072 minus023 minus066019 085 minus05067 minus048 minus056

=

minus093 104 0187minus0658 minus049 minus056minus138 minus0298 01092minus138 minus0298 minus1092minus0227 084 minus0483

minus072 minus023 minus066

019 085 minus05067 minus048 minus056

=

1 1 00 0 11 0 11 0 10 1 0

Abweichungen sind Rundungsfehler61

Niedrigdimensionale Approximation

Die kleinsten Eigenwerte sind die unwichtigsten Wir konnen dieseldquoweglassenrdquo = auf Null setzenrarr eine Matrix mit kleinerem Rang dieaber relativ ahnlich zur Ausgangsmatrix istminus041 07 024minus029 minus033 minus072minus061 minus02 014minus061 minus02 014minus01 057 minus062

227 0 0

0 149 00 0 0

minus072 minus023 minus066019 085 minus05067 minus048 minus056

=

minus093 104 0minus0658 minus049 0minus138 minus0298 0minus138 minus0298 0minus0227 084 0

minus072 minus023 minus066

019 085 minus05067 minus048 minus056

=

087 109 011038 minus027 068093 005 106093 005 106032 077 minus027

62

Die niedrigdimensionale Approximation

Wir interessieren uns fur die Matrix U2 = UΣ2 also die Matrix mit demniedrigerem Rang

minus093 104 0minus0658 minus049 0minus138 minus0298 0minus138 minus0298 0minus0227 084 0

Man kann diese nun als die Reprasentation unserer 5 Worter mit zweiversteckten Dimensionen auffassen

h1 h2ship minus093 104boat minus0658 minus049

ocean minus138 minus0298motor minus138 minus0298wood minus0227 084

63

Neue Ahnlichkeitsberechnungen

h1 h2ship minus093 104boat minus0658 minus049

ocean minus138 minus0298motor minus138 minus0298wood minus0227 084

cossim(shipboat) =(minus093) middot (minus0658) + 104 middot (minus049)radic

(0932 + 1042) middotradic

(06582 + 0492)= 009

cossim(shipocean) =(minus093) middot (minus138) + 104 middot (minus029)radic

(0932 + 1042) middotradic

(1382 + 0292)= 049

cossim(boatocean) = 09

64

Variationen

Benutze nur Umtimesk zur Ahnlichkeitsberechnung

Benutze Umtimesk middotΣpktimesk zur Ahnlichkeitsberechnungrarr Parameter p

sollte getuned werden Kann groszlige Unterschiede machen

Oft p = 0p = 05p = 1

65

Performanz der Reduced-SVD-Embeddings

Levy O Goldberg Y Neural word embedding as implicit matrix factorization In

Advances in neural information processing systems 2014 S 2177-2185

(Englische) Wikipedia 15 Milliarden Tokens

Fenster 2 beiderseits

Vokabular 189 533 fur Terme sowie Kontexte

PPMI Matrizen

SVD sowie ohne Zerlegung (PPMI) sowie neurale (SGNS)

Algorithmus Spearman Rank zu WordSim 353SVD 0652SGNS 0633PPMI 0605

66

Latent Semantic Analysis und Word Embeddings

Levy2014

ldquoWe analyze skip-gram with negative-sampling (SGNS) [] and show that it isimplicitly factorizing a word-context matrix whose cells are the pointwise mutualinformation (PMI) of the respective word and context pairs shifted by a globalconstant When dense low-dimensional vectors are preferred exact factorizationwith SVD can achieve solutions that are at least as good as SGNSrsquoss solutions forword similarity tasks On analogy questions SGNS remains superior to SVD Weconjecture that this stems from the weighted nature of SGNSrsquos factorizationrdquo

67

Zusammenfassung

Reduced SVD resultiert in einer optimalen Approximation derOriginalmatrix mit niedrigerem Rang Optimal = optimal bzgl derFrobeniusnorm (bzw mean squared error)

Dadurch erhalten wir eine mathematisch fundierte dichtereMatrix die Rauschen (weniger wichtige Dimensionen) eliminiert

Wir konnen mittels Umtimesk Σktimesk weiterhin Wortahnlichkeitenberechnen

Es konnen Resultate erreicht werden die bei word similaritymindestens ebensogut sind wie mit neuralen word embeddings

Nachteile Kosten der SVD Berechnung fur mtimesn matrixO(n middotm2) (when m lt n)rarr Nicht gut fur sehr grosse Matrizen

Nachteile Geht nicht gut mit unbekannten Wortern um

Nachteile schlechter bei Wortanalogieaufgaben

68

Literatur

Guter erweiterter Hintergrundhttptheorystanfordedu˜tims15ll7pdf bishttptheorystanfordedu˜tims15ll9pdf

SVD Tutorial (ohne vollstandigen Hintergrund) Kirk Baker(2005) Singular Value Decomposition Tutorialhttpsdatajobscomdata-science-repoSVD-Tutorial-[Kirk-Baker]pdf Leider ist hier imKonstruktionsverfahren I die Vorzeichenproblematikfalschlicherweise nicht behandelt worden

Levy O Goldberg Y Neural word embedding as implicit matrixfactorization In Advances in neural information processingsystems 2014 S 2177-2185

Ubungsblatt II

69

  • SVD Hauptsatz
    • Der SVD-Satz
    • Konstruktion am Beispiel Methodologie I
    • Konstruktionsmethodologie II
      • Interpretation der SVD
      • Reduced SVD
      • Verwendung in NLP

Ubersicht

1 SVD HauptsatzDer SVD-SatzKonstruktion am Beispiel Methodologie IKonstruktionsmethodologie II

2 Interpretation der SVD

3 Reduced SVD

4 Verwendung in NLP

49

Reduced SVD Approximation niedrigeren Ranges

Approximation von mtimesn Matrix A mit Rang r durch mtimesn -Matrix Ak mit Rang k lt r

A = UΣV T asymp Ak = UΣk V T

Σk ist eine ldquodiagonalerdquo mtimesn - Matrix bei der nur auf den erstenk Stellen der Diagonalmatrix Werte 6= 0 stehen

U und V wie zuvor

50

Beispiel

A = UΣV T =

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00

radic10 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

asymp

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00 0 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(radic12radic2

0 0radic

12radic2

0 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(1 2 11 2 1

)51

Reduced SVD

Wir hatten auch nur die ersten k Spalten von U sowie die ersten kZeilen von V T behalten konnen

Aasymp

(1radic2

1radic2

)(radic12)( 1radic

62radic6

1radic6

)=

(radic12radic2radic

12radic2

)(1radic6

2radic6

1radic6

)=

(1 2 11 2 1

)

52

Als Bild

53

Als Algorithmus

Gegeben mtimesn Matrix A und gewunschter Rank k Wir produziereneine Rangminus k Approximation wie folgt

1 Wir berechnen eine SVD Zerlegung von A

Amtimesn = UmtimesmΣmtimesnV Tntimesn

2 Wir behalten nur die ersten k Spalten von U resultierend in Umtimesk

3 Wir behalten nur die Top k sprich die ersten k Diagonalwerte vonΣ resultierend in Σktimesk

4 Wir behalten nur die ersten k Reihen von V T resultierend in V Tktimesn

54

Reduced SVD

Diagonale Eintrage in Σk sind die k groszligten Eigenwerte vonA middotAT

Satz UΣk V T minimiert die Differenz der Frobenius-Normzwischen A und Ak unter der Bedingung rang(Ak ) = k

Das heisst Fur jede mtimesn Matrix A mit Rang r angestrebtemRang k lt r und jede mtimesn Matrix B mit Rang k gilt

Aminus Ak2 le AminusB2

wobei Ak die Rang-k Approximation ist die man aus der SVD vonA ableiten kann

55

Was hat man erreicht

Unkorrelierte Dimensionen (Orthonormalbasis) die nur nochverzerrt werden

Wir haben die Dimensionen mit der meisten Variation identifiziertund danach geordnet

ldquoUnwichtigerdquo Dimensionen werden weggelassenrarr Rauschenvermindert

Man braucht viel weniger Speicherplatz O(k(n + m)) anstattO(nm)

Die neuen ldquoverstecktenrdquo Dimensionen konnen zurAhnlichkeitsberechnung verwendet werden und funktionieren oftbesser

56

Wie wahlt man k

Meist empirisch Gesehen

1 In NLP oft die ersten 200 bis 300 Dimensionen2 In Recommender Systems Wahle k so dass die Summe der

ersten k Eigenwerte mindestens 10-mal der Summe alleranderen Eigenwerte

57

Ubersicht

1 SVD HauptsatzDer SVD-SatzKonstruktion am Beispiel Methodologie IKonstruktionsmethodologie II

2 Interpretation der SVD

3 Reduced SVD

4 Verwendung in NLP

58

Dichte Embeddings

A ist Matrix von m WorternTermen und n Kontexten (PPMIfrequency )Reduced SVD resultiert in Ak mit

Umtimesk ist mtimes k - MatrixZeilen von Umtimesk reprasentieren TermeSpalten in Umtimesk latente Reprasentation der KontexteBenutze Umtimesk middotΣktimesk zur Berechnung von Termahnlichkeiten

Vorteile gegenuber der vollen Term-Kontext-MatrixDichte MatrixDimensionsreduktion effizientere VerarbeitungDe-Noising

59

Dichte Embeddings

A ist Matrix von m WorternTermen und n Kontexten (PPMIfrequency )Reduced SVD resultiert in Ak mit

Umtimesk ist mtimes k - MatrixZeilen von Umtimesk reprasentieren TermeSpalten in Umtimesk latente Reprasentation der KontexteBenutze Umtimesk middotΣktimesk zur Berechnung von Termahnlichkeiten

Vorteile gegenuber der vollen Term-Kontext-MatrixDichte MatrixDimensionsreduktion effizientere VerarbeitungDe-Noising

59

Dichte Embeddings

A ist Matrix von m WorternTermen und n Kontexten (PPMIfrequency )Reduced SVD resultiert in Ak mit

Umtimesk ist mtimes k - MatrixZeilen von Umtimesk reprasentieren TermeSpalten in Umtimesk latente Reprasentation der KontexteBenutze Umtimesk middotΣktimesk zur Berechnung von Termahnlichkeiten

Vorteile gegenuber der vollen Term-Kontext-MatrixDichte MatrixDimensionsreduktion effizientere VerarbeitungDe-Noising

59

Das Beispiel vom Anfang

Eine Wort-Dokument-Matrix M aus dem R5times3

d1 d2 d3ship 1 1 0boat 0 0 1

ocean 1 0 1motor 1 0 1wood 0 1 0

cossim(shipboat) = 0

cossim(shipocean) =12

cossim(boatocean) =1radic2

= 07

60

SVD Zerlegung war

minus041 07 024minus029 minus033 minus072minus061 minus02 014minus061 minus02 014minus01 057 minus062

227 0 0

0 149 00 0 078

minus072 minus023 minus066019 085 minus05067 minus048 minus056

=

minus093 104 0187minus0658 minus049 minus056minus138 minus0298 01092minus138 minus0298 minus1092minus0227 084 minus0483

minus072 minus023 minus066

019 085 minus05067 minus048 minus056

=

1 1 00 0 11 0 11 0 10 1 0

Abweichungen sind Rundungsfehler61

Niedrigdimensionale Approximation

Die kleinsten Eigenwerte sind die unwichtigsten Wir konnen dieseldquoweglassenrdquo = auf Null setzenrarr eine Matrix mit kleinerem Rang dieaber relativ ahnlich zur Ausgangsmatrix istminus041 07 024minus029 minus033 minus072minus061 minus02 014minus061 minus02 014minus01 057 minus062

227 0 0

0 149 00 0 0

minus072 minus023 minus066019 085 minus05067 minus048 minus056

=

minus093 104 0minus0658 minus049 0minus138 minus0298 0minus138 minus0298 0minus0227 084 0

minus072 minus023 minus066

019 085 minus05067 minus048 minus056

=

087 109 011038 minus027 068093 005 106093 005 106032 077 minus027

62

Die niedrigdimensionale Approximation

Wir interessieren uns fur die Matrix U2 = UΣ2 also die Matrix mit demniedrigerem Rang

minus093 104 0minus0658 minus049 0minus138 minus0298 0minus138 minus0298 0minus0227 084 0

Man kann diese nun als die Reprasentation unserer 5 Worter mit zweiversteckten Dimensionen auffassen

h1 h2ship minus093 104boat minus0658 minus049

ocean minus138 minus0298motor minus138 minus0298wood minus0227 084

63

Neue Ahnlichkeitsberechnungen

h1 h2ship minus093 104boat minus0658 minus049

ocean minus138 minus0298motor minus138 minus0298wood minus0227 084

cossim(shipboat) =(minus093) middot (minus0658) + 104 middot (minus049)radic

(0932 + 1042) middotradic

(06582 + 0492)= 009

cossim(shipocean) =(minus093) middot (minus138) + 104 middot (minus029)radic

(0932 + 1042) middotradic

(1382 + 0292)= 049

cossim(boatocean) = 09

64

Variationen

Benutze nur Umtimesk zur Ahnlichkeitsberechnung

Benutze Umtimesk middotΣpktimesk zur Ahnlichkeitsberechnungrarr Parameter p

sollte getuned werden Kann groszlige Unterschiede machen

Oft p = 0p = 05p = 1

65

Performanz der Reduced-SVD-Embeddings

Levy O Goldberg Y Neural word embedding as implicit matrix factorization In

Advances in neural information processing systems 2014 S 2177-2185

(Englische) Wikipedia 15 Milliarden Tokens

Fenster 2 beiderseits

Vokabular 189 533 fur Terme sowie Kontexte

PPMI Matrizen

SVD sowie ohne Zerlegung (PPMI) sowie neurale (SGNS)

Algorithmus Spearman Rank zu WordSim 353SVD 0652SGNS 0633PPMI 0605

66

Latent Semantic Analysis und Word Embeddings

Levy2014

ldquoWe analyze skip-gram with negative-sampling (SGNS) [] and show that it isimplicitly factorizing a word-context matrix whose cells are the pointwise mutualinformation (PMI) of the respective word and context pairs shifted by a globalconstant When dense low-dimensional vectors are preferred exact factorizationwith SVD can achieve solutions that are at least as good as SGNSrsquoss solutions forword similarity tasks On analogy questions SGNS remains superior to SVD Weconjecture that this stems from the weighted nature of SGNSrsquos factorizationrdquo

67

Zusammenfassung

Reduced SVD resultiert in einer optimalen Approximation derOriginalmatrix mit niedrigerem Rang Optimal = optimal bzgl derFrobeniusnorm (bzw mean squared error)

Dadurch erhalten wir eine mathematisch fundierte dichtereMatrix die Rauschen (weniger wichtige Dimensionen) eliminiert

Wir konnen mittels Umtimesk Σktimesk weiterhin Wortahnlichkeitenberechnen

Es konnen Resultate erreicht werden die bei word similaritymindestens ebensogut sind wie mit neuralen word embeddings

Nachteile Kosten der SVD Berechnung fur mtimesn matrixO(n middotm2) (when m lt n)rarr Nicht gut fur sehr grosse Matrizen

Nachteile Geht nicht gut mit unbekannten Wortern um

Nachteile schlechter bei Wortanalogieaufgaben

68

Literatur

Guter erweiterter Hintergrundhttptheorystanfordedu˜tims15ll7pdf bishttptheorystanfordedu˜tims15ll9pdf

SVD Tutorial (ohne vollstandigen Hintergrund) Kirk Baker(2005) Singular Value Decomposition Tutorialhttpsdatajobscomdata-science-repoSVD-Tutorial-[Kirk-Baker]pdf Leider ist hier imKonstruktionsverfahren I die Vorzeichenproblematikfalschlicherweise nicht behandelt worden

Levy O Goldberg Y Neural word embedding as implicit matrixfactorization In Advances in neural information processingsystems 2014 S 2177-2185

Ubungsblatt II

69

  • SVD Hauptsatz
    • Der SVD-Satz
    • Konstruktion am Beispiel Methodologie I
    • Konstruktionsmethodologie II
      • Interpretation der SVD
      • Reduced SVD
      • Verwendung in NLP

Reduced SVD Approximation niedrigeren Ranges

Approximation von mtimesn Matrix A mit Rang r durch mtimesn -Matrix Ak mit Rang k lt r

A = UΣV T asymp Ak = UΣk V T

Σk ist eine ldquodiagonalerdquo mtimesn - Matrix bei der nur auf den erstenk Stellen der Diagonalmatrix Werte 6= 0 stehen

U und V wie zuvor

50

Beispiel

A = UΣV T =

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00

radic10 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

asymp

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00 0 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(radic12radic2

0 0radic

12radic2

0 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(1 2 11 2 1

)51

Reduced SVD

Wir hatten auch nur die ersten k Spalten von U sowie die ersten kZeilen von V T behalten konnen

Aasymp

(1radic2

1radic2

)(radic12)( 1radic

62radic6

1radic6

)=

(radic12radic2radic

12radic2

)(1radic6

2radic6

1radic6

)=

(1 2 11 2 1

)

52

Als Bild

53

Als Algorithmus

Gegeben mtimesn Matrix A und gewunschter Rank k Wir produziereneine Rangminus k Approximation wie folgt

1 Wir berechnen eine SVD Zerlegung von A

Amtimesn = UmtimesmΣmtimesnV Tntimesn

2 Wir behalten nur die ersten k Spalten von U resultierend in Umtimesk

3 Wir behalten nur die Top k sprich die ersten k Diagonalwerte vonΣ resultierend in Σktimesk

4 Wir behalten nur die ersten k Reihen von V T resultierend in V Tktimesn

54

Reduced SVD

Diagonale Eintrage in Σk sind die k groszligten Eigenwerte vonA middotAT

Satz UΣk V T minimiert die Differenz der Frobenius-Normzwischen A und Ak unter der Bedingung rang(Ak ) = k

Das heisst Fur jede mtimesn Matrix A mit Rang r angestrebtemRang k lt r und jede mtimesn Matrix B mit Rang k gilt

Aminus Ak2 le AminusB2

wobei Ak die Rang-k Approximation ist die man aus der SVD vonA ableiten kann

55

Was hat man erreicht

Unkorrelierte Dimensionen (Orthonormalbasis) die nur nochverzerrt werden

Wir haben die Dimensionen mit der meisten Variation identifiziertund danach geordnet

ldquoUnwichtigerdquo Dimensionen werden weggelassenrarr Rauschenvermindert

Man braucht viel weniger Speicherplatz O(k(n + m)) anstattO(nm)

Die neuen ldquoverstecktenrdquo Dimensionen konnen zurAhnlichkeitsberechnung verwendet werden und funktionieren oftbesser

56

Wie wahlt man k

Meist empirisch Gesehen

1 In NLP oft die ersten 200 bis 300 Dimensionen2 In Recommender Systems Wahle k so dass die Summe der

ersten k Eigenwerte mindestens 10-mal der Summe alleranderen Eigenwerte

57

Ubersicht

1 SVD HauptsatzDer SVD-SatzKonstruktion am Beispiel Methodologie IKonstruktionsmethodologie II

2 Interpretation der SVD

3 Reduced SVD

4 Verwendung in NLP

58

Dichte Embeddings

A ist Matrix von m WorternTermen und n Kontexten (PPMIfrequency )Reduced SVD resultiert in Ak mit

Umtimesk ist mtimes k - MatrixZeilen von Umtimesk reprasentieren TermeSpalten in Umtimesk latente Reprasentation der KontexteBenutze Umtimesk middotΣktimesk zur Berechnung von Termahnlichkeiten

Vorteile gegenuber der vollen Term-Kontext-MatrixDichte MatrixDimensionsreduktion effizientere VerarbeitungDe-Noising

59

Dichte Embeddings

A ist Matrix von m WorternTermen und n Kontexten (PPMIfrequency )Reduced SVD resultiert in Ak mit

Umtimesk ist mtimes k - MatrixZeilen von Umtimesk reprasentieren TermeSpalten in Umtimesk latente Reprasentation der KontexteBenutze Umtimesk middotΣktimesk zur Berechnung von Termahnlichkeiten

Vorteile gegenuber der vollen Term-Kontext-MatrixDichte MatrixDimensionsreduktion effizientere VerarbeitungDe-Noising

59

Dichte Embeddings

A ist Matrix von m WorternTermen und n Kontexten (PPMIfrequency )Reduced SVD resultiert in Ak mit

Umtimesk ist mtimes k - MatrixZeilen von Umtimesk reprasentieren TermeSpalten in Umtimesk latente Reprasentation der KontexteBenutze Umtimesk middotΣktimesk zur Berechnung von Termahnlichkeiten

Vorteile gegenuber der vollen Term-Kontext-MatrixDichte MatrixDimensionsreduktion effizientere VerarbeitungDe-Noising

59

Das Beispiel vom Anfang

Eine Wort-Dokument-Matrix M aus dem R5times3

d1 d2 d3ship 1 1 0boat 0 0 1

ocean 1 0 1motor 1 0 1wood 0 1 0

cossim(shipboat) = 0

cossim(shipocean) =12

cossim(boatocean) =1radic2

= 07

60

SVD Zerlegung war

minus041 07 024minus029 minus033 minus072minus061 minus02 014minus061 minus02 014minus01 057 minus062

227 0 0

0 149 00 0 078

minus072 minus023 minus066019 085 minus05067 minus048 minus056

=

minus093 104 0187minus0658 minus049 minus056minus138 minus0298 01092minus138 minus0298 minus1092minus0227 084 minus0483

minus072 minus023 minus066

019 085 minus05067 minus048 minus056

=

1 1 00 0 11 0 11 0 10 1 0

Abweichungen sind Rundungsfehler61

Niedrigdimensionale Approximation

Die kleinsten Eigenwerte sind die unwichtigsten Wir konnen dieseldquoweglassenrdquo = auf Null setzenrarr eine Matrix mit kleinerem Rang dieaber relativ ahnlich zur Ausgangsmatrix istminus041 07 024minus029 minus033 minus072minus061 minus02 014minus061 minus02 014minus01 057 minus062

227 0 0

0 149 00 0 0

minus072 minus023 minus066019 085 minus05067 minus048 minus056

=

minus093 104 0minus0658 minus049 0minus138 minus0298 0minus138 minus0298 0minus0227 084 0

minus072 minus023 minus066

019 085 minus05067 minus048 minus056

=

087 109 011038 minus027 068093 005 106093 005 106032 077 minus027

62

Die niedrigdimensionale Approximation

Wir interessieren uns fur die Matrix U2 = UΣ2 also die Matrix mit demniedrigerem Rang

minus093 104 0minus0658 minus049 0minus138 minus0298 0minus138 minus0298 0minus0227 084 0

Man kann diese nun als die Reprasentation unserer 5 Worter mit zweiversteckten Dimensionen auffassen

h1 h2ship minus093 104boat minus0658 minus049

ocean minus138 minus0298motor minus138 minus0298wood minus0227 084

63

Neue Ahnlichkeitsberechnungen

h1 h2ship minus093 104boat minus0658 minus049

ocean minus138 minus0298motor minus138 minus0298wood minus0227 084

cossim(shipboat) =(minus093) middot (minus0658) + 104 middot (minus049)radic

(0932 + 1042) middotradic

(06582 + 0492)= 009

cossim(shipocean) =(minus093) middot (minus138) + 104 middot (minus029)radic

(0932 + 1042) middotradic

(1382 + 0292)= 049

cossim(boatocean) = 09

64

Variationen

Benutze nur Umtimesk zur Ahnlichkeitsberechnung

Benutze Umtimesk middotΣpktimesk zur Ahnlichkeitsberechnungrarr Parameter p

sollte getuned werden Kann groszlige Unterschiede machen

Oft p = 0p = 05p = 1

65

Performanz der Reduced-SVD-Embeddings

Levy O Goldberg Y Neural word embedding as implicit matrix factorization In

Advances in neural information processing systems 2014 S 2177-2185

(Englische) Wikipedia 15 Milliarden Tokens

Fenster 2 beiderseits

Vokabular 189 533 fur Terme sowie Kontexte

PPMI Matrizen

SVD sowie ohne Zerlegung (PPMI) sowie neurale (SGNS)

Algorithmus Spearman Rank zu WordSim 353SVD 0652SGNS 0633PPMI 0605

66

Latent Semantic Analysis und Word Embeddings

Levy2014

ldquoWe analyze skip-gram with negative-sampling (SGNS) [] and show that it isimplicitly factorizing a word-context matrix whose cells are the pointwise mutualinformation (PMI) of the respective word and context pairs shifted by a globalconstant When dense low-dimensional vectors are preferred exact factorizationwith SVD can achieve solutions that are at least as good as SGNSrsquoss solutions forword similarity tasks On analogy questions SGNS remains superior to SVD Weconjecture that this stems from the weighted nature of SGNSrsquos factorizationrdquo

67

Zusammenfassung

Reduced SVD resultiert in einer optimalen Approximation derOriginalmatrix mit niedrigerem Rang Optimal = optimal bzgl derFrobeniusnorm (bzw mean squared error)

Dadurch erhalten wir eine mathematisch fundierte dichtereMatrix die Rauschen (weniger wichtige Dimensionen) eliminiert

Wir konnen mittels Umtimesk Σktimesk weiterhin Wortahnlichkeitenberechnen

Es konnen Resultate erreicht werden die bei word similaritymindestens ebensogut sind wie mit neuralen word embeddings

Nachteile Kosten der SVD Berechnung fur mtimesn matrixO(n middotm2) (when m lt n)rarr Nicht gut fur sehr grosse Matrizen

Nachteile Geht nicht gut mit unbekannten Wortern um

Nachteile schlechter bei Wortanalogieaufgaben

68

Literatur

Guter erweiterter Hintergrundhttptheorystanfordedu˜tims15ll7pdf bishttptheorystanfordedu˜tims15ll9pdf

SVD Tutorial (ohne vollstandigen Hintergrund) Kirk Baker(2005) Singular Value Decomposition Tutorialhttpsdatajobscomdata-science-repoSVD-Tutorial-[Kirk-Baker]pdf Leider ist hier imKonstruktionsverfahren I die Vorzeichenproblematikfalschlicherweise nicht behandelt worden

Levy O Goldberg Y Neural word embedding as implicit matrixfactorization In Advances in neural information processingsystems 2014 S 2177-2185

Ubungsblatt II

69

  • SVD Hauptsatz
    • Der SVD-Satz
    • Konstruktion am Beispiel Methodologie I
    • Konstruktionsmethodologie II
      • Interpretation der SVD
      • Reduced SVD
      • Verwendung in NLP

Beispiel

A = UΣV T =

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00

radic10 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

asymp

(1radic2

1radic2

1radic2

minus1radic2

)(radic12 0 00 0 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(radic12radic2

0 0radic

12radic2

0 0

)1radic6

2radic6

1radic6

2radic5

minus1radic5

01radic30

2radic30

minus5radic30

=

(1 2 11 2 1

)51

Reduced SVD

Wir hatten auch nur die ersten k Spalten von U sowie die ersten kZeilen von V T behalten konnen

Aasymp

(1radic2

1radic2

)(radic12)( 1radic

62radic6

1radic6

)=

(radic12radic2radic

12radic2

)(1radic6

2radic6

1radic6

)=

(1 2 11 2 1

)

52

Als Bild

53

Als Algorithmus

Gegeben mtimesn Matrix A und gewunschter Rank k Wir produziereneine Rangminus k Approximation wie folgt

1 Wir berechnen eine SVD Zerlegung von A

Amtimesn = UmtimesmΣmtimesnV Tntimesn

2 Wir behalten nur die ersten k Spalten von U resultierend in Umtimesk

3 Wir behalten nur die Top k sprich die ersten k Diagonalwerte vonΣ resultierend in Σktimesk

4 Wir behalten nur die ersten k Reihen von V T resultierend in V Tktimesn

54

Reduced SVD

Diagonale Eintrage in Σk sind die k groszligten Eigenwerte vonA middotAT

Satz UΣk V T minimiert die Differenz der Frobenius-Normzwischen A und Ak unter der Bedingung rang(Ak ) = k

Das heisst Fur jede mtimesn Matrix A mit Rang r angestrebtemRang k lt r und jede mtimesn Matrix B mit Rang k gilt

Aminus Ak2 le AminusB2

wobei Ak die Rang-k Approximation ist die man aus der SVD vonA ableiten kann

55

Was hat man erreicht

Unkorrelierte Dimensionen (Orthonormalbasis) die nur nochverzerrt werden

Wir haben die Dimensionen mit der meisten Variation identifiziertund danach geordnet

ldquoUnwichtigerdquo Dimensionen werden weggelassenrarr Rauschenvermindert

Man braucht viel weniger Speicherplatz O(k(n + m)) anstattO(nm)

Die neuen ldquoverstecktenrdquo Dimensionen konnen zurAhnlichkeitsberechnung verwendet werden und funktionieren oftbesser

56

Wie wahlt man k

Meist empirisch Gesehen

1 In NLP oft die ersten 200 bis 300 Dimensionen2 In Recommender Systems Wahle k so dass die Summe der

ersten k Eigenwerte mindestens 10-mal der Summe alleranderen Eigenwerte

57

Ubersicht

1 SVD HauptsatzDer SVD-SatzKonstruktion am Beispiel Methodologie IKonstruktionsmethodologie II

2 Interpretation der SVD

3 Reduced SVD

4 Verwendung in NLP

58

Dichte Embeddings

A ist Matrix von m WorternTermen und n Kontexten (PPMIfrequency )Reduced SVD resultiert in Ak mit

Umtimesk ist mtimes k - MatrixZeilen von Umtimesk reprasentieren TermeSpalten in Umtimesk latente Reprasentation der KontexteBenutze Umtimesk middotΣktimesk zur Berechnung von Termahnlichkeiten

Vorteile gegenuber der vollen Term-Kontext-MatrixDichte MatrixDimensionsreduktion effizientere VerarbeitungDe-Noising

59

Dichte Embeddings

A ist Matrix von m WorternTermen und n Kontexten (PPMIfrequency )Reduced SVD resultiert in Ak mit

Umtimesk ist mtimes k - MatrixZeilen von Umtimesk reprasentieren TermeSpalten in Umtimesk latente Reprasentation der KontexteBenutze Umtimesk middotΣktimesk zur Berechnung von Termahnlichkeiten

Vorteile gegenuber der vollen Term-Kontext-MatrixDichte MatrixDimensionsreduktion effizientere VerarbeitungDe-Noising

59

Dichte Embeddings

A ist Matrix von m WorternTermen und n Kontexten (PPMIfrequency )Reduced SVD resultiert in Ak mit

Umtimesk ist mtimes k - MatrixZeilen von Umtimesk reprasentieren TermeSpalten in Umtimesk latente Reprasentation der KontexteBenutze Umtimesk middotΣktimesk zur Berechnung von Termahnlichkeiten

Vorteile gegenuber der vollen Term-Kontext-MatrixDichte MatrixDimensionsreduktion effizientere VerarbeitungDe-Noising

59

Das Beispiel vom Anfang

Eine Wort-Dokument-Matrix M aus dem R5times3

d1 d2 d3ship 1 1 0boat 0 0 1

ocean 1 0 1motor 1 0 1wood 0 1 0

cossim(shipboat) = 0

cossim(shipocean) =12

cossim(boatocean) =1radic2

= 07

60

SVD Zerlegung war

minus041 07 024minus029 minus033 minus072minus061 minus02 014minus061 minus02 014minus01 057 minus062

227 0 0

0 149 00 0 078

minus072 minus023 minus066019 085 minus05067 minus048 minus056

=

minus093 104 0187minus0658 minus049 minus056minus138 minus0298 01092minus138 minus0298 minus1092minus0227 084 minus0483

minus072 minus023 minus066

019 085 minus05067 minus048 minus056

=

1 1 00 0 11 0 11 0 10 1 0

Abweichungen sind Rundungsfehler61

Niedrigdimensionale Approximation

Die kleinsten Eigenwerte sind die unwichtigsten Wir konnen dieseldquoweglassenrdquo = auf Null setzenrarr eine Matrix mit kleinerem Rang dieaber relativ ahnlich zur Ausgangsmatrix istminus041 07 024minus029 minus033 minus072minus061 minus02 014minus061 minus02 014minus01 057 minus062

227 0 0

0 149 00 0 0

minus072 minus023 minus066019 085 minus05067 minus048 minus056

=

minus093 104 0minus0658 minus049 0minus138 minus0298 0minus138 minus0298 0minus0227 084 0

minus072 minus023 minus066

019 085 minus05067 minus048 minus056

=

087 109 011038 minus027 068093 005 106093 005 106032 077 minus027

62

Die niedrigdimensionale Approximation

Wir interessieren uns fur die Matrix U2 = UΣ2 also die Matrix mit demniedrigerem Rang

minus093 104 0minus0658 minus049 0minus138 minus0298 0minus138 minus0298 0minus0227 084 0

Man kann diese nun als die Reprasentation unserer 5 Worter mit zweiversteckten Dimensionen auffassen

h1 h2ship minus093 104boat minus0658 minus049

ocean minus138 minus0298motor minus138 minus0298wood minus0227 084

63

Neue Ahnlichkeitsberechnungen

h1 h2ship minus093 104boat minus0658 minus049

ocean minus138 minus0298motor minus138 minus0298wood minus0227 084

cossim(shipboat) =(minus093) middot (minus0658) + 104 middot (minus049)radic

(0932 + 1042) middotradic

(06582 + 0492)= 009

cossim(shipocean) =(minus093) middot (minus138) + 104 middot (minus029)radic

(0932 + 1042) middotradic

(1382 + 0292)= 049

cossim(boatocean) = 09

64

Variationen

Benutze nur Umtimesk zur Ahnlichkeitsberechnung

Benutze Umtimesk middotΣpktimesk zur Ahnlichkeitsberechnungrarr Parameter p

sollte getuned werden Kann groszlige Unterschiede machen

Oft p = 0p = 05p = 1

65

Performanz der Reduced-SVD-Embeddings

Levy O Goldberg Y Neural word embedding as implicit matrix factorization In

Advances in neural information processing systems 2014 S 2177-2185

(Englische) Wikipedia 15 Milliarden Tokens

Fenster 2 beiderseits

Vokabular 189 533 fur Terme sowie Kontexte

PPMI Matrizen

SVD sowie ohne Zerlegung (PPMI) sowie neurale (SGNS)

Algorithmus Spearman Rank zu WordSim 353SVD 0652SGNS 0633PPMI 0605

66

Latent Semantic Analysis und Word Embeddings

Levy2014

ldquoWe analyze skip-gram with negative-sampling (SGNS) [] and show that it isimplicitly factorizing a word-context matrix whose cells are the pointwise mutualinformation (PMI) of the respective word and context pairs shifted by a globalconstant When dense low-dimensional vectors are preferred exact factorizationwith SVD can achieve solutions that are at least as good as SGNSrsquoss solutions forword similarity tasks On analogy questions SGNS remains superior to SVD Weconjecture that this stems from the weighted nature of SGNSrsquos factorizationrdquo

67

Zusammenfassung

Reduced SVD resultiert in einer optimalen Approximation derOriginalmatrix mit niedrigerem Rang Optimal = optimal bzgl derFrobeniusnorm (bzw mean squared error)

Dadurch erhalten wir eine mathematisch fundierte dichtereMatrix die Rauschen (weniger wichtige Dimensionen) eliminiert

Wir konnen mittels Umtimesk Σktimesk weiterhin Wortahnlichkeitenberechnen

Es konnen Resultate erreicht werden die bei word similaritymindestens ebensogut sind wie mit neuralen word embeddings

Nachteile Kosten der SVD Berechnung fur mtimesn matrixO(n middotm2) (when m lt n)rarr Nicht gut fur sehr grosse Matrizen

Nachteile Geht nicht gut mit unbekannten Wortern um

Nachteile schlechter bei Wortanalogieaufgaben

68

Literatur

Guter erweiterter Hintergrundhttptheorystanfordedu˜tims15ll7pdf bishttptheorystanfordedu˜tims15ll9pdf

SVD Tutorial (ohne vollstandigen Hintergrund) Kirk Baker(2005) Singular Value Decomposition Tutorialhttpsdatajobscomdata-science-repoSVD-Tutorial-[Kirk-Baker]pdf Leider ist hier imKonstruktionsverfahren I die Vorzeichenproblematikfalschlicherweise nicht behandelt worden

Levy O Goldberg Y Neural word embedding as implicit matrixfactorization In Advances in neural information processingsystems 2014 S 2177-2185

Ubungsblatt II

69

  • SVD Hauptsatz
    • Der SVD-Satz
    • Konstruktion am Beispiel Methodologie I
    • Konstruktionsmethodologie II
      • Interpretation der SVD
      • Reduced SVD
      • Verwendung in NLP

Reduced SVD

Wir hatten auch nur die ersten k Spalten von U sowie die ersten kZeilen von V T behalten konnen

Aasymp

(1radic2

1radic2

)(radic12)( 1radic

62radic6

1radic6

)=

(radic12radic2radic

12radic2

)(1radic6

2radic6

1radic6

)=

(1 2 11 2 1

)

52

Als Bild

53

Als Algorithmus

Gegeben mtimesn Matrix A und gewunschter Rank k Wir produziereneine Rangminus k Approximation wie folgt

1 Wir berechnen eine SVD Zerlegung von A

Amtimesn = UmtimesmΣmtimesnV Tntimesn

2 Wir behalten nur die ersten k Spalten von U resultierend in Umtimesk

3 Wir behalten nur die Top k sprich die ersten k Diagonalwerte vonΣ resultierend in Σktimesk

4 Wir behalten nur die ersten k Reihen von V T resultierend in V Tktimesn

54

Reduced SVD

Diagonale Eintrage in Σk sind die k groszligten Eigenwerte vonA middotAT

Satz UΣk V T minimiert die Differenz der Frobenius-Normzwischen A und Ak unter der Bedingung rang(Ak ) = k

Das heisst Fur jede mtimesn Matrix A mit Rang r angestrebtemRang k lt r und jede mtimesn Matrix B mit Rang k gilt

Aminus Ak2 le AminusB2

wobei Ak die Rang-k Approximation ist die man aus der SVD vonA ableiten kann

55

Was hat man erreicht

Unkorrelierte Dimensionen (Orthonormalbasis) die nur nochverzerrt werden

Wir haben die Dimensionen mit der meisten Variation identifiziertund danach geordnet

ldquoUnwichtigerdquo Dimensionen werden weggelassenrarr Rauschenvermindert

Man braucht viel weniger Speicherplatz O(k(n + m)) anstattO(nm)

Die neuen ldquoverstecktenrdquo Dimensionen konnen zurAhnlichkeitsberechnung verwendet werden und funktionieren oftbesser

56

Wie wahlt man k

Meist empirisch Gesehen

1 In NLP oft die ersten 200 bis 300 Dimensionen2 In Recommender Systems Wahle k so dass die Summe der

ersten k Eigenwerte mindestens 10-mal der Summe alleranderen Eigenwerte

57

Ubersicht

1 SVD HauptsatzDer SVD-SatzKonstruktion am Beispiel Methodologie IKonstruktionsmethodologie II

2 Interpretation der SVD

3 Reduced SVD

4 Verwendung in NLP

58

Dichte Embeddings

A ist Matrix von m WorternTermen und n Kontexten (PPMIfrequency )Reduced SVD resultiert in Ak mit

Umtimesk ist mtimes k - MatrixZeilen von Umtimesk reprasentieren TermeSpalten in Umtimesk latente Reprasentation der KontexteBenutze Umtimesk middotΣktimesk zur Berechnung von Termahnlichkeiten

Vorteile gegenuber der vollen Term-Kontext-MatrixDichte MatrixDimensionsreduktion effizientere VerarbeitungDe-Noising

59

Dichte Embeddings

A ist Matrix von m WorternTermen und n Kontexten (PPMIfrequency )Reduced SVD resultiert in Ak mit

Umtimesk ist mtimes k - MatrixZeilen von Umtimesk reprasentieren TermeSpalten in Umtimesk latente Reprasentation der KontexteBenutze Umtimesk middotΣktimesk zur Berechnung von Termahnlichkeiten

Vorteile gegenuber der vollen Term-Kontext-MatrixDichte MatrixDimensionsreduktion effizientere VerarbeitungDe-Noising

59

Dichte Embeddings

A ist Matrix von m WorternTermen und n Kontexten (PPMIfrequency )Reduced SVD resultiert in Ak mit

Umtimesk ist mtimes k - MatrixZeilen von Umtimesk reprasentieren TermeSpalten in Umtimesk latente Reprasentation der KontexteBenutze Umtimesk middotΣktimesk zur Berechnung von Termahnlichkeiten

Vorteile gegenuber der vollen Term-Kontext-MatrixDichte MatrixDimensionsreduktion effizientere VerarbeitungDe-Noising

59

Das Beispiel vom Anfang

Eine Wort-Dokument-Matrix M aus dem R5times3

d1 d2 d3ship 1 1 0boat 0 0 1

ocean 1 0 1motor 1 0 1wood 0 1 0

cossim(shipboat) = 0

cossim(shipocean) =12

cossim(boatocean) =1radic2

= 07

60

SVD Zerlegung war

minus041 07 024minus029 minus033 minus072minus061 minus02 014minus061 minus02 014minus01 057 minus062

227 0 0

0 149 00 0 078

minus072 minus023 minus066019 085 minus05067 minus048 minus056

=

minus093 104 0187minus0658 minus049 minus056minus138 minus0298 01092minus138 minus0298 minus1092minus0227 084 minus0483

minus072 minus023 minus066

019 085 minus05067 minus048 minus056

=

1 1 00 0 11 0 11 0 10 1 0

Abweichungen sind Rundungsfehler61

Niedrigdimensionale Approximation

Die kleinsten Eigenwerte sind die unwichtigsten Wir konnen dieseldquoweglassenrdquo = auf Null setzenrarr eine Matrix mit kleinerem Rang dieaber relativ ahnlich zur Ausgangsmatrix istminus041 07 024minus029 minus033 minus072minus061 minus02 014minus061 minus02 014minus01 057 minus062

227 0 0

0 149 00 0 0

minus072 minus023 minus066019 085 minus05067 minus048 minus056

=

minus093 104 0minus0658 minus049 0minus138 minus0298 0minus138 minus0298 0minus0227 084 0

minus072 minus023 minus066

019 085 minus05067 minus048 minus056

=

087 109 011038 minus027 068093 005 106093 005 106032 077 minus027

62

Die niedrigdimensionale Approximation

Wir interessieren uns fur die Matrix U2 = UΣ2 also die Matrix mit demniedrigerem Rang

minus093 104 0minus0658 minus049 0minus138 minus0298 0minus138 minus0298 0minus0227 084 0

Man kann diese nun als die Reprasentation unserer 5 Worter mit zweiversteckten Dimensionen auffassen

h1 h2ship minus093 104boat minus0658 minus049

ocean minus138 minus0298motor minus138 minus0298wood minus0227 084

63

Neue Ahnlichkeitsberechnungen

h1 h2ship minus093 104boat minus0658 minus049

ocean minus138 minus0298motor minus138 minus0298wood minus0227 084

cossim(shipboat) =(minus093) middot (minus0658) + 104 middot (minus049)radic

(0932 + 1042) middotradic

(06582 + 0492)= 009

cossim(shipocean) =(minus093) middot (minus138) + 104 middot (minus029)radic

(0932 + 1042) middotradic

(1382 + 0292)= 049

cossim(boatocean) = 09

64

Variationen

Benutze nur Umtimesk zur Ahnlichkeitsberechnung

Benutze Umtimesk middotΣpktimesk zur Ahnlichkeitsberechnungrarr Parameter p

sollte getuned werden Kann groszlige Unterschiede machen

Oft p = 0p = 05p = 1

65

Performanz der Reduced-SVD-Embeddings

Levy O Goldberg Y Neural word embedding as implicit matrix factorization In

Advances in neural information processing systems 2014 S 2177-2185

(Englische) Wikipedia 15 Milliarden Tokens

Fenster 2 beiderseits

Vokabular 189 533 fur Terme sowie Kontexte

PPMI Matrizen

SVD sowie ohne Zerlegung (PPMI) sowie neurale (SGNS)

Algorithmus Spearman Rank zu WordSim 353SVD 0652SGNS 0633PPMI 0605

66

Latent Semantic Analysis und Word Embeddings

Levy2014

ldquoWe analyze skip-gram with negative-sampling (SGNS) [] and show that it isimplicitly factorizing a word-context matrix whose cells are the pointwise mutualinformation (PMI) of the respective word and context pairs shifted by a globalconstant When dense low-dimensional vectors are preferred exact factorizationwith SVD can achieve solutions that are at least as good as SGNSrsquoss solutions forword similarity tasks On analogy questions SGNS remains superior to SVD Weconjecture that this stems from the weighted nature of SGNSrsquos factorizationrdquo

67

Zusammenfassung

Reduced SVD resultiert in einer optimalen Approximation derOriginalmatrix mit niedrigerem Rang Optimal = optimal bzgl derFrobeniusnorm (bzw mean squared error)

Dadurch erhalten wir eine mathematisch fundierte dichtereMatrix die Rauschen (weniger wichtige Dimensionen) eliminiert

Wir konnen mittels Umtimesk Σktimesk weiterhin Wortahnlichkeitenberechnen

Es konnen Resultate erreicht werden die bei word similaritymindestens ebensogut sind wie mit neuralen word embeddings

Nachteile Kosten der SVD Berechnung fur mtimesn matrixO(n middotm2) (when m lt n)rarr Nicht gut fur sehr grosse Matrizen

Nachteile Geht nicht gut mit unbekannten Wortern um

Nachteile schlechter bei Wortanalogieaufgaben

68

Literatur

Guter erweiterter Hintergrundhttptheorystanfordedu˜tims15ll7pdf bishttptheorystanfordedu˜tims15ll9pdf

SVD Tutorial (ohne vollstandigen Hintergrund) Kirk Baker(2005) Singular Value Decomposition Tutorialhttpsdatajobscomdata-science-repoSVD-Tutorial-[Kirk-Baker]pdf Leider ist hier imKonstruktionsverfahren I die Vorzeichenproblematikfalschlicherweise nicht behandelt worden

Levy O Goldberg Y Neural word embedding as implicit matrixfactorization In Advances in neural information processingsystems 2014 S 2177-2185

Ubungsblatt II

69

  • SVD Hauptsatz
    • Der SVD-Satz
    • Konstruktion am Beispiel Methodologie I
    • Konstruktionsmethodologie II
      • Interpretation der SVD
      • Reduced SVD
      • Verwendung in NLP

Als Bild

53

Als Algorithmus

Gegeben mtimesn Matrix A und gewunschter Rank k Wir produziereneine Rangminus k Approximation wie folgt

1 Wir berechnen eine SVD Zerlegung von A

Amtimesn = UmtimesmΣmtimesnV Tntimesn

2 Wir behalten nur die ersten k Spalten von U resultierend in Umtimesk

3 Wir behalten nur die Top k sprich die ersten k Diagonalwerte vonΣ resultierend in Σktimesk

4 Wir behalten nur die ersten k Reihen von V T resultierend in V Tktimesn

54

Reduced SVD

Diagonale Eintrage in Σk sind die k groszligten Eigenwerte vonA middotAT

Satz UΣk V T minimiert die Differenz der Frobenius-Normzwischen A und Ak unter der Bedingung rang(Ak ) = k

Das heisst Fur jede mtimesn Matrix A mit Rang r angestrebtemRang k lt r und jede mtimesn Matrix B mit Rang k gilt

Aminus Ak2 le AminusB2

wobei Ak die Rang-k Approximation ist die man aus der SVD vonA ableiten kann

55

Was hat man erreicht

Unkorrelierte Dimensionen (Orthonormalbasis) die nur nochverzerrt werden

Wir haben die Dimensionen mit der meisten Variation identifiziertund danach geordnet

ldquoUnwichtigerdquo Dimensionen werden weggelassenrarr Rauschenvermindert

Man braucht viel weniger Speicherplatz O(k(n + m)) anstattO(nm)

Die neuen ldquoverstecktenrdquo Dimensionen konnen zurAhnlichkeitsberechnung verwendet werden und funktionieren oftbesser

56

Wie wahlt man k

Meist empirisch Gesehen

1 In NLP oft die ersten 200 bis 300 Dimensionen2 In Recommender Systems Wahle k so dass die Summe der

ersten k Eigenwerte mindestens 10-mal der Summe alleranderen Eigenwerte

57

Ubersicht

1 SVD HauptsatzDer SVD-SatzKonstruktion am Beispiel Methodologie IKonstruktionsmethodologie II

2 Interpretation der SVD

3 Reduced SVD

4 Verwendung in NLP

58

Dichte Embeddings

A ist Matrix von m WorternTermen und n Kontexten (PPMIfrequency )Reduced SVD resultiert in Ak mit

Umtimesk ist mtimes k - MatrixZeilen von Umtimesk reprasentieren TermeSpalten in Umtimesk latente Reprasentation der KontexteBenutze Umtimesk middotΣktimesk zur Berechnung von Termahnlichkeiten

Vorteile gegenuber der vollen Term-Kontext-MatrixDichte MatrixDimensionsreduktion effizientere VerarbeitungDe-Noising

59

Dichte Embeddings

A ist Matrix von m WorternTermen und n Kontexten (PPMIfrequency )Reduced SVD resultiert in Ak mit

Umtimesk ist mtimes k - MatrixZeilen von Umtimesk reprasentieren TermeSpalten in Umtimesk latente Reprasentation der KontexteBenutze Umtimesk middotΣktimesk zur Berechnung von Termahnlichkeiten

Vorteile gegenuber der vollen Term-Kontext-MatrixDichte MatrixDimensionsreduktion effizientere VerarbeitungDe-Noising

59

Dichte Embeddings

A ist Matrix von m WorternTermen und n Kontexten (PPMIfrequency )Reduced SVD resultiert in Ak mit

Umtimesk ist mtimes k - MatrixZeilen von Umtimesk reprasentieren TermeSpalten in Umtimesk latente Reprasentation der KontexteBenutze Umtimesk middotΣktimesk zur Berechnung von Termahnlichkeiten

Vorteile gegenuber der vollen Term-Kontext-MatrixDichte MatrixDimensionsreduktion effizientere VerarbeitungDe-Noising

59

Das Beispiel vom Anfang

Eine Wort-Dokument-Matrix M aus dem R5times3

d1 d2 d3ship 1 1 0boat 0 0 1

ocean 1 0 1motor 1 0 1wood 0 1 0

cossim(shipboat) = 0

cossim(shipocean) =12

cossim(boatocean) =1radic2

= 07

60

SVD Zerlegung war

minus041 07 024minus029 minus033 minus072minus061 minus02 014minus061 minus02 014minus01 057 minus062

227 0 0

0 149 00 0 078

minus072 minus023 minus066019 085 minus05067 minus048 minus056

=

minus093 104 0187minus0658 minus049 minus056minus138 minus0298 01092minus138 minus0298 minus1092minus0227 084 minus0483

minus072 minus023 minus066

019 085 minus05067 minus048 minus056

=

1 1 00 0 11 0 11 0 10 1 0

Abweichungen sind Rundungsfehler61

Niedrigdimensionale Approximation

Die kleinsten Eigenwerte sind die unwichtigsten Wir konnen dieseldquoweglassenrdquo = auf Null setzenrarr eine Matrix mit kleinerem Rang dieaber relativ ahnlich zur Ausgangsmatrix istminus041 07 024minus029 minus033 minus072minus061 minus02 014minus061 minus02 014minus01 057 minus062

227 0 0

0 149 00 0 0

minus072 minus023 minus066019 085 minus05067 minus048 minus056

=

minus093 104 0minus0658 minus049 0minus138 minus0298 0minus138 minus0298 0minus0227 084 0

minus072 minus023 minus066

019 085 minus05067 minus048 minus056

=

087 109 011038 minus027 068093 005 106093 005 106032 077 minus027

62

Die niedrigdimensionale Approximation

Wir interessieren uns fur die Matrix U2 = UΣ2 also die Matrix mit demniedrigerem Rang

minus093 104 0minus0658 minus049 0minus138 minus0298 0minus138 minus0298 0minus0227 084 0

Man kann diese nun als die Reprasentation unserer 5 Worter mit zweiversteckten Dimensionen auffassen

h1 h2ship minus093 104boat minus0658 minus049

ocean minus138 minus0298motor minus138 minus0298wood minus0227 084

63

Neue Ahnlichkeitsberechnungen

h1 h2ship minus093 104boat minus0658 minus049

ocean minus138 minus0298motor minus138 minus0298wood minus0227 084

cossim(shipboat) =(minus093) middot (minus0658) + 104 middot (minus049)radic

(0932 + 1042) middotradic

(06582 + 0492)= 009

cossim(shipocean) =(minus093) middot (minus138) + 104 middot (minus029)radic

(0932 + 1042) middotradic

(1382 + 0292)= 049

cossim(boatocean) = 09

64

Variationen

Benutze nur Umtimesk zur Ahnlichkeitsberechnung

Benutze Umtimesk middotΣpktimesk zur Ahnlichkeitsberechnungrarr Parameter p

sollte getuned werden Kann groszlige Unterschiede machen

Oft p = 0p = 05p = 1

65

Performanz der Reduced-SVD-Embeddings

Levy O Goldberg Y Neural word embedding as implicit matrix factorization In

Advances in neural information processing systems 2014 S 2177-2185

(Englische) Wikipedia 15 Milliarden Tokens

Fenster 2 beiderseits

Vokabular 189 533 fur Terme sowie Kontexte

PPMI Matrizen

SVD sowie ohne Zerlegung (PPMI) sowie neurale (SGNS)

Algorithmus Spearman Rank zu WordSim 353SVD 0652SGNS 0633PPMI 0605

66

Latent Semantic Analysis und Word Embeddings

Levy2014

ldquoWe analyze skip-gram with negative-sampling (SGNS) [] and show that it isimplicitly factorizing a word-context matrix whose cells are the pointwise mutualinformation (PMI) of the respective word and context pairs shifted by a globalconstant When dense low-dimensional vectors are preferred exact factorizationwith SVD can achieve solutions that are at least as good as SGNSrsquoss solutions forword similarity tasks On analogy questions SGNS remains superior to SVD Weconjecture that this stems from the weighted nature of SGNSrsquos factorizationrdquo

67

Zusammenfassung

Reduced SVD resultiert in einer optimalen Approximation derOriginalmatrix mit niedrigerem Rang Optimal = optimal bzgl derFrobeniusnorm (bzw mean squared error)

Dadurch erhalten wir eine mathematisch fundierte dichtereMatrix die Rauschen (weniger wichtige Dimensionen) eliminiert

Wir konnen mittels Umtimesk Σktimesk weiterhin Wortahnlichkeitenberechnen

Es konnen Resultate erreicht werden die bei word similaritymindestens ebensogut sind wie mit neuralen word embeddings

Nachteile Kosten der SVD Berechnung fur mtimesn matrixO(n middotm2) (when m lt n)rarr Nicht gut fur sehr grosse Matrizen

Nachteile Geht nicht gut mit unbekannten Wortern um

Nachteile schlechter bei Wortanalogieaufgaben

68

Literatur

Guter erweiterter Hintergrundhttptheorystanfordedu˜tims15ll7pdf bishttptheorystanfordedu˜tims15ll9pdf

SVD Tutorial (ohne vollstandigen Hintergrund) Kirk Baker(2005) Singular Value Decomposition Tutorialhttpsdatajobscomdata-science-repoSVD-Tutorial-[Kirk-Baker]pdf Leider ist hier imKonstruktionsverfahren I die Vorzeichenproblematikfalschlicherweise nicht behandelt worden

Levy O Goldberg Y Neural word embedding as implicit matrixfactorization In Advances in neural information processingsystems 2014 S 2177-2185

Ubungsblatt II

69

  • SVD Hauptsatz
    • Der SVD-Satz
    • Konstruktion am Beispiel Methodologie I
    • Konstruktionsmethodologie II
      • Interpretation der SVD
      • Reduced SVD
      • Verwendung in NLP

Als Algorithmus

Gegeben mtimesn Matrix A und gewunschter Rank k Wir produziereneine Rangminus k Approximation wie folgt

1 Wir berechnen eine SVD Zerlegung von A

Amtimesn = UmtimesmΣmtimesnV Tntimesn

2 Wir behalten nur die ersten k Spalten von U resultierend in Umtimesk

3 Wir behalten nur die Top k sprich die ersten k Diagonalwerte vonΣ resultierend in Σktimesk

4 Wir behalten nur die ersten k Reihen von V T resultierend in V Tktimesn

54

Reduced SVD

Diagonale Eintrage in Σk sind die k groszligten Eigenwerte vonA middotAT

Satz UΣk V T minimiert die Differenz der Frobenius-Normzwischen A und Ak unter der Bedingung rang(Ak ) = k

Das heisst Fur jede mtimesn Matrix A mit Rang r angestrebtemRang k lt r und jede mtimesn Matrix B mit Rang k gilt

Aminus Ak2 le AminusB2

wobei Ak die Rang-k Approximation ist die man aus der SVD vonA ableiten kann

55

Was hat man erreicht

Unkorrelierte Dimensionen (Orthonormalbasis) die nur nochverzerrt werden

Wir haben die Dimensionen mit der meisten Variation identifiziertund danach geordnet

ldquoUnwichtigerdquo Dimensionen werden weggelassenrarr Rauschenvermindert

Man braucht viel weniger Speicherplatz O(k(n + m)) anstattO(nm)

Die neuen ldquoverstecktenrdquo Dimensionen konnen zurAhnlichkeitsberechnung verwendet werden und funktionieren oftbesser

56

Wie wahlt man k

Meist empirisch Gesehen

1 In NLP oft die ersten 200 bis 300 Dimensionen2 In Recommender Systems Wahle k so dass die Summe der

ersten k Eigenwerte mindestens 10-mal der Summe alleranderen Eigenwerte

57

Ubersicht

1 SVD HauptsatzDer SVD-SatzKonstruktion am Beispiel Methodologie IKonstruktionsmethodologie II

2 Interpretation der SVD

3 Reduced SVD

4 Verwendung in NLP

58

Dichte Embeddings

A ist Matrix von m WorternTermen und n Kontexten (PPMIfrequency )Reduced SVD resultiert in Ak mit

Umtimesk ist mtimes k - MatrixZeilen von Umtimesk reprasentieren TermeSpalten in Umtimesk latente Reprasentation der KontexteBenutze Umtimesk middotΣktimesk zur Berechnung von Termahnlichkeiten

Vorteile gegenuber der vollen Term-Kontext-MatrixDichte MatrixDimensionsreduktion effizientere VerarbeitungDe-Noising

59

Dichte Embeddings

A ist Matrix von m WorternTermen und n Kontexten (PPMIfrequency )Reduced SVD resultiert in Ak mit

Umtimesk ist mtimes k - MatrixZeilen von Umtimesk reprasentieren TermeSpalten in Umtimesk latente Reprasentation der KontexteBenutze Umtimesk middotΣktimesk zur Berechnung von Termahnlichkeiten

Vorteile gegenuber der vollen Term-Kontext-MatrixDichte MatrixDimensionsreduktion effizientere VerarbeitungDe-Noising

59

Dichte Embeddings

A ist Matrix von m WorternTermen und n Kontexten (PPMIfrequency )Reduced SVD resultiert in Ak mit

Umtimesk ist mtimes k - MatrixZeilen von Umtimesk reprasentieren TermeSpalten in Umtimesk latente Reprasentation der KontexteBenutze Umtimesk middotΣktimesk zur Berechnung von Termahnlichkeiten

Vorteile gegenuber der vollen Term-Kontext-MatrixDichte MatrixDimensionsreduktion effizientere VerarbeitungDe-Noising

59

Das Beispiel vom Anfang

Eine Wort-Dokument-Matrix M aus dem R5times3

d1 d2 d3ship 1 1 0boat 0 0 1

ocean 1 0 1motor 1 0 1wood 0 1 0

cossim(shipboat) = 0

cossim(shipocean) =12

cossim(boatocean) =1radic2

= 07

60

SVD Zerlegung war

minus041 07 024minus029 minus033 minus072minus061 minus02 014minus061 minus02 014minus01 057 minus062

227 0 0

0 149 00 0 078

minus072 minus023 minus066019 085 minus05067 minus048 minus056

=

minus093 104 0187minus0658 minus049 minus056minus138 minus0298 01092minus138 minus0298 minus1092minus0227 084 minus0483

minus072 minus023 minus066

019 085 minus05067 minus048 minus056

=

1 1 00 0 11 0 11 0 10 1 0

Abweichungen sind Rundungsfehler61

Niedrigdimensionale Approximation

Die kleinsten Eigenwerte sind die unwichtigsten Wir konnen dieseldquoweglassenrdquo = auf Null setzenrarr eine Matrix mit kleinerem Rang dieaber relativ ahnlich zur Ausgangsmatrix istminus041 07 024minus029 minus033 minus072minus061 minus02 014minus061 minus02 014minus01 057 minus062

227 0 0

0 149 00 0 0

minus072 minus023 minus066019 085 minus05067 minus048 minus056

=

minus093 104 0minus0658 minus049 0minus138 minus0298 0minus138 minus0298 0minus0227 084 0

minus072 minus023 minus066

019 085 minus05067 minus048 minus056

=

087 109 011038 minus027 068093 005 106093 005 106032 077 minus027

62

Die niedrigdimensionale Approximation

Wir interessieren uns fur die Matrix U2 = UΣ2 also die Matrix mit demniedrigerem Rang

minus093 104 0minus0658 minus049 0minus138 minus0298 0minus138 minus0298 0minus0227 084 0

Man kann diese nun als die Reprasentation unserer 5 Worter mit zweiversteckten Dimensionen auffassen

h1 h2ship minus093 104boat minus0658 minus049

ocean minus138 minus0298motor minus138 minus0298wood minus0227 084

63

Neue Ahnlichkeitsberechnungen

h1 h2ship minus093 104boat minus0658 minus049

ocean minus138 minus0298motor minus138 minus0298wood minus0227 084

cossim(shipboat) =(minus093) middot (minus0658) + 104 middot (minus049)radic

(0932 + 1042) middotradic

(06582 + 0492)= 009

cossim(shipocean) =(minus093) middot (minus138) + 104 middot (minus029)radic

(0932 + 1042) middotradic

(1382 + 0292)= 049

cossim(boatocean) = 09

64

Variationen

Benutze nur Umtimesk zur Ahnlichkeitsberechnung

Benutze Umtimesk middotΣpktimesk zur Ahnlichkeitsberechnungrarr Parameter p

sollte getuned werden Kann groszlige Unterschiede machen

Oft p = 0p = 05p = 1

65

Performanz der Reduced-SVD-Embeddings

Levy O Goldberg Y Neural word embedding as implicit matrix factorization In

Advances in neural information processing systems 2014 S 2177-2185

(Englische) Wikipedia 15 Milliarden Tokens

Fenster 2 beiderseits

Vokabular 189 533 fur Terme sowie Kontexte

PPMI Matrizen

SVD sowie ohne Zerlegung (PPMI) sowie neurale (SGNS)

Algorithmus Spearman Rank zu WordSim 353SVD 0652SGNS 0633PPMI 0605

66

Latent Semantic Analysis und Word Embeddings

Levy2014

ldquoWe analyze skip-gram with negative-sampling (SGNS) [] and show that it isimplicitly factorizing a word-context matrix whose cells are the pointwise mutualinformation (PMI) of the respective word and context pairs shifted by a globalconstant When dense low-dimensional vectors are preferred exact factorizationwith SVD can achieve solutions that are at least as good as SGNSrsquoss solutions forword similarity tasks On analogy questions SGNS remains superior to SVD Weconjecture that this stems from the weighted nature of SGNSrsquos factorizationrdquo

67

Zusammenfassung

Reduced SVD resultiert in einer optimalen Approximation derOriginalmatrix mit niedrigerem Rang Optimal = optimal bzgl derFrobeniusnorm (bzw mean squared error)

Dadurch erhalten wir eine mathematisch fundierte dichtereMatrix die Rauschen (weniger wichtige Dimensionen) eliminiert

Wir konnen mittels Umtimesk Σktimesk weiterhin Wortahnlichkeitenberechnen

Es konnen Resultate erreicht werden die bei word similaritymindestens ebensogut sind wie mit neuralen word embeddings

Nachteile Kosten der SVD Berechnung fur mtimesn matrixO(n middotm2) (when m lt n)rarr Nicht gut fur sehr grosse Matrizen

Nachteile Geht nicht gut mit unbekannten Wortern um

Nachteile schlechter bei Wortanalogieaufgaben

68

Literatur

Guter erweiterter Hintergrundhttptheorystanfordedu˜tims15ll7pdf bishttptheorystanfordedu˜tims15ll9pdf

SVD Tutorial (ohne vollstandigen Hintergrund) Kirk Baker(2005) Singular Value Decomposition Tutorialhttpsdatajobscomdata-science-repoSVD-Tutorial-[Kirk-Baker]pdf Leider ist hier imKonstruktionsverfahren I die Vorzeichenproblematikfalschlicherweise nicht behandelt worden

Levy O Goldberg Y Neural word embedding as implicit matrixfactorization In Advances in neural information processingsystems 2014 S 2177-2185

Ubungsblatt II

69

  • SVD Hauptsatz
    • Der SVD-Satz
    • Konstruktion am Beispiel Methodologie I
    • Konstruktionsmethodologie II
      • Interpretation der SVD
      • Reduced SVD
      • Verwendung in NLP

Reduced SVD

Diagonale Eintrage in Σk sind die k groszligten Eigenwerte vonA middotAT

Satz UΣk V T minimiert die Differenz der Frobenius-Normzwischen A und Ak unter der Bedingung rang(Ak ) = k

Das heisst Fur jede mtimesn Matrix A mit Rang r angestrebtemRang k lt r und jede mtimesn Matrix B mit Rang k gilt

Aminus Ak2 le AminusB2

wobei Ak die Rang-k Approximation ist die man aus der SVD vonA ableiten kann

55

Was hat man erreicht

Unkorrelierte Dimensionen (Orthonormalbasis) die nur nochverzerrt werden

Wir haben die Dimensionen mit der meisten Variation identifiziertund danach geordnet

ldquoUnwichtigerdquo Dimensionen werden weggelassenrarr Rauschenvermindert

Man braucht viel weniger Speicherplatz O(k(n + m)) anstattO(nm)

Die neuen ldquoverstecktenrdquo Dimensionen konnen zurAhnlichkeitsberechnung verwendet werden und funktionieren oftbesser

56

Wie wahlt man k

Meist empirisch Gesehen

1 In NLP oft die ersten 200 bis 300 Dimensionen2 In Recommender Systems Wahle k so dass die Summe der

ersten k Eigenwerte mindestens 10-mal der Summe alleranderen Eigenwerte

57

Ubersicht

1 SVD HauptsatzDer SVD-SatzKonstruktion am Beispiel Methodologie IKonstruktionsmethodologie II

2 Interpretation der SVD

3 Reduced SVD

4 Verwendung in NLP

58

Dichte Embeddings

A ist Matrix von m WorternTermen und n Kontexten (PPMIfrequency )Reduced SVD resultiert in Ak mit

Umtimesk ist mtimes k - MatrixZeilen von Umtimesk reprasentieren TermeSpalten in Umtimesk latente Reprasentation der KontexteBenutze Umtimesk middotΣktimesk zur Berechnung von Termahnlichkeiten

Vorteile gegenuber der vollen Term-Kontext-MatrixDichte MatrixDimensionsreduktion effizientere VerarbeitungDe-Noising

59

Dichte Embeddings

A ist Matrix von m WorternTermen und n Kontexten (PPMIfrequency )Reduced SVD resultiert in Ak mit

Umtimesk ist mtimes k - MatrixZeilen von Umtimesk reprasentieren TermeSpalten in Umtimesk latente Reprasentation der KontexteBenutze Umtimesk middotΣktimesk zur Berechnung von Termahnlichkeiten

Vorteile gegenuber der vollen Term-Kontext-MatrixDichte MatrixDimensionsreduktion effizientere VerarbeitungDe-Noising

59

Dichte Embeddings

A ist Matrix von m WorternTermen und n Kontexten (PPMIfrequency )Reduced SVD resultiert in Ak mit

Umtimesk ist mtimes k - MatrixZeilen von Umtimesk reprasentieren TermeSpalten in Umtimesk latente Reprasentation der KontexteBenutze Umtimesk middotΣktimesk zur Berechnung von Termahnlichkeiten

Vorteile gegenuber der vollen Term-Kontext-MatrixDichte MatrixDimensionsreduktion effizientere VerarbeitungDe-Noising

59

Das Beispiel vom Anfang

Eine Wort-Dokument-Matrix M aus dem R5times3

d1 d2 d3ship 1 1 0boat 0 0 1

ocean 1 0 1motor 1 0 1wood 0 1 0

cossim(shipboat) = 0

cossim(shipocean) =12

cossim(boatocean) =1radic2

= 07

60

SVD Zerlegung war

minus041 07 024minus029 minus033 minus072minus061 minus02 014minus061 minus02 014minus01 057 minus062

227 0 0

0 149 00 0 078

minus072 minus023 minus066019 085 minus05067 minus048 minus056

=

minus093 104 0187minus0658 minus049 minus056minus138 minus0298 01092minus138 minus0298 minus1092minus0227 084 minus0483

minus072 minus023 minus066

019 085 minus05067 minus048 minus056

=

1 1 00 0 11 0 11 0 10 1 0

Abweichungen sind Rundungsfehler61

Niedrigdimensionale Approximation

Die kleinsten Eigenwerte sind die unwichtigsten Wir konnen dieseldquoweglassenrdquo = auf Null setzenrarr eine Matrix mit kleinerem Rang dieaber relativ ahnlich zur Ausgangsmatrix istminus041 07 024minus029 minus033 minus072minus061 minus02 014minus061 minus02 014minus01 057 minus062

227 0 0

0 149 00 0 0

minus072 minus023 minus066019 085 minus05067 minus048 minus056

=

minus093 104 0minus0658 minus049 0minus138 minus0298 0minus138 minus0298 0minus0227 084 0

minus072 minus023 minus066

019 085 minus05067 minus048 minus056

=

087 109 011038 minus027 068093 005 106093 005 106032 077 minus027

62

Die niedrigdimensionale Approximation

Wir interessieren uns fur die Matrix U2 = UΣ2 also die Matrix mit demniedrigerem Rang

minus093 104 0minus0658 minus049 0minus138 minus0298 0minus138 minus0298 0minus0227 084 0

Man kann diese nun als die Reprasentation unserer 5 Worter mit zweiversteckten Dimensionen auffassen

h1 h2ship minus093 104boat minus0658 minus049

ocean minus138 minus0298motor minus138 minus0298wood minus0227 084

63

Neue Ahnlichkeitsberechnungen

h1 h2ship minus093 104boat minus0658 minus049

ocean minus138 minus0298motor minus138 minus0298wood minus0227 084

cossim(shipboat) =(minus093) middot (minus0658) + 104 middot (minus049)radic

(0932 + 1042) middotradic

(06582 + 0492)= 009

cossim(shipocean) =(minus093) middot (minus138) + 104 middot (minus029)radic

(0932 + 1042) middotradic

(1382 + 0292)= 049

cossim(boatocean) = 09

64

Variationen

Benutze nur Umtimesk zur Ahnlichkeitsberechnung

Benutze Umtimesk middotΣpktimesk zur Ahnlichkeitsberechnungrarr Parameter p

sollte getuned werden Kann groszlige Unterschiede machen

Oft p = 0p = 05p = 1

65

Performanz der Reduced-SVD-Embeddings

Levy O Goldberg Y Neural word embedding as implicit matrix factorization In

Advances in neural information processing systems 2014 S 2177-2185

(Englische) Wikipedia 15 Milliarden Tokens

Fenster 2 beiderseits

Vokabular 189 533 fur Terme sowie Kontexte

PPMI Matrizen

SVD sowie ohne Zerlegung (PPMI) sowie neurale (SGNS)

Algorithmus Spearman Rank zu WordSim 353SVD 0652SGNS 0633PPMI 0605

66

Latent Semantic Analysis und Word Embeddings

Levy2014

ldquoWe analyze skip-gram with negative-sampling (SGNS) [] and show that it isimplicitly factorizing a word-context matrix whose cells are the pointwise mutualinformation (PMI) of the respective word and context pairs shifted by a globalconstant When dense low-dimensional vectors are preferred exact factorizationwith SVD can achieve solutions that are at least as good as SGNSrsquoss solutions forword similarity tasks On analogy questions SGNS remains superior to SVD Weconjecture that this stems from the weighted nature of SGNSrsquos factorizationrdquo

67

Zusammenfassung

Reduced SVD resultiert in einer optimalen Approximation derOriginalmatrix mit niedrigerem Rang Optimal = optimal bzgl derFrobeniusnorm (bzw mean squared error)

Dadurch erhalten wir eine mathematisch fundierte dichtereMatrix die Rauschen (weniger wichtige Dimensionen) eliminiert

Wir konnen mittels Umtimesk Σktimesk weiterhin Wortahnlichkeitenberechnen

Es konnen Resultate erreicht werden die bei word similaritymindestens ebensogut sind wie mit neuralen word embeddings

Nachteile Kosten der SVD Berechnung fur mtimesn matrixO(n middotm2) (when m lt n)rarr Nicht gut fur sehr grosse Matrizen

Nachteile Geht nicht gut mit unbekannten Wortern um

Nachteile schlechter bei Wortanalogieaufgaben

68

Literatur

Guter erweiterter Hintergrundhttptheorystanfordedu˜tims15ll7pdf bishttptheorystanfordedu˜tims15ll9pdf

SVD Tutorial (ohne vollstandigen Hintergrund) Kirk Baker(2005) Singular Value Decomposition Tutorialhttpsdatajobscomdata-science-repoSVD-Tutorial-[Kirk-Baker]pdf Leider ist hier imKonstruktionsverfahren I die Vorzeichenproblematikfalschlicherweise nicht behandelt worden

Levy O Goldberg Y Neural word embedding as implicit matrixfactorization In Advances in neural information processingsystems 2014 S 2177-2185

Ubungsblatt II

69

  • SVD Hauptsatz
    • Der SVD-Satz
    • Konstruktion am Beispiel Methodologie I
    • Konstruktionsmethodologie II
      • Interpretation der SVD
      • Reduced SVD
      • Verwendung in NLP

Was hat man erreicht

Unkorrelierte Dimensionen (Orthonormalbasis) die nur nochverzerrt werden

Wir haben die Dimensionen mit der meisten Variation identifiziertund danach geordnet

ldquoUnwichtigerdquo Dimensionen werden weggelassenrarr Rauschenvermindert

Man braucht viel weniger Speicherplatz O(k(n + m)) anstattO(nm)

Die neuen ldquoverstecktenrdquo Dimensionen konnen zurAhnlichkeitsberechnung verwendet werden und funktionieren oftbesser

56

Wie wahlt man k

Meist empirisch Gesehen

1 In NLP oft die ersten 200 bis 300 Dimensionen2 In Recommender Systems Wahle k so dass die Summe der

ersten k Eigenwerte mindestens 10-mal der Summe alleranderen Eigenwerte

57

Ubersicht

1 SVD HauptsatzDer SVD-SatzKonstruktion am Beispiel Methodologie IKonstruktionsmethodologie II

2 Interpretation der SVD

3 Reduced SVD

4 Verwendung in NLP

58

Dichte Embeddings

A ist Matrix von m WorternTermen und n Kontexten (PPMIfrequency )Reduced SVD resultiert in Ak mit

Umtimesk ist mtimes k - MatrixZeilen von Umtimesk reprasentieren TermeSpalten in Umtimesk latente Reprasentation der KontexteBenutze Umtimesk middotΣktimesk zur Berechnung von Termahnlichkeiten

Vorteile gegenuber der vollen Term-Kontext-MatrixDichte MatrixDimensionsreduktion effizientere VerarbeitungDe-Noising

59

Dichte Embeddings

A ist Matrix von m WorternTermen und n Kontexten (PPMIfrequency )Reduced SVD resultiert in Ak mit

Umtimesk ist mtimes k - MatrixZeilen von Umtimesk reprasentieren TermeSpalten in Umtimesk latente Reprasentation der KontexteBenutze Umtimesk middotΣktimesk zur Berechnung von Termahnlichkeiten

Vorteile gegenuber der vollen Term-Kontext-MatrixDichte MatrixDimensionsreduktion effizientere VerarbeitungDe-Noising

59

Dichte Embeddings

A ist Matrix von m WorternTermen und n Kontexten (PPMIfrequency )Reduced SVD resultiert in Ak mit

Umtimesk ist mtimes k - MatrixZeilen von Umtimesk reprasentieren TermeSpalten in Umtimesk latente Reprasentation der KontexteBenutze Umtimesk middotΣktimesk zur Berechnung von Termahnlichkeiten

Vorteile gegenuber der vollen Term-Kontext-MatrixDichte MatrixDimensionsreduktion effizientere VerarbeitungDe-Noising

59

Das Beispiel vom Anfang

Eine Wort-Dokument-Matrix M aus dem R5times3

d1 d2 d3ship 1 1 0boat 0 0 1

ocean 1 0 1motor 1 0 1wood 0 1 0

cossim(shipboat) = 0

cossim(shipocean) =12

cossim(boatocean) =1radic2

= 07

60

SVD Zerlegung war

minus041 07 024minus029 minus033 minus072minus061 minus02 014minus061 minus02 014minus01 057 minus062

227 0 0

0 149 00 0 078

minus072 minus023 minus066019 085 minus05067 minus048 minus056

=

minus093 104 0187minus0658 minus049 minus056minus138 minus0298 01092minus138 minus0298 minus1092minus0227 084 minus0483

minus072 minus023 minus066

019 085 minus05067 minus048 minus056

=

1 1 00 0 11 0 11 0 10 1 0

Abweichungen sind Rundungsfehler61

Niedrigdimensionale Approximation

Die kleinsten Eigenwerte sind die unwichtigsten Wir konnen dieseldquoweglassenrdquo = auf Null setzenrarr eine Matrix mit kleinerem Rang dieaber relativ ahnlich zur Ausgangsmatrix istminus041 07 024minus029 minus033 minus072minus061 minus02 014minus061 minus02 014minus01 057 minus062

227 0 0

0 149 00 0 0

minus072 minus023 minus066019 085 minus05067 minus048 minus056

=

minus093 104 0minus0658 minus049 0minus138 minus0298 0minus138 minus0298 0minus0227 084 0

minus072 minus023 minus066

019 085 minus05067 minus048 minus056

=

087 109 011038 minus027 068093 005 106093 005 106032 077 minus027

62

Die niedrigdimensionale Approximation

Wir interessieren uns fur die Matrix U2 = UΣ2 also die Matrix mit demniedrigerem Rang

minus093 104 0minus0658 minus049 0minus138 minus0298 0minus138 minus0298 0minus0227 084 0

Man kann diese nun als die Reprasentation unserer 5 Worter mit zweiversteckten Dimensionen auffassen

h1 h2ship minus093 104boat minus0658 minus049

ocean minus138 minus0298motor minus138 minus0298wood minus0227 084

63

Neue Ahnlichkeitsberechnungen

h1 h2ship minus093 104boat minus0658 minus049

ocean minus138 minus0298motor minus138 minus0298wood minus0227 084

cossim(shipboat) =(minus093) middot (minus0658) + 104 middot (minus049)radic

(0932 + 1042) middotradic

(06582 + 0492)= 009

cossim(shipocean) =(minus093) middot (minus138) + 104 middot (minus029)radic

(0932 + 1042) middotradic

(1382 + 0292)= 049

cossim(boatocean) = 09

64

Variationen

Benutze nur Umtimesk zur Ahnlichkeitsberechnung

Benutze Umtimesk middotΣpktimesk zur Ahnlichkeitsberechnungrarr Parameter p

sollte getuned werden Kann groszlige Unterschiede machen

Oft p = 0p = 05p = 1

65

Performanz der Reduced-SVD-Embeddings

Levy O Goldberg Y Neural word embedding as implicit matrix factorization In

Advances in neural information processing systems 2014 S 2177-2185

(Englische) Wikipedia 15 Milliarden Tokens

Fenster 2 beiderseits

Vokabular 189 533 fur Terme sowie Kontexte

PPMI Matrizen

SVD sowie ohne Zerlegung (PPMI) sowie neurale (SGNS)

Algorithmus Spearman Rank zu WordSim 353SVD 0652SGNS 0633PPMI 0605

66

Latent Semantic Analysis und Word Embeddings

Levy2014

ldquoWe analyze skip-gram with negative-sampling (SGNS) [] and show that it isimplicitly factorizing a word-context matrix whose cells are the pointwise mutualinformation (PMI) of the respective word and context pairs shifted by a globalconstant When dense low-dimensional vectors are preferred exact factorizationwith SVD can achieve solutions that are at least as good as SGNSrsquoss solutions forword similarity tasks On analogy questions SGNS remains superior to SVD Weconjecture that this stems from the weighted nature of SGNSrsquos factorizationrdquo

67

Zusammenfassung

Reduced SVD resultiert in einer optimalen Approximation derOriginalmatrix mit niedrigerem Rang Optimal = optimal bzgl derFrobeniusnorm (bzw mean squared error)

Dadurch erhalten wir eine mathematisch fundierte dichtereMatrix die Rauschen (weniger wichtige Dimensionen) eliminiert

Wir konnen mittels Umtimesk Σktimesk weiterhin Wortahnlichkeitenberechnen

Es konnen Resultate erreicht werden die bei word similaritymindestens ebensogut sind wie mit neuralen word embeddings

Nachteile Kosten der SVD Berechnung fur mtimesn matrixO(n middotm2) (when m lt n)rarr Nicht gut fur sehr grosse Matrizen

Nachteile Geht nicht gut mit unbekannten Wortern um

Nachteile schlechter bei Wortanalogieaufgaben

68

Literatur

Guter erweiterter Hintergrundhttptheorystanfordedu˜tims15ll7pdf bishttptheorystanfordedu˜tims15ll9pdf

SVD Tutorial (ohne vollstandigen Hintergrund) Kirk Baker(2005) Singular Value Decomposition Tutorialhttpsdatajobscomdata-science-repoSVD-Tutorial-[Kirk-Baker]pdf Leider ist hier imKonstruktionsverfahren I die Vorzeichenproblematikfalschlicherweise nicht behandelt worden

Levy O Goldberg Y Neural word embedding as implicit matrixfactorization In Advances in neural information processingsystems 2014 S 2177-2185

Ubungsblatt II

69

  • SVD Hauptsatz
    • Der SVD-Satz
    • Konstruktion am Beispiel Methodologie I
    • Konstruktionsmethodologie II
      • Interpretation der SVD
      • Reduced SVD
      • Verwendung in NLP

Wie wahlt man k

Meist empirisch Gesehen

1 In NLP oft die ersten 200 bis 300 Dimensionen2 In Recommender Systems Wahle k so dass die Summe der

ersten k Eigenwerte mindestens 10-mal der Summe alleranderen Eigenwerte

57

Ubersicht

1 SVD HauptsatzDer SVD-SatzKonstruktion am Beispiel Methodologie IKonstruktionsmethodologie II

2 Interpretation der SVD

3 Reduced SVD

4 Verwendung in NLP

58

Dichte Embeddings

A ist Matrix von m WorternTermen und n Kontexten (PPMIfrequency )Reduced SVD resultiert in Ak mit

Umtimesk ist mtimes k - MatrixZeilen von Umtimesk reprasentieren TermeSpalten in Umtimesk latente Reprasentation der KontexteBenutze Umtimesk middotΣktimesk zur Berechnung von Termahnlichkeiten

Vorteile gegenuber der vollen Term-Kontext-MatrixDichte MatrixDimensionsreduktion effizientere VerarbeitungDe-Noising

59

Dichte Embeddings

A ist Matrix von m WorternTermen und n Kontexten (PPMIfrequency )Reduced SVD resultiert in Ak mit

Umtimesk ist mtimes k - MatrixZeilen von Umtimesk reprasentieren TermeSpalten in Umtimesk latente Reprasentation der KontexteBenutze Umtimesk middotΣktimesk zur Berechnung von Termahnlichkeiten

Vorteile gegenuber der vollen Term-Kontext-MatrixDichte MatrixDimensionsreduktion effizientere VerarbeitungDe-Noising

59

Dichte Embeddings

A ist Matrix von m WorternTermen und n Kontexten (PPMIfrequency )Reduced SVD resultiert in Ak mit

Umtimesk ist mtimes k - MatrixZeilen von Umtimesk reprasentieren TermeSpalten in Umtimesk latente Reprasentation der KontexteBenutze Umtimesk middotΣktimesk zur Berechnung von Termahnlichkeiten

Vorteile gegenuber der vollen Term-Kontext-MatrixDichte MatrixDimensionsreduktion effizientere VerarbeitungDe-Noising

59

Das Beispiel vom Anfang

Eine Wort-Dokument-Matrix M aus dem R5times3

d1 d2 d3ship 1 1 0boat 0 0 1

ocean 1 0 1motor 1 0 1wood 0 1 0

cossim(shipboat) = 0

cossim(shipocean) =12

cossim(boatocean) =1radic2

= 07

60

SVD Zerlegung war

minus041 07 024minus029 minus033 minus072minus061 minus02 014minus061 minus02 014minus01 057 minus062

227 0 0

0 149 00 0 078

minus072 minus023 minus066019 085 minus05067 minus048 minus056

=

minus093 104 0187minus0658 minus049 minus056minus138 minus0298 01092minus138 minus0298 minus1092minus0227 084 minus0483

minus072 minus023 minus066

019 085 minus05067 minus048 minus056

=

1 1 00 0 11 0 11 0 10 1 0

Abweichungen sind Rundungsfehler61

Niedrigdimensionale Approximation

Die kleinsten Eigenwerte sind die unwichtigsten Wir konnen dieseldquoweglassenrdquo = auf Null setzenrarr eine Matrix mit kleinerem Rang dieaber relativ ahnlich zur Ausgangsmatrix istminus041 07 024minus029 minus033 minus072minus061 minus02 014minus061 minus02 014minus01 057 minus062

227 0 0

0 149 00 0 0

minus072 minus023 minus066019 085 minus05067 minus048 minus056

=

minus093 104 0minus0658 minus049 0minus138 minus0298 0minus138 minus0298 0minus0227 084 0

minus072 minus023 minus066

019 085 minus05067 minus048 minus056

=

087 109 011038 minus027 068093 005 106093 005 106032 077 minus027

62

Die niedrigdimensionale Approximation

Wir interessieren uns fur die Matrix U2 = UΣ2 also die Matrix mit demniedrigerem Rang

minus093 104 0minus0658 minus049 0minus138 minus0298 0minus138 minus0298 0minus0227 084 0

Man kann diese nun als die Reprasentation unserer 5 Worter mit zweiversteckten Dimensionen auffassen

h1 h2ship minus093 104boat minus0658 minus049

ocean minus138 minus0298motor minus138 minus0298wood minus0227 084

63

Neue Ahnlichkeitsberechnungen

h1 h2ship minus093 104boat minus0658 minus049

ocean minus138 minus0298motor minus138 minus0298wood minus0227 084

cossim(shipboat) =(minus093) middot (minus0658) + 104 middot (minus049)radic

(0932 + 1042) middotradic

(06582 + 0492)= 009

cossim(shipocean) =(minus093) middot (minus138) + 104 middot (minus029)radic

(0932 + 1042) middotradic

(1382 + 0292)= 049

cossim(boatocean) = 09

64

Variationen

Benutze nur Umtimesk zur Ahnlichkeitsberechnung

Benutze Umtimesk middotΣpktimesk zur Ahnlichkeitsberechnungrarr Parameter p

sollte getuned werden Kann groszlige Unterschiede machen

Oft p = 0p = 05p = 1

65

Performanz der Reduced-SVD-Embeddings

Levy O Goldberg Y Neural word embedding as implicit matrix factorization In

Advances in neural information processing systems 2014 S 2177-2185

(Englische) Wikipedia 15 Milliarden Tokens

Fenster 2 beiderseits

Vokabular 189 533 fur Terme sowie Kontexte

PPMI Matrizen

SVD sowie ohne Zerlegung (PPMI) sowie neurale (SGNS)

Algorithmus Spearman Rank zu WordSim 353SVD 0652SGNS 0633PPMI 0605

66

Latent Semantic Analysis und Word Embeddings

Levy2014

ldquoWe analyze skip-gram with negative-sampling (SGNS) [] and show that it isimplicitly factorizing a word-context matrix whose cells are the pointwise mutualinformation (PMI) of the respective word and context pairs shifted by a globalconstant When dense low-dimensional vectors are preferred exact factorizationwith SVD can achieve solutions that are at least as good as SGNSrsquoss solutions forword similarity tasks On analogy questions SGNS remains superior to SVD Weconjecture that this stems from the weighted nature of SGNSrsquos factorizationrdquo

67

Zusammenfassung

Reduced SVD resultiert in einer optimalen Approximation derOriginalmatrix mit niedrigerem Rang Optimal = optimal bzgl derFrobeniusnorm (bzw mean squared error)

Dadurch erhalten wir eine mathematisch fundierte dichtereMatrix die Rauschen (weniger wichtige Dimensionen) eliminiert

Wir konnen mittels Umtimesk Σktimesk weiterhin Wortahnlichkeitenberechnen

Es konnen Resultate erreicht werden die bei word similaritymindestens ebensogut sind wie mit neuralen word embeddings

Nachteile Kosten der SVD Berechnung fur mtimesn matrixO(n middotm2) (when m lt n)rarr Nicht gut fur sehr grosse Matrizen

Nachteile Geht nicht gut mit unbekannten Wortern um

Nachteile schlechter bei Wortanalogieaufgaben

68

Literatur

Guter erweiterter Hintergrundhttptheorystanfordedu˜tims15ll7pdf bishttptheorystanfordedu˜tims15ll9pdf

SVD Tutorial (ohne vollstandigen Hintergrund) Kirk Baker(2005) Singular Value Decomposition Tutorialhttpsdatajobscomdata-science-repoSVD-Tutorial-[Kirk-Baker]pdf Leider ist hier imKonstruktionsverfahren I die Vorzeichenproblematikfalschlicherweise nicht behandelt worden

Levy O Goldberg Y Neural word embedding as implicit matrixfactorization In Advances in neural information processingsystems 2014 S 2177-2185

Ubungsblatt II

69

  • SVD Hauptsatz
    • Der SVD-Satz
    • Konstruktion am Beispiel Methodologie I
    • Konstruktionsmethodologie II
      • Interpretation der SVD
      • Reduced SVD
      • Verwendung in NLP

Ubersicht

1 SVD HauptsatzDer SVD-SatzKonstruktion am Beispiel Methodologie IKonstruktionsmethodologie II

2 Interpretation der SVD

3 Reduced SVD

4 Verwendung in NLP

58

Dichte Embeddings

A ist Matrix von m WorternTermen und n Kontexten (PPMIfrequency )Reduced SVD resultiert in Ak mit

Umtimesk ist mtimes k - MatrixZeilen von Umtimesk reprasentieren TermeSpalten in Umtimesk latente Reprasentation der KontexteBenutze Umtimesk middotΣktimesk zur Berechnung von Termahnlichkeiten

Vorteile gegenuber der vollen Term-Kontext-MatrixDichte MatrixDimensionsreduktion effizientere VerarbeitungDe-Noising

59

Dichte Embeddings

A ist Matrix von m WorternTermen und n Kontexten (PPMIfrequency )Reduced SVD resultiert in Ak mit

Umtimesk ist mtimes k - MatrixZeilen von Umtimesk reprasentieren TermeSpalten in Umtimesk latente Reprasentation der KontexteBenutze Umtimesk middotΣktimesk zur Berechnung von Termahnlichkeiten

Vorteile gegenuber der vollen Term-Kontext-MatrixDichte MatrixDimensionsreduktion effizientere VerarbeitungDe-Noising

59

Dichte Embeddings

A ist Matrix von m WorternTermen und n Kontexten (PPMIfrequency )Reduced SVD resultiert in Ak mit

Umtimesk ist mtimes k - MatrixZeilen von Umtimesk reprasentieren TermeSpalten in Umtimesk latente Reprasentation der KontexteBenutze Umtimesk middotΣktimesk zur Berechnung von Termahnlichkeiten

Vorteile gegenuber der vollen Term-Kontext-MatrixDichte MatrixDimensionsreduktion effizientere VerarbeitungDe-Noising

59

Das Beispiel vom Anfang

Eine Wort-Dokument-Matrix M aus dem R5times3

d1 d2 d3ship 1 1 0boat 0 0 1

ocean 1 0 1motor 1 0 1wood 0 1 0

cossim(shipboat) = 0

cossim(shipocean) =12

cossim(boatocean) =1radic2

= 07

60

SVD Zerlegung war

minus041 07 024minus029 minus033 minus072minus061 minus02 014minus061 minus02 014minus01 057 minus062

227 0 0

0 149 00 0 078

minus072 minus023 minus066019 085 minus05067 minus048 minus056

=

minus093 104 0187minus0658 minus049 minus056minus138 minus0298 01092minus138 minus0298 minus1092minus0227 084 minus0483

minus072 minus023 minus066

019 085 minus05067 minus048 minus056

=

1 1 00 0 11 0 11 0 10 1 0

Abweichungen sind Rundungsfehler61

Niedrigdimensionale Approximation

Die kleinsten Eigenwerte sind die unwichtigsten Wir konnen dieseldquoweglassenrdquo = auf Null setzenrarr eine Matrix mit kleinerem Rang dieaber relativ ahnlich zur Ausgangsmatrix istminus041 07 024minus029 minus033 minus072minus061 minus02 014minus061 minus02 014minus01 057 minus062

227 0 0

0 149 00 0 0

minus072 minus023 minus066019 085 minus05067 minus048 minus056

=

minus093 104 0minus0658 minus049 0minus138 minus0298 0minus138 minus0298 0minus0227 084 0

minus072 minus023 minus066

019 085 minus05067 minus048 minus056

=

087 109 011038 minus027 068093 005 106093 005 106032 077 minus027

62

Die niedrigdimensionale Approximation

Wir interessieren uns fur die Matrix U2 = UΣ2 also die Matrix mit demniedrigerem Rang

minus093 104 0minus0658 minus049 0minus138 minus0298 0minus138 minus0298 0minus0227 084 0

Man kann diese nun als die Reprasentation unserer 5 Worter mit zweiversteckten Dimensionen auffassen

h1 h2ship minus093 104boat minus0658 minus049

ocean minus138 minus0298motor minus138 minus0298wood minus0227 084

63

Neue Ahnlichkeitsberechnungen

h1 h2ship minus093 104boat minus0658 minus049

ocean minus138 minus0298motor minus138 minus0298wood minus0227 084

cossim(shipboat) =(minus093) middot (minus0658) + 104 middot (minus049)radic

(0932 + 1042) middotradic

(06582 + 0492)= 009

cossim(shipocean) =(minus093) middot (minus138) + 104 middot (minus029)radic

(0932 + 1042) middotradic

(1382 + 0292)= 049

cossim(boatocean) = 09

64

Variationen

Benutze nur Umtimesk zur Ahnlichkeitsberechnung

Benutze Umtimesk middotΣpktimesk zur Ahnlichkeitsberechnungrarr Parameter p

sollte getuned werden Kann groszlige Unterschiede machen

Oft p = 0p = 05p = 1

65

Performanz der Reduced-SVD-Embeddings

Levy O Goldberg Y Neural word embedding as implicit matrix factorization In

Advances in neural information processing systems 2014 S 2177-2185

(Englische) Wikipedia 15 Milliarden Tokens

Fenster 2 beiderseits

Vokabular 189 533 fur Terme sowie Kontexte

PPMI Matrizen

SVD sowie ohne Zerlegung (PPMI) sowie neurale (SGNS)

Algorithmus Spearman Rank zu WordSim 353SVD 0652SGNS 0633PPMI 0605

66

Latent Semantic Analysis und Word Embeddings

Levy2014

ldquoWe analyze skip-gram with negative-sampling (SGNS) [] and show that it isimplicitly factorizing a word-context matrix whose cells are the pointwise mutualinformation (PMI) of the respective word and context pairs shifted by a globalconstant When dense low-dimensional vectors are preferred exact factorizationwith SVD can achieve solutions that are at least as good as SGNSrsquoss solutions forword similarity tasks On analogy questions SGNS remains superior to SVD Weconjecture that this stems from the weighted nature of SGNSrsquos factorizationrdquo

67

Zusammenfassung

Reduced SVD resultiert in einer optimalen Approximation derOriginalmatrix mit niedrigerem Rang Optimal = optimal bzgl derFrobeniusnorm (bzw mean squared error)

Dadurch erhalten wir eine mathematisch fundierte dichtereMatrix die Rauschen (weniger wichtige Dimensionen) eliminiert

Wir konnen mittels Umtimesk Σktimesk weiterhin Wortahnlichkeitenberechnen

Es konnen Resultate erreicht werden die bei word similaritymindestens ebensogut sind wie mit neuralen word embeddings

Nachteile Kosten der SVD Berechnung fur mtimesn matrixO(n middotm2) (when m lt n)rarr Nicht gut fur sehr grosse Matrizen

Nachteile Geht nicht gut mit unbekannten Wortern um

Nachteile schlechter bei Wortanalogieaufgaben

68

Literatur

Guter erweiterter Hintergrundhttptheorystanfordedu˜tims15ll7pdf bishttptheorystanfordedu˜tims15ll9pdf

SVD Tutorial (ohne vollstandigen Hintergrund) Kirk Baker(2005) Singular Value Decomposition Tutorialhttpsdatajobscomdata-science-repoSVD-Tutorial-[Kirk-Baker]pdf Leider ist hier imKonstruktionsverfahren I die Vorzeichenproblematikfalschlicherweise nicht behandelt worden

Levy O Goldberg Y Neural word embedding as implicit matrixfactorization In Advances in neural information processingsystems 2014 S 2177-2185

Ubungsblatt II

69

  • SVD Hauptsatz
    • Der SVD-Satz
    • Konstruktion am Beispiel Methodologie I
    • Konstruktionsmethodologie II
      • Interpretation der SVD
      • Reduced SVD
      • Verwendung in NLP

Dichte Embeddings

A ist Matrix von m WorternTermen und n Kontexten (PPMIfrequency )Reduced SVD resultiert in Ak mit

Umtimesk ist mtimes k - MatrixZeilen von Umtimesk reprasentieren TermeSpalten in Umtimesk latente Reprasentation der KontexteBenutze Umtimesk middotΣktimesk zur Berechnung von Termahnlichkeiten

Vorteile gegenuber der vollen Term-Kontext-MatrixDichte MatrixDimensionsreduktion effizientere VerarbeitungDe-Noising

59

Dichte Embeddings

A ist Matrix von m WorternTermen und n Kontexten (PPMIfrequency )Reduced SVD resultiert in Ak mit

Umtimesk ist mtimes k - MatrixZeilen von Umtimesk reprasentieren TermeSpalten in Umtimesk latente Reprasentation der KontexteBenutze Umtimesk middotΣktimesk zur Berechnung von Termahnlichkeiten

Vorteile gegenuber der vollen Term-Kontext-MatrixDichte MatrixDimensionsreduktion effizientere VerarbeitungDe-Noising

59

Dichte Embeddings

A ist Matrix von m WorternTermen und n Kontexten (PPMIfrequency )Reduced SVD resultiert in Ak mit

Umtimesk ist mtimes k - MatrixZeilen von Umtimesk reprasentieren TermeSpalten in Umtimesk latente Reprasentation der KontexteBenutze Umtimesk middotΣktimesk zur Berechnung von Termahnlichkeiten

Vorteile gegenuber der vollen Term-Kontext-MatrixDichte MatrixDimensionsreduktion effizientere VerarbeitungDe-Noising

59

Das Beispiel vom Anfang

Eine Wort-Dokument-Matrix M aus dem R5times3

d1 d2 d3ship 1 1 0boat 0 0 1

ocean 1 0 1motor 1 0 1wood 0 1 0

cossim(shipboat) = 0

cossim(shipocean) =12

cossim(boatocean) =1radic2

= 07

60

SVD Zerlegung war

minus041 07 024minus029 minus033 minus072minus061 minus02 014minus061 minus02 014minus01 057 minus062

227 0 0

0 149 00 0 078

minus072 minus023 minus066019 085 minus05067 minus048 minus056

=

minus093 104 0187minus0658 minus049 minus056minus138 minus0298 01092minus138 minus0298 minus1092minus0227 084 minus0483

minus072 minus023 minus066

019 085 minus05067 minus048 minus056

=

1 1 00 0 11 0 11 0 10 1 0

Abweichungen sind Rundungsfehler61

Niedrigdimensionale Approximation

Die kleinsten Eigenwerte sind die unwichtigsten Wir konnen dieseldquoweglassenrdquo = auf Null setzenrarr eine Matrix mit kleinerem Rang dieaber relativ ahnlich zur Ausgangsmatrix istminus041 07 024minus029 minus033 minus072minus061 minus02 014minus061 minus02 014minus01 057 minus062

227 0 0

0 149 00 0 0

minus072 minus023 minus066019 085 minus05067 minus048 minus056

=

minus093 104 0minus0658 minus049 0minus138 minus0298 0minus138 minus0298 0minus0227 084 0

minus072 minus023 minus066

019 085 minus05067 minus048 minus056

=

087 109 011038 minus027 068093 005 106093 005 106032 077 minus027

62

Die niedrigdimensionale Approximation

Wir interessieren uns fur die Matrix U2 = UΣ2 also die Matrix mit demniedrigerem Rang

minus093 104 0minus0658 minus049 0minus138 minus0298 0minus138 minus0298 0minus0227 084 0

Man kann diese nun als die Reprasentation unserer 5 Worter mit zweiversteckten Dimensionen auffassen

h1 h2ship minus093 104boat minus0658 minus049

ocean minus138 minus0298motor minus138 minus0298wood minus0227 084

63

Neue Ahnlichkeitsberechnungen

h1 h2ship minus093 104boat minus0658 minus049

ocean minus138 minus0298motor minus138 minus0298wood minus0227 084

cossim(shipboat) =(minus093) middot (minus0658) + 104 middot (minus049)radic

(0932 + 1042) middotradic

(06582 + 0492)= 009

cossim(shipocean) =(minus093) middot (minus138) + 104 middot (minus029)radic

(0932 + 1042) middotradic

(1382 + 0292)= 049

cossim(boatocean) = 09

64

Variationen

Benutze nur Umtimesk zur Ahnlichkeitsberechnung

Benutze Umtimesk middotΣpktimesk zur Ahnlichkeitsberechnungrarr Parameter p

sollte getuned werden Kann groszlige Unterschiede machen

Oft p = 0p = 05p = 1

65

Performanz der Reduced-SVD-Embeddings

Levy O Goldberg Y Neural word embedding as implicit matrix factorization In

Advances in neural information processing systems 2014 S 2177-2185

(Englische) Wikipedia 15 Milliarden Tokens

Fenster 2 beiderseits

Vokabular 189 533 fur Terme sowie Kontexte

PPMI Matrizen

SVD sowie ohne Zerlegung (PPMI) sowie neurale (SGNS)

Algorithmus Spearman Rank zu WordSim 353SVD 0652SGNS 0633PPMI 0605

66

Latent Semantic Analysis und Word Embeddings

Levy2014

ldquoWe analyze skip-gram with negative-sampling (SGNS) [] and show that it isimplicitly factorizing a word-context matrix whose cells are the pointwise mutualinformation (PMI) of the respective word and context pairs shifted by a globalconstant When dense low-dimensional vectors are preferred exact factorizationwith SVD can achieve solutions that are at least as good as SGNSrsquoss solutions forword similarity tasks On analogy questions SGNS remains superior to SVD Weconjecture that this stems from the weighted nature of SGNSrsquos factorizationrdquo

67

Zusammenfassung

Reduced SVD resultiert in einer optimalen Approximation derOriginalmatrix mit niedrigerem Rang Optimal = optimal bzgl derFrobeniusnorm (bzw mean squared error)

Dadurch erhalten wir eine mathematisch fundierte dichtereMatrix die Rauschen (weniger wichtige Dimensionen) eliminiert

Wir konnen mittels Umtimesk Σktimesk weiterhin Wortahnlichkeitenberechnen

Es konnen Resultate erreicht werden die bei word similaritymindestens ebensogut sind wie mit neuralen word embeddings

Nachteile Kosten der SVD Berechnung fur mtimesn matrixO(n middotm2) (when m lt n)rarr Nicht gut fur sehr grosse Matrizen

Nachteile Geht nicht gut mit unbekannten Wortern um

Nachteile schlechter bei Wortanalogieaufgaben

68

Literatur

Guter erweiterter Hintergrundhttptheorystanfordedu˜tims15ll7pdf bishttptheorystanfordedu˜tims15ll9pdf

SVD Tutorial (ohne vollstandigen Hintergrund) Kirk Baker(2005) Singular Value Decomposition Tutorialhttpsdatajobscomdata-science-repoSVD-Tutorial-[Kirk-Baker]pdf Leider ist hier imKonstruktionsverfahren I die Vorzeichenproblematikfalschlicherweise nicht behandelt worden

Levy O Goldberg Y Neural word embedding as implicit matrixfactorization In Advances in neural information processingsystems 2014 S 2177-2185

Ubungsblatt II

69

  • SVD Hauptsatz
    • Der SVD-Satz
    • Konstruktion am Beispiel Methodologie I
    • Konstruktionsmethodologie II
      • Interpretation der SVD
      • Reduced SVD
      • Verwendung in NLP

Dichte Embeddings

A ist Matrix von m WorternTermen und n Kontexten (PPMIfrequency )Reduced SVD resultiert in Ak mit

Umtimesk ist mtimes k - MatrixZeilen von Umtimesk reprasentieren TermeSpalten in Umtimesk latente Reprasentation der KontexteBenutze Umtimesk middotΣktimesk zur Berechnung von Termahnlichkeiten

Vorteile gegenuber der vollen Term-Kontext-MatrixDichte MatrixDimensionsreduktion effizientere VerarbeitungDe-Noising

59

Dichte Embeddings

A ist Matrix von m WorternTermen und n Kontexten (PPMIfrequency )Reduced SVD resultiert in Ak mit

Umtimesk ist mtimes k - MatrixZeilen von Umtimesk reprasentieren TermeSpalten in Umtimesk latente Reprasentation der KontexteBenutze Umtimesk middotΣktimesk zur Berechnung von Termahnlichkeiten

Vorteile gegenuber der vollen Term-Kontext-MatrixDichte MatrixDimensionsreduktion effizientere VerarbeitungDe-Noising

59

Das Beispiel vom Anfang

Eine Wort-Dokument-Matrix M aus dem R5times3

d1 d2 d3ship 1 1 0boat 0 0 1

ocean 1 0 1motor 1 0 1wood 0 1 0

cossim(shipboat) = 0

cossim(shipocean) =12

cossim(boatocean) =1radic2

= 07

60

SVD Zerlegung war

minus041 07 024minus029 minus033 minus072minus061 minus02 014minus061 minus02 014minus01 057 minus062

227 0 0

0 149 00 0 078

minus072 minus023 minus066019 085 minus05067 minus048 minus056

=

minus093 104 0187minus0658 minus049 minus056minus138 minus0298 01092minus138 minus0298 minus1092minus0227 084 minus0483

minus072 minus023 minus066

019 085 minus05067 minus048 minus056

=

1 1 00 0 11 0 11 0 10 1 0

Abweichungen sind Rundungsfehler61

Niedrigdimensionale Approximation

Die kleinsten Eigenwerte sind die unwichtigsten Wir konnen dieseldquoweglassenrdquo = auf Null setzenrarr eine Matrix mit kleinerem Rang dieaber relativ ahnlich zur Ausgangsmatrix istminus041 07 024minus029 minus033 minus072minus061 minus02 014minus061 minus02 014minus01 057 minus062

227 0 0

0 149 00 0 0

minus072 minus023 minus066019 085 minus05067 minus048 minus056

=

minus093 104 0minus0658 minus049 0minus138 minus0298 0minus138 minus0298 0minus0227 084 0

minus072 minus023 minus066

019 085 minus05067 minus048 minus056

=

087 109 011038 minus027 068093 005 106093 005 106032 077 minus027

62

Die niedrigdimensionale Approximation

Wir interessieren uns fur die Matrix U2 = UΣ2 also die Matrix mit demniedrigerem Rang

minus093 104 0minus0658 minus049 0minus138 minus0298 0minus138 minus0298 0minus0227 084 0

Man kann diese nun als die Reprasentation unserer 5 Worter mit zweiversteckten Dimensionen auffassen

h1 h2ship minus093 104boat minus0658 minus049

ocean minus138 minus0298motor minus138 minus0298wood minus0227 084

63

Neue Ahnlichkeitsberechnungen

h1 h2ship minus093 104boat minus0658 minus049

ocean minus138 minus0298motor minus138 minus0298wood minus0227 084

cossim(shipboat) =(minus093) middot (minus0658) + 104 middot (minus049)radic

(0932 + 1042) middotradic

(06582 + 0492)= 009

cossim(shipocean) =(minus093) middot (minus138) + 104 middot (minus029)radic

(0932 + 1042) middotradic

(1382 + 0292)= 049

cossim(boatocean) = 09

64

Variationen

Benutze nur Umtimesk zur Ahnlichkeitsberechnung

Benutze Umtimesk middotΣpktimesk zur Ahnlichkeitsberechnungrarr Parameter p

sollte getuned werden Kann groszlige Unterschiede machen

Oft p = 0p = 05p = 1

65

Performanz der Reduced-SVD-Embeddings

Levy O Goldberg Y Neural word embedding as implicit matrix factorization In

Advances in neural information processing systems 2014 S 2177-2185

(Englische) Wikipedia 15 Milliarden Tokens

Fenster 2 beiderseits

Vokabular 189 533 fur Terme sowie Kontexte

PPMI Matrizen

SVD sowie ohne Zerlegung (PPMI) sowie neurale (SGNS)

Algorithmus Spearman Rank zu WordSim 353SVD 0652SGNS 0633PPMI 0605

66

Latent Semantic Analysis und Word Embeddings

Levy2014

ldquoWe analyze skip-gram with negative-sampling (SGNS) [] and show that it isimplicitly factorizing a word-context matrix whose cells are the pointwise mutualinformation (PMI) of the respective word and context pairs shifted by a globalconstant When dense low-dimensional vectors are preferred exact factorizationwith SVD can achieve solutions that are at least as good as SGNSrsquoss solutions forword similarity tasks On analogy questions SGNS remains superior to SVD Weconjecture that this stems from the weighted nature of SGNSrsquos factorizationrdquo

67

Zusammenfassung

Reduced SVD resultiert in einer optimalen Approximation derOriginalmatrix mit niedrigerem Rang Optimal = optimal bzgl derFrobeniusnorm (bzw mean squared error)

Dadurch erhalten wir eine mathematisch fundierte dichtereMatrix die Rauschen (weniger wichtige Dimensionen) eliminiert

Wir konnen mittels Umtimesk Σktimesk weiterhin Wortahnlichkeitenberechnen

Es konnen Resultate erreicht werden die bei word similaritymindestens ebensogut sind wie mit neuralen word embeddings

Nachteile Kosten der SVD Berechnung fur mtimesn matrixO(n middotm2) (when m lt n)rarr Nicht gut fur sehr grosse Matrizen

Nachteile Geht nicht gut mit unbekannten Wortern um

Nachteile schlechter bei Wortanalogieaufgaben

68

Literatur

Guter erweiterter Hintergrundhttptheorystanfordedu˜tims15ll7pdf bishttptheorystanfordedu˜tims15ll9pdf

SVD Tutorial (ohne vollstandigen Hintergrund) Kirk Baker(2005) Singular Value Decomposition Tutorialhttpsdatajobscomdata-science-repoSVD-Tutorial-[Kirk-Baker]pdf Leider ist hier imKonstruktionsverfahren I die Vorzeichenproblematikfalschlicherweise nicht behandelt worden

Levy O Goldberg Y Neural word embedding as implicit matrixfactorization In Advances in neural information processingsystems 2014 S 2177-2185

Ubungsblatt II

69

  • SVD Hauptsatz
    • Der SVD-Satz
    • Konstruktion am Beispiel Methodologie I
    • Konstruktionsmethodologie II
      • Interpretation der SVD
      • Reduced SVD
      • Verwendung in NLP

Dichte Embeddings

A ist Matrix von m WorternTermen und n Kontexten (PPMIfrequency )Reduced SVD resultiert in Ak mit

Umtimesk ist mtimes k - MatrixZeilen von Umtimesk reprasentieren TermeSpalten in Umtimesk latente Reprasentation der KontexteBenutze Umtimesk middotΣktimesk zur Berechnung von Termahnlichkeiten

Vorteile gegenuber der vollen Term-Kontext-MatrixDichte MatrixDimensionsreduktion effizientere VerarbeitungDe-Noising

59

Das Beispiel vom Anfang

Eine Wort-Dokument-Matrix M aus dem R5times3

d1 d2 d3ship 1 1 0boat 0 0 1

ocean 1 0 1motor 1 0 1wood 0 1 0

cossim(shipboat) = 0

cossim(shipocean) =12

cossim(boatocean) =1radic2

= 07

60

SVD Zerlegung war

minus041 07 024minus029 minus033 minus072minus061 minus02 014minus061 minus02 014minus01 057 minus062

227 0 0

0 149 00 0 078

minus072 minus023 minus066019 085 minus05067 minus048 minus056

=

minus093 104 0187minus0658 minus049 minus056minus138 minus0298 01092minus138 minus0298 minus1092minus0227 084 minus0483

minus072 minus023 minus066

019 085 minus05067 minus048 minus056

=

1 1 00 0 11 0 11 0 10 1 0

Abweichungen sind Rundungsfehler61

Niedrigdimensionale Approximation

Die kleinsten Eigenwerte sind die unwichtigsten Wir konnen dieseldquoweglassenrdquo = auf Null setzenrarr eine Matrix mit kleinerem Rang dieaber relativ ahnlich zur Ausgangsmatrix istminus041 07 024minus029 minus033 minus072minus061 minus02 014minus061 minus02 014minus01 057 minus062

227 0 0

0 149 00 0 0

minus072 minus023 minus066019 085 minus05067 minus048 minus056

=

minus093 104 0minus0658 minus049 0minus138 minus0298 0minus138 minus0298 0minus0227 084 0

minus072 minus023 minus066

019 085 minus05067 minus048 minus056

=

087 109 011038 minus027 068093 005 106093 005 106032 077 minus027

62

Die niedrigdimensionale Approximation

Wir interessieren uns fur die Matrix U2 = UΣ2 also die Matrix mit demniedrigerem Rang

minus093 104 0minus0658 minus049 0minus138 minus0298 0minus138 minus0298 0minus0227 084 0

Man kann diese nun als die Reprasentation unserer 5 Worter mit zweiversteckten Dimensionen auffassen

h1 h2ship minus093 104boat minus0658 minus049

ocean minus138 minus0298motor minus138 minus0298wood minus0227 084

63

Neue Ahnlichkeitsberechnungen

h1 h2ship minus093 104boat minus0658 minus049

ocean minus138 minus0298motor minus138 minus0298wood minus0227 084

cossim(shipboat) =(minus093) middot (minus0658) + 104 middot (minus049)radic

(0932 + 1042) middotradic

(06582 + 0492)= 009

cossim(shipocean) =(minus093) middot (minus138) + 104 middot (minus029)radic

(0932 + 1042) middotradic

(1382 + 0292)= 049

cossim(boatocean) = 09

64

Variationen

Benutze nur Umtimesk zur Ahnlichkeitsberechnung

Benutze Umtimesk middotΣpktimesk zur Ahnlichkeitsberechnungrarr Parameter p

sollte getuned werden Kann groszlige Unterschiede machen

Oft p = 0p = 05p = 1

65

Performanz der Reduced-SVD-Embeddings

Levy O Goldberg Y Neural word embedding as implicit matrix factorization In

Advances in neural information processing systems 2014 S 2177-2185

(Englische) Wikipedia 15 Milliarden Tokens

Fenster 2 beiderseits

Vokabular 189 533 fur Terme sowie Kontexte

PPMI Matrizen

SVD sowie ohne Zerlegung (PPMI) sowie neurale (SGNS)

Algorithmus Spearman Rank zu WordSim 353SVD 0652SGNS 0633PPMI 0605

66

Latent Semantic Analysis und Word Embeddings

Levy2014

ldquoWe analyze skip-gram with negative-sampling (SGNS) [] and show that it isimplicitly factorizing a word-context matrix whose cells are the pointwise mutualinformation (PMI) of the respective word and context pairs shifted by a globalconstant When dense low-dimensional vectors are preferred exact factorizationwith SVD can achieve solutions that are at least as good as SGNSrsquoss solutions forword similarity tasks On analogy questions SGNS remains superior to SVD Weconjecture that this stems from the weighted nature of SGNSrsquos factorizationrdquo

67

Zusammenfassung

Reduced SVD resultiert in einer optimalen Approximation derOriginalmatrix mit niedrigerem Rang Optimal = optimal bzgl derFrobeniusnorm (bzw mean squared error)

Dadurch erhalten wir eine mathematisch fundierte dichtereMatrix die Rauschen (weniger wichtige Dimensionen) eliminiert

Wir konnen mittels Umtimesk Σktimesk weiterhin Wortahnlichkeitenberechnen

Es konnen Resultate erreicht werden die bei word similaritymindestens ebensogut sind wie mit neuralen word embeddings

Nachteile Kosten der SVD Berechnung fur mtimesn matrixO(n middotm2) (when m lt n)rarr Nicht gut fur sehr grosse Matrizen

Nachteile Geht nicht gut mit unbekannten Wortern um

Nachteile schlechter bei Wortanalogieaufgaben

68

Literatur

Guter erweiterter Hintergrundhttptheorystanfordedu˜tims15ll7pdf bishttptheorystanfordedu˜tims15ll9pdf

SVD Tutorial (ohne vollstandigen Hintergrund) Kirk Baker(2005) Singular Value Decomposition Tutorialhttpsdatajobscomdata-science-repoSVD-Tutorial-[Kirk-Baker]pdf Leider ist hier imKonstruktionsverfahren I die Vorzeichenproblematikfalschlicherweise nicht behandelt worden

Levy O Goldberg Y Neural word embedding as implicit matrixfactorization In Advances in neural information processingsystems 2014 S 2177-2185

Ubungsblatt II

69

  • SVD Hauptsatz
    • Der SVD-Satz
    • Konstruktion am Beispiel Methodologie I
    • Konstruktionsmethodologie II
      • Interpretation der SVD
      • Reduced SVD
      • Verwendung in NLP

Das Beispiel vom Anfang

Eine Wort-Dokument-Matrix M aus dem R5times3

d1 d2 d3ship 1 1 0boat 0 0 1

ocean 1 0 1motor 1 0 1wood 0 1 0

cossim(shipboat) = 0

cossim(shipocean) =12

cossim(boatocean) =1radic2

= 07

60

SVD Zerlegung war

minus041 07 024minus029 minus033 minus072minus061 minus02 014minus061 minus02 014minus01 057 minus062

227 0 0

0 149 00 0 078

minus072 minus023 minus066019 085 minus05067 minus048 minus056

=

minus093 104 0187minus0658 minus049 minus056minus138 minus0298 01092minus138 minus0298 minus1092minus0227 084 minus0483

minus072 minus023 minus066

019 085 minus05067 minus048 minus056

=

1 1 00 0 11 0 11 0 10 1 0

Abweichungen sind Rundungsfehler61

Niedrigdimensionale Approximation

Die kleinsten Eigenwerte sind die unwichtigsten Wir konnen dieseldquoweglassenrdquo = auf Null setzenrarr eine Matrix mit kleinerem Rang dieaber relativ ahnlich zur Ausgangsmatrix istminus041 07 024minus029 minus033 minus072minus061 minus02 014minus061 minus02 014minus01 057 minus062

227 0 0

0 149 00 0 0

minus072 minus023 minus066019 085 minus05067 minus048 minus056

=

minus093 104 0minus0658 minus049 0minus138 minus0298 0minus138 minus0298 0minus0227 084 0

minus072 minus023 minus066

019 085 minus05067 minus048 minus056

=

087 109 011038 minus027 068093 005 106093 005 106032 077 minus027

62

Die niedrigdimensionale Approximation

Wir interessieren uns fur die Matrix U2 = UΣ2 also die Matrix mit demniedrigerem Rang

minus093 104 0minus0658 minus049 0minus138 minus0298 0minus138 minus0298 0minus0227 084 0

Man kann diese nun als die Reprasentation unserer 5 Worter mit zweiversteckten Dimensionen auffassen

h1 h2ship minus093 104boat minus0658 minus049

ocean minus138 minus0298motor minus138 minus0298wood minus0227 084

63

Neue Ahnlichkeitsberechnungen

h1 h2ship minus093 104boat minus0658 minus049

ocean minus138 minus0298motor minus138 minus0298wood minus0227 084

cossim(shipboat) =(minus093) middot (minus0658) + 104 middot (minus049)radic

(0932 + 1042) middotradic

(06582 + 0492)= 009

cossim(shipocean) =(minus093) middot (minus138) + 104 middot (minus029)radic

(0932 + 1042) middotradic

(1382 + 0292)= 049

cossim(boatocean) = 09

64

Variationen

Benutze nur Umtimesk zur Ahnlichkeitsberechnung

Benutze Umtimesk middotΣpktimesk zur Ahnlichkeitsberechnungrarr Parameter p

sollte getuned werden Kann groszlige Unterschiede machen

Oft p = 0p = 05p = 1

65

Performanz der Reduced-SVD-Embeddings

Levy O Goldberg Y Neural word embedding as implicit matrix factorization In

Advances in neural information processing systems 2014 S 2177-2185

(Englische) Wikipedia 15 Milliarden Tokens

Fenster 2 beiderseits

Vokabular 189 533 fur Terme sowie Kontexte

PPMI Matrizen

SVD sowie ohne Zerlegung (PPMI) sowie neurale (SGNS)

Algorithmus Spearman Rank zu WordSim 353SVD 0652SGNS 0633PPMI 0605

66

Latent Semantic Analysis und Word Embeddings

Levy2014

ldquoWe analyze skip-gram with negative-sampling (SGNS) [] and show that it isimplicitly factorizing a word-context matrix whose cells are the pointwise mutualinformation (PMI) of the respective word and context pairs shifted by a globalconstant When dense low-dimensional vectors are preferred exact factorizationwith SVD can achieve solutions that are at least as good as SGNSrsquoss solutions forword similarity tasks On analogy questions SGNS remains superior to SVD Weconjecture that this stems from the weighted nature of SGNSrsquos factorizationrdquo

67

Zusammenfassung

Reduced SVD resultiert in einer optimalen Approximation derOriginalmatrix mit niedrigerem Rang Optimal = optimal bzgl derFrobeniusnorm (bzw mean squared error)

Dadurch erhalten wir eine mathematisch fundierte dichtereMatrix die Rauschen (weniger wichtige Dimensionen) eliminiert

Wir konnen mittels Umtimesk Σktimesk weiterhin Wortahnlichkeitenberechnen

Es konnen Resultate erreicht werden die bei word similaritymindestens ebensogut sind wie mit neuralen word embeddings

Nachteile Kosten der SVD Berechnung fur mtimesn matrixO(n middotm2) (when m lt n)rarr Nicht gut fur sehr grosse Matrizen

Nachteile Geht nicht gut mit unbekannten Wortern um

Nachteile schlechter bei Wortanalogieaufgaben

68

Literatur

Guter erweiterter Hintergrundhttptheorystanfordedu˜tims15ll7pdf bishttptheorystanfordedu˜tims15ll9pdf

SVD Tutorial (ohne vollstandigen Hintergrund) Kirk Baker(2005) Singular Value Decomposition Tutorialhttpsdatajobscomdata-science-repoSVD-Tutorial-[Kirk-Baker]pdf Leider ist hier imKonstruktionsverfahren I die Vorzeichenproblematikfalschlicherweise nicht behandelt worden

Levy O Goldberg Y Neural word embedding as implicit matrixfactorization In Advances in neural information processingsystems 2014 S 2177-2185

Ubungsblatt II

69

  • SVD Hauptsatz
    • Der SVD-Satz
    • Konstruktion am Beispiel Methodologie I
    • Konstruktionsmethodologie II
      • Interpretation der SVD
      • Reduced SVD
      • Verwendung in NLP

SVD Zerlegung war

minus041 07 024minus029 minus033 minus072minus061 minus02 014minus061 minus02 014minus01 057 minus062

227 0 0

0 149 00 0 078

minus072 minus023 minus066019 085 minus05067 minus048 minus056

=

minus093 104 0187minus0658 minus049 minus056minus138 minus0298 01092minus138 minus0298 minus1092minus0227 084 minus0483

minus072 minus023 minus066

019 085 minus05067 minus048 minus056

=

1 1 00 0 11 0 11 0 10 1 0

Abweichungen sind Rundungsfehler61

Niedrigdimensionale Approximation

Die kleinsten Eigenwerte sind die unwichtigsten Wir konnen dieseldquoweglassenrdquo = auf Null setzenrarr eine Matrix mit kleinerem Rang dieaber relativ ahnlich zur Ausgangsmatrix istminus041 07 024minus029 minus033 minus072minus061 minus02 014minus061 minus02 014minus01 057 minus062

227 0 0

0 149 00 0 0

minus072 minus023 minus066019 085 minus05067 minus048 minus056

=

minus093 104 0minus0658 minus049 0minus138 minus0298 0minus138 minus0298 0minus0227 084 0

minus072 minus023 minus066

019 085 minus05067 minus048 minus056

=

087 109 011038 minus027 068093 005 106093 005 106032 077 minus027

62

Die niedrigdimensionale Approximation

Wir interessieren uns fur die Matrix U2 = UΣ2 also die Matrix mit demniedrigerem Rang

minus093 104 0minus0658 minus049 0minus138 minus0298 0minus138 minus0298 0minus0227 084 0

Man kann diese nun als die Reprasentation unserer 5 Worter mit zweiversteckten Dimensionen auffassen

h1 h2ship minus093 104boat minus0658 minus049

ocean minus138 minus0298motor minus138 minus0298wood minus0227 084

63

Neue Ahnlichkeitsberechnungen

h1 h2ship minus093 104boat minus0658 minus049

ocean minus138 minus0298motor minus138 minus0298wood minus0227 084

cossim(shipboat) =(minus093) middot (minus0658) + 104 middot (minus049)radic

(0932 + 1042) middotradic

(06582 + 0492)= 009

cossim(shipocean) =(minus093) middot (minus138) + 104 middot (minus029)radic

(0932 + 1042) middotradic

(1382 + 0292)= 049

cossim(boatocean) = 09

64

Variationen

Benutze nur Umtimesk zur Ahnlichkeitsberechnung

Benutze Umtimesk middotΣpktimesk zur Ahnlichkeitsberechnungrarr Parameter p

sollte getuned werden Kann groszlige Unterschiede machen

Oft p = 0p = 05p = 1

65

Performanz der Reduced-SVD-Embeddings

Levy O Goldberg Y Neural word embedding as implicit matrix factorization In

Advances in neural information processing systems 2014 S 2177-2185

(Englische) Wikipedia 15 Milliarden Tokens

Fenster 2 beiderseits

Vokabular 189 533 fur Terme sowie Kontexte

PPMI Matrizen

SVD sowie ohne Zerlegung (PPMI) sowie neurale (SGNS)

Algorithmus Spearman Rank zu WordSim 353SVD 0652SGNS 0633PPMI 0605

66

Latent Semantic Analysis und Word Embeddings

Levy2014

ldquoWe analyze skip-gram with negative-sampling (SGNS) [] and show that it isimplicitly factorizing a word-context matrix whose cells are the pointwise mutualinformation (PMI) of the respective word and context pairs shifted by a globalconstant When dense low-dimensional vectors are preferred exact factorizationwith SVD can achieve solutions that are at least as good as SGNSrsquoss solutions forword similarity tasks On analogy questions SGNS remains superior to SVD Weconjecture that this stems from the weighted nature of SGNSrsquos factorizationrdquo

67

Zusammenfassung

Reduced SVD resultiert in einer optimalen Approximation derOriginalmatrix mit niedrigerem Rang Optimal = optimal bzgl derFrobeniusnorm (bzw mean squared error)

Dadurch erhalten wir eine mathematisch fundierte dichtereMatrix die Rauschen (weniger wichtige Dimensionen) eliminiert

Wir konnen mittels Umtimesk Σktimesk weiterhin Wortahnlichkeitenberechnen

Es konnen Resultate erreicht werden die bei word similaritymindestens ebensogut sind wie mit neuralen word embeddings

Nachteile Kosten der SVD Berechnung fur mtimesn matrixO(n middotm2) (when m lt n)rarr Nicht gut fur sehr grosse Matrizen

Nachteile Geht nicht gut mit unbekannten Wortern um

Nachteile schlechter bei Wortanalogieaufgaben

68

Literatur

Guter erweiterter Hintergrundhttptheorystanfordedu˜tims15ll7pdf bishttptheorystanfordedu˜tims15ll9pdf

SVD Tutorial (ohne vollstandigen Hintergrund) Kirk Baker(2005) Singular Value Decomposition Tutorialhttpsdatajobscomdata-science-repoSVD-Tutorial-[Kirk-Baker]pdf Leider ist hier imKonstruktionsverfahren I die Vorzeichenproblematikfalschlicherweise nicht behandelt worden

Levy O Goldberg Y Neural word embedding as implicit matrixfactorization In Advances in neural information processingsystems 2014 S 2177-2185

Ubungsblatt II

69

  • SVD Hauptsatz
    • Der SVD-Satz
    • Konstruktion am Beispiel Methodologie I
    • Konstruktionsmethodologie II
      • Interpretation der SVD
      • Reduced SVD
      • Verwendung in NLP

Niedrigdimensionale Approximation

Die kleinsten Eigenwerte sind die unwichtigsten Wir konnen dieseldquoweglassenrdquo = auf Null setzenrarr eine Matrix mit kleinerem Rang dieaber relativ ahnlich zur Ausgangsmatrix istminus041 07 024minus029 minus033 minus072minus061 minus02 014minus061 minus02 014minus01 057 minus062

227 0 0

0 149 00 0 0

minus072 minus023 minus066019 085 minus05067 minus048 minus056

=

minus093 104 0minus0658 minus049 0minus138 minus0298 0minus138 minus0298 0minus0227 084 0

minus072 minus023 minus066

019 085 minus05067 minus048 minus056

=

087 109 011038 minus027 068093 005 106093 005 106032 077 minus027

62

Die niedrigdimensionale Approximation

Wir interessieren uns fur die Matrix U2 = UΣ2 also die Matrix mit demniedrigerem Rang

minus093 104 0minus0658 minus049 0minus138 minus0298 0minus138 minus0298 0minus0227 084 0

Man kann diese nun als die Reprasentation unserer 5 Worter mit zweiversteckten Dimensionen auffassen

h1 h2ship minus093 104boat minus0658 minus049

ocean minus138 minus0298motor minus138 minus0298wood minus0227 084

63

Neue Ahnlichkeitsberechnungen

h1 h2ship minus093 104boat minus0658 minus049

ocean minus138 minus0298motor minus138 minus0298wood minus0227 084

cossim(shipboat) =(minus093) middot (minus0658) + 104 middot (minus049)radic

(0932 + 1042) middotradic

(06582 + 0492)= 009

cossim(shipocean) =(minus093) middot (minus138) + 104 middot (minus029)radic

(0932 + 1042) middotradic

(1382 + 0292)= 049

cossim(boatocean) = 09

64

Variationen

Benutze nur Umtimesk zur Ahnlichkeitsberechnung

Benutze Umtimesk middotΣpktimesk zur Ahnlichkeitsberechnungrarr Parameter p

sollte getuned werden Kann groszlige Unterschiede machen

Oft p = 0p = 05p = 1

65

Performanz der Reduced-SVD-Embeddings

Levy O Goldberg Y Neural word embedding as implicit matrix factorization In

Advances in neural information processing systems 2014 S 2177-2185

(Englische) Wikipedia 15 Milliarden Tokens

Fenster 2 beiderseits

Vokabular 189 533 fur Terme sowie Kontexte

PPMI Matrizen

SVD sowie ohne Zerlegung (PPMI) sowie neurale (SGNS)

Algorithmus Spearman Rank zu WordSim 353SVD 0652SGNS 0633PPMI 0605

66

Latent Semantic Analysis und Word Embeddings

Levy2014

ldquoWe analyze skip-gram with negative-sampling (SGNS) [] and show that it isimplicitly factorizing a word-context matrix whose cells are the pointwise mutualinformation (PMI) of the respective word and context pairs shifted by a globalconstant When dense low-dimensional vectors are preferred exact factorizationwith SVD can achieve solutions that are at least as good as SGNSrsquoss solutions forword similarity tasks On analogy questions SGNS remains superior to SVD Weconjecture that this stems from the weighted nature of SGNSrsquos factorizationrdquo

67

Zusammenfassung

Reduced SVD resultiert in einer optimalen Approximation derOriginalmatrix mit niedrigerem Rang Optimal = optimal bzgl derFrobeniusnorm (bzw mean squared error)

Dadurch erhalten wir eine mathematisch fundierte dichtereMatrix die Rauschen (weniger wichtige Dimensionen) eliminiert

Wir konnen mittels Umtimesk Σktimesk weiterhin Wortahnlichkeitenberechnen

Es konnen Resultate erreicht werden die bei word similaritymindestens ebensogut sind wie mit neuralen word embeddings

Nachteile Kosten der SVD Berechnung fur mtimesn matrixO(n middotm2) (when m lt n)rarr Nicht gut fur sehr grosse Matrizen

Nachteile Geht nicht gut mit unbekannten Wortern um

Nachteile schlechter bei Wortanalogieaufgaben

68

Literatur

Guter erweiterter Hintergrundhttptheorystanfordedu˜tims15ll7pdf bishttptheorystanfordedu˜tims15ll9pdf

SVD Tutorial (ohne vollstandigen Hintergrund) Kirk Baker(2005) Singular Value Decomposition Tutorialhttpsdatajobscomdata-science-repoSVD-Tutorial-[Kirk-Baker]pdf Leider ist hier imKonstruktionsverfahren I die Vorzeichenproblematikfalschlicherweise nicht behandelt worden

Levy O Goldberg Y Neural word embedding as implicit matrixfactorization In Advances in neural information processingsystems 2014 S 2177-2185

Ubungsblatt II

69

  • SVD Hauptsatz
    • Der SVD-Satz
    • Konstruktion am Beispiel Methodologie I
    • Konstruktionsmethodologie II
      • Interpretation der SVD
      • Reduced SVD
      • Verwendung in NLP

Die niedrigdimensionale Approximation

Wir interessieren uns fur die Matrix U2 = UΣ2 also die Matrix mit demniedrigerem Rang

minus093 104 0minus0658 minus049 0minus138 minus0298 0minus138 minus0298 0minus0227 084 0

Man kann diese nun als die Reprasentation unserer 5 Worter mit zweiversteckten Dimensionen auffassen

h1 h2ship minus093 104boat minus0658 minus049

ocean minus138 minus0298motor minus138 minus0298wood minus0227 084

63

Neue Ahnlichkeitsberechnungen

h1 h2ship minus093 104boat minus0658 minus049

ocean minus138 minus0298motor minus138 minus0298wood minus0227 084

cossim(shipboat) =(minus093) middot (minus0658) + 104 middot (minus049)radic

(0932 + 1042) middotradic

(06582 + 0492)= 009

cossim(shipocean) =(minus093) middot (minus138) + 104 middot (minus029)radic

(0932 + 1042) middotradic

(1382 + 0292)= 049

cossim(boatocean) = 09

64

Variationen

Benutze nur Umtimesk zur Ahnlichkeitsberechnung

Benutze Umtimesk middotΣpktimesk zur Ahnlichkeitsberechnungrarr Parameter p

sollte getuned werden Kann groszlige Unterschiede machen

Oft p = 0p = 05p = 1

65

Performanz der Reduced-SVD-Embeddings

Levy O Goldberg Y Neural word embedding as implicit matrix factorization In

Advances in neural information processing systems 2014 S 2177-2185

(Englische) Wikipedia 15 Milliarden Tokens

Fenster 2 beiderseits

Vokabular 189 533 fur Terme sowie Kontexte

PPMI Matrizen

SVD sowie ohne Zerlegung (PPMI) sowie neurale (SGNS)

Algorithmus Spearman Rank zu WordSim 353SVD 0652SGNS 0633PPMI 0605

66

Latent Semantic Analysis und Word Embeddings

Levy2014

ldquoWe analyze skip-gram with negative-sampling (SGNS) [] and show that it isimplicitly factorizing a word-context matrix whose cells are the pointwise mutualinformation (PMI) of the respective word and context pairs shifted by a globalconstant When dense low-dimensional vectors are preferred exact factorizationwith SVD can achieve solutions that are at least as good as SGNSrsquoss solutions forword similarity tasks On analogy questions SGNS remains superior to SVD Weconjecture that this stems from the weighted nature of SGNSrsquos factorizationrdquo

67

Zusammenfassung

Reduced SVD resultiert in einer optimalen Approximation derOriginalmatrix mit niedrigerem Rang Optimal = optimal bzgl derFrobeniusnorm (bzw mean squared error)

Dadurch erhalten wir eine mathematisch fundierte dichtereMatrix die Rauschen (weniger wichtige Dimensionen) eliminiert

Wir konnen mittels Umtimesk Σktimesk weiterhin Wortahnlichkeitenberechnen

Es konnen Resultate erreicht werden die bei word similaritymindestens ebensogut sind wie mit neuralen word embeddings

Nachteile Kosten der SVD Berechnung fur mtimesn matrixO(n middotm2) (when m lt n)rarr Nicht gut fur sehr grosse Matrizen

Nachteile Geht nicht gut mit unbekannten Wortern um

Nachteile schlechter bei Wortanalogieaufgaben

68

Literatur

Guter erweiterter Hintergrundhttptheorystanfordedu˜tims15ll7pdf bishttptheorystanfordedu˜tims15ll9pdf

SVD Tutorial (ohne vollstandigen Hintergrund) Kirk Baker(2005) Singular Value Decomposition Tutorialhttpsdatajobscomdata-science-repoSVD-Tutorial-[Kirk-Baker]pdf Leider ist hier imKonstruktionsverfahren I die Vorzeichenproblematikfalschlicherweise nicht behandelt worden

Levy O Goldberg Y Neural word embedding as implicit matrixfactorization In Advances in neural information processingsystems 2014 S 2177-2185

Ubungsblatt II

69

  • SVD Hauptsatz
    • Der SVD-Satz
    • Konstruktion am Beispiel Methodologie I
    • Konstruktionsmethodologie II
      • Interpretation der SVD
      • Reduced SVD
      • Verwendung in NLP

Neue Ahnlichkeitsberechnungen

h1 h2ship minus093 104boat minus0658 minus049

ocean minus138 minus0298motor minus138 minus0298wood minus0227 084

cossim(shipboat) =(minus093) middot (minus0658) + 104 middot (minus049)radic

(0932 + 1042) middotradic

(06582 + 0492)= 009

cossim(shipocean) =(minus093) middot (minus138) + 104 middot (minus029)radic

(0932 + 1042) middotradic

(1382 + 0292)= 049

cossim(boatocean) = 09

64

Variationen

Benutze nur Umtimesk zur Ahnlichkeitsberechnung

Benutze Umtimesk middotΣpktimesk zur Ahnlichkeitsberechnungrarr Parameter p

sollte getuned werden Kann groszlige Unterschiede machen

Oft p = 0p = 05p = 1

65

Performanz der Reduced-SVD-Embeddings

Levy O Goldberg Y Neural word embedding as implicit matrix factorization In

Advances in neural information processing systems 2014 S 2177-2185

(Englische) Wikipedia 15 Milliarden Tokens

Fenster 2 beiderseits

Vokabular 189 533 fur Terme sowie Kontexte

PPMI Matrizen

SVD sowie ohne Zerlegung (PPMI) sowie neurale (SGNS)

Algorithmus Spearman Rank zu WordSim 353SVD 0652SGNS 0633PPMI 0605

66

Latent Semantic Analysis und Word Embeddings

Levy2014

ldquoWe analyze skip-gram with negative-sampling (SGNS) [] and show that it isimplicitly factorizing a word-context matrix whose cells are the pointwise mutualinformation (PMI) of the respective word and context pairs shifted by a globalconstant When dense low-dimensional vectors are preferred exact factorizationwith SVD can achieve solutions that are at least as good as SGNSrsquoss solutions forword similarity tasks On analogy questions SGNS remains superior to SVD Weconjecture that this stems from the weighted nature of SGNSrsquos factorizationrdquo

67

Zusammenfassung

Reduced SVD resultiert in einer optimalen Approximation derOriginalmatrix mit niedrigerem Rang Optimal = optimal bzgl derFrobeniusnorm (bzw mean squared error)

Dadurch erhalten wir eine mathematisch fundierte dichtereMatrix die Rauschen (weniger wichtige Dimensionen) eliminiert

Wir konnen mittels Umtimesk Σktimesk weiterhin Wortahnlichkeitenberechnen

Es konnen Resultate erreicht werden die bei word similaritymindestens ebensogut sind wie mit neuralen word embeddings

Nachteile Kosten der SVD Berechnung fur mtimesn matrixO(n middotm2) (when m lt n)rarr Nicht gut fur sehr grosse Matrizen

Nachteile Geht nicht gut mit unbekannten Wortern um

Nachteile schlechter bei Wortanalogieaufgaben

68

Literatur

Guter erweiterter Hintergrundhttptheorystanfordedu˜tims15ll7pdf bishttptheorystanfordedu˜tims15ll9pdf

SVD Tutorial (ohne vollstandigen Hintergrund) Kirk Baker(2005) Singular Value Decomposition Tutorialhttpsdatajobscomdata-science-repoSVD-Tutorial-[Kirk-Baker]pdf Leider ist hier imKonstruktionsverfahren I die Vorzeichenproblematikfalschlicherweise nicht behandelt worden

Levy O Goldberg Y Neural word embedding as implicit matrixfactorization In Advances in neural information processingsystems 2014 S 2177-2185

Ubungsblatt II

69

  • SVD Hauptsatz
    • Der SVD-Satz
    • Konstruktion am Beispiel Methodologie I
    • Konstruktionsmethodologie II
      • Interpretation der SVD
      • Reduced SVD
      • Verwendung in NLP

Variationen

Benutze nur Umtimesk zur Ahnlichkeitsberechnung

Benutze Umtimesk middotΣpktimesk zur Ahnlichkeitsberechnungrarr Parameter p

sollte getuned werden Kann groszlige Unterschiede machen

Oft p = 0p = 05p = 1

65

Performanz der Reduced-SVD-Embeddings

Levy O Goldberg Y Neural word embedding as implicit matrix factorization In

Advances in neural information processing systems 2014 S 2177-2185

(Englische) Wikipedia 15 Milliarden Tokens

Fenster 2 beiderseits

Vokabular 189 533 fur Terme sowie Kontexte

PPMI Matrizen

SVD sowie ohne Zerlegung (PPMI) sowie neurale (SGNS)

Algorithmus Spearman Rank zu WordSim 353SVD 0652SGNS 0633PPMI 0605

66

Latent Semantic Analysis und Word Embeddings

Levy2014

ldquoWe analyze skip-gram with negative-sampling (SGNS) [] and show that it isimplicitly factorizing a word-context matrix whose cells are the pointwise mutualinformation (PMI) of the respective word and context pairs shifted by a globalconstant When dense low-dimensional vectors are preferred exact factorizationwith SVD can achieve solutions that are at least as good as SGNSrsquoss solutions forword similarity tasks On analogy questions SGNS remains superior to SVD Weconjecture that this stems from the weighted nature of SGNSrsquos factorizationrdquo

67

Zusammenfassung

Reduced SVD resultiert in einer optimalen Approximation derOriginalmatrix mit niedrigerem Rang Optimal = optimal bzgl derFrobeniusnorm (bzw mean squared error)

Dadurch erhalten wir eine mathematisch fundierte dichtereMatrix die Rauschen (weniger wichtige Dimensionen) eliminiert

Wir konnen mittels Umtimesk Σktimesk weiterhin Wortahnlichkeitenberechnen

Es konnen Resultate erreicht werden die bei word similaritymindestens ebensogut sind wie mit neuralen word embeddings

Nachteile Kosten der SVD Berechnung fur mtimesn matrixO(n middotm2) (when m lt n)rarr Nicht gut fur sehr grosse Matrizen

Nachteile Geht nicht gut mit unbekannten Wortern um

Nachteile schlechter bei Wortanalogieaufgaben

68

Literatur

Guter erweiterter Hintergrundhttptheorystanfordedu˜tims15ll7pdf bishttptheorystanfordedu˜tims15ll9pdf

SVD Tutorial (ohne vollstandigen Hintergrund) Kirk Baker(2005) Singular Value Decomposition Tutorialhttpsdatajobscomdata-science-repoSVD-Tutorial-[Kirk-Baker]pdf Leider ist hier imKonstruktionsverfahren I die Vorzeichenproblematikfalschlicherweise nicht behandelt worden

Levy O Goldberg Y Neural word embedding as implicit matrixfactorization In Advances in neural information processingsystems 2014 S 2177-2185

Ubungsblatt II

69

  • SVD Hauptsatz
    • Der SVD-Satz
    • Konstruktion am Beispiel Methodologie I
    • Konstruktionsmethodologie II
      • Interpretation der SVD
      • Reduced SVD
      • Verwendung in NLP

Performanz der Reduced-SVD-Embeddings

Levy O Goldberg Y Neural word embedding as implicit matrix factorization In

Advances in neural information processing systems 2014 S 2177-2185

(Englische) Wikipedia 15 Milliarden Tokens

Fenster 2 beiderseits

Vokabular 189 533 fur Terme sowie Kontexte

PPMI Matrizen

SVD sowie ohne Zerlegung (PPMI) sowie neurale (SGNS)

Algorithmus Spearman Rank zu WordSim 353SVD 0652SGNS 0633PPMI 0605

66

Latent Semantic Analysis und Word Embeddings

Levy2014

ldquoWe analyze skip-gram with negative-sampling (SGNS) [] and show that it isimplicitly factorizing a word-context matrix whose cells are the pointwise mutualinformation (PMI) of the respective word and context pairs shifted by a globalconstant When dense low-dimensional vectors are preferred exact factorizationwith SVD can achieve solutions that are at least as good as SGNSrsquoss solutions forword similarity tasks On analogy questions SGNS remains superior to SVD Weconjecture that this stems from the weighted nature of SGNSrsquos factorizationrdquo

67

Zusammenfassung

Reduced SVD resultiert in einer optimalen Approximation derOriginalmatrix mit niedrigerem Rang Optimal = optimal bzgl derFrobeniusnorm (bzw mean squared error)

Dadurch erhalten wir eine mathematisch fundierte dichtereMatrix die Rauschen (weniger wichtige Dimensionen) eliminiert

Wir konnen mittels Umtimesk Σktimesk weiterhin Wortahnlichkeitenberechnen

Es konnen Resultate erreicht werden die bei word similaritymindestens ebensogut sind wie mit neuralen word embeddings

Nachteile Kosten der SVD Berechnung fur mtimesn matrixO(n middotm2) (when m lt n)rarr Nicht gut fur sehr grosse Matrizen

Nachteile Geht nicht gut mit unbekannten Wortern um

Nachteile schlechter bei Wortanalogieaufgaben

68

Literatur

Guter erweiterter Hintergrundhttptheorystanfordedu˜tims15ll7pdf bishttptheorystanfordedu˜tims15ll9pdf

SVD Tutorial (ohne vollstandigen Hintergrund) Kirk Baker(2005) Singular Value Decomposition Tutorialhttpsdatajobscomdata-science-repoSVD-Tutorial-[Kirk-Baker]pdf Leider ist hier imKonstruktionsverfahren I die Vorzeichenproblematikfalschlicherweise nicht behandelt worden

Levy O Goldberg Y Neural word embedding as implicit matrixfactorization In Advances in neural information processingsystems 2014 S 2177-2185

Ubungsblatt II

69

  • SVD Hauptsatz
    • Der SVD-Satz
    • Konstruktion am Beispiel Methodologie I
    • Konstruktionsmethodologie II
      • Interpretation der SVD
      • Reduced SVD
      • Verwendung in NLP

Latent Semantic Analysis und Word Embeddings

Levy2014

ldquoWe analyze skip-gram with negative-sampling (SGNS) [] and show that it isimplicitly factorizing a word-context matrix whose cells are the pointwise mutualinformation (PMI) of the respective word and context pairs shifted by a globalconstant When dense low-dimensional vectors are preferred exact factorizationwith SVD can achieve solutions that are at least as good as SGNSrsquoss solutions forword similarity tasks On analogy questions SGNS remains superior to SVD Weconjecture that this stems from the weighted nature of SGNSrsquos factorizationrdquo

67

Zusammenfassung

Reduced SVD resultiert in einer optimalen Approximation derOriginalmatrix mit niedrigerem Rang Optimal = optimal bzgl derFrobeniusnorm (bzw mean squared error)

Dadurch erhalten wir eine mathematisch fundierte dichtereMatrix die Rauschen (weniger wichtige Dimensionen) eliminiert

Wir konnen mittels Umtimesk Σktimesk weiterhin Wortahnlichkeitenberechnen

Es konnen Resultate erreicht werden die bei word similaritymindestens ebensogut sind wie mit neuralen word embeddings

Nachteile Kosten der SVD Berechnung fur mtimesn matrixO(n middotm2) (when m lt n)rarr Nicht gut fur sehr grosse Matrizen

Nachteile Geht nicht gut mit unbekannten Wortern um

Nachteile schlechter bei Wortanalogieaufgaben

68

Literatur

Guter erweiterter Hintergrundhttptheorystanfordedu˜tims15ll7pdf bishttptheorystanfordedu˜tims15ll9pdf

SVD Tutorial (ohne vollstandigen Hintergrund) Kirk Baker(2005) Singular Value Decomposition Tutorialhttpsdatajobscomdata-science-repoSVD-Tutorial-[Kirk-Baker]pdf Leider ist hier imKonstruktionsverfahren I die Vorzeichenproblematikfalschlicherweise nicht behandelt worden

Levy O Goldberg Y Neural word embedding as implicit matrixfactorization In Advances in neural information processingsystems 2014 S 2177-2185

Ubungsblatt II

69

  • SVD Hauptsatz
    • Der SVD-Satz
    • Konstruktion am Beispiel Methodologie I
    • Konstruktionsmethodologie II
      • Interpretation der SVD
      • Reduced SVD
      • Verwendung in NLP

Zusammenfassung

Reduced SVD resultiert in einer optimalen Approximation derOriginalmatrix mit niedrigerem Rang Optimal = optimal bzgl derFrobeniusnorm (bzw mean squared error)

Dadurch erhalten wir eine mathematisch fundierte dichtereMatrix die Rauschen (weniger wichtige Dimensionen) eliminiert

Wir konnen mittels Umtimesk Σktimesk weiterhin Wortahnlichkeitenberechnen

Es konnen Resultate erreicht werden die bei word similaritymindestens ebensogut sind wie mit neuralen word embeddings

Nachteile Kosten der SVD Berechnung fur mtimesn matrixO(n middotm2) (when m lt n)rarr Nicht gut fur sehr grosse Matrizen

Nachteile Geht nicht gut mit unbekannten Wortern um

Nachteile schlechter bei Wortanalogieaufgaben

68

Literatur

Guter erweiterter Hintergrundhttptheorystanfordedu˜tims15ll7pdf bishttptheorystanfordedu˜tims15ll9pdf

SVD Tutorial (ohne vollstandigen Hintergrund) Kirk Baker(2005) Singular Value Decomposition Tutorialhttpsdatajobscomdata-science-repoSVD-Tutorial-[Kirk-Baker]pdf Leider ist hier imKonstruktionsverfahren I die Vorzeichenproblematikfalschlicherweise nicht behandelt worden

Levy O Goldberg Y Neural word embedding as implicit matrixfactorization In Advances in neural information processingsystems 2014 S 2177-2185

Ubungsblatt II

69

  • SVD Hauptsatz
    • Der SVD-Satz
    • Konstruktion am Beispiel Methodologie I
    • Konstruktionsmethodologie II
      • Interpretation der SVD
      • Reduced SVD
      • Verwendung in NLP

Literatur

Guter erweiterter Hintergrundhttptheorystanfordedu˜tims15ll7pdf bishttptheorystanfordedu˜tims15ll9pdf

SVD Tutorial (ohne vollstandigen Hintergrund) Kirk Baker(2005) Singular Value Decomposition Tutorialhttpsdatajobscomdata-science-repoSVD-Tutorial-[Kirk-Baker]pdf Leider ist hier imKonstruktionsverfahren I die Vorzeichenproblematikfalschlicherweise nicht behandelt worden

Levy O Goldberg Y Neural word embedding as implicit matrixfactorization In Advances in neural information processingsystems 2014 S 2177-2185

Ubungsblatt II

69

  • SVD Hauptsatz
    • Der SVD-Satz
    • Konstruktion am Beispiel Methodologie I
    • Konstruktionsmethodologie II
      • Interpretation der SVD
      • Reduced SVD
      • Verwendung in NLP