• Keine Ergebnisse gefunden

Singular Value Decomposition (SVD)/Singul¨arwertzerlegung

N/A
N/A
Protected

Academic year: 2022

Aktie "Singular Value Decomposition (SVD)/Singul¨arwertzerlegung"

Copied!
79
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Singular Value Decomposition (SVD)/Singul ¨arwertzerlegung

Katja Markert, einige Folien von Julian Hitschler

Institut f ¨ur Computerlinguistik Uni Heidelberg markert@cl.uni-heidelberg.de

June 11, 2019

(2)

Bisher und heute

1 Hintergrund zu den mathematischen Begriffen und Methoden, die f ¨ur Matrizenzerlegung notwendig ist

2 Jetzt: der SVD-Hauptsatz (mit Konstruktion, aber ohne Beweis)

3 Die Intuition dahinter

4 Reduced SVD

Dichte Embeddings

5 Performanz von diesen dichten SVD-Embeddings in NLP

2

(3)

Ubersicht ¨

1 SVD Hauptsatz Der SVD-Satz

Konstruktion am Beispiel: Methodologie I Konstruktionsmethodologie II

2 Interpretation der SVD

3 Reduced SVD

4 Verwendung in NLP

(4)

Ubersicht ¨

1 SVD Hauptsatz Der SVD-Satz

Konstruktion am Beispiel: Methodologie I Konstruktionsmethodologie II

2 Interpretation der SVD

3 Reduced SVD

4 Verwendung in NLP

4

(5)

SVD

Eine reellwertigem

×

n- MatrixAl ¨asst sich wie folgt faktorisieren:

A

=

U

Σ

VT

Uist eine orthonormalem

×

m- Matrix

Σ

ist eine “diagonale”m

×

n- Matrix

VT ist die Transponierte einer orthonormalenn

×

n- Matrix

(6)

Singul ¨arwertzerlegung

A

=

a11 a12 ... a1n

a21 a22 ... a2n ... ... . . . ... am1 am2 ... amn

=

u11 u12 ... u1m u21 u22 ... u2m

.. .

..

. . .. ... um1 um2 ... umm

σ11 0 0 ... 0

0 σ22 0 ... 0

.. .

.. .

..

. . .. ...

0 0 0 ... σmn

v11 v12 ... v1n v21 v22 ... v2n v31 v32 ... v3n

.. .

..

. . .. ... vn1 vn2 ... vnn

T

Diagonale Eintr ¨age inΣwerden als Singul ¨arwerte vonAbezeichnet Spalten inUwerden als linke Singul ¨arvektoren vonAbezeichnet Spalten inVwerden als rechte Singul ¨arvektoren vonAbezeichnet

6

(7)

Konstruktionsmethodologie I

1 Berechne die quadratischem

×

mMatrixA

·

AT

2 Berechne die Eigenwerteσ2i und Eigenvektorenui vonA

·

AT

3 Die Vektorenui werden orthonormalisiert (Gram-Schmidt) und bilden die Spaltenvektoren vonU

4 Berechne die quadratischen×nMatrixAT·A

5 Berechne die Eigenwerteσ2j und Eigenvektorenvj vonAT·A.

Tip: die positiven Eigenwerte sind gleich zu denen vonA·AT

6 Die Vektorenvj werden orthonormalisiert (Gram-Schmidt) und bilden die Spaltenvektoren vonV

7 Die Wurzeln derσ2-Werte werden in absteigender Reihenfolge die Eintr ¨age vonΣ

8 Eventuell Korrektur der Vorzeichen vonUbzw.V

(8)

Konstruktionsmethodologie I

1 Berechne die quadratischem

×

mMatrixA

·

AT

2 Berechne die Eigenwerteσ2i und Eigenvektorenui vonA

·

AT

3 Die Vektorenui werden orthonormalisiert (Gram-Schmidt) und bilden die Spaltenvektoren vonU

4 Berechne die quadratischen

×

nMatrixAT

·

A

5 Berechne die Eigenwerteσ2j und Eigenvektorenvj vonAT

·

A.

Tip: die positiven Eigenwerte sind gleich zu denen vonA

·

AT

6 Die Vektorenvj werden orthonormalisiert (Gram-Schmidt) und bilden die Spaltenvektoren vonV

7 Die Wurzeln derσ2-Werte werden in absteigender Reihenfolge die Eintr ¨age vonΣ

8 Eventuell Korrektur der Vorzeichen vonUbzw.V

7

(9)

Konstruktionsmethodologie I

1 Berechne die quadratischem

×

mMatrixA

·

AT

2 Berechne die Eigenwerteσ2i und Eigenvektorenui vonA

·

AT

