Pagerank: der Google-Ranking-Algorithmus. Ordnung einer Menge

PageRank: Der Google-Ranking-Algorithmus
Ordnung einer Menge verlinkter Dokumente auf der Basis der
Verlinkungsstruktur
Eine Einführung mit Erläuterungen der mathematischen Grundlagen
Karin Haenelt
29.2.2016
Inhalt
Entwicklung, Ziele, Grundidee
Hyperlink-Matrix und PageRank-Vektor
Wie berechnet man aus der Hyperlink-Matrix den PageRank-Vektor?
Mathematische Betrachtungsvarianten
Der Page-Algorithmus
Konvergenzbedingungen und Modifikation der Matrix
stochastisch, irreduzibel, aperiodisch
die Google-Matrix
Komplexität der Berechnung
Personalisierung und Adaption an Nutzungsverhalten
Zusammenfassung
© Karin Haenelt, PageRank, 6.11.2015
2
PageRank
Entwicklung und Patente
Algorithmus zur Bestimmung einer Rangordnung von verlinkten
Dokumenten
Grundlage der von Lawrence Page und Sergey Brin gegründeten
Suchmaschine Google
Erfinder und Namensgeber der Methode: Lawrence Page
SW-Entwickler: Lawrence Page und Sergey Brin, Stanford University
Patentanmeldung durch Stanford University 1998 (ff): (Page, 2001)
1998 Gründung von Google, Lawrence Page und Sergey Brin
© Karin Haenelt, PageRank, 6.11.2015
3
PageRank
Ziele und Ansatz
PageRank: Berechnung der Relevanzgewichtung von Dokumenten
unabhängig vom Inhalt der Dokumente oder einer Anfrage
auf der Basis der Verlinkungsstruktur der Dokumente
… und möglicherweise weiterer Kriterien
http://www.google.com/intl/de/insidesearch/howsearchworks/thestory/
zum Zeitpunkt der Indexierung
Suchmaschine
ermittelt Menge der zur Anfrage passenden Dokumente
ordnet Elemente der Menge nach ihrem PageRank-Wert … und
weiteren Kriterien
© Karin Haenelt, PageRank, 6.11.2015
4
PageRank-Grundidee
Gewichtung über Verlinkungsstruktur
Eine Seite ist wichtig,
wenn viele wichtige Seiten auf diese Seite verweisen
Gewichtungsergebnis für eine Seite W beruht auf
Anzahl der Seiten, die auf die Seite W verlinken
Gewichtung der Seiten, die auf die Seite W verlinken
(Page, 2001)
© Karin Haenelt, PageRank, 6.11.2015
5
PageRank-Grundidee
Gewichtung über Verlinkungsstruktur
angenommen
Seite A hat 2 ausgehende Links
einer der Links weist auf Seite B
einer der Links weist auf Seite C
dann gibt Seite A
½ ihrer Gewichtung an Seite B weiter
½ ihrer Gewichtung an Seite C weiter
Darstellung als Gleichungssystem
A
B
C
pr ( A) = pr (C )
pr ( B ) = 1 / 2 pr ( A)
pr ( A) = 0.4
pr ( B ) = 0.2
pr (C ) = 1 / 2 pr ( A) + pr ( B )
pr (C ) = 0.4
© Karin Haenelt, PageRank, 6.11.2015
N
∑ pr(i ) = 1
i =1
6
Inhalt
Entwicklung, Ziele, Grundidee
Hyperlink-Matrix und PageRank-Vektor
Wie berechnet man aus der Hyperlink-Matrix den PageRank-Vektor?
Mathematische Betrachtungsvarianten
Der Page-Algorithmus
Konvergenzbedingungen und Modifikation der Matrix
stochastisch, irreduzibel, aperiodisch
die Google-Matrix
Komplexität der Berechnung
Personalisierung und Adaption an Nutzungsverhalten
Zusammenfassung
© Karin Haenelt, PageRank, 6.11.2015
7
PageRank – Modellierung
Basis: Darstellung des Webs als Graph
Web als gerichteter Graph
Knoten:
Web-Dokument
gerichtete Kanten: Links von einem Dokument zu einem anderen
Beispiel
A
B
C
Page, 2001
© Karin Haenelt, PageRank, 6.11.2015
8
PageRank – Modellierungskomponenten
1. Darstellung des Graphen als Hyperlink-Matrix
Hyperlinkmatrix H
von A von B von C
A
B
C
H=
zu A
zu B
0
1/ 2
0
0
1
0
zu C
1/ 2
1
0
N x N Spaltenmatrix mit Gewichten für die Links
Wie werden die Gewichte der
Links bestimmt?
eine Möglichkeit:
© Karin Haenelt, PageRank, 6.11.2015
1 / n j
hij = 
 0
falls j auf i verlinkt
sonst
9
PageRank – Modellierungskomponenten
2. PageRank-Vektor
Der PageRank-Vektor
enthält die PageRank-Werte der einzelnen Webseiten
 pr ( A) 


pr =  pr ( B ) 
 pr (C ) 


wird aus der Hyperlink-Matrix berechnet
© Karin Haenelt, PageRank, 6.11.2015
10
PageRank – Modellierungskomponenten
Anmerkung zum Beispiel
Das gezeigte Beispiel eignet sich nicht zur approximativen
Berechnung des PageRank-Vektors (die auf den späteren Folien
eingeführt wird), da die Matrix dieses Beispiels nicht aperiodisch ist.
Die Approximation konvergiert für eine aperiodische Matrix nicht.
© Karin Haenelt, PageRank, 29.2.2016
11
Inhalt
Entwicklung, Ziele, Grundidee
Hyperlink-Matrix und PageRank-Vektor
Wie berechnet man aus der Hyperlink-Matrix den PageRank-Vektor?
Mathematische Betrachtungsvarianten
Der Page-Algorithmus
Konvergenzbedingungen und Modifikation der Matrix
stochastisch, irreduzibel, aperiodisch
die Google-Matrix
Komplexität der Berechnung
Personalisierung und Adaption an Nutzungsverhalten
Zusammenfassung
© Karin Haenelt, PageRank, 6.11.2015
12
Notation
A, B, C
i,j
ni
N
H
S
r
pr(A) oder pr(i)
p[i]
pn
P
p0[i]
p∞ [i]
Webseiten
Repräsentation von Knoten im Web bzw. von Webseiten, und entsprechende
Matrixindizes
Grad von i, d.h. Anzahl der ausgehenden Kanten von i
Gesamtzahl der betrachteten Webseiten
Hyperlinkmatrix (gewichtet)
stochastische ergodische Hyperlinkmatrix
Vektor des Ranges aller Webseiten
PageRank von Seite A bzw. Knoten i
- algebraische Sicht
- stochastische Sicht
n-te Approximation an p
Wahrscheinlichkeit
Wahrscheinlichkeit, dass Zufallssurfende am Knoten i beginnen zu surfen
(Startwahrscheinlichkeit)
Wahrscheinlichkeit, dass Zufallssurfende nach unendlich vielen Schritten am
Knoten i sind ;
stationäre Verteilung (steady state probability), stochastische Sicht des PageRanks
Konstante im Intervall [0,1]
© Karin Haenelt, PageRank, 6.11.2015
13
Wie berechnet man aus der Matrix den PageRank-Vektor?
Mathematische Betrachtungsvarianten
Matrix
PageRank-Vektor
Lineares Gleichungssystem
Koeffizientenmatrix
Lösungsvektor
eines linearen Gleichungssystems des linearen Gleichungssystems
Lineare Abbildung
Abbildungsmatrix
Markov-Prozess
Übergangsmatrix
eines Markov-Prozesses
pr (i ) =
Fixvektor
der Abbildungsmatrix
x = Ax
Grenzvektor
p ∞ = lim S n p0
n →∞
→
© Karin Haenelt, PageRank, 6.11.2015
∑
{ j| j →i }
pr ( j )
nj
j verlinkt nach i
14
Wie berechnet man aus der Matrix den PageRank-Vektor?
Mathematische Betrachtungsvarianten: Lineare Algebra
Perspektive: Lineares Gleichungssystem (Lineare Algebra 1)
Betrachtung der Matrix als Koeffizientenmatrix eines linearen
Gleichungssystems
PageRank-Vektor ist der Lösungsvektor des Gleichungssystems
pr (i ) =
pr ( j )
∑
{ j| j →i } n j
Perspektive: Lineare Abbildung (Lineare Algebra 2)
Betrachtung der Matrix als Abbildungsmatrix eines Vektorraumes
in einen anderen Vektorraum
PageRank-Vektor ist der Fixvektor x = A x der Abbildungsmatrix
© Karin Haenelt, PageRank, 6.11.2015
15
Wie berechnet man aus der Matrix den PageRank-Vektor?
Mathematische Betrachtungsvarianten: Stochastik
Perspektive: Markov-Prozess (Stochastik)
Betrachtung der Matrix als Beschreibung eines Markov-Prozesses
S n p0
PageRank-Vektor entspricht dem Grenzvektor p∞ = lim
n →∞
(Grenzvektor der Wahrscheinlichkeiten der einzelnen Zustände,
dem sich der durch die stochastische Matrix beschriebene
Markov-Prozess nähert)
© Karin Haenelt, PageRank, 6.11.2015
16
Mathematische Betrachtungsvariante:
Lineares Gleichungssystem
Betrachtungsvariante: Lineares Gleichungssystem (Lineare Algebra 1)
Matrix als Koeffizientenmatrix
PageRank-Vektor als Lösungsvektor
eines linearen Gleichungssystems
© Karin Haenelt, PageRank, 6.11.2015
17
M
Perspektive: Lineares Gleichungssystem
Definition: Lineare Gleichung
Definition: Eine lineare Kombination von x1, …, xn hat die Form
a1x1 + a2x2 + a3x3 + … + anxn
wobei a1, …, an ∊ ℝ die Koeffizienten der Kombination sind.
Definition: Eine lineare Gleichung mit x1, …, xn hat die Form
a1x1 + a2x2 + a3x3 + … + anxn = d
wobei d ∊ ℝ eine Konstante ist.
Definition: Ein n-Tupel (s1, s2, …, sn) ist eine Lösung einer linearen
Gleichung, oder erfüllt eine lineare Gleichung, wenn die Einsetzung
der Zahlen s1, s2, …, sn für die Variablen eine wahre Aussage ergibt:
a1s1 + a2s2 + a3s3 + … + ansn = d
Hefferon, 2012, 2
© Karin Haenelt, PageRank, 6.11.2015
18
M
Perspektive: Lineares Gleichungssystem
Definition: Lineares Gleichungssystem
Definition: Ein lineares Gleichungssystem ist eine Menge von linearen
Gleichungen, die gleichzeitig erfüllt sein müssen.
Definition: Ein lineares Gleichungssystem
a1,1x1 + a1,2x2 + a1,3x3 + … + a1,nxn = d1
a2,1x1 + a2,2x2 + a2,3x3 + … + a2,nxn = d2
.
.
am,1x1 + am,2x2 + am,3x3 + … + am,nxn = dm
hat die Lösung (s1, s2, …, sn), wenn dieses n-Tupel eine Lösung aller
Gleichungen des Systems ist.
Hefferon, 2012, 2
© Karin Haenelt, PageRank, 6.11.2015
19
Perspektive: Lineares Gleichungssystem
Matrix als Koeffizientenmatrix, Page Rank als Lösungsvektor
Matrixnotation des Gleichungssystems
⋅ x = b
H
 0 0 1   pr1   pr1 
    

