DM Link Analysis - dbs.uni-leipzig.de · • Sei = 1, 2,…, ein Vektor dessen te Komponente die...

75
4-1 Data Mining WS 2018/19 Data Mining Kapitel 4: Link Analysis Johannes Zschache Wintersemester 2018/19 Abteilung Datenbanken, Universität Leipzig http://dbs.uni-leipzig.de

Transcript of DM Link Analysis - dbs.uni-leipzig.de · • Sei = 1, 2,…, ein Vektor dessen te Komponente die...

Page 1: DM Link Analysis - dbs.uni-leipzig.de · • Sei = 1, 2,…, ein Vektor dessen te Komponente die Wahrscheinlichkeit angibt, ob sich der Random Surfer zu einem gegebenen Zeitpunkt

4-1Data Mining WS 2018/19

Data Mining

Kapitel 4: Link Analysis

Johannes Zschache

Wintersemester 2018/19

Abteilung Datenbanken, Universität Leipzig

http://dbs.uni-leipzig.de

Page 2: DM Link Analysis - dbs.uni-leipzig.de · • Sei = 1, 2,…, ein Vektor dessen te Komponente die Wahrscheinlichkeit angibt, ob sich der Random Surfer zu einem gegebenen Zeitpunkt

4-2Data Mining WS 2018/19

Übersicht

Hoch-dimension.

Daten

Locality sensitive hashing

Clustering

Dimension.reduction

Graph-daten

PageRank, SimRank

Network Analysis

Spam Detection

UnbegrenzteDaten

Filtering data

streams

Web advertising

Queries on streams

MaschinellesLernen

Support Vector

Machines

Decision Trees

Nearest Neighbors

Anwendung

Recommen.Systems

Association Rules

Duplicate document detection

Page 3: DM Link Analysis - dbs.uni-leipzig.de · • Sei = 1, 2,…, ein Vektor dessen te Komponente die Wahrscheinlichkeit angibt, ob sich der Random Surfer zu einem gegebenen Zeitpunkt

4-8Data Mining WS 2018/19

Graphdaten: World Wide Web

• Das Web als ein gerichteter Graph:

– Knoten: Webseiten

– Kanten: Hyperlinks

I teach a

class on

Networks. CS224W:

Classes are

in the

Gates

building Computer

Science

Department

at Stanford

Stanford

University

Page 4: DM Link Analysis - dbs.uni-leipzig.de · • Sei = 1, 2,…, ein Vektor dessen te Komponente die Wahrscheinlichkeit angibt, ob sich der Random Surfer zu einem gegebenen Zeitpunkt

4-9Data Mining WS 2018/19

World Wide Web

• Wie kann das Web organisiert werden?

• 1. Versuch: Webverzeichnis: Yahoo, Curlie (DMOZ)

• 2. Versuch: Suchmaschine

– Webcrawler durchlaufen Web

– Inverted Index für Suchanfragen

• Herausforderungen für Suchmaschinen

1. Welche Seiten sind vertrauenswürdig und enthalten tatsächlich die relevanten

Informationen zu einer Anfrage?

2. Welches ist die „beste“ Antwort auf eine Anfrage?

• Verwendung der Hyperlink-Struktur um

die Bedeutung einer Webseite zu ermitteln

– PageRank

– Themenspezifischer PageRank

– Web Spam Detection

Page 5: DM Link Analysis - dbs.uni-leipzig.de · • Sei = 1, 2,…, ein Vektor dessen te Komponente die Wahrscheinlichkeit angibt, ob sich der Random Surfer zu einem gegebenen Zeitpunkt

4-10Data Mining WS 2018/19

Inhaltsverzeichnis

• Graphdaten und die Organisation des World Wide Web

• PageRank

– Probleme

– Effiziente Berechnung

• Themenspezifischer PageRank

• SimRank

• Link-Spam und TrustRank

• HITS: Hubs and Authorities

Page 6: DM Link Analysis - dbs.uni-leipzig.de · • Sei = 1, 2,…, ein Vektor dessen te Komponente die Wahrscheinlichkeit angibt, ob sich der Random Surfer zu einem gegebenen Zeitpunkt

4-11Data Mining WS 2018/19

PageRank

• Idee: Webseite ist wichtig, falls sie von vielen Nutzern besucht wird

• Anstatt das Verhalten direkt zu beobachten, wird angenommen, dass

Nutzer den Hyperlinks zufällig folgen: Random-Surfer-Model

– Beginne auf einer beliebigen Seite

– Wiederhole: Folge einem zufällig ausgewählten Hyperlink dieser Seite

• PageRank einer Webseite: Wahrscheinlichkeit, dass ein Random-Surfer

diese Webseite besucht

• Folgerungen:

– Webseite ist wichtig (hoher PageRank),

falls viele Hyperlinks auf sie verweisen

– Hyperlinks von wichtigen Webseiten

haben höheres Gewicht

• Rekursion: Gewicht einer Webseite

ist aus den Gewichten der verweisenden

Webseiten zusammengesetzt

38.4 34.3

8.1 3.93.9

3.3

1.61.6 1.6 1.6 1.6

Page 7: DM Link Analysis - dbs.uni-leipzig.de · • Sei = 1, 2,…, ein Vektor dessen te Komponente die Wahrscheinlichkeit angibt, ob sich der Random Surfer zu einem gegebenen Zeitpunkt

4-12Data Mining WS 2018/19

PageRank: Einfache Rekursion

• PageRank:

– di: Anzahl der Hyperlinks (Outdegree) von i

– 𝑖 → 𝑗: Summe läuft über alle

verweisenden Webseiten

• Sei 𝑛 die Anzahl der Knoten (Webseiten)

• Lineares Gleichungssystem aus

𝑛 Gleichungen und 𝑛 Unbekannten

• Eindeutige Lösung falls Einschränkung auf σ𝑗 𝑟𝑗 = 1

• Gaußsches Eliminationsverfahren nur bei Graphen mit kleinem 𝑛 möglich

• Alternative Berechnung für riesigen Webgraph notwendig

j

ki

𝒓𝒋𝟑

𝒓𝒋 =𝒓𝒊𝟑+𝒓𝒌𝟒

𝒓𝒊𝟑 𝒓𝒌

𝟒

ji

ij

rr

id

Page 8: DM Link Analysis - dbs.uni-leipzig.de · • Sei = 1, 2,…, ein Vektor dessen te Komponente die Wahrscheinlichkeit angibt, ob sich der Random Surfer zu einem gegebenen Zeitpunkt

4-13Data Mining WS 2018/19

PageRank: Matrixformulierung

• Stochastische Adjazenzmatrix 𝑀

𝑀𝑖𝑗 = ൞

1

d𝑗, 𝑗 → 𝑖

0, sonst

• Hinweise:

– 𝑀𝑖𝑗 gibt die Wahrscheinlichkeit, das ein Random-Surfer den Link von 𝑗 nach 𝑖 wählt

– 𝑀𝑖𝑗 ist unabhängig von der Anzahl der Hyperlinks von 𝑗 nach 𝑖

• Für den PageRank-Vektor 𝒓 = 𝑟1, 𝑟2, … , 𝑟𝑛𝑇 gilt:

𝒓 = 𝑀 ⋅ 𝒓

i

j

.rj

=ri

Page 9: DM Link Analysis - dbs.uni-leipzig.de · • Sei = 1, 2,…, ein Vektor dessen te Komponente die Wahrscheinlichkeit angibt, ob sich der Random Surfer zu einem gegebenen Zeitpunkt

4-14Data Mining WS 2018/19

PageRank: Power Iteration Method

• Random Surfer/Random Walk

• Sei 𝒗 = 𝑣1, 𝑣2, … , 𝑣𝑛𝑇 ein Vektor dessen 𝑖te Komponente die

Wahrscheinlichkeit angibt, ob sich der Random Surfer zu einem

gegebenen Zeitpunkt auf Seite 𝑖 befindet

• Power Iteration:

– Zu Beginn: 𝒗(𝟎) =1

𝑛,1

𝑛, … ,

1

𝑛

𝑇

– Iteration: 𝒗(𝒕+𝟏) = 𝑀 ⋅ 𝒗(𝒕)

– Stopp, falls 𝒗(𝒕+𝟏) − 𝒗 𝒕 < 𝜺

• 𝑀𝑡 ⋅ 𝒗(𝟎) gibt Wahrscheinlichkeit, ob sich Random-Surfer zum Zeitpunkt

𝑡 auf einer Seite 𝑖 = 1,… , 𝑛 befindet

• Falls Algorithmus konvergiert gilt (mit 𝒓 = 𝑀 ⋅ 𝒓):

log𝑡→∞𝑀𝑡 ⋅ 𝒗(𝟎) = 𝒓

Page 10: DM Link Analysis - dbs.uni-leipzig.de · • Sei = 1, 2,…, ein Vektor dessen te Komponente die Wahrscheinlichkeit angibt, ob sich der Random Surfer zu einem gegebenen Zeitpunkt

4-15Data Mining WS 2018/19

Beispiel: Mini-WWW

Yahoo

M’softAmazon

y 1/2 1/2 0

a 1/2 0 1

m 0 1/2 0

y a m

Page 11: DM Link Analysis - dbs.uni-leipzig.de · • Sei = 1, 2,…, ein Vektor dessen te Komponente die Wahrscheinlichkeit angibt, ob sich der Random Surfer zu einem gegebenen Zeitpunkt

4-16Data Mining WS 2018/19

Beispiel: Mini-WWW

• Iteration 𝒗(𝒕+𝟏) = 𝑀 ⋅ 𝒗(𝒕) mit 𝒗(𝒕) = 𝑦(𝑡), 𝑎(𝑡), 𝑚(𝑡)

– 𝑦(𝑡+1) =1

2𝑦(𝑡) +

1

2𝑎(𝑡)

– 𝑎(𝑡+1) =1

2𝑦(𝑡) +𝑚(𝑡)

– 𝑚(𝑡+1) =1

2𝑎(𝑡)

y

a =

m

1

1

1

1

3/2

1/2

5/4

1

3/4

9/8

11/8

1/2

6/5

6/5

3/5

. . .

y 1/2 1/2 0

a 1/2 0 1

m 0 1/2 0

y a m

Page 12: DM Link Analysis - dbs.uni-leipzig.de · • Sei = 1, 2,…, ein Vektor dessen te Komponente die Wahrscheinlichkeit angibt, ob sich der Random Surfer zu einem gegebenen Zeitpunkt

4-17Data Mining WS 2018/19

Beispiel: Mini-WWW

Yahoo

M’softAmazon

Page 13: DM Link Analysis - dbs.uni-leipzig.de · • Sei = 1, 2,…, ein Vektor dessen te Komponente die Wahrscheinlichkeit angibt, ob sich der Random Surfer zu einem gegebenen Zeitpunkt

4-18Data Mining WS 2018/19

Beispiel: Mini-WWW

Yahoo

M’softAmazon

Page 14: DM Link Analysis - dbs.uni-leipzig.de · • Sei = 1, 2,…, ein Vektor dessen te Komponente die Wahrscheinlichkeit angibt, ob sich der Random Surfer zu einem gegebenen Zeitpunkt

4-19Data Mining WS 2018/19

Beispiel: Mini-WWW

Yahoo

M’softAmazon

Page 15: DM Link Analysis - dbs.uni-leipzig.de · • Sei = 1, 2,…, ein Vektor dessen te Komponente die Wahrscheinlichkeit angibt, ob sich der Random Surfer zu einem gegebenen Zeitpunkt

4-20Data Mining WS 2018/19

Beispiel: Mini-WWW

Yahoo

M’softAmazon

Page 16: DM Link Analysis - dbs.uni-leipzig.de · • Sei = 1, 2,…, ein Vektor dessen te Komponente die Wahrscheinlichkeit angibt, ob sich der Random Surfer zu einem gegebenen Zeitpunkt

4-21Data Mining WS 2018/19

Beispiel: Mini-WWW

Yahoo

M’softAmazon

Page 17: DM Link Analysis - dbs.uni-leipzig.de · • Sei = 1, 2,…, ein Vektor dessen te Komponente die Wahrscheinlichkeit angibt, ob sich der Random Surfer zu einem gegebenen Zeitpunkt

4-22Data Mining WS 2018/19

Inhaltsverzeichnis

• Graphdaten und die Organisation des World Wide Web

• PageRank

– Probleme

– Effiziente Berechnung

• Themenspezifischer PageRank

• SimRank

• Link-Spam und TrustRank

• HITS: Hubs and Authorities

Page 18: DM Link Analysis - dbs.uni-leipzig.de · • Sei = 1, 2,…, ein Vektor dessen te Komponente die Wahrscheinlichkeit angibt, ob sich der Random Surfer zu einem gegebenen Zeitpunkt

4-23Data Mining WS 2018/19

PageRank: Probleme

• Konvergenz der Power-Iteration-Method ist nicht sicher

• Das reale WWW ist komplex

• Sackgassen: Webseiten ohne Hyperlinks

– Random-Surfer kann Sackgasse nicht verlassen

– Gewichtungen „verschwinden“ über Sackgasse

• Spider Traps: Gruppen von Webseiten ohne

ausgehende Hyperlinks

– Random-Surfer kann Gruppe nicht verlassen

– Gewichtungen konzentrieren sich auf Gruppe

Sackgasse