3 Die Vektorenui werden orthonormalisiert (Gram-Schmidt) und bilden die Spaltenvektoren vonU

4 Berechne die quadratischen

×

nMatrixAT

·

A

5 Berechne die Eigenwerteσ2j und Eigenvektorenvj vonAT

·

A.

Tip: die positiven Eigenwerte sind gleich zu denen vonA

·

AT

6 Die Vektorenvj werden orthonormalisiert (Gram-Schmidt) und bilden die Spaltenvektoren vonV

7 Die Wurzeln derσ2-Werte werden in absteigender Reihenfolge die Eintr ¨age von

Σ

8 Eventuell Korrektur der Vorzeichen vonUbzw.V

(10)

Konstruktionsmethodologie I

1 Berechne die quadratischem

×

mMatrixA

·

AT

2 Berechne die Eigenwerteσ2i und Eigenvektorenui vonA

·

AT

3 Die Vektorenui werden orthonormalisiert (Gram-Schmidt) und bilden die Spaltenvektoren vonU

4 Berechne die quadratischen

×

nMatrixAT

·

A

5 Berechne die Eigenwerteσ2j und Eigenvektorenvj vonAT

·

A.

Tip: die positiven Eigenwerte sind gleich zu denen vonA

·

AT

6 Die Vektorenvj werden orthonormalisiert (Gram-Schmidt) und bilden die Spaltenvektoren vonV

7 Die Wurzeln derσ2-Werte werden in absteigender Reihenfolge die Eintr ¨age von

Σ

8 Eventuell Korrektur der Vorzeichen vonUbzw.V

7

(11)

Beispiel (aus Kirk Bakers Tutorial)

Sei

A

=

3 1 1

1 3 1

(12)

Schritt 1: Berechne A · A

T

A

·

AT

=

3 1 1

1 3 1

3

1

1 3

1 1

 =

11 1 1 11

9

(13)

Schritt II: Bestimme die Eigenwerte und Eigenvektoren von A · A

T

Setze

11 1 1 11

·

x1

x2

=

σ

x1

x2

Damit ergibt sich das Gleichungssystem:

1 11x1+x2=σx1

2 x1+11x2=σx2

(14)

Schritt II: Bestimme die Eigenwerte und Eigenvektoren von A · A

T

Setze

11 1 1 11

·

x1

x2

=

σ

x1

x2

Damit ergibt sich das Gleichungssystem:

1 11x1

+

x2

=

σx1

2 x1

+

11x2

=

σx2

10

(15)

Schritt II: Bestimme die Eigenwerte und Eigenvektoren von A · A

T

1 11x1

+

x2

=

σx1

2 x1

+

11x2

=

σx2

Ergibt z. B. nach Umformungen (hier Zeilenabzug) 10x1

10x2

=

σx1

σx2

und damit Eigenwertσ1

=

10

Ergibt z. B. nach Umformungen (hier Zeilenaddition) 12x1

+

12x2

=

σx1

+

σx2

und damit Eigenwertσ2

=

12

(16)

Schritt II: Bestimme die Eigenwerte und Eigenvektoren von A · A

T

1 11x1

+

x2

=

σx1 2 x1

+

11x2

=

σx2

Zwei Eigenwerteσ1

=

10 undσ2

=

12. Damit ergibt sich f ¨ur die Eigenvektoren:

1 11x1

+

x2

=

10x1

2 x1

+

11x2

=

10x2und damit

3 x1

= −

x2

4 Wir w ¨ahlenx1= 1 und damitx2

= −

1 sowie

1 11x1

+

x2

=

12x1

2 x1

+

11x2

=

12x2und damit

3 x1

=

x2

4 Wir w ¨ahlenx1= 1 und damitx2

=

1

12

(17)

Schritt III: Bestimme U

Starte mit einer MatrixU, die die bestimmten Eigenvektoren von

˜

A

·

AT geordnet nach der Gr ¨oße der jeweiligen Eigenwerte enth ¨alt

1 F ¨ur Eigenwertσ1

=

10 hatten wirx1= 1 und damitx2

= −

1 gew ¨ahlt

2 F ¨ur Eigenwertσ1

=

12 hatten wirx1= 1 und damitx2

=

1 gew ¨ahlt

3 Spaltenvektoren nach Eigenwertgr ¨oße geordnet

U

˜ =

1 1 1

1

(18)

Schritt III: Bestimme U

Orthonormalisiere mit Gram-Schmidt die Spaltenvektoren vonU

˜

U

˜ =

1 1 1

1

1 Normalisiere ersten Spaltenvektoru(1)

=

˜uu(1)(1)k

=

1 2

1 2

!

2 Berechne die Senkrechte

˜

u(2)

− h

u(1),

˜

u(2)

i ·

u(1)

3 Also