1
/
2
0
0

 ⋅  pr2  =  pr2 
1 / 2 1 0   pr   pr 

  3  3
→ die Verlinkungsmatrix entspricht einer
Koeffizientenmatrix (hier: H)
→ der PageRank-Vektor entspricht dem
Lösungsvektor (hier: b)
eines linearen Gleichungssystems
Direkte Notation des Gleichungssystems entsprechendes homogenes
b
H ⋅x
Gleichungssystem
pr1 = 0 ⋅ pr1 + 0 ⋅ pr2 + 1 ⋅ pr3
pr1 = pr3
pr2 = 1 2 pr1 + 0 ⋅ pr2 + 0 ⋅ pr3
pr2 = 1 2 pr1
pr3 = 1 2 pr1 + 1 ⋅ pr2 + 0 ⋅ pr3
pr3 = 1 2 pr1 + pr2
© Karin Haenelt, PageRank, 6.11.2015
−
pr1
1 2 pr1 −
1 2 pr1 +
pr2
pr2
−
pr3
= 0
pr3
= 0
= 0
20
Perspektive: Lineares Gleichungssystem
Lösungsverfahren für lineare Gleichungssysteme
„Direkte Verfahren sind solche, die nach endlich vielen
Rechenschritten die (bis auf Rundungsfehler) exakte Lösung des
Gleichungssystems liefern.“
bekannte Methode: Gaußsches Eliminationsverfahren
„Bei der iterativen Lösung berechnet man ausgehend von einem
beliebigen Startvektor x0 eine Folge von Iterierten xm für m = 1, 2, . . .:
x 0 a x1 a x 2 a ... a x m a x m+1 a ...
Im Folgenden ist xm+1 nur von xm abhängig, so dass die Abbildung
x m a x m+1 das Iterationsverfahren bestimmt. Die Wahl des
Startwertes x0 ist nicht Teil des Verfahrens.“
bekannte Methode: Gauß-Seidel-Verfahren
Hackbusch, 2004: 8/9
© Karin Haenelt, PageRank, 6.11.2015
21
Perspektive: Lineares Gleichungssystem
Lösung des Gleichungssystems mit Gauß-Elimination
−
pr1
Gleichungssystem
1 2 pr1 −
1 2 pr1 +
Umformung 1
ρ
ρ1
− 1 2 ρ1 + ρ 2 :
− 1 2 ρ1 + ρ 3 :
pr2
pr2
−
−
pr:1
−
pr2
pr2
pr3
= 0
pr3
= 0
= 0
pr3
+ 1 2 pr3
− 1 2 pr3
= 0
= 0
= 0
Reihe des Gleichungssystems
Umformung 2
© Karin Haenelt, PageRank, 6.11.2015
pr1
pr2
=
pr3
= 1 2 pr3
22
Perspektive: Lineares Gleichungssystem
Lösung des Gleichungssystems mit Gauß-Elimination
pr1
pr2
=
pr3
= 1 2 pr3
Lösungsmenge  pr1   1 

   

pr
1
2
pr
|
pr
=
∈
ℜ

 2    3 3
 pr   1 

 3   

nicht-triviale (d.h. Nicht-Null) Lösung z.B.: pr1 = 2, pr2 = 1, pr3 = 2
jedes Vielfache dieser Lösung ist ebenfalls eine Lösung
N
 pr1   0.4 
Normierung aus
    PageRankpri = 1
∑
Anwendungssicht1)
 pr2  =  0.2  Vektor pr
i =1
 pr   0.4 
ergibt eindeutige Lösung
 3  
