Im Folgenden betrachten wir den mathematischen Hintergrund zu Googles
PageRank Algorithmus. Dazu sei das Internet mit n Webseiten
beschrieben durch einen gerichteten einfachen Graph mit SchleifenG=(V,E), wobei
V die Menge aller Ecken (Webseiten) ist;
E⊆{(x,y)(x,y)∈V2} die
Menge aller gerichteter Kanten (Links) ist.
Definition 1.4 (Linkmatrix). Die Linkmatrix
U∈[0,1]n×n enthält die
Wahrscheinlichkeiten, dass ein Internetbenuzter von Webseite j einen
Link zur Webseite i aufruft unter der “random surfer” Annahme. Daher
sei
Sofern jede Webseite mindestens einen Link enthält (d.h. keine
Nullspalte in U), haben die Linkmatrizen aus
1.4 eine besondere Eigenschaft.
Definition 1.6 (Spaltenstochastische Matrix). Eine quadratische
Matrix heißt spaltenstochastisch wenn alle ihre Einträge nichtnegativ
sind und alle Spaltensummen 1 sind.
Bemerkung 1.7. Man kann “dangling nodes” (Nullspalten in
U) beheben indem man die entsprechende Spalte der Matrix
U mit dem Vektor s=(1/n,…,1/n)T
ersetzt. Diese Modifikation nehmen wir ab jetzt an un bezeichnen die
modifizierte Linkmatrix mit U~. Die Matrix
U~ ist dann immer spalten-stochastisch ist.
Definition 1.8. Ein Vektor x∈Rn heißt
Wahrscheinlichkeitsvektor wenn xi≥0 für alle
i∈{1,…,n} gilt und
∥x∥1:=∑i=1n∣xi∣=1.
Die Idee von Google war nun die Sortierung von Webseiten anhand der
Wahrscheinlichkeiten, dass ein zufälliger User die Webseite besucht.
Daher wird die folgende Dynamik simuliert.
Definition 1.9 (PageRank Algorithmus). Ausgehend von einem
Startwahrscheinlichkeitsvektor
x0∈Rn,∥x0∥1=1,
simuliere die Verteilung nach k Schritten anhand des folgenden
(Markov) Prozesses
xk+1=U~xk.
Die Wichtigkeit von Webseiten wird dann mit dem entsprechenden Eintrag
vom im PageRank Vektor gemessen, der als stationäre Verteilung des
Prozesses [eq:markov] definiert ist.
Definition 1.10. Wir nennen
x∗:=limk→∞xk unter dem
Prozess [eq:markov] den PageRank Vektor.
Bemerkung 1.11. Sofern ein PageRank Vektor exisitert, gilt
U~x∗=U~(k→∞limU~kx0)=k→∞limU~k+1x0=x∗
sodass x∗ ein Eigenvektor zum
Eigenwert 1 ist.
Es stellen sich nun folgende Fragen:
Existiert ein x∗ überhaupt?
Ist x∗ ein Wahrscheinlichkeitsvektor?
Ist x∗ eindeutig?
Konvergiert der Prozess immer zu einem x∗?
Zur Existenz eines PageRank Vektor haben wir folgendes Lemma.
Lemma 1.12. Jede spaltenstochastische Matrix
U~ hat den Eigenwert 1.
Beweis: Da U~ spaltenstochastisch ist, ist die
transponierte Matrix U~T zeilenstochastisch. Mit
dem Vektor e=(1,…,1)T∈R gilt daher
U~Te=e=1e,
und somit ist 1 ein Eigenwert für U~T
und somit auch für U~. □
Sei nun
V1(U~):={x∈Rn∣Mx=x}
der Eigenraum zum Eigenwert 1. Für die Eindeutigkeit des Rankings,
möchten wir dimV1(U~)=1. Wir betrachten aber folgende
Beispiele:
Beispiel 1.13.
U=010001000000010001000021210
Hier ist V1(U) zweidimensional und
eine möglichen Basis von V1(U) (d.h. Eigenvektoren zum
Eigenwert 1) ist gegeben durch b1=(1/2,1/2,0,0,0)T
und b2=(0,0,1/2,1/2,0)T denn
Ub1=b1 und
U2b2=b2. Aber auch jede
Linearkombination, z.B.,
43b1+41b2∈V1(U).
Dies ist nicht gut für ein eindeutiges Ranking. Außerdem konvergiert der
PageRank Algorithmus nicht für alle x0, denn mit
z.B. x0=(1,0,0,0,0)T gilt
Um all diese Probleme zu verhindern und alle vorherigen Fragen mit “ja”
zu beantworten, erfordert es noch eine Modifikation der Linkmatrix.
Analyse der Google Matrix
Definition 1.14 (Google Matrix). Sei m∈[0,1] und
S∈Rn×n die Matrix mit Einträgen
Sij=n1 für alle 1≤i,j≤n. Wir nennen die Matrix
M∈[0,1]n×n mit
M:=(1−m)U~+mS
die Googlematrix.
Bemerkung 1.15.
Im ursprünglichen Artikel wurde m=0.15 benutzt.
Für m>0 ist die Matrix M positiv im folgenden
Sinne.
Definition 1.16 (Positivität von Matrizen). Eine Matrix ist
M ist positiv wenn Mij>0 für alle i und j.
Für m>0 wollen wir den nachfolgenden Satz für M
beweisen, der die Grundlage des PageRank Algorithmus für
M bildet.
Satz 1.17. Sei M∈Rn×n eine
positive, spaltenstochastische (PSS) Matrix. Dann ist
V1(M) eindimensional mit einem Eigenvektor
x∗∈V1(M). Der Vektor
x∗ ist stochastisch mit positiven Einträgen und lässt
sich berechnen durch
x∗=k→∞limMkx0
für beliebige positive x0∈Rn mit
∥x0∥1=1.
Da M spaltenstochastisch ist, folgt mit
1.12, dass ein Eigenwert 1
ist. Um zu zeigen, dass dimV1(M)=1 gilt, brauchen
wir:
Lemma 1.18. Sei M∈Rn×n eine
positive, spaltenstochastische (PSS) Matrix. Dann hat jeder Eigenvektor
v∈V1(M) nur positive oder nur negative
Eigenträge.
Beweis: Wir konstruieren einen Widerspruch. Angenommen es existiert
ein w∈V1(M) mit Einträgen
unterschiedlichen Vorzeichens. Dann folgt aus
w=Mw dass
wi=j=1∑nMijwj.
Mit der Dreiecksungleichung gilt also:
∣wi∣=j=1∑nMijwj<Mijj=1∑n∣wj∣,
wobei diese Ungleichung strikt ist, da M positiv
ist, w unterschiedliche Vorzeichen hat und somit
mindestens ein Summand Mijwj negativ ist. Summation über i und
Vertauschen der Summen liefert:
Für die Eindimensionalität von V1(M) brauchen wir noch:
Lemma 1.19. Seien v,w∈Rm
für m≥2 linear unabhängig. Dann existieren zwei Zahlen,
s,t∈R, sodass
x=sv+tw sowohl positive
als auch negative Einträge hat.
Beweis: Die lineare Unabhängigkeit impliziert dass
v=0 und
w=0. Sei d=∑i=1nvi die
Summe der Einträge von v.
Fall 1: d=0. Dann hat v Einträge mit
unterschiedlichem Vorzeichen und s=1,t=0 liefert die Behauptung.
Fall 2: d=0. Dann definieren wir
Da v,w aber linear
unahnängig sind, ist x=0. Die Tatsache
dass ∑i=1nxi=0 impliziert somit dass x
Einträge mit unterschiedlichen Vorzeichen haben muss. □
Dieses Lemma nutzen wir für:
Lemma 1.20. Sei M∈Rn×n eine
PSS Matrix. Dann ist V1(M) eindimensional.
Beweis: Wir konstruieren wieder einen Widerspruch. Angenommen, es
existieren zwei linear unabhängige
v,w∈V1(M). Für jede
Linearkombination mit s,t beliebig gilt dann
x=sv+tw∈V1(M)
und x hat nach
1.18 nur positive oder nur
negative Einträge. Durch
1.19 wissen wir
aber, dass es eine Wahl von s,t∈R gibt, sodass
x sowohl positive als auch negative Einträge besitzt.
Dies ist ein Widerspruch und V1(M) muss daher
eindimensional sein. □
Analyse des PageRank Algorithmus
Wir haben also bereits gezeigt, dass für eine PSS Matrix der Eigenraum
zum Eigenwert 1 eindimensional ist und der Eigenvektor nur Einträge
mit demselben Vorzeichen hat. Nun wollen wir zeigen, dass der PageRank
Algorithmus genau zu diesem Eigenvektor konvergiert. Dazu brauchen wir:
Lemma 1.21. Sei M∈Rn×n eine
PSS Matrix und V⊂Rn der Unterraum mit Vektoren
v, die ∑i=1n=0 erfüllen. Dann gilt für alle
v∈V:
Mv∥Mv∥1∈V,≤c∥v∥1,
wobei
c=max1≤j≤n∣1−2min1≤i≤nMij∣<1
ist.
Beweis: Sei v∈V beliebig. Dann gilt für
w=Mv, dass
wi=∑j=1nMijvj und daher:
Somit ist w∈V. Für die Normabschätzung
betrachten wir
∥w∥1=i=1∑neiwi=i=1∑nei(j=1∑nMijvj),
wobei ei=sgn(wi). Hier bemerken wir,
dass nicht alle ei dasselbe Vorzeichen haben können da
∑i=1wj=0 (außer für w=0, was
die Ungleichung direkt implizieren würde). Wir vertauschen die Summen
und erhalten
∥w∥1=j=1∑nvj(i=1∑neiMij)=j=1∑nvjaj
wobei aj:=∑i=1neiMij. Da
die ei gemischte Vorzeichen haben und ∑i=1nMij=1 mit
0<Mij<1 gilt folgende Abchätzung:
−1<−1+21≤i≤nminMij≤aj≤1−21≤i≤nminMij<1
Die Abschätzung ist scharf denn im Extremfall hat ej nur beim
kleinsten Eintrag der j-ten Spalte ein anderes Vorzeichen (vergleiche
mit
(1,1,−1)T⋅(0.7,0.2,0.1)T=0.7+0.2−0.1≤1−2⋅0.1).
Damit ergibt sich
∣aj∣≤∣1−21≤i≤nminMij∣<1.
Eine obere Schranke für ∣aj∣ ist somit durch das Maximum über
alle j gegeben durch
c:=1≤j≤nmax∣≤1−21≤i≤nminMij∣,
sodass ∣aj∣≤c<1 gilt für alle j. Letztlich folgt dann
Beweis: [von
1.17] Nach
1.12 hat M einen
Eigenwert 1, mit
1.20 dass
V1(M) eindimensional ist und mit
1.18 dass für alle
v∈V1(M) kein Vorzeichenwechsel in den
Einträgen auftritt. Daher gibt es einen eindeutigen Vektor
x∗∈V1(M) mit
i=1∑nxi∗=1.
Sei nun ein beliebiger positiver stochastischer Vektor
x0 mit ∥x0∥=1 gegeben. Diesen
schreiben wir (mit Quadrantenargument: Differenz von x0
und x∗ muss auf der Hyperebene
⟨x,(1,…,1)T⟩=0 liegen da beide
Vektoren positiv sind und somit im ersten Orthanten sind. Diese
Hyperebene ist parallel zur (∥⋅∥1=1)-Isolinie
durch alle Basisvektoren ei. Somit ist die Differenz in
V) als x0=x∗+v mit
v∈V (mit V aus
1.21). Wir berechnen dann
Mkx0=Mkx∗+Mkv=x∗+Mkv.
Daher gilt (die Fehlergleichung)
Mkx0−x∗=Mkv.
Unter Ausnutzung von
1.21 kann mit vollständige Induktion
folgende Aussage gezeigt werden:
Fu¨r alle k gilt Mkv∈V sowie ∥Mkv∥1≤ck∥v∥1 mit 0≤c<1.
Somit erhalten wir
limk→∞ck∥v∥1=0 und mit dem
Einschnürungssatz folgt
limk→∞∥Mkv∥1=0. Aus
[eq:fehlergleichung] erhalten
wir dann letztlich die Konvergenz
k→∞limMkx0=x∗.
□
Weiterführende Diskussionen finden sich, unter anderem, in (Bryan and
Leise 2006; Schönbrod 2015).
Vektoriteration
Der PageRank Algorithmus ist eine spezielle Form der Vektoriteration
(en: power iteration), die durch wiederholtes Anwenden der Matrix und
Normierung des resultierenden Vektors irgendwann gegen den Eigenvektor
zum betragsmäßig größten Eigenwerts konvergiert.
Referenzen
Bryan, Kurt, and Tanya Leise. 2006. “The $25,000,000,000 Eigenvector:
The Linear Algebra Behind Google.” SIAM Review 48 (3): 569–81.
Schönbrod, Sarah. 2015. “Didaktisch-Methodische Ausarbeitung Eines
Lernmoduls Zum Thema Google Im Rahmen Eines Mathematischen
Modellierungstages Für Schülerinnen Und Schüler Der Sekundarstufe II.”
Bachelorarbeit, Aachen: RWTH Aachen University; RWTH Aachen University.