1

1

− h

1 2

1 2

!

,

1

1

i ·

1 2

1 2

!

=

1

1

4 Normalisiere die Senkrechte

1

1

ergibtu(2)

=

1

12

2

!

14

(19)

Schritt III: Bestimme U

Damit ist

U

=

1 2

1 1 2

2

1

2

!

(20)

Schritt IV: Berechne A

T

· A

AT

·

A

=

3

1

1 3

1 1

3 1 1

1 3 1

=

10 0 2

0 10 4

2 4 2

16

(21)

Schritt V: Bestimme die Eigenwerte und Eigenvektoren von A

T

· A

Setze

10 0 2

0 10 4

2 4 2

 ·

x1 x2

x3

 =

σ

x1 x2

x3

Damit ergibt sich das Gleichungssystem:

1 10x1+2x3=σx1 2 10x2+4x3=σx2

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

(22)

Schritt V: Bestimme die Eigenwerte und Eigenvektoren von A

T

· A

Setze

10 0 2

0 10 4

2 4 2

 ·

x1 x2

x3

 =

σ

x1 x2

x3

Damit ergibt sich das Gleichungssystem:

1 10x1

+

2x3

=

σx1 2 10x2

+

4x3

=

σx2

3 2x1

+

4x2

+

2x3

=

σx3

17

(23)

Schritt V: Bestimme die Eigenwerte und Eigenvektoren von A

T

· A

1 10x1

+

2x3

=

σx1 2 10x2

+

4x3

=

σx2 3 2x1

+

4x2

+

2x3

=

σx3

Gleichung (ii) minus zweimal (i):

10x2

+

4x3

20x1

4x3

=

σx2

2σx2 und damitσ1

=

10

Mit ¨ahnlichen Umformungen kann manσ2

=

12 sowieσ3

=

0 berechnen.

(24)

Schritt V: Bestimme die Eigenwerte und Eigenvektoren von A

T

· A

Drei Eigenwerteσ1

=

10,σ2

=

12 undσ3

=

0. Damit ergibt sich f ¨ur die Eigenvektoren:

1 10x1

+

2x3

=

10x1

2 10x2

+

4x3

=

10x2

3 2x1

+

4x2

+

2x3

=

10x3und damit

4 x3

=

0 aus der ersten Gleichung und damit

5 2x1

+

4x2

=

0 bzwx1

= −

2x2

6 Wir k ¨onnen die L ¨ange des Eigenvektors wieder frei w ¨ahlen, da wir danach eh normalisieren. Allerdings sind die Vorzeichen nicht mehr frei w ¨ahlbar, da ja insgesamt beiU·Σ·VT wiederA herauskommen muss. Darauf macht das Tutorial nicht aufmerksam

Wir w ¨ahlenx1

=

2,x2

= −

1, h ¨atten aber auch (f ¨alschlicherweise)x1

= −

2,x2

=

1 w ¨ahlen k ¨onnen.

Ebenso bestimmen wir f ¨urσ2

=

12 einen Eigenvektor

(

1,2,1

)

und f ¨ur σ3

=

0 einen Eigenvektor

(

1,2,−5

)

19

(25)

Schritt VI: Bestimme V

Starte mit einer MatrixV

˜

, die die bestimmten Eigenvektoren vonAT

·

A nach der Gr ¨oße der jeweiligen Eigenwerte als Spaltenvektoren enth ¨alt

1 F ¨ur Eigenwertσ1

=

10 hatten wir

(

2,−1,0

)

gew ¨ahlt

2 F ¨ur Eigenwertσ2

=

12 hatten wir

(

1,2,1

)

bestimmt

3 F ¨ur Eigenwertσ3

=

0 hatten wir

(

1,2,

5

)

bestimmt

4 Spaltenvektoren nach Eigenwertgr ¨oße geordnet

V

˜ =

1 2 1

2

1 2

1 0

5

(26)

Schritt VI: Bestimme V

Orthonormalisiere mit Gram-Schmidt die Spaltenvektoren vonV

˜

V

˜ =

1 2 1

2

1 2

1 0

5

1 Normalisiere ersten Spaltenvektorv(1)

=

˜v(1)

v(1)k

=

1 6

2 16

6

2 Berechne die Senkrechte

˜

v(2)

− h

v(1),

˜

v(2)

i ·

v(1)

3 Also

2

1 0

 − h

1 6

2 16

6

,

2

1 0

i ·

1 6

2 16

6

 =

2

1 0

4 Normalisiere die Senkrechte

2

1 0

ergibtv(2)

=

2

15

5

0

21

(27)

Schritt VI: Bestimme V

V

˜ =

1 2 1

2

1 2

1 0

5

Schon bestimmt v(1)

=