1)
Die PageRank-Werte bilden eine Wahrscheinlichkeitsverteilung über die Webseiten, so
dass die Summe der PageRank-Werte über alle Webseiten gleich 1 ist (Page, 2001: 4)
© Karin Haenelt, PageRank, 6.11.2015
23
Perspektive: Lineares Gleichungssystem
Lösung des Gleichungssystems mit Gauß-Elimination
Komplexität des Eliminationsverfahrens nach Gauß
„Im allgemeinen Fall benötigt die Gauß-Elimination für die Lösung
eines Gleichungssystems Ax = b mit n Unbekannten 2n3/3 + (n2)
Operationen.
Der Speicherbedarf beträgt n2 + n.“ (Hackbusch, 2004: 8)
dabei wurden folgende Operationen gezählt:
Addition, Subtraktion, Multiplikation, Division
→ nur für sehr kleine Matrizen möglich
© Karin Haenelt, PageRank, 6.11.2015
24
Mathematische Betrachtungsvariante:
Lineare Abbildung
Betrachtungsvariante: Lineare Abbildung (Lineare Algebra 2)
Matrix als Abbildungsmatrix
PageRank-Vektor als Fixvektor der Abbildungsmatrix
© Karin Haenelt, PageRank, 6.11.2015
25
M
Perspektive: Lineare Algebra
vorausgesetzte Definition: Vektorraum
Definition: ein Vektorraum V über einem Körper K ist eine Menge V
mit zwei Verknüpfungen der Form
+
und K × V 
V ×V 
→
V
→V
( v , w) a v + w
( c, v ) a cv
die man Addition (+) und Skalarmultiplikation (⋅) nennt, und für die
folgende Axiome gelten:
Artin 1998, 95/96
© Karin Haenelt, PageRank, 6.11.2015
26
M
Perspektive: Lineare Algebra
vorausgesetzte Definition: Vektorraum
Definition (Fortsetzung)
1. Bezüglich der Addition bildet V eine Abelsche Gruppe
1. Abgeschlossenheit
v + w ∊ V, für alle v,w ∊ V
2. Assoziativität
(v+w)+u = v+(w+u) , für alle u,v,w ∊ V
3. Neutrales Element e es gibt ein neutrales Element e:
v+e = v, für e ∊ V und alle v ∊ V
(hier: e ist der Nullvektor )
4. Inverses Element i
es gibt ein inverses Element i:
v + i = i + v = e, für alle v ∊ V
5. Kommutativität
v+w = w+v , für alle v,w ∊ V
Artin 1998, 95/96
© Karin Haenelt, PageRank, 6.11.2015
27
M
Perspektive: Lineare Algebra
vorausgesetzte Definition: Vektorraum
Definition (Fortsetzung):
2. Die Skalarmultiplikation ist assoziativ mit der Multiplikation in K:
(ab)v = a(bv) für alle a, b ∊ K, v ∊ V
3. Die Skalarmultiplikation mit der reellen Zahl 1 wirkt als identische
Abbildung auf V:
1v = v, für alle v ∊ V
4. Es gelten zwei Distributivgesetze
(a+b)v = av+bv
a(v+w) = av + aw für alle a, b ∊ K, v,w ∊ V und
Artin 1998, 95/96
© Karin Haenelt, PageRank, 6.11.2015
28
M
Perspektive: Lineare Abbildung
vorausgesetzte Definition: Lineare Abbildung
Definition: Es sei K ein Körper. Eine Abbildung f eines Vektorraumes V
in einen Vektorraum W heißt lineare Abbildung von V nach W, wenn
die folgenden Gleichungen für alle v1, v2 ∊ V und alle a ∊ K gelten:
f(v1 + v2) = f(v1) + f(v2)
f(av) = af(v)
© Karin Haenelt, PageRank, 6.11.2015
29
Perspektive: Lineare Abbildung
Geometrisches Beispiel einer linearen Abbildung und
Abbildungsmatrix
M
Beispiel: Dehnung: Kreis → Ellipse (mit Erhaltung des Mittelpunkts)
Multiplikation der Komponenten der Vektoren X = (x,y) (Punkte
des Kreises) mit den Skalaren μ bzw.ν, also μx und νy
Beschreibung der Abbildung durch eine Matrix (Abbildungsmatrix)
µ 0
X → 
 ⋅ X
0
ν


X → AX
Die Matrix erfasst die Art der „Dehnung“ beider Dimensionen
Kunze, 2013: 1/2
© Karin Haenelt, PageRank, 6.11.2015
30
M
Perspektive: Lineare Abbildung
Eigenwert und Eigenvektor
Da es sich um lineare Operationen handelt, kann man bei der Matrix
einen Faktor ausklammern, indem man alle Elemente der Matrix
durch dividiert.
Dasselbe ist mit Vektoren möglich. Damit entsteht eine
Kunze, 2013: 1/2
Variationsmöglichkeit für die Abbildung X → A X
so kann es einen Fall geben
→
=
=λ
=λ
© Karin Haenelt, PageRank, 6.11.2015
31
M
Perspektive: Lineare Abbildung
Eigenwert und Eigenvektor
eine Zahl heißt Eigenwert einer Matrix A, genau dann, wenn die
Gleichung
AX = λ X
nichttriviale (d.h. vom Nullvektor verschiedene) Lösungen besitzt
Diese Lösungen heißen die zu gehörigen Eigenvektoren von A.
Kunze, 2013: 1/2
© Karin Haenelt, PageRank, 6.11.2015
32
M
Perspektive: Lineare Abbildung
Definition: Eigenwert und Eigenvektor
Definition: Es sei f: V → V ein Endomorphismus eines K-Vektorraumes
V. Eine Konstante ∊ K heißt Eigenwert zu f, wenn es einen Vektor a
∊ V – {0} mit f(a) = a gibt. Man nennt in diesem Falle a einen
Eigenvektor von f zum Eigenwert . Für eine Matrix A ∊ Knxn seien
Eigenwerte und Eigenvektoren erklärt als Eigenwerte und
Eigenvektoren der zugehörigen linearen Abbildung Kn → Kn, x ↦ Ax
Bosch, 2006:194
© Karin Haenelt, PageRank, 6.11.2015
33
M
Perspektive: Lineare Abbildung
Beispiel: Eigenwert und Eigenvektor
A
x
 0 0 1


1
/
2
0
0


1 / 2 1 0 


 2 / 5


1
/
5


 2 / 5


⋅
=
x
=
 2 / 5


1
/
5


 2 / 5


1
⋅
Dies ist das Beispiel
von vorne:
 2 / 5
 4 / 10 




 1 / 5  =  2 / 10  =
 2 / 5
 4 / 10 




 0.4 
 
 0.2 
 0.4 
 
ein Eigenwert
der Matrix A
=1
Abbildungsmatrix A
Eigenvektor von A zum Eigenwert = 1
Vektor x ≠ 0, der durch f: V → V auf ein
Vielfaches x von sich selbst abgebildet wird
(d.h. nur gestreckt, nicht gedreht wird)
© Karin Haenelt, PageRank, 6.11.2015
34
M
Perspektive: Lineare Abbildung
Fixvektor
A
x =
x
 2 / 5
 0 0 1   2 / 5
 




1
/
2
0
0
⋅
1
/
5
=
1
⋅
1
/
5




 
 2 / 5
1 / 2 1 0   2 / 5 


 


wählt man = 1,
so sind die Eigenvektoren gerade die Fixelemente der durch
x → Ax
definierten Funktion f: Es sind diejenigen Vektoren, die durch f
in sich selbst überführt werden
Diese Eigenvektoren heißen auch Fixvektoren von A.
Kunze, 2013
© Karin Haenelt, PageRank, 6.11.2015
35
M
Perspektive: Lineare Abbildung
Darstellung des homogenen linearen Gleichungssystems in
der für Fixvektoren charakteristischen Form Ax = λx mit λ=1
Homogene Gleichungen der Gestalt
a1 x1 + a2 x2 + ... + an xn = 0
lassen sich auch in der für Eigenvektoren charakteristischen Form
schreiben:
Ax = λx
das gilt aber nur für = 1; wäre variabel, so könnte man die
Gleichungsform mit konstanten Koeffizienten ai nicht erreichen
Kunze, 2013
© Karin Haenelt, PageRank, 6.11.2015
36
Perspektive: Lineare Abbildung
Darstellung des homogenen linearen Gleichungssystems in
der für Fixvektoren charakteristischen Form Ax = x mit
=1
A
x =
x
 0 0 1   2 / 5  2 / 5

 
 

1 / 2 0 0  ⋅  1 / 5  =  1 / 5 
1 / 2 1 0   2 / 5   2 / 5 


 
 
A
x =
x
 0 0 1   pr1   pr1 
    

1 / 2 0 0  ⋅  pr2  =  pr2 
1 / 2 1 0   pr   pr 

  3  3