Page 19: DM Link Analysis - dbs.uni-leipzig.de · • Sei = 1, 2,…, ein Vektor dessen te Komponente die Wahrscheinlichkeit angibt, ob sich der Random Surfer zu einem gegebenen Zeitpunkt

4-24Data Mining WS 2018/19

Problem: Sackgasse

Yahoo

M’softAmazon

y 1/2 1/2 0

a 1/2 0 0

m 0 1/2 0

y a m

Page 20: DM Link Analysis - dbs.uni-leipzig.de · • Sei = 1, 2,…, ein Vektor dessen te Komponente die Wahrscheinlichkeit angibt, ob sich der Random Surfer zu einem gegebenen Zeitpunkt

4-25Data Mining WS 2018/19

Problem: Sackgasse

Yahoo

M’softAmazon

Page 21: DM Link Analysis - dbs.uni-leipzig.de · • Sei = 1, 2,…, ein Vektor dessen te Komponente die Wahrscheinlichkeit angibt, ob sich der Random Surfer zu einem gegebenen Zeitpunkt

4-26Data Mining WS 2018/19

Problem: Sackgasse

Yahoo

M’softAmazon

Page 22: DM Link Analysis - dbs.uni-leipzig.de · • Sei = 1, 2,…, ein Vektor dessen te Komponente die Wahrscheinlichkeit angibt, ob sich der Random Surfer zu einem gegebenen Zeitpunkt

4-27Data Mining WS 2018/19

Problem: Sackgasse

Yahoo

M’softAmazon

Page 23: DM Link Analysis - dbs.uni-leipzig.de · • Sei = 1, 2,…, ein Vektor dessen te Komponente die Wahrscheinlichkeit angibt, ob sich der Random Surfer zu einem gegebenen Zeitpunkt

4-28Data Mining WS 2018/19

Problem: Sackgasse

Yahoo

M’softAmazon

Page 24: DM Link Analysis - dbs.uni-leipzig.de · • Sei = 1, 2,…, ein Vektor dessen te Komponente die Wahrscheinlichkeit angibt, ob sich der Random Surfer zu einem gegebenen Zeitpunkt

4-29Data Mining WS 2018/19

Problem: Sackgasse

Yahoo

M’softAmazon

Page 25: DM Link Analysis - dbs.uni-leipzig.de · • Sei = 1, 2,…, ein Vektor dessen te Komponente die Wahrscheinlichkeit angibt, ob sich der Random Surfer zu einem gegebenen Zeitpunkt

4-30Data Mining WS 2018/19

Problem: Spider Trap

Yahoo

M’softAmazon

y 1/2 1/2 0

a 1/2 0 0

m 0 1/2 1

y a m

Page 26: DM Link Analysis - dbs.uni-leipzig.de · • Sei = 1, 2,…, ein Vektor dessen te Komponente die Wahrscheinlichkeit angibt, ob sich der Random Surfer zu einem gegebenen Zeitpunkt

4-31Data Mining WS 2018/19

Problem: Spider Trap

Yahoo

M’softAmazon

Page 27: DM Link Analysis - dbs.uni-leipzig.de · • Sei = 1, 2,…, ein Vektor dessen te Komponente die Wahrscheinlichkeit angibt, ob sich der Random Surfer zu einem gegebenen Zeitpunkt

4-32Data Mining WS 2018/19

Problem: Spider Trap

Yahoo

M’softAmazon

Page 28: DM Link Analysis - dbs.uni-leipzig.de · • Sei = 1, 2,…, ein Vektor dessen te Komponente die Wahrscheinlichkeit angibt, ob sich der Random Surfer zu einem gegebenen Zeitpunkt

4-33Data Mining WS 2018/19

Problem: Spider Trap

Yahoo

M’softAmazon

Page 29: DM Link Analysis - dbs.uni-leipzig.de · • Sei = 1, 2,…, ein Vektor dessen te Komponente die Wahrscheinlichkeit angibt, ob sich der Random Surfer zu einem gegebenen Zeitpunkt

4-34Data Mining WS 2018/19

Problem: Spider Trap

Yahoo

M’softAmazon

Page 30: DM Link Analysis - dbs.uni-leipzig.de · • Sei = 1, 2,…, ein Vektor dessen te Komponente die Wahrscheinlichkeit angibt, ob sich der Random Surfer zu einem gegebenen Zeitpunkt

4-35Data Mining WS 2018/19

Lösung: Teleports