1 6

2 16

6

sowie v

(2)

=

2

51

5

0

Dann kann man auch nochv(3)berechnen mit der Senkrechten

˜

v(3)

− h

v(1),v

˜

(3)

i ·

v(1)

− h

v(2),v

˜

(3)

i ·

v(2)

Dies ergibt

2

34 3

Normalisiert

:

v(3)

=

1 30

2

305

(28)

Schritt VI: Bestimme V

Damit

V

=

1 6

2 5

1 30

2 6

1

5

2 1 30

6 0 5

30

und damit

VT

=

1 6

2 6

1 2 6

5

1

5 0

1 30

2 30

5

30

23

(29)

Schritt VII: Bestimme Σ

Σ

ist einem

×

n(hier 2

×

3) “Diagonalmatrix” mit den Wurzeln der Eigenwerte (vonA

·

AT bzwUbzwV auf der Diagonale), nach Gr ¨oße geordnet:

Σ = √

12 0 0

0

10 0

(30)

Alles Zusammen

A

=

U

Σ

VT

=

1 2

1 2

1 2

1

2

! √

12 0 0

0

10 0

1 6

2 6

1 6

2 5

1

5 0

1 30

2 30

5

30

 =

12 2

10

2 0

12 2

10

2 0

!

1 6

2 6

1 6

2 5

1

5 0

1 30

2 30

5

30

 =

3 1 1

1 3 1

25

(31)

M ¨oglicher Schritt VIII: Vorzeichenverbesserung

Nehmen wir mal an, wir h ¨atten beiV die falschen Vorzeichen gew ¨ahlt.

Zum Beispiel wir h ¨atten f ¨urσ2

=

10 anstatt

(

2,−1,0

)

den Vektor

(−

2,1,0

)

gew ¨ahlt. Damit ergibt sich

V

˜ =

1

2 1

2 1 2

1 0

5

und

V

=

1 6

2

5

1 2 30

6

1 5

2 30

1

6 0 5

30

und

1

6

2 6

1 6

(32)

M ¨oglicher Schritt VIII: Vorzeichenverbesserung

Leider ist nun

U

Σ

VT

=

1 2

1 2

1 2

1

2

! √

12 0 0

0

10 0

1 6

2 6

1

2 6

5

1

5 0

1 30

2 30

5

30

 =

12 2

10

2 0

12 2

10

2 0

!

1 6

2 6

1

2 6

5

1

5 0

1 30

2 30

5

30

 =

1 3 1

3 1 1

27

(33)

M ¨oglicher Schritt VIII: Vorzeichenverbesserung

Die unelegante L ¨osung: Gehe durch alle Zeilen vonVT (Spalten von V), multizipliere sie systematisch mit

1, bis es passt. Durch die Multiplikation mit

1, bleiben die Vektoren immer noch normal und auch die Orthogonalit ¨at ¨andert sich nicht.

Da eventuell auch mehrere Zeilen mit

1 multipliziert werden m ¨ussen, ist dies leider exponentiell in der Zeilenanzahl vonVT (alle m ¨oglichen Kombinationen m ¨ussen probiert werden) Es ist nicht gerade elegant...

Man kann nat ¨urlich stattdessen auch durch die Spalten vonU gehen und diese anpassen.

(34)

Konstruktionsmethodologie II

1 Berechne die quadratischen

×

nMatrixAT

·

A

2 Berechne die Eigenwerteσ2j und Eigenvektorenvj vonAT

·

A.

3 Die Vektorenvj werden orthonormalisiert (Gram-Schmidt) und bilden die Spaltenvektoren vonV

4 Die Wurzeln derσ2-Werte werden in absteigender Reihenfolge die Eintr ¨age vonΣ

5 Die Spaltenvektoren vonUbis zum RangrderAT·AMatrix sind nun eindeutig bestimmt aus der VorgabeA=UΣVT und werden daraus berechnet.

6 Wennr <mm ¨ussen nochm−r Vektoren zur Orthonormalbasis erg ¨anzt werden.

29

(35)

Konstruktionsmethodologie II

1 Berechne die quadratischen

×

nMatrixAT

·

A

2 Berechne die Eigenwerteσ2j und Eigenvektorenvj vonAT

·

A.

3 Die Vektorenvj werden orthonormalisiert (Gram-Schmidt) und bilden die Spaltenvektoren vonV

4 Die Wurzeln derσ2-Werte werden in absteigender Reihenfolge die Eintr ¨age von

Σ

5 Die Spaltenvektoren vonUbis zum RangrderAT·AMatrix sind nun eindeutig bestimmt aus der VorgabeA=UΣVT und werden daraus berechnet.

6 Wennr <mm ¨ussen nochm−r Vektoren zur Orthonormalbasis erg ¨anzt werden.