→ der PageRank-Vektor entspricht dem Fixvektor der Verlinkungsmatrix
© Karin Haenelt, PageRank, 6.11.2015
37
Mathematische Betrachtungsvariante:
Stochastik
Betrachtungsvariante: Markov-Modell (Stochastik)
Matrix als probabilistische Übergangsmatrix eines MarkovProzesses
PageRank-Vektor als stationäre Verteilung des Markov-Prozesses
(Vektor gegen den der Markov-Prozess nach sehr vielen Schritten
konvergiert)
© Karin Haenelt, PageRank, 6.11.2015
38
M
Perspektive: Stochastik
Definition: Markov-Kette
Einführung
Eine Markov-Kette ist eine Folge von Zufallsvariablen mit kurzem
Gedächtnis; das Verhalten zum jeweils nächsten Zeitpunkt hängt
nur vom jeweils aktuellen Wert ab und nicht davon, welche Werte
vorher angenommen wurden.
Von besonderem Interesse ist das Langzeit-Verhalten solch einer
Folge – z.B.
Absorption in einer „Falle“ oder
Konvergenz ins Gleichgewicht
Georgii, 2009:153
© Karin Haenelt, PageRank, 6.11.2015
39
M
Perspektive: Stochastik
Definition: Markov-Kette - vorausgesetzte Definitionen
im Folgenden wird Ω als eine höchstens abzählbare Menge
vorausgesetzt.
P(Ω) ist die Potenzmenge von Ω, also die Menge aller Teilmengen von
Ω
Definition: Sei Ω≠ ∅. Ein System F⊂P(Ω) mit den Eigenschaften
a) Ω ∊ F
b) A ∊F ⟹ Ac := Ω \ A ∊F
(“logische Verneinung“)
c) A1, A2, … ∊F ⟹ ∪i≧1 Ai ∊F
(“logisches Oder“)
heißt eine σ-Algebra in Ω. Das Paar (Ω,F) heißt dann ein
Ereignisraum oder ein messbarer Raum.
Ist Ω als höchstens abzählbar, dann setzt man F = P(Ω)
vgl. Georgii, 2009:10, 13
© Karin Haenelt, PageRank, 6.11.2015
40
M
Perspektive: Stochastik
Definition: Markov-Kette - vorausgesetzte Definitionen
Definition: Sei (Ω,F) ein Ereignisraum. Eine Funktion P: F→ [0,1] mit
den Eigenschaften
Normierung: P(Ω) = 1
σ-Addititvität: Für paarweise disjunkte Ereignisse A1, A2, … ∊F
(i.e. Ai I Aj = ∅ für i ≠ j ) gilt P(Ui ≥1 Ai ) = ∑i ≥1 P( Ai )
heißt Wahrscheinlichkeitsmaß oder auch
Wahrscheinlichkeitsverteilung, kurz Verteilung auf (Ω,F) . Das
Tripel (Ω,F,P) heißt dann Wahrscheinlichkeitsraum.
Georgii, 2009:13
© Karin Haenelt, PageRank, 6.11.2015
41
M
Perspektive: Stochastik
Definition: Markov-Kette - vorausgesetzte Definitionen
Definition: Ist Ω eine abzählbare Menge, so heißt eine Folge
ρ=(ρ(ω))ω∊Ω in [0,1] mit Σω∊Ω ρ(ω) = 1 eine Zähldichte auf Ω.
Erläuterung: ρ ist ein Vektor mit Wahrscheinlichkeitswerten ρ(ω)
für die Variable ω∊Ω
Definition: Ist E≠ ∅ eine höchstens abzählbare Menge, und П =
(П(x,y))x,y∊Ω eine Matrix, in der jede Zeile П(x,·) eine Zähldichte (2009) /
Wahrscheinlichkeitsdichte (2015) auf E ist, dann heißt П eine
stochastische Matrix
vgl. Georgii, 2009:18 und 153
vgl. Georgii, 2015
© Karin Haenelt, PageRank, 6.11.2015
42
M
Perspektive: Stochastik
Definition: Markov-Kette
Sei E ≠ ∅ eine höchstens abzählbare Menge und П eine stochastische
Matrix.
Definition: Eine Folge X0, X1, … von Zufallsvariablen auf einem
Wahrscheinlichkeitsraum (Ω, F,P) mit Werten in E heißt (nach A.A.
Markov, 1856-1922) eine Markov-Kette mit Zustandsraum E und
Übergangsmatrix П, wenn für alle n ≧ 0 und alle x0, …, xn+1 ∊ E gilt:
P(Xn+1 = xn+1 | X0=x0, …, Xn = xn) = П(xn, xn+1)
sofern P(X0=x0, …, Xn = xn) > 0.
Die Verteilung von X0 heißt die Startverteilung der Markov-Kette
vgl. Georgii, 2009:153
© Karin Haenelt, PageRank, 6.11.2015
43
M
Perspektive: Stochastik
Definition: Markov-Kette
Gleichung
P(Xn+1 = xn+1 | X0=x0, …, Xn = xn) = П(xn, xn+1)
besteht aus zwei Teilaussagen:
Die bedingte Verteilung von Xn+1 bei bekannter Vorgeschichte
x0,…,xn hängt nur von der Gegenwart xn ab und nicht von der
Vergangenheit; diese so genannte Markov-Eigenschaft ist die
entscheidende Annahme
Diese bedingten Verteilungen hängen nicht vom Zeitpunkt n
ab.
Eine Markov-Kette (Xn)n≧0 ist ein stochastischer Prozess mit kurzem
Gedächtnis von genau einer Zeiteinheit und ohne innere Uhr.
Georgii, 2009:153/154
© Karin Haenelt, PageRank, 6.11.2015
44
M
Perspektive: Stochastik
Definition: Ergodensatz für Markov-Kette
Für eine „kommunikative“ Markov-Kette pendelt sich die Verteilung
nach langer Zeit bei einer invarianten Gleichgewichtsverteilung ein.
Dies ist die Aussage des folgenden Ergodensatzes:
Ergodensatz für Markov-Ketten. Sei E endlich, und es gebe ein k ≥ 1
mit Пk(x,y) > 0 für alle x,y ∊ E. Dann existiert für alle y ∊ E der Limes
lim Π n ( x, y ) = α ( y ) > 0
n→∞
unabhängig von der Wahl des Startpunkts x ∊ E, und der Limes α ist
die einzige Zähldichte/Wahrscheinlichkeitsdichte auf E mit
∑α ( x)Π( x, y ) =α ( y ) für alle y ∈ E
x∈E
Anm.: "äußerst kommunikative" Markov-Kette: kann von jedem Zustand in jeden anderen gelangen, und
zwar in einer festgelegten Anzahl von Schritten
Georgii 2009:261/262, Georgii, 2015
© Karin Haenelt, PageRank, 6.11.2015
45
M
Perspektive: Stochastik
Definition: Stationäre Verteilung
Bemerkung und Definition: Stationäre Verteilungen. Fasst man α als
Zeilenvektor auf, so kann man die Gleichung
∑α ( x)Π( x, y ) =α ( y ) für alle y ∈ E
x∈E
αΠ = α schreiben;
in der Form
die Limesverteilung lim Π n ( x, y ) = α ( y ) > 0
n→∞
ist also ein linker Eigenvektor von П zum Eigenwert 1 1).
Verwendet man solch ein α als Startverteilung, so ist die zugehörige
Markov-Kette zeitlich invariant („stationär“) in dem Sinn, dass
Pα (( Xn, Xn + 1,...) ∈ A) = Pα ( A)
⊗
für alle A ∊ ℱ = P (E) ℤ+ und n ≧ 0. Eine Wahrscheinlichkeitsdichte α
mit αП = α heißt deshalb eine stationäre (Start-)Verteilung.
1) Perron-Frobenius-Theorem
© Karin Haenelt, PageRank, 6.11.2015
Georgii, 2009:162
46
M
Perspektive: Stochastik
Matrix irreduzibel und aperiodisch (ergodisch)
Definition: Eine Übergangsmatrix П heißt irreduzibel, wenn zu
beliebigen x,y ∊ E ein k = k(x,y) ≧ 0 existiert mit Пk(x,y) > 0
jeder Zustand kann von jedem anderen mit positiver Wahrscheinlichkeit
in einer endlichen Anzahl von Schritten erreicht werden kann
Definition: Eine Übergangsmatrix П heißt aperiodisch, wenn für ein
(und daher alle) x ∊ E gilt: die Menge {k ≧ 1: Пk(x,x) > 0} hat den
größten gemeinsamen Teiler 1.
die Längen der Wege, auf denen ein Knoten x wieder erreicht werden
kann, sind teilerfremd
Prozess springt nicht systematisch von einem bestimmten Zustand zu
einem Zustand zurück
Eine stochastische Matrix П erfüllt genau dann die Voraussetzungen
des Ergodensatzes, wenn П irreduzibel und aperiodisch ist.
Georgii, 2009:171 (irreduzibel) und 185
© Karin Haenelt, PageRank, 6.11.2015
47
Perspektive: Stochastik
Annahme: Surfmodell ist ein Markov-Modell
Annahme des PageRank-Modells: Markov-Modell
Zufallssurfende wählen zufällig Links einer Webseite, um zur
nächsten Webseite zu gelangen
Die Auswahl einer nachfolgenden Seite ist unabhängig von den
vorher besuchten Seiten (Markov-Eigenschaft)
© Karin Haenelt, PageRank, 6.11.2015
48
Perspektive: Stochastik
PageRank als stationäre Verteilung eines Markov-Prozesses
PageRank-Wert einer Seite i : modelliert die Wahrscheinlichkeit, mit
der Zufalls-Surfende nach der Verfolgung einer großen Anzahl von
Links auf Seite i landen
nach sehr vielen Schritten entlang der Verlinkungen hat die
Wahrscheinlichkeit, auf einer bestimmten Seite zu sein, für jede
Seite einen bestimmten Wert
dieser Wert ist der PageRank einer Seite
Page, 2001: 5
© Karin Haenelt, PageRank, 6.11.2015
49
Perspektive: Stochastik
PageRank als stationäre Verteilung eines Markov-Prozesses
Iterationsprozess
Vektor p0: eine N-dimensionale Wahrscheinlichkeitsverteilung,
bei der jede Komponente p0[i] die Wahrscheinlichkeit angibt, dass
Zufallssurfende auf Seite i beginnen
Matrix S: probabilistische NxN-Übergangsmatrix, modelliert die
Wahrscheinlichkeit des Zufalls-Übergangs von Seite j zu Seite i
Die Wahrscheinlichkeitsverteilung ist
nach einem Zustandsübergang p1 = S⋅p0
nach zwei Zustandsübergängen p2 = S⋅p1 = S2 ⋅ p0
Page, 2001: 5
© Karin Haenelt, PageRank, 6.11.2015
50
Perspektive: Stochastik
PageRank als stationäre Verteilung eines Markov-Prozesses
vorausgesetzt, die Iteration konvergiert, dann konvergiert sie zu
p∞ = lim S n p0
n →∞
p∝ heißt in diesem Kontext stationäre Verteilung (steady state
probability)
→der PageRank-Vektor entspricht der stationären Verteilung
des Markov-Prozesses
„Die Iteration zirkuliert die Wahrscheinlichkeiten durch die verlinkten
Knoten wie ein Energiefluss im Stromkreis und akkumuliert sie an
wichtigen Stellen“ Page, 2001: 5
Page, 2001: 5
© Karin Haenelt, PageRank, 6.11.2015
51
Inhalt
Entwicklung, Ziele, Grundidee
Hyperlink-Matrix und PageRank-Vektor
Wie berechnet man aus der Hyperlink-Matrix den PageRank-Vektor?
Mathematische Betrachtungsvarianten
Der Page-Algorithmus
Konvergenzbedingungen und Modifikation der Matrix
stochastisch, irreduzibel, aperiodisch
die Google-Matrix
Komplexität der Berechnung
Personalisierung und Adaption an Nutzungsverhalten
Zusammenfassung
© Karin Haenelt, PageRank, 6.11.2015
52
PageRank
Plan des Algorithmus
Start
Select an initial n-dimensional vector p0
Compute an approximation pn to a steadystate probability p∞ in accordance with the
equation pn = Anp0
Determine a rank r[k] for node k from a kth
component of pn
Done
© Karin Haenelt, PageRank, 6.11.2015
Page, 2001: Fig. 3
53
Berechnung des PageRanks – Grundprinzip
3. Approximative Berechnung des PageRanks
1. Select an initial n-dimensional vector p0
Initialisierung des PageRank-Vektors: Startzustand
p0
© Karin Haenelt, PageRank, 6.11.2015
1 3 
 