• PageRank [Brin & Page, 1998, http://infolab.stanford.edu/~backrub/google.html]

• Mit Wahrscheinlichkeit 𝛽, folge einem zufällig gewählten Hyperlink

• Mit Wahrscheinlichkeit 1 − 𝛽, wechsel zu einer zufälligen Seite

• Ausnahme: falls Knoten eine Sackgasse, wechsel mit Wahrscheinlichkeit

1 zu einer zufälligen Seite

• Gewöhnlich setzt man 𝛽 auf einen Wert zwischen 0.8 und 0.9

y

a m

y

a m

𝑟𝑗 =

𝑖→𝑗

𝛽𝑟𝑖𝑑𝑖+ (1 − 𝛽)

1

𝑛

Page 31: DM Link Analysis - dbs.uni-leipzig.de · • Sei = 1, 2,…, ein Vektor dessen te Komponente die Wahrscheinlichkeit angibt, ob sich der Random Surfer zu einem gegebenen Zeitpunkt

4-36Data Mining WS 2018/19

Lösung: Teleports ( = 0.8)

y

a =

m

1/3

1/3

1/3

0.33

0.20

0.46

0.24

0.20

0.52

0.26

0.18

0.56

7/33

5/33

21/33

. . .

y

am

13/15

7/15

1/2 1/2 0

1/2 0 0

0 1/2 1

1/3 1/3 1/3

1/3 1/3 1/3

1/3 1/3 1/3

y 7/15 7/15 1/15

a 7/15 1/15 1/15

m 1/15 7/15 13/15

0.8 + 0.2

M [1/n]nxn

=

Page 32: DM Link Analysis - dbs.uni-leipzig.de · • Sei = 1, 2,…, ein Vektor dessen te Komponente die Wahrscheinlichkeit angibt, ob sich der Random Surfer zu einem gegebenen Zeitpunkt

4-37Data Mining WS 2018/19

PageRank: Vollständiger Algorithmus

• Eingabe:

– Gerichteter Graph 𝑮 (inkl. Sackgassen und Spider Traps)

– Parameter 𝜷

• Ausgabe: PageRank Vector 𝒓𝒏𝒆𝒘

– Setze: 𝑟𝑗𝑜𝑙𝑑 = 0, 𝑟𝑗

𝑛𝑒𝑤 =1

𝑁

– Wiederhole solange σ𝑗 𝑟𝑗𝑛𝑒𝑤 − 𝑟𝑗

𝑜𝑙𝑑 > 𝜀

• 𝑟𝑜𝑙𝑑 = 𝑟𝑛𝑒𝑤

• ∀𝑗: 𝑟𝑗𝑛𝑒𝑤 = σ𝑖→𝑗 𝛽

𝑟𝑖𝑜𝑙𝑑

𝑑𝑖

• 𝑆 = σ𝑗 𝑟𝑗𝑛𝑒𝑤

• ∀𝑗: 𝑟𝑗𝑛𝑒𝑤 +=

1−𝑆

𝑁

Page 33: DM Link Analysis - dbs.uni-leipzig.de · • Sei = 1, 2,…, ein Vektor dessen te Komponente die Wahrscheinlichkeit angibt, ob sich der Random Surfer zu einem gegebenen Zeitpunkt

4-38Data Mining WS 2018/19

Inhaltsverzeichnis

• Graphdaten und die Organisation des World Wide Web

• PageRank

– Probleme

– Effiziente Berechnung

• Themenspezifischer PageRank

• SimRank

• Link-Spam und TrustRank

• HITS: Hubs and Authorities

Page 34: DM Link Analysis - dbs.uni-leipzig.de · • Sei = 1, 2,…, ein Vektor dessen te Komponente die Wahrscheinlichkeit angibt, ob sich der Random Surfer zu einem gegebenen Zeitpunkt

4-39Data Mining WS 2018/19

Effiziente Berechnung des PageRank

• Matrix-Vektor-Produkt über MapReduce

• Problem: PageRank-Vektor 𝒓𝑜𝑙𝑑 passt nicht in Hauptspeicher

– Mind. 1 Billion (1012) Webseiten

– Einfache/doppelte Genauigkeit für Wert: 4 Byte/8 Byte

– 4TB/8TB Speicherbedarf für Vektor

• Unterteilung des Vektors 𝑟𝑜𝑙𝑑 in Abschnitte

– Ein Map-Task ist nur für einen Teil des Vektors zuständig

– Ein Map-Task benötigt nur einen vertikale Streifen der Matrix 𝑀

• Zusätzlich:

1. Effizientere Repräsentation der Matrix 𝑀 möglich da spärlich besetzt

und nur zwei verschiedene Werte pro Spalte

2. Unterteilung des neuen Vektors 𝒓𝑛𝑒𝑤 in Abschnitte

• Ein Map-Task ist nur für einen Teil des Vektors zuständig

• Ein Map-Task benötigt nur einen Teil der Matrix

Page 35: DM Link Analysis - dbs.uni-leipzig.de · • Sei = 1, 2,…, ein Vektor dessen te Komponente die Wahrscheinlichkeit angibt, ob sich der Random Surfer zu einem gegebenen Zeitpunkt

4-40Data Mining WS 2018/19

Effiziente Repräsentation der Matrix 𝑀

• Für jede Spalte: Speichere 𝑑𝑖 (Anzahl der Hyperlinks) und Liste der

Zeilen mit einem Wert ungleich Null: 𝑑𝑒𝑠𝑡1, …,𝑑𝑒𝑠𝑡𝑑𝑖

• Mind. 1 Billion (1012) Webseiten:

– 4 Byte für 𝑑𝑖– 8 Byte pro Zeilennummer

– Durchschnittlich 10 Hyperlinks pro Seite: 4 + 8 ∙ 10 ∙ 1012= 84TB

0 3 1, 5, 6

1 4 17, 64, 113, 117

2 2 13, 23

... … …

Webseite 𝒊 𝒅𝒊 𝒅𝒆𝒔𝒕𝟏, …,𝒅𝒆𝒔𝒕𝒅𝒊

Page 36: DM Link Analysis - dbs.uni-leipzig.de · • Sei = 1, 2,…, ein Vektor dessen te Komponente die Wahrscheinlichkeit angibt, ob sich der Random Surfer zu einem gegebenen Zeitpunkt

4-41Data Mining WS 2018/19

Effiziente Repräsentation der Matrix 𝑀

• Angenommen 𝑟𝑛𝑒𝑤 passt in Hauptspeicher

• Anpassung der Berechnung des PageRank:

0

1

2

3

4

5

6

0

1

2

3

4

5

6

rnew rold

Initialisiere 𝑟𝑗𝑛𝑒𝑤 = 0

Für jede Webseite 𝑖 : Lese von Festplatte 𝑑𝑖 𝑑𝑒𝑠𝑡1, …,𝑑𝑒𝑠𝑡𝑑𝑖 , 𝑟𝑖𝑜𝑙𝑑

Für 𝑗 = 1 …𝑑𝑖: 𝑟𝑑𝑒𝑠𝑡𝑗𝑛𝑒𝑤 += 𝛽

𝑟𝑖𝑜𝑙𝑑

𝑑𝑖

Für alle 𝑗: 𝑟𝑗𝑛𝑒𝑤 +=

1−𝑆

𝑁mit 𝑆 = σ𝑗 𝑟𝑗

𝑛𝑒𝑤

0 3 1, 5, 6

1 4 17, 64, 113, 117

2 2 13, 23

... … …

𝒊 𝒅𝒊 𝒅𝒆𝒔𝒕𝟏, …,𝒅𝒆𝒔𝒕𝒅𝒊

Page 37: DM Link Analysis - dbs.uni-leipzig.de · • Sei = 1, 2,…, ein Vektor dessen te Komponente die Wahrscheinlichkeit angibt, ob sich der Random Surfer zu einem gegebenen Zeitpunkt

4-42Data Mining WS 2018/19

Blocking

• Auch 𝑟𝑛𝑒𝑤 passt nicht vollständig in Hauptspeicher

• Unterteilung von sowohl 𝒓𝑜𝑙𝑑 als auch 𝒓𝑛𝑒𝑤 in 𝑘 Blöcke der Länge 𝑙

• Unterteilung der Matrix in Quadrate der Länge 𝑙

• Wähle 𝑘 so, dass von beiden Vektoren ein Block in Hauptspeicher passt

• Hinweis: Ein Quadrat der Matrix muss nicht vollständig in Hauptspeicher

liegen und kommt somit mit weniger Speicher aus

𝑤1

𝑤2

𝑤3

𝑣1

𝑣2

𝑣3

𝑀11 𝑀12 𝑀13

𝑀21 𝑀22 𝑀23

𝑀31 𝑀32 𝑀33

=

𝒓𝑜𝑙𝑑𝒓𝑛𝑒𝑤

Page 38: DM Link Analysis - dbs.uni-leipzig.de · • Sei = 1, 2,…, ein Vektor dessen te Komponente die Wahrscheinlichkeit angibt, ob sich der Random Surfer zu einem gegebenen Zeitpunkt

4-43Data Mining WS 2018/19

Blocking: Matrixrepräsentation

0 4 0, 1

1 3 0

2 2 1

0

1

2

3

4

5

0

1

2

3

4

5

0 4 5

1 3 5

2 2 4

0 4 3

2 2 3

rnew

rold

𝒊 𝒅𝒊 𝒅𝒆𝒔𝒕𝟏, …,𝒅𝒆𝒔𝒕𝒅𝒊

Page 39: DM Link Analysis - dbs.uni-leipzig.de · • Sei = 1, 2,…, ein Vektor dessen te Komponente die Wahrscheinlichkeit angibt, ob sich der Random Surfer zu einem gegebenen Zeitpunkt

4-44Data Mining WS 2018/19

Inhaltsverzeichnis

• Graphdaten und die Organisation des World Wide Web

• PageRank

– Probleme

– Effiziente Berechnung

• Themenspezifischer PageRank

• SimRank

• Link-Spam und TrustRank

• HITS: Hubs and Authorities

Page 40: DM Link Analysis - dbs.uni-leipzig.de · • Sei = 1, 2,…, ein Vektor dessen te Komponente die Wahrscheinlichkeit angibt, ob sich der Random Surfer zu einem gegebenen Zeitpunkt

4-45Data Mining WS 2018/19

Themenspezifischer PageRank

• PageRank misst die allgemeine Beliebtheit einer Webseite und

vernachlässigt somit evtl. wichtige themenspezifische Quellen

• Ziel: Bewertung von Webseiten nicht nur nach Popularität, sondern auch

nach Thema, z.B. Wissenschaft, Kunst, Natur, Motorsport, …

• Berücksichtigung der Interessen eines Nutzers bei Suchanfragen

• Beispiel: Anfrage nach „Jaguar“ soll, je nach Interesse des Nutzers,

entweder zu Webseiten mit Tieren oder mit Autos führen

• Idee: Verwendung des Teleporting um eine höhere Gewichtung für

themenspezifischen Seiten zu erlangen

– Menge 𝑺 mit themenspezifischen Seiten

– Beim „Teleporting“ eines Random-Surfer: Wähle zufällig eine Seite aus 𝑺

– Auch Webseiten „in der Nähe“ von Elementen aus 𝑺 werden höher gewichtet

– Einen PageRank-Vektor 𝒓(𝑺) für jedes 𝑺

– Falls 𝒋𝝐𝑺: 𝒓𝒋(𝑺)

= σ𝑖→𝑗 𝛽𝑟𝑖

𝑑𝑖+ (1 − 𝛽)

1

|𝑆|; Sonst: 𝒓𝒋

(𝑺)= σ𝑖→𝑗 𝛽

𝑟𝑖

𝑑𝑖

Page 41: DM Link Analysis - dbs.uni-leipzig.de · • Sei = 1, 2,…, ein Vektor dessen te Komponente die Wahrscheinlichkeit angibt, ob sich der Random Surfer zu einem gegebenen Zeitpunkt

4-46Data Mining WS 2018/19

Beispiel: S = {M’soft}

Yahoo

M’softAmazon

Teleporting

Page 42: DM Link Analysis - dbs.uni-leipzig.de · • Sei = 1, 2,…, ein Vektor dessen te Komponente die Wahrscheinlichkeit angibt, ob sich der Random Surfer zu einem gegebenen Zeitpunkt

4-47Data Mining WS 2018/19

Beispiel: S = {M’soft}

Yahoo

M’softAmazon

Page 43: DM Link Analysis - dbs.uni-leipzig.de · • Sei = 1, 2,…, ein Vektor dessen te Komponente die Wahrscheinlichkeit angibt, ob sich der Random Surfer zu einem gegebenen Zeitpunkt

4-48Data Mining WS 2018/19

Beispiel: S = {M’soft}

Yahoo

M’softAmazon

Page 44: DM Link Analysis - dbs.uni-leipzig.de · • Sei = 1, 2,…, ein Vektor dessen te Komponente die Wahrscheinlichkeit angibt, ob sich der Random Surfer zu einem gegebenen Zeitpunkt

4-49Data Mining WS 2018/19

Beispiel: S = {M’soft}

Yahoo

M’softAmazon

Page 45: DM Link Analysis - dbs.uni-leipzig.de · • Sei = 1, 2,…, ein Vektor dessen te Komponente die Wahrscheinlichkeit angibt, ob sich der Random Surfer zu einem gegebenen Zeitpunkt

4-50Data Mining WS 2018/19

Beispiel: S = {M’soft}

Yahoo

M’softAmazon

Page 46: DM Link Analysis - dbs.uni-leipzig.de · • Sei = 1, 2,…, ein Vektor dessen te Komponente die Wahrscheinlichkeit angibt, ob sich der Random Surfer zu einem gegebenen Zeitpunkt

4-51Data Mining WS 2018/19

Beispiel: S = {M’soft}

Yahoo

M’softAmazon

Page 47: DM Link Analysis - dbs.uni-leipzig.de · • Sei = 1, 2,…, ein Vektor dessen te Komponente die Wahrscheinlichkeit angibt, ob sich der Random Surfer zu einem gegebenen Zeitpunkt

4-52Data Mining WS 2018/19

Beispiel: S = {M’soft}

Yahoo

M’softAmazon

Page 48: DM Link Analysis - dbs.uni-leipzig.de · • Sei = 1, 2,…, ein Vektor dessen te Komponente die Wahrscheinlichkeit angibt, ob sich der Random Surfer zu einem gegebenen Zeitpunkt

4-53Data Mining WS 2018/19

Zusammenstellen der Menge 𝑺

• Verwendung der Themen und gesammelten Seiten eines

Webverzeichnisses, z.B. Curlie (DMOZ)

• Erweiterung über Jaccard-Metrik unter Verwendung „typischer Worte“:

– Wörter, die generell selten aber relative häufig in einem Dokument eines bestimmten

Themas vorkommen

– z.B. über Tf-idf-Maß

• 𝑓𝑖𝑗: Häufigkeit des Terms 𝑖 in Dokument 𝑗

• Relative Häufigkeit des Terms 𝑖 in Dokument 𝑗: 𝑇𝐹𝑖𝑗 =𝑓𝑖𝑗

max𝑘

𝑓𝑘𝑗

• 𝑁 Dokumente und 𝑛𝑖 bezeichnet die Anzahl der Dokumente, die Term 𝑖 enthalten

• Inverse Dokumenthäufigkeit: 𝐼𝐷𝐹𝑖 = log2𝑁

𝑛𝑖

• 𝑇𝐹. 𝐼𝐷𝐹𝑖𝑗 = 𝑇𝐹𝑖𝑗 × 𝐼𝐷𝐹𝑖

• Auch die Interessen eines Nutzers können über diese Methode

erschlossen werden: Wörter in vergangenen Anfragen, Wörter auf Seiten

mit Bookmark, Wörter auf aktuellen Seite (von wo Anfrage gesendet)

Page 49: DM Link Analysis - dbs.uni-leipzig.de · • Sei = 1, 2,…, ein Vektor dessen te Komponente die Wahrscheinlichkeit angibt, ob sich der Random Surfer zu einem gegebenen Zeitpunkt

4-54Data Mining WS 2018/19

Inhaltsverzeichnis

• Graphdaten und die Organisation des World Wide Web

• PageRank

– Probleme

– Effiziente Berechnung

• Themenspezifischer PageRank

• SimRank

• Link-Spam und TrustRank

• HITS: Hubs and Authorities

Page 50: DM Link Analysis - dbs.uni-leipzig.de · • Sei = 1, 2,…, ein Vektor dessen te Komponente die Wahrscheinlichkeit angibt, ob sich der Random Surfer zu einem gegebenen Zeitpunkt

4-55Data Mining WS 2018/19

SimRank

• Ähnlichkeit im Graph: 2 Knoten sind ähnlich,

falls sie mit gleichen Knoten verbunden sind

• z.B. in k-partiten Graphen: k verschiedene

Arten von Knoten und Kanten verlaufen

ausschließlich zwischen Knoten

unterschiedlicher Art, z.B.

– Studenten und Vorlesungen/Vereine

– Wissenschaftler und Konferenzen/Artikel

• SimRank: Themenspezifischer PageRank

mit 𝑺 = {𝒖}– 𝒖 ist ein Knoten des Graphen

– Ergebnis gibt die Ähnlichkeit zwischen allen

Knoten und 𝒖

– Problem: PageRank-Algorithmus muss für alle

Knoten wiederholt werden

ICDM

KDD

SDM

Philip S. Yu

IJCAI

NIPS

AAAI M. Jordan

Ning Zhong

R. Ramakrishnan

…Konferenz Wissenschaftler

ICDM

KDD

SDM

ECML

PKDD

PAKDD

CIKM

DMKD

SIGMOD

ICML

ICDE

0.009

0.011

0.0080.007

0.005

0.005

0.005

0.0040.004

0.004

Page 51: DM Link Analysis - dbs.uni-leipzig.de · • Sei = 1, 2,…, ein Vektor dessen te Komponente die Wahrscheinlichkeit angibt, ob sich der Random Surfer zu einem gegebenen Zeitpunkt

4-56Data Mining WS 2018/19

Beispiel: SimRank (𝜷 = 𝟎. 𝟖)

Gus

CS246

Ann

Sue

Joe

CS229

Ma55

1.000

Page 52: DM Link Analysis - dbs.uni-leipzig.de · • Sei = 1, 2,…, ein Vektor dessen te Komponente die Wahrscheinlichkeit angibt, ob sich der Random Surfer zu einem gegebenen Zeitpunkt

4-57Data Mining WS 2018/19

Beispiel: SimRank (𝜷 = 𝟎. 𝟖)

Gus

CS246

Ann

Sue

Joe

CS229

Ma55

.200

.400

.400

Page 53: DM Link Analysis - dbs.uni-leipzig.de · • Sei = 1, 2,…, ein Vektor dessen te Komponente die Wahrscheinlichkeit angibt, ob sich der Random Surfer zu einem gegebenen Zeitpunkt

4-58Data Mining WS 2018/19

Beispiel: SimRank (𝜷 = 𝟎. 𝟖)

Gus

CS246

Ann

Sue

Joe

CS229

Ma55

.467

.080

.080

.107

.267

Page 54: DM Link Analysis - dbs.uni-leipzig.de · • Sei = 1, 2,…, ein Vektor dessen te Komponente die Wahrscheinlichkeit angibt, ob sich der Random Surfer zu einem gegebenen Zeitpunkt

4-59Data Mining WS 2018/19

Beispiel: SimRank (𝜷 = 𝟎. 𝟖)

Gus

CS246

Ann

Sue

Joe

CS229

Ma55

.253

.294

.336

.021

.053

.048

Page 55: DM Link Analysis - dbs.uni-leipzig.de · • Sei = 1, 2,…, ein Vektor dessen te Komponente die Wahrscheinlichkeit angibt, ob sich der Random Surfer zu einem gegebenen Zeitpunkt

4-60Data Mining WS 2018/19

Beispiel: SimRank (𝜷 = 𝟎. 𝟖)

Gus

CS246

Ann

Sue

Joe

CS229

Ma55

.407

.112

.131

.109

.207

.008.019

Page 56: DM Link Analysis - dbs.uni-leipzig.de · • Sei = 1, 2,…, ein Vektor dessen te Komponente die Wahrscheinlichkeit angibt, ob sich der Random Surfer zu einem gegebenen Zeitpunkt

4-61Data Mining WS 2018/19

Inhaltsverzeichnis

• Graphdaten und die Organisation des World Wide Web

• PageRank

– Probleme

– Effiziente Berechnung

• Themenspezifischer PageRank

• SimRank

• Link-Spam und TrustRank

• HITS: Hubs and Authorities

Page 57: DM Link Analysis - dbs.uni-leipzig.de · • Sei = 1, 2,…, ein Vektor dessen te Komponente die Wahrscheinlichkeit angibt, ob sich der Random Surfer zu einem gegebenen Zeitpunkt

4-62Data Mining WS 2018/19

Web Spamming

• Spamming: alle Unternehmungen um eine Webseite im Ranking einer

Suchmaschine zu verbessern ohne die „Bedeutung“ der Seite für eine

Suchanfrage zu erhöhen

• Term-Spamming: Manipulation des Inhalts einer Webseite

– Beispiel: ein Verkäufer von T-Shirts lässt seine Webseite so aussehen, als ob

interessante Information zu Sport/Filmen zu finden sind

– Einfügen von relevanten Wörtern bzw. einer vollständigen Kopie einer relevanten

Webseite und ändern der Textfarbe auf Hintergrundfarbe

• Lösung von Google: Anstelle der Textes einer Webseite, Verwendung des

Textes in und um Verlinkungen zu einer Webseite

• PageRank verhindert den Versuch diese Lösung zu umgehen, indem man

tausende irrelevante Seiten mit Verlinkungen auf Zielseite erstellt

• Link-Spamming: Erstellen einer Struktur von Verlinkungen um

PageRank zu erhöhen

Page 58: DM Link Analysis - dbs.uni-leipzig.de · • Sei = 1, 2,…, ein Vektor dessen te Komponente die Wahrscheinlichkeit angibt, ob sich der Random Surfer zu einem gegebenen Zeitpunkt

4-63Data Mining WS 2018/19

Google-Bombe (2006)

Page 59: DM Link Analysis - dbs.uni-leipzig.de · • Sei = 1, 2,…, ein Vektor dessen te Komponente die Wahrscheinlichkeit angibt, ob sich der Random Surfer zu einem gegebenen Zeitpunkt

4-64Data Mining WS 2018/19

Link-Spamming

• Aus Sicht des Spammer: 3 Arten von Webseiten

– Unerreichbare Seiten

– Erreichbare/editierbare Seiten (z.B. über Kommentare auf Blogs/Nachrichtenseiten)

– Eigene Seiten

• Vorgehen:

– Möglichst viele Verlinkungen von erreichbaren Seiten zur Zielseite t

– Erstellen einer Link-Farm um PageRank weiter zu erhöhen

Unerreichbart

Erreichbar Eigene

1

2

M

Link-Farm

Page 60: DM Link Analysis - dbs.uni-leipzig.de · • Sei = 1, 2,…, ein Vektor dessen te Komponente die Wahrscheinlichkeit angibt, ob sich der Random Surfer zu einem gegebenen Zeitpunkt

4-65Data Mining WS 2018/19

Funktionsweise der Link-Farm

• PageRank-Gewicht aus den erreichbaren Seiten: 𝒙

• PageRank der Zielseite t: 𝒚

• Anzahl themenrelevanter Seiten: 𝑁

• PageRank einer der insgesamt 𝑀 Farm-Seiten: 𝛽𝒚

𝑀+

1−𝛽

𝑁

• Dann:

𝒚 = 𝒙 + 𝛽𝑀𝛽𝒚

𝑀+1 − 𝛽

𝑁+1 − 𝛽

𝑁= 𝒙 + 𝛽2𝑦 +

𝛽 1 − 𝛽 𝑀

𝑁+1 − 𝛽

𝑁

⇒ 𝒚 =𝑥

1 − 𝛽2+

𝛽

1 + 𝛽

𝑀

𝑁+

1

(1 + 𝛽)𝑁

VernachlässigbarVervielfachung

von xBeliebig großes y

durch großes M

Page 61: DM Link Analysis - dbs.uni-leipzig.de · • Sei = 1, 2,…, ein Vektor dessen te Komponente die Wahrscheinlichkeit angibt, ob sich der Random Surfer zu einem gegebenen Zeitpunkt

4-66Data Mining WS 2018/19

TrustRank

• Google erkennt das klassische Design einer Link-Farm und wird die

Webseiten aus dem Index entfernen

– Außerdem versucht Google neue Designs zu erkennen

– Krieg zwischen Google und Spammer

• Alternative: Verwendung des TrustRank: Themenspezifischer PageRank

mit einer Auswahl vertrauenswürdiger Seiten als Menge 𝑺– Prinzip: Vertrauenswürdige Seiten verlinken selten auf Spam

– Vertrauen in beliebige Seite nimmt ab mit Entfernung zu vertrauenswürdiger Seite

– Vertrauen wird über alle Verlinkungen aufgeteilt da viele Verlinkungen oft mit einer

ungenaueren Prüfung dieser einhergeht

• Auswahl der vertrauenswürdigen Seiten (ohne menschliche Inspektion):

– Seiten mit sehr hohem PageRank

– Verwendung vertrauenswürdiger Domains, z.B. .edu, .gov, …

• Spam Mass = (PageRank – TrustRank)/PageRank ist Indikator für Link-

Spam (wieviel PageRank-Gewicht aus vertrauensunwürdigen Quellen)

Page 62: DM Link Analysis - dbs.uni-leipzig.de · • Sei = 1, 2,…, ein Vektor dessen te Komponente die Wahrscheinlichkeit angibt, ob sich der Random Surfer zu einem gegebenen Zeitpunkt

4-67Data Mining WS 2018/19

Inhaltsverzeichnis

• Graphdaten und die Organisation des World Wide Web

• PageRank

– Probleme

– Effiziente Berechnung

• Themenspezifischer PageRank

• SimRank

• Link-Spam und TrustRank

• HITS: Hubs and Authorities

Page 63: DM Link Analysis - dbs.uni-leipzig.de · • Sei = 1, 2,…, ein Vektor dessen te Komponente die Wahrscheinlichkeit angibt, ob sich der Random Surfer zu einem gegebenen Zeitpunkt

4-68Data Mining WS 2018/19

Hubs and Authorities

• HITS (Hypertext-Induced Topic Selection)

– Maße für die Relevanz von Webseiten

– Alternative zum PageRank

• Anstatt nach relevanten Webseiten direkt zu suchen: Suche nach

Experten, die auf relevante Webseiten verweisen

• Jede Seite hat 2 Werte:

– Hub-Wert: Eigenschaft als Experte

– Authority-Wert: Maß an nützlichen Inhalt

• Rekursive Definition:

– Hub-Wert = Summe der Authority-Werte der verlinkten Seiten

– Authority-Wert = Summe der Hub-Werte der verlinkenden Seiten

• Beispiele:

– Authorities: Webseite einer Zeitung, Vorlesung, Unternehmen …

– Hubs: Liste aller Zeitungen, Vorlesungsverzeichnis, Liste aller Unternehmen, …

Page 64: DM Link Analysis - dbs.uni-leipzig.de · • Sei = 1, 2,…, ein Vektor dessen te Komponente die Wahrscheinlichkeit angibt, ob sich der Random Surfer zu einem gegebenen Zeitpunkt

4-69Data Mining WS 2018/19

Beispiel

Page 65: DM Link Analysis - dbs.uni-leipzig.de · • Sei = 1, 2,…, ein Vektor dessen te Komponente die Wahrscheinlichkeit angibt, ob sich der Random Surfer zu einem gegebenen Zeitpunkt

4-70Data Mining WS 2018/19

Beispiel

Page 66: DM Link Analysis - dbs.uni-leipzig.de · • Sei = 1, 2,…, ein Vektor dessen te Komponente die Wahrscheinlichkeit angibt, ob sich der Random Surfer zu einem gegebenen Zeitpunkt

4-71Data Mining WS 2018/19

Beispiel

Page 67: DM Link Analysis - dbs.uni-leipzig.de · • Sei = 1, 2,…, ein Vektor dessen te Komponente die Wahrscheinlichkeit angibt, ob sich der Random Surfer zu einem gegebenen Zeitpunkt

4-72Data Mining WS 2018/19

Beispiel

Page 68: DM Link Analysis - dbs.uni-leipzig.de · • Sei = 1, 2,…, ein Vektor dessen te Komponente die Wahrscheinlichkeit angibt, ob sich der Random Surfer zu einem gegebenen Zeitpunkt

4-73Data Mining WS 2018/19

Hubs and Authorities

• Jeder Knoten 𝒊 hat zwei Werte

– Authority-Wert: 𝒂𝒊– Hub-Wert: 𝒉𝒊

• HITS-Algorithmus:

– Initialisierung: 𝑎𝑗(0)

= 1/ N, hj(0)

= 1/ N

– Iteration:

• ∀𝒊: 𝑎𝑖(𝑡+1)

= σ𝒋→𝒊ℎ𝑗(𝑡)

• ∀𝒊: ℎ𝑖(𝑡+1)

= σ𝒊→𝒋𝑎𝑗(𝑡)

• Normalisierung: σ𝑖 𝑎𝑖𝑡+1

2= 1, σ𝑗 ℎ𝑗

𝑡+12= 1

• Auch andere Normalisierung möglich, wichtig ist die

Richtung und nicht die Länge des Vektors

(relative Größe der Werte)

[Kleinberg ‘98]

i

j1 j2 j3 j4

𝒂𝒊 =

𝒋→𝒊

𝒉𝒋

j1 j2 j3 j4

𝒉𝒊 =

𝒊→𝒋

𝒂𝒋

i

Page 69: DM Link Analysis - dbs.uni-leipzig.de · • Sei = 1, 2,…, ein Vektor dessen te Komponente die Wahrscheinlichkeit angibt, ob sich der Random Surfer zu einem gegebenen Zeitpunkt

4-74Data Mining WS 2018/19

Hubs and Authorities

• Matrixnotation:

– Vektoren: 𝒂 = (𝑎1, … , 𝑎𝑛), 𝒉 = (ℎ1, … , ℎ𝑛)

– Adjazenzmatrix 𝑨 (𝑛 × 𝑛): 𝐴𝑖𝑗 = ቊ1, 𝑖 → 𝑗0, 𝑠𝑜𝑛𝑠𝑡

• Dann: 𝒉 = 𝑨 ⋅ 𝒂 und 𝒂 = 𝑨𝑻 ⋅ 𝒉– ℎ = 𝐴 (𝐴𝑇ℎ) = (𝐴 𝐴𝑇) ℎ

– 𝑎 = 𝐴𝑇 𝐴 𝑎 = 𝐴𝑇𝐴 𝑎

• Unter “angemessenen” Bedingungen konvergiert HITS zu den

Eigenvektoren ℎ∗ und 𝑎∗ von (𝐴 𝐴𝑇) bzw. (𝐴𝑇𝐴)

[Kleinberg ‘98]

Page 70: DM Link Analysis - dbs.uni-leipzig.de · • Sei = 1, 2,…, ein Vektor dessen te Komponente die Wahrscheinlichkeit angibt, ob sich der Random Surfer zu einem gegebenen Zeitpunkt

4-75Data Mining WS 2018/19

Beispiel: HITS

1 1 1

A = 1 0 1

0 1 0

1 1 0

AT = 1 0 1

1 1 0

h(yahoo)

h(amazon)

h(m’soft)

=

=

=

.58

.58

.58

.80

.53

.27

.80

.53

.27

.79

.57

.23

. . .

. . .

. . .

.788

.577

.211

a(yahoo) = .58

a(amazon) = .58

a(m’soft) = .58

.58

.58

.58

.62

.49

.62

. . .

. . .

. . .

.628

.459

.628

.62

.49

.62

Yahoo

M’softAmazon

Page 71: DM Link Analysis - dbs.uni-leipzig.de · • Sei = 1, 2,…, ein Vektor dessen te Komponente die Wahrscheinlichkeit angibt, ob sich der Random Surfer zu einem gegebenen Zeitpunkt

4-76Data Mining WS 2018/19

Referenzen, Beispiele, Übungen

Kapitel 5 aus „Mining of Massive Datasets“:

http://www.mmds.org/

Übungen:

• PageRank: 5.1.1, 5.1.2

• Spärlich besetzte Matrix: 5.2.1, 5.2.3

• Themenspezifischer PageRank: 5.3.1 ( = 0.8)

Page 72: DM Link Analysis - dbs.uni-leipzig.de · • Sei = 1, 2,…, ein Vektor dessen te Komponente die Wahrscheinlichkeit angibt, ob sich der Random Surfer zu einem gegebenen Zeitpunkt

4-78Data Mining WS 2018/19

Übung 5.1.1

a

b =

c

1/3

1/3

1/3

5/18

5/18

8/18

25/108

34/108

49/108

3/13

4/13

6/13

. . .

a 1/3 1/2 0

b 1/3 0 1/2

c 1/3 1/2 1/2

a b c

Page 73: DM Link Analysis - dbs.uni-leipzig.de · • Sei = 1, 2,…, ein Vektor dessen te Komponente die Wahrscheinlichkeit angibt, ob sich der Random Surfer zu einem gegebenen Zeitpunkt

4-80Data Mining WS 2018/19

Übung 5.1.2 ( = 0.8)

a

b =

c

1/3

1/3

1/3

13/45

13/45

19/45

175/675

211/675

289/675

21/81

25/81

35/81

. . .

1/3 1/3 1/3

1/3 1/3 1/3

1/3 1/3 1/3

1/3 7/15 1/15

1/3 1/15 7/15

1/3 7/15 7/15

0.8 + 0.2

M [1/n]nxn

=

1/3 1/2 0

1/3 0 1/2

1/3 1/2 1/2

Page 74: DM Link Analysis - dbs.uni-leipzig.de · • Sei = 1, 2,…, ein Vektor dessen te Komponente die Wahrscheinlichkeit angibt, ob sich der Random Surfer zu einem gegebenen Zeitpunkt

4-83Data Mining WS 2018/19

Übung 5.2.1

• Bit-Repräsentation: 𝑛2 Bit Speicherplatz

• Anzahl der Einsen: 𝑒

• Spärliche Repräsentation: 𝑒 ∙ 2 ∙ log 𝑛

𝑒 ∙ 2 ∙ log 𝑛 < 𝑛2 ⇔𝑒

𝑛2<

1

2 ∙ log 𝑛

Übung 5.2.3

A 3 B

B 2 A

A 3 C,D

B 2 D

C 0

D 2 B

C 0

D 2 C

Page 75: DM Link Analysis - dbs.uni-leipzig.de · • Sei = 1, 2,…, ein Vektor dessen te Komponente die Wahrscheinlichkeit angibt, ob sich der Random Surfer zu einem gegebenen Zeitpunkt

4-85Data Mining WS 2018/19

Übung 5.3.1 ( = 0.8) Teil a)

A

B

C

D

1/4

1/4

1/4

1/4

9/15

2/15

2/15

2/15

27/75

16/75

16/75

16/75

9/21

4/21

4/21

4/21

. . .

0.8 + 0.2

M

0 1/2 1 0

1/3 0 0 1/2

1/3 0 0 1/2

1/3 1/2 0 0

1 1 1 1

0 0 0 0

0 0 0 0

0 0 0 0

1/5 3/5 1 1/5

4/15 0 0 2/5

4/15 0 0 2/5

4/15 2/5 0 0

=