6.4. Eigenwerte und Vektoriteration - in.tum.de · Vektoren ähnlich (kollinear), wenn Winkel...

41
65 Für eine symmetrische Matrix A gilt: Die Eigenvektoren der n Eigenwerte von A bilden eine Orthonormalbasis des R n . Eigenvektormatrix V liefert eine Diagonalisierung der Matrix A. Die durch A definierte Abbildung wird in dieser Basis trivial: A v = λ v A V = V Λ, 6.4. Eigenwerte und Vektoriteration Eigenvektor v0 und Eigenwert λ einer quadratischen Matrix A erfüllen die Gleichung A v = λ v Daher ist die durch den Vektor v bestimmte Gerade durch den Nullpunkt eine sog. Fixgerade der durch x A x definierten Abbildung.

Transcript of 6.4. Eigenwerte und Vektoriteration - in.tum.de · Vektoren ähnlich (kollinear), wenn Winkel...

Page 1: 6.4. Eigenwerte und Vektoriteration - in.tum.de · Vektoren ähnlich (kollinear), wenn Winkel zwischen ihnen . sehr klein, d.h. 94 . Eine Suchanfrage ist ein Spaltenvektor d, entspricht

65

Für eine symmetrische Matrix A gilt: Die Eigenvektoren der n Eigenwerte von A bilden eine Orthonormalbasis des Rn. Eigenvektormatrix V liefert eine Diagonalisierung der Matrix A. Die durch A definierte Abbildung wird in dieser Basis trivial: A v = λ v A V = V Λ,

6.4. Eigenwerte und Vektoriteration

Eigenvektor v≠0 und Eigenwert λ einer quadratischen Matrix A erfüllen die Gleichung A v = λ v Daher ist die durch den Vektor v bestimmte Gerade durch den Nullpunkt eine sog. Fixgerade der durch x A x definierten Abbildung.

Page 2: 6.4. Eigenwerte und Vektoriteration - in.tum.de · Vektoren ähnlich (kollinear), wenn Winkel zwischen ihnen . sehr klein, d.h. 94 . Eine Suchanfrage ist ein Spaltenvektor d, entspricht

66

Λ ist Diagonalmatrix, mit den Eigenwerten als Diagonaleinträge VT A V = Λ = diag(λ1 , … , λn) Ein Eigenwert erfüllt die Gleichung det(A - λI) = 0 , da A - λI singulär: (A - λI) v = 0 Also sind Eigenwerte genau die Nullstellen des charakteristi-schen Polynoms p(λ) := det(A - λI) . Eigenwerte von A Nullstellen eines Polynoms p(x)

Page 3: 6.4. Eigenwerte und Vektoriteration - in.tum.de · Vektoren ähnlich (kollinear), wenn Winkel zwischen ihnen . sehr klein, d.h. 94 . Eine Suchanfrage ist ein Spaltenvektor d, entspricht

67

( )nnn

n xxaxaaxp ++++−= −−