1 3 
1 3 
 
beliebig gewählter Startvektor p0
hier: 1/N
Interpretation:
Wahrscheinlichkeit für Knoten 1 bis N,
Startknoten eines zufälligen
Surf-Ereignisses zu sein
54
Berechnung des PageRanks – Grundprinzip
3. Approximative Berechnung des PageRanks
2. Compute an approximation pn to a steady-state probability p∞ in
accordance with the equation pn = Anp0
p1 = H ⋅ p0
p2 = H ⋅ p1
p2 = H 2 ⋅ p0
 0 0 1  1 3   0

 
 
1
/
2
0
0
⋅
1
3

 
 = 1 6
1 / 2 1 0  1 / 3  1 6
 
 

 0 0 1  1 3   0
 

 
1
/
2
0
0
⋅
1
6

 
 = 1 6
1 / 2 1 0  1 / 2   1 6
 
 

+
+ 1 3   1 3   0.3333 
   

+ 0 + 0  = 1 6  =  0.1666 
+ 1 3 + 0  1 2   0.5000 
0
+ 0 + 1 2  1 2   0.5000 
   

+ 0 + 0  =  1 6  =  0.166 
+ 1 6 + 0   1 3   0.3333 
für irreduzible primitive stochastische Matrizen (dazu: nachfolgende Folien) gilt:
PageRank-Vektor ≙ Grenzvektor p∞ (stochastisch) ≙ Fixvektor PR (algebraisch)
© Karin Haenelt, PageRank, 6.11.2015
55
Berechnung des PageRanks – Grundprinzip
3. Approximative Berechnung des PageRanks
2. Compute an approximation pn to a steady-state probability p∞ in
accordance with the equation pn = Anp0
p3 = H ⋅ p2
 0 0 1   1 2   0 + 0 + 1 3   1 3   0.3333 
 
 
 


 
=
+
+
=
=
1
/
2
0
0
⋅
1
6
1
4
0
0
1
4
0
.
2500
 


 
 
 
1 / 2 1 0  1 / 3  1 4 + 1 6 + 0   5 12   0.4166 

 
 
 
 

...
p10 = H ⋅ p9
+
+ 38 96   38 96   0.3958 
0
 0 0 1   39 96   0
 
 
 


 
=
+
+
=
=
1
/
2
0
0
⋅
19
96
39
192
0
0
39
192
0
.
2031
 


 
 
 
1 / 2 1 0   38 / 96   39 192 + 19 96 +
0   77 192   0.4010 
 
 

Anm. zu diesem Beispiel: Wenn man weiterrechnet, stellt man fest, dass die
Approximation nicht konvergiert. Das liegt daran, dass die Matrix dieses Beispiels nicht
aperiodisch ist.
© Karin Haenelt, PageRank, 6.11.2015
56
Berechnung des PageRanks – Grundprinzip
3. Approximative Berechnung des PageRanks
3. Determine a rank r[k] for node k from a kth component of pn
 0.3958 


p10 =  0.2031 
 0.4010 


© Karin Haenelt, PageRank, 6.11.2015
 2
 
Rang r =  3 
1
 
57
Berechnung des PageRanks – Grundprinzip
Logarithmische Definition des PageRanks
Ränge von Dokumenten können um Größenordnungen differieren
daher logarithmische Definition zweckmäßig
r[i ] = log
p∞ [i ]
min
{ p∞ [k ]}
k ∈ [1, N ]
ordnet dem niedrigsten Rang den Wert 0 zu und erhöht sich für jede
Größenordnung um 1
Page, 2001:6
© Karin Haenelt, PageRank, 6.11.2015
58
Inhalt
Entwicklung, Ziele, Grundidee
Hyperlink-Matrix und PageRank-Vektor
Wie berechnet man aus der Hyperlink-Matrix den PageRank-Vektor?
Mathematische Betrachtungsvarianten
Der Page-Algorithmus
Konvergenzbedingungen und Modifikation der Matrix
stochastisch, irreduzibel, aperiodisch
die Google-Matrix
Komplexität der Berechnung
Personalisierung und Adaption an Nutzungsverhalten
Zusammenfassung
© Karin Haenelt, PageRank, 6.11.2015
59
Konvergenzbedingung für Markov-Ketten
Theorie für Markov-Ketten:
für beliebige Startvektoren konvergiert die iterative Berechnung
des Grenzvektors gegen
einen eindeutigen und positiven stationären Vektor
(stationäre Verteilung)
und dieser Vektor ist der Fixvektor, der durch die Matrix
gegebenen linearen Abbildung
wenn die Matrix stochastisch, irreduzibel und aperiodisch ist
p ∞ = lim S n p 0
n →∞
=
p=Sp
Basis: Sätze von Perron (1907) und Frobenius (1912)
© Karin Haenelt, PageRank, 6.11.2015
(vgl. Law, 2008)
60
Konvergenzbedingungen für Markov-Ketten
Wirkung der Bedingungen
stochastisch
∀sij : sij ≥ 0
N
∑s
i =1
ij
= 1 → Grenzvektor ist eindeutig
irreduzibel (zerfällt nicht in unabhängige Teile)
→ Grenzvektor bekommt für alle
Einträge positive Werte
aperiodisch (Längen der Zyklen sind teilerfremd)
→ Prozess konvergiert
© Karin Haenelt, PageRank, 6.11.2015
61
M
Stochastische Matrix
Definition: irreduzibel
Sei E eine höchstens abzählbare Menge und E ≠ ∅
Definition: Eine Übergangsmatrix П heißt irreduzibel, wenn zu
beliebigen x,y ∊ E ein k = k(x,y) ≧ 0 existiert mit Пk(x,y) > 0
Erläuterung: Irreduzibilität bedeutet: jeder Zustand kann von
jedem anderen mit positiver Wahrscheinlichkeit in einer
endlichen Anzahl von Schritten erreicht werden kann
Georgii, 2009:171
© Karin Haenelt, PageRank, 6.11.2015
62
Verletzung der Konvergenzbedingungen
Reduzible Matrix - Beispiel 1
A
reduzible Matrix: unabhängiger Teil:
Knoten ohne ausgehende Kanten (dangling node)
pr0
1 3 
 