(36)

Konstruktionsmethodologie II

1 Berechne die quadratischen

×

nMatrixAT

·

A

2 Berechne die Eigenwerteσ2j und Eigenvektorenvj vonAT

·

A.

3 Die Vektorenvj werden orthonormalisiert (Gram-Schmidt) und bilden die Spaltenvektoren vonV

4 Die Wurzeln derσ2-Werte werden in absteigender Reihenfolge die Eintr ¨age von

Σ

5 Die Spaltenvektoren vonUbis zum RangrderAT·AMatrix sind nun eindeutig bestimmt aus der VorgabeA=UΣVT und werden daraus berechnet.

6 Wennr <mm ¨ussen nochm−r Vektoren zur Orthonormalbasis erg ¨anzt werden.

29

(37)

Konstruktionsmethodologie II

1 Berechne die quadratischen

×

nMatrixAT

·

A

2 Berechne die Eigenwerteσ2j und Eigenvektorenvj vonAT

·

A.

3 Die Vektorenvj werden orthonormalisiert (Gram-Schmidt) und bilden die Spaltenvektoren vonV

4 Die Wurzeln derσ2-Werte werden in absteigender Reihenfolge die Eintr ¨age von

Σ

5 Die Spaltenvektoren vonUbis zum RangrderAT·AMatrix sind nun eindeutig bestimmt aus der VorgabeA=UΣVT und werden daraus berechnet.

6 Wennr <mm ¨ussen nochm−r Vektoren zur Orthonormalbasis erg ¨anzt werden.

(38)

Schritt I: Bestimme V

T

und Σ wie bisher

Nach dem ¨ublichen Verfahren sei alsoVT zum Beispiel

1 6

2 6

1

2 6

5

1

5 0

1 30

2 30

5

30

bzwV

V

=

1 6

2

5

1 30

2 6

1 5

2 1 30

6 0 5

30

Die Vorzeichen k ¨onnten auch anders sein.

Weiterhin ist

Σ = √

12 0 0

0

10 0

30

(39)

Schritt II: Bestimme U

Es muss gelten:

A

=

U

Σ

VT

und damit

AV

=

U

Σ

VTV

DaV orthogonal, istVTV die Einheitsmatrix und damit AV

=

U

Σ

(40)

Schritt II: Bestimme U

Man bilde nun einen

×

mMatrix

Σ

0, die genau auf den

entsprechenden Diagonaleintr ¨agen 1/σi stehen hat. Im Beispiel ist

Σ

0

=

1

12 0

0 1

10

0 0

Es gilt, dass

Σ · Σ

0diem

×

mEinheitsmatrix ist.

Und damit

AV

Σ

0

=

U

ΣΣ

0

=

U

32

(41)

Schritt II: Bestimme U

Also gilt

U

=

AV

Σ

0 .

Damit gilt f ¨ur die Spalten vonU, wenn man sich die Matrixmultiplikation genauer anschaut:

u(j)

=

1 σjAv

(j)

In unserem Beispiel:

u(1)

= √

1 12

3 1 1

1 3 1

1 6

2 16

6

 =

1 2

1 2

!

(42)

Schritt II: Bestimme U

Und ebenso

u(2)

= √

1 10

3 1 1

1 3 1

2

5

1 5

0

 =

1

2

1 2

!

Man sieht, dass sich hier das ver ¨anderte Vorzeichen vonv(2)im entgegengesetzten Vorzeichen vonu(2)widerspiegelt. Wir mussten auch nicht zweimal Eigenvektoren berechnen, sondernUist aus den vorherigen Berechnungen bestimmt

34

(43)

Beispiel mit einer Matrix mit niedrigerem Rang

Da wir durch 1

σj dividieren mussten, geht dies nur f ¨ur Eigenwerte ungleich Null. Wenn aber die Matrizen niedrigere R ¨ange haben alsm, dann bekommen wir so nicht gen ¨ugendU-Vektoren. Was machen wir dann?

Beispiel. Sei eine Matrix von Rang 1 gegeben.

A

=

1 0

1 0

(44)

Berechnung von V

ATA

=

1 1

0 0

1 0 1 0

=

2 0

0 0

36

(45)

Berechnung von V

2 0 0 0

hat die Eigenwerte 2 und 0 mit den jeweiligen Eigenvektoren

(

1,0

)

sowie

(

0,1

)

.

Daraus folgt

V

˜ =

1 0

0 1

Die ist schon eine Orthonormalmatrix also giltV

= ˜

V sowie, da DiagonalmatrixVT

=

V

(46)

Bestimmung von Σ

Es gilt:

Σ = √

2 0

0 0

38

(47)

Bestimmung von U

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