1110)1()(

Daher lassen sich Nullstellen von Polynomen berechnen, indem man die Eigenwerte der obigen Matrix A berechnet!

Eigenwertberechnung ist numerisch stabiler als Nullstellenberechnung bei Polynomen!

−−

−−

=

1

2

1

0

1000100

01000

:

n

n

aa

aa

A

Die Matrix

hat das charakteristisches Polynom

Page 4: 6.4. Eigenwerte und Vektoriteration - in.tum.de · Vektoren ähnlich (kollinear), wenn Winkel zwischen ihnen . sehr klein, d.h. 94 . Eine Suchanfrage ist ein Spaltenvektor d, entspricht

68

Vektoriteration ist eine einfache Fixpunktiteration zur Berechnung des betragsgrößten Eigenwerts einer Matrix: Sei A symmetrisch positiv definit ( x ≠ 0 xTAx > 0);

Vektoriteration

;:1k

kk Ax

Axx =+Start mit x0≠0,

AxAxx =Φ )(

AvAvv =

Die Iterationsfunktion:

hat Fixpunkt v, wenn

d.h. v ist Eigenvektor von A zu Eigenwert λ=||Av||, denn dann gilt : A v = ||Av||*v .

Page 5: 6.4. Eigenwerte und Vektoriteration - in.tum.de · Vektoren ähnlich (kollinear), wenn Winkel zwischen ihnen . sehr klein, d.h. 94 . Eine Suchanfrage ist ein Spaltenvektor d, entspricht

69

mmvcvcx ++= 110

Offensichtlich ist dann xk = const * Ak x0 Außerdem kann x0 in der Basis der Eigenvektoren dargestellt werden:

wobei λ1 maximaler Eigenwert von A zu Eigenvektor v1 ist.

jjj vAv λ=Daher gilt und

( )1111111

111

110

))/(( vcvcvc

vcvcvAcvAcxA

kk

mk

mmk

mkmm

km

km

kk

λλλλ

λλ∞→

→++=

=++=

=++=

0 ( )( ) 11

1

1

111

111

0

0 vvcc

vcvc

xAxA

k

k

k

k

±==→λλNormiert man,dann folgt

Page 6: 6.4. Eigenwerte und Vektoriteration - in.tum.de · Vektoren ähnlich (kollinear), wenn Winkel zwischen ihnen . sehr klein, d.h. 94 . Eine Suchanfrage ist ein Spaltenvektor d, entspricht

70

xk ist normierter Vektor zu Akx0 . Dann bleibt in xk nur die Komponente zum stärksten Eigenwert übrig, nämlich v1 . Also xk const ⋅v1 konvergiert gegen Eigenvektor, und daher auch || Axk || λ1 konvergiert gegen größten Eigenwert.

Ähnliches gilt für allgemeine Matrizen, solange die Matrix einen eindeutigen betragsgrößten Eigenwert hat (also z.B. nicht : ±λ1 sind beide Eigenwerte)

Page 7: 6.4. Eigenwerte und Vektoriteration - in.tum.de · Vektoren ähnlich (kollinear), wenn Winkel zwischen ihnen . sehr klein, d.h. 94 . Eine Suchanfrage ist ein Spaltenvektor d, entspricht

71

=

− 0

121

11

2/1001

k

k

ist Eigenvektor zu Eigenwert λ = 1

Beispiel:

±

=

− 1

1)1(

111

1001

k

k

Eigenvektoren zu Eigenwerten λ = 1 und -1

Beispiel:

Page 8: 6.4. Eigenwerte und Vektoriteration - in.tum.de · Vektoren ähnlich (kollinear), wenn Winkel zwischen ihnen . sehr klein, d.h. 94 . Eine Suchanfrage ist ein Spaltenvektor d, entspricht

72

Für innere Eigenwerte:

Wende Vektoriteration auf die Matrix (A-σI)-1 an. Liefert deren größten Eigenwert. Dies ist der Eigenwert von A, der am nächsten bei σ liegt.

Dies ist die sog. Inverse Iteration.

Problem: In jedem Schritt ist ein Gleichungssystem zu lösen (A-σI) schlecht konditioniert, ev. singulär!

Page 9: 6.4. Eigenwerte und Vektoriteration - in.tum.de · Vektoren ähnlich (kollinear), wenn Winkel zwischen ihnen . sehr klein, d.h. 94 . Eine Suchanfrage ist ein Spaltenvektor d, entspricht

73

Anwendungen Resonanzen, siehe Tacoma, London Millenium Bridge

Energieniveaus in der Quantenmechanik

Nullstellen von Polynomen

Biegen eines Balkens - Hauptträgheitsachsen

Stabilität eines Systems, Differentialgleichungen

Modellreduktion

Analyse von Graphen, Pagerank

Unterschiedliche Aufgabestellung: Alle Eigenwerte/vektoren oder nur einige! Eigenwerte alleine oder mit Eigenvektoren

Page 10: 6.4. Eigenwerte und Vektoriteration - in.tum.de · Vektoren ähnlich (kollinear), wenn Winkel zwischen ihnen . sehr klein, d.h. 94 . Eine Suchanfrage ist ein Spaltenvektor d, entspricht

74

QR-Verfahren Gesucht sind alle Eigenwerte/vektoren!

1. Schritt: transformiere A auf Tridiagonalform (obere Hessenberg) ohne die Eigenwerte zu verändern?

Am besten orthogonale Basistransformation mir orthonormalem Q: Aneu = Q*A*QT

( ) ( )QxyyyQAQyA

QxQQxAQxAxT

neu

TT

===⇔

⇔=⇔=

λλ

Matrix wie Q*A*QT, Eigenwert gleich, Eigenvektor wie Qx

Page 11: 6.4. Eigenwerte und Vektoriteration - in.tum.de · Vektoren ähnlich (kollinear), wenn Winkel zwischen ihnen . sehr klein, d.h. 94 . Eine Suchanfrage ist ein Spaltenvektor d, entspricht

75

Welches Q? Givens?

nnnnn

n

n

n

n

n

n

aaaa

aaaaaaaaaaaaaaaaaaaaa

321

663

55352

4434241

3333231

2232221

1131211

Von links Givens zur Elimination von a21? Anwendung von rechts füllt a21 wieder auf!

Page 12: 6.4. Eigenwerte und Vektoriteration - in.tum.de · Vektoren ähnlich (kollinear), wenn Winkel zwischen ihnen . sehr klein, d.h. 94 . Eine Suchanfrage ist ein Spaltenvektor d, entspricht

76

Besser:

nnnnn

n

n

n

n

n

n

aaaa

aaaaaaaaaaaaaaaaaaaaa

321

663

55352

4434241

3333231

2232221

1131211

Von links Givens zur Elimination von a31? Anwendung von rechts verändert a21 nicht!

Page 13: 6.4. Eigenwerte und Vektoriteration - in.tum.de · Vektoren ähnlich (kollinear), wenn Winkel zwischen ihnen . sehr klein, d.h. 94 . Eine Suchanfrage ist ein Spaltenvektor d, entspricht

77

Insgesamt:

−− nnnnnnnnn

n

n

n

n

n

n

aaaaaa

aaaaaaaaaaaaaaaaaaaaa

1,2,321

663

55352

4434241

3333231

2232221

1131211

Führt im Endeffekt auf Tridiagonalform für symmetrisches A, bzw. obere Hessenbergform für allgemeines A.

Page 14: 6.4. Eigenwerte und Vektoriteration - in.tum.de · Vektoren ähnlich (kollinear), wenn Winkel zwischen ihnen . sehr klein, d.h. 94 . Eine Suchanfrage ist ein Spaltenvektor d, entspricht

78

QR-Verfahren:

Berechne zu A die QR-Faktorisierung A=QR und setze Aneu = RQ Daher gilt R=QTA. Damit ist Aneu = QTAQ mit denselben Eigenwerten!

Wiederhole iterativ. Im Endeffekt konvergiert A gegen Diagonalmatrix mit den Eigenwerten auf der Diagonalen. Einige zusätzliche Tricks dabei!

Page 15: 6.4. Eigenwerte und Vektoriteration - in.tum.de · Vektoren ähnlich (kollinear), wenn Winkel zwischen ihnen . sehr klein, d.h. 94 . Eine Suchanfrage ist ein Spaltenvektor d, entspricht

79

Rayleigh Quotient

xxAxxxR T

T

=)( ist für symmetrisches A eine Funktion R: IRn IR

Das Maximum von R(x) ist der größte Eigenwert, das Minimum der kleinste.

R(x) ist der Range/Wertebereich der Matrix A.

Page 16: 6.4. Eigenwerte und Vektoriteration - in.tum.de · Vektoren ähnlich (kollinear), wenn Winkel zwischen ihnen . sehr klein, d.h. 94 . Eine Suchanfrage ist ein Spaltenvektor d, entspricht

80

6.5. Anwendungsbeispiele

6.5.1. Logistische Parabel: Erinnerung, Iterationsfunktion: )1()( xxx −=Φ α

Folge der Iterierten (x0, x1, x2, x3,...) bezeichnet man als Orbit von x0 bzgl. Φ. Start für 0 < x0 < 1 . Der Orbit kann unterschiedliches Verhalten zeigen: - Konvergenz gegen einen Häufungspunkt oder - es existieren mehrere Häufungspunkte, zwischen denen die Folge hin und her springt, sog. Attraktoren (0.9, -0.9, 0.99, -0.99, 0.999, -0.999, ...) ± 1 Dann zerfällt der Orbit in einzelne, konvergente Teilfolgen.

Page 17: 6.4. Eigenwerte und Vektoriteration - in.tum.de · Vektoren ähnlich (kollinear), wenn Winkel zwischen ihnen . sehr klein, d.h. 94 . Eine Suchanfrage ist ein Spaltenvektor d, entspricht

81

;2)(;1 αα

α−=Φ′

−= xx

Für 1 < α < 2 , hatten wir monoton konvergenten Orbit, für 2 < α < 3 alternierend konvergenten Orbit. Für α >≈ 3 ergeben sich Orbits mit mehreren Häufungspunkten. Der Fixpunkt von Φ ist dann nicht mehr anziehend, sondern abstoßend! Erinnerung: Fixpunkt und Ableitung am Fixpunkt sind

)1)(1())(( 22 xxxxx ααα +−−=ΦΦ

Für α = 3.1 erhalten wir zwei Attraktoren, die nun anziehende Fixpunkte der neuen Iterationsfunktion

sind.

Page 18: 6.4. Eigenwerte und Vektoriteration - in.tum.de · Vektoren ähnlich (kollinear), wenn Winkel zwischen ihnen . sehr klein, d.h. 94 . Eine Suchanfrage ist ein Spaltenvektor d, entspricht

82

Konvergente Teilfolgen x2k und x2k+1 .

Erhöht man α , so treten immer mehr Attraktoren auf, und für α <≈ 4 wird das Verhalten chaotisch.

(MATLAB: fixpunkt.m)

Page 19: 6.4. Eigenwerte und Vektoriteration - in.tum.de · Vektoren ähnlich (kollinear), wenn Winkel zwischen ihnen . sehr klein, d.h. 94 . Eine Suchanfrage ist ein Spaltenvektor d, entspricht

83

Ist das Orbit-Diagramm der logistischen Parabel )1()( xxx −=Φ α

Es stellt die Anzahl und Lage der Häufungspunkte der Fixpunkt- Iteration dar in Abhängigkeit von α. Für 1<α<3 existiert genau ein Häufungspunkt, und für 3<α<4 immer mehr und mehr Häufungspunkte des Orbits zu Startwert x0 . Bei α=3 : Verzweigung (Bifurcation)

Page 20: 6.4. Eigenwerte und Vektoriteration - in.tum.de · Vektoren ähnlich (kollinear), wenn Winkel zwischen ihnen . sehr klein, d.h. 94 . Eine Suchanfrage ist ein Spaltenvektor d, entspricht

84

6.5.2. Weitere fraktale Objekte: Koch’sche Schneeflocke:

Anwendung: Modellierung in der Computergraphik

Page 21: 6.4. Eigenwerte und Vektoriteration - in.tum.de · Vektoren ähnlich (kollinear), wenn Winkel zwischen ihnen . sehr klein, d.h. 94 . Eine Suchanfrage ist ein Spaltenvektor d, entspricht

85

Raumfüllende Kurven, Hilbertkurve:

Page 22: 6.4. Eigenwerte und Vektoriteration - in.tum.de · Vektoren ähnlich (kollinear), wenn Winkel zwischen ihnen . sehr klein, d.h. 94 . Eine Suchanfrage ist ein Spaltenvektor d, entspricht

86

Rekursiv definiert. Im Grenzwert 2-dimensional! Ermöglicht durch ‚1-dimensionalen’ Weg das Durchsuchen eines höherdimensionalen Bereichs. Anwendungen: z.B. Datenbanken. Verwandte Themen: Zelluläre Automaten, Spiel des Lebens, Modellierung von Eis oder Strömung. Ähnlich die Peano-Kurve:

Page 23: 6.4. Eigenwerte und Vektoriteration - in.tum.de · Vektoren ähnlich (kollinear), wenn Winkel zwischen ihnen . sehr klein, d.h. 94 . Eine Suchanfrage ist ein Spaltenvektor d, entspricht

87

∑=

=n

iii xwy

1

6.5.3. Gradientenverfahren und Neuronale Netze: Einfaches Neuronales Netz besteht aus n Knoten N1 , ..., Nn ; jeder Knoten Ni empfängt ein Eingangssignal xi , verstärkt dieses Signal mit einem Faktor wi und gibt es an einen gemeinsamen Ausgangsknoten weiter, der alle eingehenden Signale aufsummiert zu

<≥

=αα

yfallsyfalls

yf01

)(

Danach kann der Wert y noch weiterbearbeitet werden durch eine Funktion f(.). Abhängig von dem sich ergebenden Wert von f(y) sollen z.B. Ja/Nein-Entscheidungen getroffen werden:

entspricht einer Ja/Nein-Antwort

Page 24: 6.4. Eigenwerte und Vektoriteration - in.tum.de · Vektoren ähnlich (kollinear), wenn Winkel zwischen ihnen . sehr klein, d.h. 94 . Eine Suchanfrage ist ein Spaltenvektor d, entspricht

88

x2 w2

xn wn

x3 w3 y = Σ wixi f(y) ? . . . .

x1 w1

Einschichtiges Neuronales Netz:

Wir wollen mit dem NN einen Vorgang modellieren, bei dem für beliebig viele Beispiele Bj mit Eingabedaten xj bekannt ist, welcher Ausgangswert yj zu erwarten ist.

Page 25: 6.4. Eigenwerte und Vektoriteration - in.tum.de · Vektoren ähnlich (kollinear), wenn Winkel zwischen ihnen . sehr klein, d.h. 94 . Eine Suchanfrage ist ein Spaltenvektor d, entspricht

89

;;;)(

)(1

)(11

=

=

=

jn

j

j

mn x

xx

y

yy

w

ww

.,...,1,)()(

1

)( mjfürywxxwxw jTjjT

n

i

jii =≈==∑

=

Wähle nun die Gewichte w so, dass

( )TmTw xxXmityXw )()1(min =−

Also versuche, das NN durch Wahl der Gewichte so zu modellieren, dass es zu den gewünschten Ausgabewerten führt. Dies entspricht einem linearen Ausgleichsproblem der Form

Lösung mit Normalgleichung XTXw = XTy oder QR-Zerlegung X = QR

Page 26: 6.4. Eigenwerte und Vektoriteration - in.tum.de · Vektoren ähnlich (kollinear), wenn Winkel zwischen ihnen . sehr klein, d.h. 94 . Eine Suchanfrage ist ein Spaltenvektor d, entspricht

90

( ) 0!2=− neu

Tneu xwy

Andere Variante: Schrittweise iterative Verbesserung der Gewichte bei neuen Beispieldaten: xneu mit gewünschter Ausgabe yneu soll möglichst gut erreicht werden. Annahme: Bisherige Beispiele haben zu Gewichten w geführt. Einarbeiten der neuen Beispieldaten. Also gesucht: Nullstelle oder Minimum von

( ) neuneuT

neuneuT

neu xconstxwyxwy *)(2)( 22 =−+∇Gradient dieser Funktion in Abhängigkeit von w:

ist Suchrichtung zur Verbesserung der aktuellen Gewichte w:

Page 27: 6.4. Eigenwerte und Vektoriteration - in.tum.de · Vektoren ähnlich (kollinear), wenn Winkel zwischen ihnen . sehr klein, d.h. 94 . Eine Suchanfrage ist ein Spaltenvektor d, entspricht

91

neualtneu xww α+=

neuneualtneuTneuneu

Taltneu

Tneu yxyxxxwxwy =+=+==

!2αα

2neu

altneu

xyy −

liefert

Daher sollte gewählt werden.

neuneu

neuTaltneu

altneu xx

xwyww 2

−+= η

Da wir aber nur eine kleine Änderung in Richtung des gewünschten Resultats erreichen wollen, und die bisherigen Testbeispiele, die zu dem alten w geführt haben, nicht vollständig vernachlässigen wollen, definieren wir eine Lernrate η < 1 und setzen

Lernregel für NN, verwandt mit Gradientenverfahren!

Page 28: 6.4. Eigenwerte und Vektoriteration - in.tum.de · Vektoren ähnlich (kollinear), wenn Winkel zwischen ihnen . sehr klein, d.h. 94 . Eine Suchanfrage ist ein Spaltenvektor d, entspricht

92

6.5.4. Information Retrieval und Vektoriteration:

Vektorraummodell für ‚Data Mining‘ Liste von Dokumenten D1 , ... , Dn , z.B. WWW-Seiten Liste von Suchtermen T1 , ... , Tm , z.B. alphabetisch geordnet: Aachen, ABC, Auto, Bar, ... , Zug Jeder Suchbegriff erscheint in jedem Dokument mit einem Bestimmten Gewicht, z.B. Gewicht ∼ Häufigkeit.

Sammle diese Gewichte in der sog. Term-Dokument-Matrix (dünnbesetzte Matrix). j-ter Spaltenvektor dieser Matrix listet für das j-te Dokument Dj die Darin enthaltenen Suchworte Vektor dj . k-ter Zeilenvektor tk listet für den k-ten Suchbegriff die relevanten Dokumente auf.

Page 29: 6.4. Eigenwerte und Vektoriteration - in.tum.de · Vektoren ähnlich (kollinear), wenn Winkel zwischen ihnen . sehr klein, d.h. 94 . Eine Suchanfrage ist ein Spaltenvektor d, entspricht

93

Vergleich zweier Dokumente auf Ähnlichkeit: Dokument Di repräsentiert durch Vektor der darin enthaltenen Suchbegriffe di , entsprechend dj .

D1 D2 D3 . . . .

T1 . . T2 . .

22

)),(cos(ji

jTi

ji dddd

dd⋅

= nahe bei 1.

Vektoren ähnlich (kollinear), wenn Winkel zwischen ihnen sehr klein, d.h.

Page 30: 6.4. Eigenwerte und Vektoriteration - in.tum.de · Vektoren ähnlich (kollinear), wenn Winkel zwischen ihnen . sehr klein, d.h. 94 . Eine Suchanfrage ist ein Spaltenvektor d, entspricht

94

Eine Suchanfrage ist ein Spaltenvektor d, entspricht quasi einem Dokument, das mit anderen Dokumenten auf Ähnlichkeit verglichen werden soll. Berechne Vektor t = dT*D = (dT*D1 dT*D2 ..) . Große Komponenten tj entsprechen Dokumenten Dj , die mit der Suchanfrage am besten übereinstimmen.

di

dj ϕ

Matrix D enthält sehr viel ‚Rauschen’, (zufälliges Auftreten von Suchtermen in Dokumenten, Wortwahl, ...) Modellreduktion: Ersetze D durch System, das die wesentlichen Eigenschaften repräsentiert:

Page 31: 6.4. Eigenwerte und Vektoriteration - in.tum.de · Vektoren ähnlich (kollinear), wenn Winkel zwischen ihnen . sehr klein, d.h. 94 . Eine Suchanfrage ist ein Spaltenvektor d, entspricht

95

=

22

1211

0 RRR

R

Verbesserung durch Pivotsuche: D*P=Q*R mit allgemeiner QR-Zerlegung incl. Permutation liefert und neues tT TPRQD ⋅⋅= ~:~

Berechne QR-Zerlegung von D : D=QR Partitioniere R in der Form

dabei sei R22 gleich Null oder mit kleinen Einträgen. Dann repräsentieren die Zeilen von R22 ‚linear abhängige’ Such- begriffe, die eigentlich überflüssig sind.

Ddt TT ~⋅= Dd T ⋅

( ) ( )121111211

211211

0000:~ RRQ

RRQQ

RRQD ⋅=

=

=

und untersuche anstatt

Ersetze D durch die Approximation kleinen Ranges:

Page 32: 6.4. Eigenwerte und Vektoriteration - in.tum.de · Vektoren ähnlich (kollinear), wenn Winkel zwischen ihnen . sehr klein, d.h. 94 . Eine Suchanfrage ist ein Spaltenvektor d, entspricht

96

Andere Methode des ‚Denoising’ mittels Eigenwerten: Betrachte Singulärwertzerlegung von A: A = U D V, dabei sind U und V Eigenvektormatrizen von ATA und AAT, und D ist eine rechteckige Diagonalmatrix, deren Diagonaleinträge >= 0 sind:

VUA k

=

0000

0001

σ

σ

mit Singulärwerten σj >0, Rang(A)=k.

Page 33: 6.4. Eigenwerte und Vektoriteration - in.tum.de · Vektoren ähnlich (kollinear), wenn Winkel zwischen ihnen . sehr klein, d.h. 94 . Eine Suchanfrage ist ein Spaltenvektor d, entspricht

97

D~Ersetze D durch , indem kleine σj durch 0 ersetzt werden. Ergibt neue Matrix (Term-Dokument-Tabelle)

VDUA ~~ = mit kleinerem Rang:

Diese neue Matrix enthält wieder die wesentliche Information von A . A = UDV heißt Singulärwertzerlegung von A. Und ergibt sich aus der Eigenwert-Zerlegung von ATA, bzw. AAT .

Page 34: 6.4. Eigenwerte und Vektoriteration - in.tum.de · Vektoren ähnlich (kollinear), wenn Winkel zwischen ihnen . sehr klein, d.h. 94 . Eine Suchanfrage ist ein Spaltenvektor d, entspricht

98

6.5.5. Suchmaschine Clever (HITS):

Teile die Dokumente im WWW in zwei Klassen: - Hubs seien Webseiten, die eine Ansammlung interessanter Links darstellen - eine angesehene Authority ist eine Webseite, die zu einem Thema interessantes Material liefert, und daher in vielen Hubs auftaucht.

Dies legt iteratives Verfahren zur Bestimmung relevanter Authorities und Hubs nahe: Starte mit einer Menge von Kandidaten für Hubs und einer Menge von Kandidaten für Authorities. Diese Mengen sind wieder beschrieben durch Vektoren (vi = Gewicht) mit Einträgen, die gewichtet Hubs oder Authorities darstellen.

Page 35: 6.4. Eigenwerte und Vektoriteration - in.tum.de · Vektoren ähnlich (kollinear), wenn Winkel zwischen ihnen . sehr klein, d.h. 94 . Eine Suchanfrage ist ein Spaltenvektor d, entspricht

99

Alle Webseiten sind wieder mittels Gewichtung verknüpft durch die Hub-Authority-Matrix B, die zu jeder Authority die Hubs angibt, die auf sie verweisen.

bij gibt das Gewicht an, mit dem die Authority Aj , j=1,...,n, im Hub Hi , i=1,...,m vorkommt.

Seien die Vektoren H(0) und A(0) Startannahmen für gute Hubs, bzw. Authorities. Die i-te Komponente von H(0):= B*A(0) gibt daher an, mit welchem Gewicht der i-te Hub auf eine der Start-Authorities zeigt. Entsprechend gibt die j-te Komponente von A(0):= BT*H(0) an, mit welchem Gewicht die Start-Hubs auf die j-te Authority zeigen.

Verwende wechselseitige verschränkte Definition von gutem Hub, bzw. guter Authority:

Page 36: 6.4. Eigenwerte und Vektoriteration - in.tum.de · Vektoren ähnlich (kollinear), wenn Winkel zwischen ihnen . sehr klein, d.h. 94 . Eine Suchanfrage ist ein Spaltenvektor d, entspricht

100

( )( ) )(

)(

)(

)(

)(

)()1(

)()(

kT

kT

kT

kT

kT

kTk

ABBABB

BABBAB

HBHBA ===+

Guter Hub zeigt auf viele gute Authorities; Gute Authority erscheint in vielen guten Hubs. Dies legt die folgende Iteration nahe:

Dies entspricht zwei Vektoriterationen, die gegen die Eigenvek-toren zu dem maximalem Eigenwert von BTB , bzw. BBT konvergieren.

Die Komponenten dieser Eigenvektoren geben dann eine Gewichtung guter Authority-, bzw. Hub-WWW-Seiten an.

( )( ) )(

)(

)(

)(

)(

)()1(

)()(

kT

kT

kT

kT

k

kk

HBBHBB

HBBHBB

BABAH ===+

oder

Page 37: 6.4. Eigenwerte und Vektoriteration - in.tum.de · Vektoren ähnlich (kollinear), wenn Winkel zwischen ihnen . sehr klein, d.h. 94 . Eine Suchanfrage ist ein Spaltenvektor d, entspricht

101

Ein Eigenvektor stellt einen Fixpunkt dieser Iteration dar, also eine Ansammlung von Webseiten, die in gewisser Weise abgeschlossen (gesättigt, invariant) ist. Der gefundene Eigenvektor zu maximalem Eigenwert liefert daher einen Fixpunkt maximalen Gewichts. Die Einträge in dem Eigenvektor geben an, welches Gewicht eine Webseite in dem invarianten maximalen Eigenvektor hat. Hohes Gewicht im Eigenvektor Wichtige Webseite

Page 38: 6.4. Eigenwerte und Vektoriteration - in.tum.de · Vektoren ähnlich (kollinear), wenn Winkel zwischen ihnen . sehr klein, d.h. 94 . Eine Suchanfrage ist ein Spaltenvektor d, entspricht

102

6.5.6. Googles PageRank Betrachte WWW als gewichteten Graphen mit Knoten (Webseiten) und Kanten (Links):

Erstelle dazu n x n – Matrix (n = Anzahl der Knoten) Eintrag ai,j = 1/q , wenn Kante von i nach j (insgesamt q Kanten von i) Alle anderen Einträge in i-ter Zeile dann 0

1

2

3

4

5

6

Page 39: 6.4. Eigenwerte und Vektoriteration - in.tum.de · Vektoren ähnlich (kollinear), wenn Winkel zwischen ihnen . sehr klein, d.h. 94 . Eine Suchanfrage ist ein Spaltenvektor d, entspricht

103

A=

0100006/16/16/16/16/16/16/16/16/16/16/16/1

02/1002/10010000003/13/13/10

:6:5:4:3:2:1

⋅=

1

11

1

1A

Geht von i gar keine Kante aus, dann ai,j = 1/n für alle j.

Die sich ergebende Matrix A ist eine sog. stochastische Matrix, Da die Summe der Einträge in einer Zeile stets gleich 1 ist.

1 ist der größte Eigenwert von A mit Eigenvektor (1,1,…,1)T.

Page 40: 6.4. Eigenwerte und Vektoriteration - in.tum.de · Vektoren ähnlich (kollinear), wenn Winkel zwischen ihnen . sehr klein, d.h. 94 . Eine Suchanfrage ist ein Spaltenvektor d, entspricht

104

Die Komponenten vi des Linkseigenvektors v mit vTA = 1 vT beschreiben die Gewichtung eines zufälligen Springens von einer Seite zur nächsten. Dies lässt sich interpretieren als die Bedeutung einer Webseite. Berechnung von v durch Vektoriteration. Probleme: 1 ist mehrfacher Eigenwert, Konvergenz! Veränderung der Gewichtung durch Manipulation

TussAB

−+=

1

1)1(:

Daher neue Google-Matrix

mit personalisiertem Vektor u, so dass: u1+…+un = 1.

Page 41: 6.4. Eigenwerte und Vektoriteration - in.tum.de · Vektoren ähnlich (kollinear), wenn Winkel zwischen ihnen . sehr klein, d.h. 94 . Eine Suchanfrage ist ein Spaltenvektor d, entspricht

105

Effekt: B ebenfalls stochastisch 1 ist nun einfacher Eigenwert Konvergenz eindeutig, schneller! Mittels u lassen sich „per Hand“ Webseiten gewichten Google verwendet angeblich s=0.85 In Lösungsvektor v gibt Komponente vi die Gewichtung der i-ten Webseite an: PageRank von Seite i.