1 3 
1 3 
 
pr1 = S ⋅ pr0
 0 0 0  1 3   0 

 
 

0
0
0
⋅
1
3
=
0
 


 
 1 1 0  1 / 3   2 / 3 


 
 
B
C
pr2 = H ⋅ pr1
 0 0 0  0   0

 
  
0
0
0
⋅
0

 
 = 0
 1 1 0   2 / 3  0 
 
  

Formal: Prozess konvergiert gegen 0
es gibt nach einer gewissen Anzahl von Schritten keine Möglichkeit
mehr in bestimmte Zustände zurückzukehren
Problem: PageRank sagt nichts über die relative Bedeutung der
Webseiten aus
nach Austin, 2006
© Karin Haenelt, PageRank, 6.11.2015
63
Verletzung der Konvergenzbedingungen
Reduzible Matrix - Beispiel 2
reduzible Matrix: unabhängiger Teil: unabhängiger Teilgraph
1
3
5
7
p∞
H
 0

1 / 2
2
4
6
8 1 / 2

 0
Prozess konvergiert  0
für den unabhängigen  0
Teilgraphen gegen 0  0

 0

0 0
0
0
0 1/ 2 1/ 3 0
0 0
0
0
1 0
0
0
0 1/ 2 1/ 3 0
0 0 1/ 3 1/ 3
0 0
0 1/ 3
0 0
0 1/ 3
0 0
0 

0 0
0 
0 0
0 

0 0
0 
0 1/ 2 0 

0 0 1/ 2 
0 0 1 / 2 
1 1 / 2 0 
 0 


0


 0 


 0 
 0.12 


 0.24 
 0.24 


 0.12 


Austin, 2006
© Karin Haenelt, PageRank, 6.11.2015
64
M
Stochastische Matrix
Definition: aperiodisch
Sei E eine höchstens abzählbare Menge und E ≠ ∅
Definition: Eine Übergangsmatrix П heißt aperiodisch, wenn für ein
(und daher alle) x ∊ E gilt: die Menge {k ≧ 1: Пk(x,x) > 0} hat den
größten gemeinsamen Teiler 1.
die Längen der Wege, auf denen ein Knoten x wieder erreicht
werden kann, sind teilerfremd
Prozess springt nicht systematisch von einem bestimmten
Zustand zu einem Zustand zurück
Georgii, 2009:185
© Karin Haenelt, PageRank, 6.11.2015
65
M
Stochastische Matrix
Beispiel: aperiodisch
Es ist Пk(x,x) > 0, wenn es in der Matrix einen Weg von x nach x der
Länge k gibt
ein Zustand x ist dann aperiodisch, wenn
k = 1: П1(x,x) > 0: es gibt eine Schleife oder
k ≧ 1: Пk(x,x) > 0: es gibt mindestens zwei Wege der Länge k1 und
k2, und es gilt ggT(k1,k2) = 1
Matrix des ersten Beispiels ist NICHT aperiodisch:
pBB1 Schritt = 0 (es gibt keine Schleife)
pAA1 Schritt = 0 (es gibt keine Schleife)
2 Schritte = 0
p
BB
pAA 2 Schritte > 0
A
B pBB 3 Schritte > 0
3
Schritte
pAA
>0
es gibt keine zwei Wege der
C
ggT {2,3} = 1
Länge k und k
1
© Karin Haenelt, PageRank, 6.11.2015
2
66
Verletzung der Konvergenzbedingungen
Periodische Matrix – Beispiel 1
Periodische Matrix
Prozess konvergiert nicht
bzw. Konvergenz ist abhängig vom Startvektor
A
B
Konvergenz
abhängig vom
Startvektor p0
H
p0
p1
p2
p0
 0 1


1
0


 1
 
 0
 0
 
1
1
 
 0
1

1
konvergiert
nicht
Fixvektor
existiert
© Karin Haenelt, PageRank, 6.11.2015
p1
2

2 
1

1
2

2 
konvergiert
H
 0 1  1 2  1
 ⋅   = 

 1 0  1 2  1
2

2
67
Verletzung der Konvergenzbedingungen
Periodische Matrix – Beispiel 2
Periodische Matrix
Prozess konvergiert nicht
bzw. Konvergenz ist abhängig vom Startvektor
H
A
B
E
C
D
0

1
0

0
0

0
0
1
0
0
0
0
0
1
0
0
0
0
0
1
1

0
0

0
0 
p0
p1
p2
p3
p4
p5
 1
 
 0
 0
 
 0
 0
 
 0
 
1
 0
 
 0
 0
 
 0
 
 0
 1
 
 0
 0
 
 0
 
 0
 0
 
1
 0
 
 0
 
 0
 0
 
 0
1
 
1
 
 0
 0
 
 0
 0
 
Prozess konvergiert nicht – obwohl ein Fixvektor existiert
Austin, 2006
© Karin Haenelt, PageRank, 6.11.2015
68
Inhalt
Entwicklung, Ziele, Grundidee
Hyperlink-Matrix und PageRank-Vektor
Wie berechnet man aus der Hyperlink-Matrix den PageRank-Vektor?
Mathematische Betrachtungsvarianten
Der Page-Algorithmus
Konvergenzbedingungen und Modifikation der Matrix
stochastisch, irreduzibel, aperiodisch
die Google-Matrix
Komplexität der Berechnung
Personalisierung und Adaption an Nutzungsverhalten
Zusammenfassung
© Karin Haenelt, PageRank, 6.11.2015
69
Die Google-Matrix G
Um zu garantieren, dass der Markov-Prozess gegen einen eindeutigen
Vektor mit ausschließlich positiven Werten konvergiert,
muss man dafür sorgen, dass die Matrix folgende Eigenschaften hat:
stochastisch (entspricht Markov-Prozess gemäß Definition) und
irreduzibel und
aperiodisch
hierfür gibt es mehrere Möglichkeiten
eine Variante ist die folgende Modifikation der Beispiel-Matrix H:
S=H+A
(stochastisch nach Einführung des
Korrekturwertes für dangling nodes)
G = αS + (1-α) 1/N 1
(irreduzibel und aperiodisch)
© Karin Haenelt, PageRank, 6.11.2015
70
Die Google-Matrix G
1. Die Matrix H: Hyperlinks mit Gewichtungen
1 / n j
hij = 
 0
H:
falls j auf i verlinkt
sonst
H ist nicht stochastisch:
A
B
C
 0 0 0


H =  0 0 0
 1 1 0


N
∑h
i =1
© Karin Haenelt, PageRank, 6.11.2015
ij
=1
ist nicht erfüllt
71
Die Google-Matrix G
2. Die stochastische Matrix S
S=H+A
1 / n j
aij = 
 0
H
für Knoten ohne ausgehende Kanten
sonst
A
 0 0 0   0 0 1 / 3  0 0 1 / 3
 
 


S =  0 0 0  +  0 0 1 / 3 =  0 0 1 / 3
 1 1 0   0 0 1 / 3  1 1 1 / 3


 
 
© Karin Haenelt, PageRank, 6.11.2015
A
B
C
72
Die Google-Matrix G
3. Die stochastische, irreduzible und aperiodische Matrix G
G = αS + (1-α) 1/N 1
α
Konstante 0 ≤ α < 1
1
N x N Matrix, alle Einträge sind 1
(dient der korrekten Formulierung der Addition von
(1-α) 1/N zur Matrix S)
A
B
Beispiel: sei α = 1/2
C
α
S
(1-α)⋅1/N 1
 1 1 1  1 / 6 1 / 6 2 / 6   1 / 6 1 / 6 1 / 3 
 0 0 1 / 3

 
 


1
1 1
G = ⋅  0 0 1 / 3  + ⋅  1 1 1 =  1 / 6 1 / 6 2 / 6  =  1 / 6 1 / 6 1 / 3 
2 
 2 3  1 1 1  4 / 6 4 / 6 2 / 6   2 / 3 2 / 3 1 / 3 
1
1
1
/
3




 
 