= √

1

2Av(1)

= √

1 2

1 0 1 0

1 0

= √

1 2

1 1

=

1 12

2

!

(48)

Bestimmung von U

Da wir keinen weiteren Eigenwert

6=

0 haben, k ¨onnen wir leider so nicht weitermachen, d.h. es geht nur bis zum Rang vonA. Es gilt aber

1 2 x2

1 2 y2

! √

2 0

0 0

1 0 0 1

=

1 0

1 0

=

A

unabh ¨angig vonx2undy2. Das heisst unser halb vollst ¨andigesUist genug f ¨ur eine Zerlegung.

40

(49)

Bestimmung von U

1 Wir k ¨onnen also jedesx2undy2w ¨ahlen, solange normiert und senkrecht auf dem ersten Vektor stehend.

2 Nach dem sogenanntenBasiserg ¨anzungssatzgeht dies immer!

3 In unserem Beispiel k ¨onnte man zum Beispiel

(

1

2,1

2

)

w ¨ahlen.

4 Wie genau man diese weiteren Vektoren vonUkonstruiert, ist f ¨ur uns unerheblich, da wir ja sowieso die letzten Spalten vonU, die zu den niedrigeren Eigenwerten geh ¨oren, “abschneiden”

werden...

(50)

SVD Zwischenfazit

Wir haben eine Matrix in das Produkt einer Orthonormalmatrix, Diagonalmatrix und Orthogonalmatrix zerlegt

Die Diagonalmatrix enth ¨alt die Wurzeln von den Eigenwerten von A

·

AT nach Gr ¨oße geordnet

Die erste Orthonormalmatrix enth ¨alt die orthonormalisierten Eigenvektoren vonA

·

AT, nach Eigenwertgr ¨osse geordnet, als Spalten

Die zweite Orthonormalmatrix ist die Transponierte der Matrix, die die orthonormalisierten Eigenvektoren vonAT

·

A, nach Eigenwertgr ¨osse geordnet, als Spalten enth ¨alt.

42

(51)

Ubersicht ¨

1 SVD Hauptsatz Der SVD-Satz

Konstruktion am Beispiel: Methodologie I Konstruktionsmethodologie II

2 Interpretation der SVD

3 Reduced SVD

4 Verwendung in NLP

(52)

Geometrische Interpretation bei quadratischen Matrizen

Bedeutung der SVD ist, dass sich die Funktion in eine Drehung/Drehspiegelung (VT), eine Verzerrung (Σ), und eine zweite Drehung/Drehspiegelung (U) zerlegen l¨sst.

Matrix 1 1

0 1

SVD: Geometrische Interpretationa

aQuelle:https://commons.wikimedia.org/wiki/File:Singular- Value- Decomposition.svg

44

(53)

Noch einige Bemerkungen

Die Eigenwerte und damit

Σ

sind eindeutig bestimmt.

UundV sind nicht eindeutig bestimmt. Es k ¨onnen Drehungen um 180 Grad oder Spiegelungen hinzukommen.

Wir k ¨onnen in vielen F ¨allen einen Eigenvektor w ¨ahlen (Freiheitsgrade), m ¨ussen aber dann bei den Vorzeichen der zweiten Matrix aufpassen.

(54)

Noch einige Bemerkungen

Wir haben implizit den Rang der UrsprungsmatrixAbestimmt.

Dies kann man klar anU

· Σ

sehen.

A

=

U

Σ

VT

=

1 2

1 1 2

2

1

2

! √

12 0 0

0

10 0

1 6

2 6

1 6

2 5

1

5 0

1 30

2 30

5

30

 =

12 2

10

2 0

12 2

10

2 0

!

1 6

2 6

1 6

2 5

1

5 0

1 30

2 30

5

30

 =

3 1 1

1 3 1

46

(55)

Noch einige Bemerkungen

Deswegen wird manchmal die Singul ¨arwertzerlegung auch als Zerlegung in drei MatrizenAm×n

=

Um×r

Σ

r×rVrT×n, wobeirder Rang der MatrixA, ist beschrieben.

A

=

U

Σ

VT

=

1 2

1 1 2

2

1

2

! √

12 0 0

0

10 0

1 6

2 6

1 6

2 5

1

5 0

1 30

2 30

5

30

 =

1 2

1 1 2

2

1

2

! √

12 0

0

10

1 6

2 6

1 2 6

5

1

5 0

!

=

12 2

10

2

12 2

10 2

!

1

6

2 6

1 6

2 5

1

5 0

!

=

3 1 1

(56)

Noch einige Bemerkungen

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

Die “Zerrung” durch die Matrix

Σ

ist bei den Dimensionen mit den h ¨ochsten Eigenwerten am gr ¨oßten. Beispiel:

12 0 0

0

10 0

x1

x2

x3

 =

12

·

x1

10

·

x2

Es macht also Sinn, dass wir, wenn wir eineApproximation unserer Ausgangsmatrix mit niedrigerem Rang wollen, dann die unwichtigen Dimensionen, die durch niedrige Eigenwerte gekennzeichnet sind weglassen.

48

(57)

Ubersicht ¨

1 SVD Hauptsatz Der SVD-Satz

Konstruktion am Beispiel: Methodologie I Konstruktionsmethodologie II

2 Interpretation der SVD

3 Reduced SVD

4 Verwendung in NLP

(58)

Reduced SVD: Approximation niedrigeren Ranges

Approximation vonm

×

nMatrixAmit Rangr durchm

×

n- Matrix

˜

Ak mit Rangk<r:

A

=

U

Σ

VT

A

˜

k

=

U

Σ ˜

kVT

Σ ˜

k ist eine “diagonale”m

×

n- Matrix, bei der nur auf den ersten k Stellen der Diagonalmatrix Werte

6=

0 stehen

UundV wie zuvor

50

(59)

Beispiel

A

=

U

Σ

VT

=

1 2

1 1 2

2

1

2

! √

12 0 0

0 √

10 0

1 6

2 6

1 2 6

5

1

5 0

1 30

2 30

5

30

1 2

1 2

1 2

1

2

! √

12 0 0

0 0 0

1 6

2 6

1 2 6

5

1

5 0

1 30

2 30

5

30

 =

12

2 0 0

12

2 0 0

!

1 6

2 6

1 2 6

5

1

5 0

1 30

2 30

5

30

 =

1 2 1

(60)

Reduced SVD

Wir h ¨atten auch nur die erstenk Spalten vonUsowie die erstenk Zeilen vonVT behalten k ¨onnen:

A≈

1 2

1 2

! √

12

1 6

2 6

1 6

=

12

2

12 2

!

1

6

2 6

1 6

=

1 2 1 1 2 1

52

(61)

Als Bild

(62)

Als Algorithmus

Gegebenm

×

nMatrix A und gew ¨unschter Rankk. Wir produzieren eineRang

k Approximation wie folgt:

1 Wir berechnen eine SVD Zerlegung vonA:

Am×n

=

Um×m

Σ

m×nVnT×n

2 Wir behalten nur die erstenk Spalten vonU, resultierend inUm×k 3 Wir behalten nur die Topk, sprich die erstenk Diagonalwerte von

Σ

, resultierend in

Σ

k×k

4 Wir behalten nur die erstenkReihen vonVT, resultierend inVkT×n

54

(63)

Reduced SVD

Diagonale Eintr ¨age in

Σ ˜

k sind diek gr ¨oßten Eigenwerte von A

·

AT

Satz:U

Σ ˜

kVT minimiert die Differenz der Frobenius-Norm zwischenAundA

˜

k unter der Bedingungrang

Ak

) =

k

Das heisst: F ¨ur jedem

×

nMatrixAmit Rangr, angestrebtem Rangk<r, und jedem

×

nMatrixBmit Rangk gilt

k

A

A

˜

k

k

2

≤ k

A

B

k

2

wobei

˜

Ak die Rang-k Approximation ist, die man aus der SVD von Aableiten kann.

(64)

Was hat man erreicht?

Unkorrelierte Dimensionen (Orthonormalbasis), die nur noch verzerrt werden

Wir haben die Dimensionen mit der meisten Variation identifiziert und danach geordnet

“Unwichtige” Dimensionen werden weggelassen

Rauschen vermindert

Man braucht viel weniger Speicherplatz:O

(

k

(

n

+

m

))

anstatt O

(

nm

)

Die neuen “versteckten” Dimensionen k ¨onnen zur

Ahnlichkeitsberechnung verwendet werden und funktionieren oft¨ besser

56

(65)

Wie w ¨ahlt man k?

Meist empirisch. Gesehen:

1 In NLP, oft die ersten 200 bis 300 Dimensionen

2 In Recommender Systems: W ¨ahlek so, dass die Summe der erstenk Eigenwerte mindestens 10-mal der Summe aller anderen Eigenwerte

(66)

Ubersicht ¨

1 SVD Hauptsatz Der SVD-Satz

Konstruktion am Beispiel: Methodologie I Konstruktionsmethodologie II

2 Interpretation der SVD

3 Reduced SVD

4 Verwendung in NLP

58

(67)

Dichte Embeddings

Aist Matrix vonmW ¨ortern/Termen undnKontexten (PPMI, frequency, . . . )

Reduced SVD resultiert inA˜k mit

Um×kistm×k- Matrix

Zeilen vonUm×k repr ¨asentieren Terme