© Karin Haenelt, PageRank, 6.11.2015
73
Die Google-Matrix G
Interpretation: ist die Modellierung G anwendungsadäquat?
G
S
A
A
B
C
H
B
C
A
B
C
zufällig Surfende
folgen den Links (H)
oder springen zufällig auf eine andere Seite weiter (z.B. durch
Eingabe einer Adresse in den Browser) (G)
© Karin Haenelt, PageRank, 6.11.2015
74
Die Google-Matrix G
Wahl des Parameters α: Modellierungsaspekt
aus der Sicht der Modellierung des Objektbereichs
wenn α = 1, dann ist G = S
entspricht der gegebenen Hyperlinksstuktur + Korrektur für
Knoten ohne ausgehende Kanten
Achtung: Matrix kann reduzibel und periodisch sein (positive
PageRank-Werte und Konvergenz nicht gesichert)
wenn α = 0, dann ist G = 1/N 1
alle Knoten gleichgewichtig mit allen verbunden,
gegebene Hyperlinkstruktur völlig verloren
→ wünschenswert: ein Wert nahe 1
Austin, 2006
© Karin Haenelt, PageRank, 6.11.2015
75
Die Google-Matrix G
Wahl des Parameters α: Konvergenzaspekt
aus der Sicht der Konvergenzgeschwindigkeit
Konvergenzgeschwindigkeit der Iteration wird beeinflusst durch
die Größe des zweiten Eigenwertes |λ2|
für die Google-Matrix G = αS + (1-α) 1/N 1 wurde bewiesen, dass
die Größe des zweiten Eigenwertes | λ2| = α
je kleiner | λ2|, desto schneller die Konvergenz
d.h. bei einem Wert nahe 1 ist die Konvergenzgeschwindigkeit
sehr gering
Brin und Page geben als einen guten Kompromisswert α = 0.85 an
Austin, 2006
© Karin Haenelt, PageRank, 6.11.2015
76
Die Google-Matrix G
Wahl des Parameters α
Konstante α mit 0 ≤ α < 1
Wert von α:
typisch: 0.85
muss aber nicht notwendigerweise gleichverteilt werden
Wirkung: α wirkt als Dämpfungsfaktor:
limitiert das Ausmaß in dem ein PageRank-Wert
von Kind-Knoten geerbt werden kann
Interpretation von 1-α: Wahrscheinlichkeit, mit der Zufallssurfende zu
einer beliebigen Seite springen statt einem Link zu folgen
© Karin Haenelt, PageRank, 6.11.2015
77
A
Die Google-Matrix G
Ein Beispiel
B
C
 0 0 1 / 3
 1 1 1  1 / 6 1 / 6 2 / 6   1 / 6 1 / 6 1 / 3 

 
 


1
1 1
G = ⋅  0 0 1 / 3  + ⋅  1 1 1 =  1 / 6 1 / 6 2 / 6  =  1 / 6 1 / 6 1 / 3 
2 
 2 3  1 1 1  4 / 6 4 / 6 2 / 6   2 / 3 2 / 3 1 / 3 
1
1
1
/
3



 
 

p0
p1
 1 / 6 1 / 6 1 / 3  1 / 3   1 / 6 ⋅ 1 / 3 + 1 / 6 ⋅ 1 / 3 + 1 / 3 ⋅ 1 / 3 = 2 / 9 

 
 

1
/
6
1
/
6
1
/
3
⋅
1
/
3
=
1
/
6
⋅
1
/
3
+
1
/
6
⋅
1
/
3
+
1
/
3
⋅
1
/
3
=
2
/
9
 


 
 2 / 3 2 / 3 1 / 3  1 / 3   2 / 3 ⋅ 1 / 3 + 2 / 3 ⋅ 1 / 3 + 1 / 3 ⋅ 1 / 3 = 5 / 9 


 
 
p0 p1
 1 / 6 1 / 6 1 / 3


1
/
6
1
/
6
1
/
3


 2 / 3 2 / 3 1 / 3