Spalten inUm×k: latente Repr ¨asentation der Kontexte BenutzeUm×k·Σk×kzur Berechnung von Term ¨ahnlichkeiten Vorteile gegen ¨uber der vollen Term-Kontext-Matrix

Dichte Matrix

Dimensionsreduktion: effizientere Verarbeitung De-Noising

(68)

Dichte Embeddings

Aist Matrix vonmW ¨ortern/Termen undnKontexten (PPMI, frequency, . . . )

Reduced SVD resultiert inA

˜

k mit

Um×kistm×k- Matrix

Zeilen vonUm×k repr ¨asentieren Terme

Spalten inUm×k: latente Repr ¨asentation der Kontexte BenutzeUm×k·Σk×kzur Berechnung von Term ¨ahnlichkeiten Vorteile gegen ¨uber der vollen Term-Kontext-Matrix

Dichte Matrix

Dimensionsreduktion: effizientere Verarbeitung De-Noising

59

(69)

Dichte Embeddings

Aist Matrix vonmW ¨ortern/Termen undnKontexten (PPMI, frequency, . . . )

Reduced SVD resultiert inA

˜

k mit

Um×kistm×k- Matrix

Zeilen vonUm×k repr ¨asentieren Terme

Spalten inUm×k: latente Repr ¨asentation der Kontexte BenutzeUm×k·Σk×kzur Berechnung von Term ¨ahnlichkeiten Vorteile gegen ¨uber der vollen Term-Kontext-Matrix

Dichte Matrix

Dimensionsreduktion: effizientere Verarbeitung De-Noising

(70)

Das Beispiel vom Anfang

Eine Wort-Dokument-MatrixMaus demR5×3

d1 d2 d3 ship 1 1 0 boat 0 0 1 ocean 1 0 1 motor 1 0 1 wood 0 1 0 cossim

(

ship,boat

) =

0

cossim

(

ship,ocean

) =

1 2 cossim

(

boat,ocean

) = √

1

2

=

0.7

60

(71)

SVD Zerlegung war:

0.41 0.7 0.24

0.29

0.33

0.72

0.61

0.2 0.14

0.61

0.2 0.14

0.1 0.57

0.62

2.27 0 0 0 1.49 0 0 0 0.78

0.72

0.23

0.66 0.19 0.85

0.5 0.67

0.48

0.56

=

0.93 1.04 0.187

0.658

0.49

0.56

1.38

0.298 0.1092

1.38

0.298

−.

1092

0.227 0.84

0.483

0.72

0.23

0.66 0.19 0.85

0.5 0.67

0.48

0.56

=

1 1 0 0 0 1 1 0 1 1 0 1

(72)

Niedrigdimensionale Approximation

Die kleinsten Eigenwerte sind die unwichtigsten. Wir k ¨onnen diese

“weglassen” = auf Null setzen

eine Matrix mit kleinerem Rang, die aber relativ ¨ahnlich zur Ausgangsmatrix ist.

−0.41 0.7 0.24

−0.29 −0.33 −0.72

−0.61 −0.2 0.14

−0.61 −0.2 0.14

−0.1 0.57 −0.62

2.27 0 0 0 1.49 0

0 0 0

−0.72 −0.23 −0.66 0.19 0.85 −0.5 0.67 −0.48 −0.56

=

−0.93 1.04 0

−0.658 −0.49 0

−1.38 −0.298 0

−1.38 −0.298 0

−0.227 0.84 0

−0.72 −0.23 −0.66 0.19 0.85 −0.5 0.67 −0.48 −0.56

=

0.87 1.09 0.11 0.38 −0.27 0.68 0.93 0.05 1.06 0.93 0.05 1.06 0.32 0.77 −0.27

62

Referenzen

ÄHNLICHE DOKUMENTE

QR-Verfahren: Algorithmus, Konvergenzeigenschaften, Beschleunigung durch Transformation auf Hessenberggestalt, Berechnung einer Trafo auf Hessenberggestalt und eines QR-Schrittes

[r]

F¨ ur reelle Matrizen

auch die ersten beiden Spalten orthogonal

Wie viele Schritte ben¨ otigt man im Mittel, um diese Genauigkeit zu erreichen?. K¨ onnen Sie die Wahl der Deflationsbedingung

Diese Funktion soll die Funktion void lr(...) aus der letzten ¨ Ubung ersetzen. Der Rest der Schritte zur L ¨osung eines linearen Gleichungssystems analog wie in der letzten

Approximation Approximieren einer Matrix mit St¨ orung Hauptkomponenten- analyse Methode der kleinsten Quadrate. L¨ osung mit SVD Unterbestimmte

Verifizieren Sie ihre Ergebnisse