© Karin Haenelt, PageRank, 6.11.2015
p2
p3
1 / 3 2 / 9 7 / 27 20 / 81
1 / 3 2 / 9 7 / 27 20 / 81
1 / 3 2 / 9 13 / 27 41 / 81
78
Inhalt
Entwicklung, Ziele, Grundidee
Hyperlink-Matrix und PageRank-Vektor
Wie berechnet man aus der Hyperlink-Matrix den PageRank-Vektor?
Mathematische Betrachtungsvarianten
Der Page-Algorithmus
Konvergenzbedingungen und Modifikation der Matrix
stochastisch, irreduzibel, aperiodisch
die Google-Matrix
Komplexität der Berechnung
Personalisierung und Adaption an Nutzungsverhalten
Zusammenfassung
© Karin Haenelt, PageRank, 6.11.2015
79
Komplexität
Anforderungen
G hat ungefähr 25 Milliarden Spalten und Zeilen
ungefähr 10 Einträge in jeder Spalte sind nicht 0
Austin, 2006
© Karin Haenelt, PageRank, 6.11.2015
80
Komplexität
Lösung des Gleichungssystems mit Iteration
Komplexität: Speicherplatz
Speicherplatz: Matrix G, Vektor prm, Vektor prm+1
Komplexität: Berechnung
Berechnung des PageRanks nicht mit hoher Präzision erforderlich
hinreichende Konvergenz bei Millionen von Webseiten bei einer
Größenordnung von 100 Iterationen (Page 2001:5)
© Karin Haenelt, PageRank, 6.11.2015
81
Anwendung des PageRank-Algorithmus
Web-Crawler kundschaftet das Web aus und erstellt
Volltext-Index
PageRank-Vektor
PageRank-Berechnung viel weniger aufwändig als die Erstellung eines
Volltext-Indexes
Konvergenz für das gesamte Web sehr schnell: wenige Stunden
Anreicherung des Index um Vokabular aus den verlinkenden
Dokumenten
Stand: Page, 2001:7
Linktexte, Titel der verlinkenden Dokumente
(Wills 2006): PageRank-Wert für mehr als 25 Milliarden Webseiten
© Karin Haenelt, PageRank, 6.11.2015
82
Inhalt
Entwicklung, Ziele, Grundidee
Hyperlink-Matrix und PageRank-Vektor
Wie berechnet man aus der Hyperlink-Matrix den PageRank-Vektor?
Mathematische Betrachtungsvarianten
Der Page-Algorithmus
Konvergenzbedingungen und Modifikation der Matrix
stochastisch, irreduzibel, aperiodisch
die Google-Matrix
Komplexität der Berechnung
Personalisierung und Adaption an Nutzungsverhalten
Zusammenfassung
© Karin Haenelt, PageRank, 6.11.2015
83
Themenspezifischer PageRank-Wert
in der bisherigen Betrachtung wurde α als gleichverteilt angenommen
das ist aber nicht erforderlich
Möglichkeit 1:
Bildung thematischer Subnetze (z.B. Sport) (wie erkennt man Themen?)
Seiten im betrachteten Subnetz erhalten α > 0, andere α = 0
→ Einschränkung der weiteren Betrachtung auf das betretene
Subnetz
Möglichkeit 2: System arbeitet mit einer Hierarchie von Matrizen
Matrix der Übergänge innerhalb eines Themas (z.B. Sport)
Matrix der Übergänge zwischen Themen (z.B. Sport -> Politik)
Manning/Raghavan/Schütze, 2007:317-323
© Karin Haenelt, PageRank, 6.11.2015
84
Themenspezifischer PageRank-Wert
Möglichkeit 3:
System lernt aus dem Klickverhalten
Manning/Raghavan/Schütze, 2007:317-323
© Karin Haenelt, PageRank, 6.11.2015
85
Mögliche Modifikationen
Zusätzliche Parameter zur Berechnung des PageRanks
Folgende Eigenschaften können berücksichtigt werden:
eingehende Links
Anzahl unterschiedlicher Institutionen, Autoren, Orte,
Hauptseiten einer Domäne, …
Eigenschaften der Links in einem verlinkenden Dokument
Anfang des Dokuments
Hervorhebung durch Fettdruck o.ä., ..
Änderungsdatum der verlinkenden Seite (Aktualität)
Klickverhalten
Anzahl der Klicks auf die Seiten
Page, 2001:7-9
© Karin Haenelt, PageRank, 6.11.2015
86
Mögliche Modifikationen
Zusätzliche Parameter zur Berechnung des PageRanks
Personalisierung
Vergabe hoher initialer Page-Rank-Werte für die Webseite und
die Lesezeichen von Nutzenden, hohe Wahrscheinlichkeit des
Ansurfens dieser Seiten
trainiert das System Seiten zu erkennen, die in Relation zur
Webseite von Nutzenden stehen
Page, 2001:7
© Karin Haenelt, PageRank, 6.11.2015
87
Inhalt
Entwicklung, Ziele, Grundidee
Hyperlink-Matrix und PageRank-Vektor
Wie berechnet man aus der Hyperlink-Matrix den PageRank-Vektor?
Mathematische Betrachtungsvarianten
Der Page-Algorithmus
Konvergenzbedingungen und Modifikation der Matrix
stochastisch, irreduzibel, aperiodisch
die Google-Matrix
Komplexität der Berechnung
Personalisierung und Adaption an Nutzungsverhalten
Zusammenfassung
© Karin Haenelt, PageRank, 6.11.2015
88
Zusammenfassung
PageRank-Verfahren
PageRank-Verfahren gewichtet Webseiten nicht nach ihrem Inhalt
sondern nach der Verlinkungsstrukur
Verlinkungsstruktur wird als Graph repräsentiert
Graph wird als Matrix repräsentiert
PageRank-Vektor wird aus Matrix berechnet
Matrix und PageRank-Vektor lassen sich betrachten als:
Matrix
Koeffizientenmatrix eines
linearen
Gleichungssystems
Abbildungsmatrix
PageRank-Vektor
Lösungsvektor des linearen Gleichungssystems
Übergangsmatrix eines
Markov-Prozesses
Grenzvektor; stationäre Verteilung, bei der sich
ein Markov-Prozess nach längerer Zeit invariant
einpendelt
© Karin Haenelt, PageRank, 6.11.2015
pr (i ) =
∑
{ j | j →i }
Fixvektor der Abbildungsmatrix
pr ( j )
nj
x = Ax
p ∞ = lim S n p0
n→∞
89
Zusammenfassung
PageRank-Verfahren
eine direkte Berechnung des PageRank-Vektors ist im Falle vieler
Variablen zu komplex
eine iterative Berechnung ist sehr schnell möglich
eine approximative Berechnung mit wenigen Iterationen ist
ausreichend
Um die Berechnung partiell und iterativ durchführen zu können, muss
die Matrix die Eigenschaften einer ergodischen Markov-Kette haben
(stochastisch, irreduzibel, aperiodisch)
Hierzu wird die Hyperlink-Matrix (H) erweitert um
zusätzliche Links für Knoten ohne ausgehende Kanten (Matrix S)
(stochastisch)
und eine Konstante α (Matrix G) (irreduzibel und aperiodisch)
© Karin Haenelt, PageRank, 6.11.2015
90
Zusammenfassung
PageRank-Verfahren: Konstante α
Die Konstante ist formal erforderlich, um die Konvergenz des
approximativen Berechnungsverfahrens zu sichern: sie stellt sicher,
dass die Matrix irreduzibel und aperiodisch ist (bei 0 ≤ α < 1).
Die Werte der Konstanten beeinflussen die
Konvergenzgeschwindigkeit: je kleiner α, desto schneller die
Konvergenz
© Karin Haenelt,, 29.2.2016
91
Zusammenfassung
PageRank-Verfahren: Konstante α
Die Werte der Konstanten beeinflussen die Ergebnisse:
1-α kann als Modell des zufälligen Springens von einer Webseite zur
nächsten ohne einem Link zu folgen aufgefasst werden.
α wirkt als Dämpfungsfaktor, d.h. der Wert limitiert das Ausmaß, in
dem ein PageRank-Wert von Kind-Knoten geerbt werden kann
α = 1 (entspricht G = S): gegebene Hyperlinksstuktur + Korrektur
für Knoten ohne ausgehende Kanten
Achtung: Matrix kann reduzibel und periodisch sein (positive
PageRank-Werte und Konvergenz nicht gesichert)
α = 0 (entspricht G = 1/N 1): alle Knoten gleichgewichtig mit allen
verbunden, gegebene Hyperlinkstruktur völlig verloren
© Karin Haenelt,, 29.2.2016
92
Zusammenfassung
Suchergebnisse
Unabhängigkeit von Queries hat das Ranking wesentlich beschleunigt
PageRank lässt sich beim Indizieren berechnen
in bestimmten Zeitabständen aktualisieren
Verfahren kann aus Nutzungsverhalten lernen
Ergebnis reflektiert nicht unbedingt die Relevanz einer Seite für die
Anfragen der Nutzenden
unpopuläre, aber für eine bestimmte Aufgabenlösungen höchst
relevante Seiten werden möglicherweise nicht oder sehr spät
präsentiert
Neue Information ist erst nach einer gewissen Zeit gut verlinkt
Die neue Qualität der Suchergebnisse gegenüber anderen
Suchmaschinen hat Google zum Marktführer gemacht
Vgl. Berry/Browne, 2005
© Karin Haenelt, PageRank, 6.11.2015
93
Literatur
Patente
Lawrence Page (2001), Method for node ranking in a linked database—Patent number
6,285,999—September 4, 2001 (Original PageRank U.S. Patent),
http://patft.uspto.gov/netacgi/nph-Parser?patentnumber=6,285,999 und
http://www.google.com/patents/US6285999
Lawrence Page (2004), PageRank U.S. Patent—Method for scoring documents in a
linked database—Patent number 6,799,176—September 28, 2004
Lawrence Page (2006), PageRank U.S. Patent—Method for node ranking in a linked
database—Patent number 7,058,628—June 6, 2006
Lawrence Page (2007), PageRank U.S. Patent—Scoring documents in a linked
database—Patent number 7,269,587—September 11, 2007
© Karin Haenelt, PageRank, 6.11.2015
94
Literatur
PageRank
David Austin (2006), How Google Finds Your Needle in the Web’s Haystack. American
Mathematical Society. Feature Column: Monthly Essays on Mathematical Topics.
December, 2006. http://www.ams.org/samplings/feature-column/fcarc-pagerank
(besucht: August 2013)
Michael W. Berry und Murray Browne (2005). Understanding Search Engines.
Mathematical Modelling and Text Retrieval. Philadelphia: Society for Industrial and
Applied Mathematics (SIAM).
Amy N. Langville & Carl D. Meyer (2006). Google’s PageRank and Beyond: The Science
of Search Engine Rankings, Princeton University Press
Edith Law (2008). Page Rank. Lecture. 9.10.2008.
http://www.cs.cmu.edu/~elaw/pagerank.pdf
© Karin Haenelt, PageRank, 6.11.2015
95
Literatur
PageRank
Christopher Manning, Prabhakar Raghavan, Hinrich Schütze (2007) . Introduction to
Information Retrieval. Kap. 21. Cambridge University Press.
Rebecca S. Wills (2008). Google's PageRank for Beginners: A Directed Graph Example
for Liberal Arts Math Courses.
https://sites.google.com/site/rebeccawillswebsite/Home/papers_and_presentations/R
SW_Mathfest_08_PageRank_2.pdf (besucht: August 2013)
Rebecca S. Wills (2006). Google's PageRank: The Math Behind the Search Engine.
http://www.cems.uvm.edu/~tlakoba/AppliedUGMath/other_Google/Wills.pdf
(besucht: August 2013)
© Karin Haenelt, PageRank, 6.11.2015
96
Literatur
Mathematische Grundlagen
Michael Artin (1998). Algebra. Aus dem Englischen übersetzt von Annette A‘Campo.
Basel, Boston, Berlin: Birkhäuser Verlag.
Siegfried Bosch (2006). Lineare Algebra. Heidelberg: Springer Verlag.
Ferdinand Georg Frobenius (1912). Über Matrizen aus nicht negativen Elementen, Berl.
Ber. 1912, 456-477. elektronisches Faksimile: http://dx.doi.org/10.3931/e-rara-18865
Hans Otto Georgii (2015). Stochastik. Einführung in die Wahrscheinlichkeitstheorie und
Statistik. 5. Aufl. Berlin: Walter de Gruyter.
Hans Otto Georgii (2009). Stochastik. Einführung in die Wahrscheinlichkeitstheorie und
Statistik. 4. Aufl. Berlin: Walter de Gruyter.
Wolfgang Hackbusch (2004). Iterative Lösung großer Gleichungssysteme.
www.mis.mpg.de/scicomp/Fulltext/ggl.ps (besucht: August 2013)
Jim Hefferon (2012). Linear Algebra. 29.2.2012. http://joshua.smcvt.edu/linearalgebra
© Karin Haenelt, PageRank, 6.11.2015
97
Literatur
Mathematische Grundlagen
Jürgen Kunze (2013). Notizen zum PageRank-Verfahren. Internes Papier. HumboldtUniversität zu Berlin. 21.6.2013
Oskar Perron (1907). Zur Theorie der Matrices, Math. Ann. 64, 248-263. elektronisches
Faksimile: http://gdz.sub.unigoettingen.de/dms/load/img/?PPN=GDZPPN002261693&IDDOC=36725
Folienversionen
1.2.1 29.2.2016
1.1.1 6.11.2015
1.1.0 9.11.2014
1.0.0 13.10.2013
© Karin Haenelt, PageRank, 6.11.2015
98