Ein neues Empfehlungssystem mit FDSM-basierter

Werbung
Ein neues Empfehlungssystem mit FDSM-basierter One
Mode Projektion und Link Community Clustering
Diplomarbeit von Ying GU
Betreuer: Prof. Reinelt, Dr. Zweig
IWR Universität Heidelberg
Im Neuenheimer Feld 368 / Speyerer Strasse 4
D-69120 Heidelberg
E-Mail: [email protected]
September 28, 2011
Diplomarbeit von Ying GU (IWR)
Ein neues Empfehlungssystem mit FDSM-basierter One Mode Projektion und
September
Link Community
28, 2011 Clustering
1 / 39
Inhaltsverzeichnis
1
Einführung
1
Probleme mit der klassischen Methode
2
One-Mode-Projektion
Klassische Methode
FDSM Random Methode
3
Scaled Leverage
4
Clustering
Link-Community
Link-Community
Kriterien für das Clustering Ergebnis
5
Cluster Sortierung
6
Implementierungsprobleme
7
Simulationsergebnisse
Diplomarbeit von Ying GU (IWR)
Ein neues Empfehlungssystem mit FDSM-basierter One Mode Projektion und
September
Link Community
28, 2011 Clustering
2 / 39
Einführung
KDD
Knowledge Discovery in Databases ist der Prozeß der (semi-)automatischen
Extraktion von Wissen aus Datenbanken[1], das gültig, bisher unbekannt und
potentiell nützlich (für eine gegebene Anwendung) ist.
KDD Prozeß
Rohdaten → Preprocessing → Data Mining → Postprocessing → Information
Preprocessing ist eine manuelle Vorselektierung der Daten nach gewissen
anwendungsspezifischen Kriterien. (Datenreduktion!)
Beim Postprocessing wird das Ergebnis oft weiter gefiltert, visualisiert,
interpretiert u.s.w.
Diplomarbeit von Ying GU (IWR)
Ein neues Empfehlungssystem mit FDSM-basierter One Mode Projektion und
September
Link Community
28, 2011 Clustering
3 / 39
Einführung
Data Mining
Wir arbeiten mit Daten, die bereits durch ein Preprocessing aufbereitet wurden
und konzentrieren wir uns auf die Anwendung effizienter Algorithmen, die die in
einer Datenbank enthaltenen gültigen Muster findet. Es geht um die Verarbeitung
sehr großer Datenbestände, die nicht mehr manuell verarbeitet werden können.
Diplomarbeit von Ying GU (IWR)
Ein neues Empfehlungssystem mit FDSM-basierter One Mode Projektion und
September
Link Community
28, 2011 Clustering
4 / 39
Einführung
KDD-Cup
KDD Cup ist ein jährlich stattfindender Wettbewerb für KDD und Data Mining.
Er wird von der ACM Special Interest Group für KDD und Data Mining
organisiert [2].
Netflix und Netflix Prize
Netflix, Inc., (NASDAQ: NFLX) ist in den USA ein Anbieter von On-Demand
Internet Streaming Medien [5] und Online DVD-Verleih.
Der Netflix Prize war eine Preisausschreibung der Firma Netflix, bei der der beste
Algorithmus gesucht wurde zur Vorhersage von Kundenbewertungen für Filme auf
der Basis von vergangenen Bewertungen.
Diplomarbeit von Ying GU (IWR)
Ein neues Empfehlungssystem mit FDSM-basierter One Mode Projektion und
September
Link Community
28, 2011 Clustering
5 / 39
Aufgabe der Diplomarbeit
• Ein allgemeines Empfehlungssystem ist zu entwickeln.
• Wenn ein Produkt einem Kunden gefällt, welche weiteren Produkten können
wir ihm empfehlen?
• Beispiel: www.amazon.de: Bei der Suche nach einem Produkt oder nach dem
Kauf bekommt der Kunde eine Liste von sehr ähnlichen oder dazu passenden
Produkten angezeigt.
• Ein solches Empfehlungssystem bietet nicht nur dem Kunden einen besseren
Service, sondern erhöht auch den Umsatz des Verkäufers.
• Wir benutzen für die Erprobung unserer Algorithmen die Daten des KDD Cup
2007: Sie basieren auf Daten der ”Netflix Prize”-Ausschreibung.
Diplomarbeit von Ying GU (IWR)
Ein neues Empfehlungssystem mit FDSM-basierter One Mode Projektion und
September
Link Community
28, 2011 Clustering
6 / 39
Datenformat
Die Daten wurden von der Firma Netflix von 1998 bis 2005 gesammlt. Es gibt
insgesamt 17.770 Filme und 480.189 zufällig ausgewählte Kunden, die insgesamt
100.480.507 Ratings (Bewertungen) abgegeben haben. Die Ratingskala geht von
1 (schlecht) bis 5 (gut). Zwei Textdateien movie_titles.txt und
data3user.txt enthalten die gesamte Information.
1. Datei: movie titles.txt (110 KB)
<FilmId>,<ErscheinungsJahr>, <FilmTitel>
2. Datei: data3user.txt (1,4 GB)
<FilmId>,<KundenId>,<Bewertung>
Diplomarbeit von Ying GU (IWR)
Ein neues Empfehlungssystem mit FDSM-basierter One Mode Projektion und
September
Link Community
28, 2011 Clustering
7 / 39
Verfahren
1
Vorselektion: Wir wählen von den ersten 20.000 Kunden nur die
Bewertungen, die größer als 3 sind.
2
One-Mode-Projektion (Leverage, Fixed Degree Random-Swap)
3
Modifizierte Version der One-Mode-Projektion ( Scaled Leverage,
Cluster-Koeffizient, reziprozitative Knoten )
4
Link-Community: interessante Cluster für die OMP finden.
5
Sortierung der Clusters
Schritt 1 gehört noch zum Preprocessing, Schritte 2 bis 4 gehören zum Data
Mining und Schritt 5 gehört zum Postprocessing.
Diplomarbeit von Ying GU (IWR)
Ein neues Empfehlungssystem mit FDSM-basierter One Mode Projektion und
September
Link Community
28, 2011 Clustering
8 / 39
Inhalt der Diplomarbeit
1
Kapitel 1: Einführung
2
Kapitel 2: Grundbegriffe
3
Kapitel 3: Die Problem mit der klassischen Methode
4
Kaptiel 4: One-Mode-Projektion
5
Kapitel 5: Scaled Leverage
6
Kapitel 6: Link-Community Algorithmus
7
Kapitel 7: Cluster sortieren
8
Kapitel 8: Implementierung (Probleme und Lösungsansätze)
9
Kapitel 9: Cluster Measure
10
Kapitel 10: Experimentelle Ergebnisse
Diplomarbeit von Ying GU (IWR)
Ein neues Empfehlungssystem mit FDSM-basierter One Mode Projektion und
September
Link Community
28, 2011 Clustering
9 / 39
Probleme mit der klassischen Methode
Probleme mit der klassischen Methode
Grundidee
häufigvorkommende Itemset(Support) → Konfidenz → Assoziationsregeln
Probleme
1
Die unteren Schranken für den Support und für die Konfidenz sind schwierig
zu bestimmen.
2
Verzichten oder Behalten der Unterregeln einer Assozialtionsregel?
3
Probleme bei Objekten, die extrem unterschiedlichen Grad im Datensatz
haben, z.B. Filme wegen ihrer Bekanntheit zu selten oder zu oft gut bewertet
werden.
4
Auch eine niedrige Konfidenz für eine Assoziationsregel kann interessant sein.
5
Oft gemeinsam gekaufte Artikeln kann die klassische Methode nicht deutlich
erkennen (z.B.: Brillefassung, Glass, Brillen-Etui).
Diplomarbeit von Ying GU (IWR)
Ein neues Empfehlungssystem mit FDSM-basierter One Mode Projektion und
September
Link Community
28, 2011 Clustering
10 / 39
One-Mode-Projektion
One-Mode-Projektion
Aufbau des bipartiten Graphen B
Konstruiere aus den Daten einen bipartiten Graphen B = (VB , EB ), VB = L ∪ R.
Die Knotenmenge von L stellt die Kunden dar, die Kontenmenge R ist die Menge
der Filme. Ein Kunde ist über eine Kante mit einem Film verknüpft, wenn der
Kunde den Film mit einem Rating größer als 3 bewertet hat.
Definition (Coocurence):
Seien v und w zwei Knoten aus R. Dann ist coocc(v , w ) ist die Anzahl der
gemeinsamen Nachbarn von v und w . expcoocc(v , w ) ist der Erwartungswert
für coocc(v , w ). Er wird im Folgenden geschätzt.
Definition (Leverage):
leverage(v , w ) = coocc(v , w ) − expcoocc(v , w )
Diplomarbeit von Ying GU (IWR)
Ein neues Empfehlungssystem mit FDSM-basierter One Mode Projektion und
September
Link Community
28, 2011 Clustering
11 / 39
One-Mode-Projektion
One-Mode-Projektion
Projektion von B auf G
Wir projezieren den bipartiten Graphen B = (L ∪ R, EB ) auf einen neuen Graphen
G = (R, E ), wobei E aus den Kanten besteht, die zwei Knoten aus R verbinden,
deren Leverage-Wert in B positiv ist. Zwei Knoten aus R heißen befreundet,
wenn sie miteinander verbunden sind.
Figure: Beispiel einer One-Mode-Projektion
Diplomarbeit von Ying GU (IWR)
Ein neues Empfehlungssystem mit FDSM-basierter One Mode Projektion und
September
Link Community
28, 2011 Clustering
12 / 39
One-Mode-Projektion
Klassische Methode
Klassische Methode: leveragesim
Praktische Berechnung von Expected Coocurence und Leverage
Seien v , w ∈ R und |L| die Anzahl der Kunden. Dann ist durch
expcooccsim (v , w ) := support(v ) · support(w ) · |L|
ein Schätzer für den Erwartungswert expcoocc(v , w ) definiert. Dieser wird
benötigt, um einen Schätzer für leverage(v , w ) zu definieren:
leveragesim (v , w ) := coocc(v , w ) − expcooccsim (v , w )
Für die meisten realen Anwendungen ist der so berechnete leverage-Wert leider
ungeeignet. Es wird damit nur der Grad der Knoten aus R in Betracht gezogen.
Dadurch wird z.B. die Bedeutung der Mainstreamfilme überbewertet bzw. der
Kunden, die sich sowieso alle Filme anschauen.
Diplomarbeit von Ying GU (IWR)
Ein neues Empfehlungssystem mit FDSM-basierter One Mode Projektion und
September
Link Community
28, 2011 Clustering
13 / 39
One-Mode-Projektion
Klassische Methode
Klassische Methode: leveragesim
Problematik
Figure: Korrelation zwischen X und Y
Diplomarbeit von Ying GU (IWR)
Ein neues Empfehlungssystem mit FDSM-basierter One Mode Projektion und
September
Link Community
28, 2011 Clustering
14 / 39
One-Mode-Projektion
FDSM Random Methode
FDSM Random Swap Methode
Randomisierter Swap
Gegeben sei ein bipartiter Graph B mit Adjazenzmatrix M = (mij ). Ein Swap
erzeugt daraus durch Vertauschung von zwei zufällig ausgewählten Kanten einen
bipartiten Graphen B 0 mit Adjazenzmatrix M 0 = (mij0 ), so dass die Zeilen- und
Spaltensummen erhalten bleiben:
X
X
X
X
∀i
und
∀j .
mij =
mij0
mij =
mij0
j
j
i
i
Beispiel 1
Figure: Swap in einer 0-1 Matrix [5]
Diplomarbeit von Ying GU (IWR)
Ein neues Empfehlungssystem mit FDSM-basierter One Mode Projektion und
September
Link Community
28, 2011 Clustering
15 / 39
One-Mode-Projektion
FDSM Random Methode
FDSM Random Swap Methode
Beispiel 2
Figure: Wann ist ein Swap zulässig?
Diplomarbeit von Ying GU (IWR)
Ein neues Empfehlungssystem mit FDSM-basierter One Mode Projektion und
September
Link Community
28, 2011 Clustering
16 / 39
One-Mode-Projektion
FDSM Random Methode
FDSM Random Swap Methode
Ein neuer Schätzer für expcoocc(v , w )
Mit einer endlichen Folge (Größenordnung: 4|E | + |L| · ln |L|) von randomisierten
Swaps erzeugen wir aus einem bipartiten Graphen B = (L ∪ R, E ) einen
randomisierten bipartiten Graphen B 0 = (L ∪ R, E 0 ).
Da die Knotengrade im neuen Graphen erhalten bleiben, heisst diese Prozedur
Fixed Degree Sequence Model (FDSM).
Mit einer Stichprobe von m solcher randomisierter Graphen B 0 wählen wir für je
zwei Knoten v , w ∈ R den Mittelwert
expcooccFDSM (v , w ) :=
m
1 X
coocci (v , w )
m i=1
als neuen Schätzer für den Erwartungswert expcoocc(v , w ).
Diplomarbeit von Ying GU (IWR)
Ein neues Empfehlungssystem mit FDSM-basierter One Mode Projektion und
September
Link Community
28, 2011 Clustering
17 / 39
One-Mode-Projektion
FDSM Random Methode
FDSM Random Swap Methode
Ein neuer Schätzer für leverage(v , w )
leverageFDSM (v , w ) := coocc(v , w ) − expcooccFDSM (v , w )
Das mit dieser Methode gelieferte Empfehlungssystem wurde auf den Netflix
Datensatz angewandt. Ein Vergleich mit dem Ergebnis aus der Anwendung der
klassischen Methode zeigt eine deutliche Stärke der FDSM Random Swap
Methode: Die zu einer Serie gehörenden Staffeln werden erkannt [6].
Siehe die Webseite von Kathrina Zweig:
http://www.ninasnet.de/Projects/OMP_Recommendations/10BestRecommendations.html
Weil wir später nur die FDSM Random Swap Methode für die Berechnung von
leverage benutzen, schreiben wir leverage(v , w ) statt leverageFDSM (v , w ).
Diplomarbeit von Ying GU (IWR)
Ein neues Empfehlungssystem mit FDSM-basierter One Mode Projektion und
September
Link Community
28, 2011 Clustering
18 / 39
One-Mode-Projektion
FDSM Random Methode
OMP-Algorithmus
Algorithmus:
1) Sei B = (L ∪ R, E ). Ermittle für alle Knotenpaare v , w ∈ R den Wert coocc(v , w ) in B.
2) Berechne jeweils für L und R die Folge der Knotengrade.
3) Erzeuge aus B mit der Random Swap Methode m Realisierungen Bi (i = 1, . . . , m) und
berechne jeweils für alle Knotenpaare v , w ∈ R den Wert coocci (v , w ) in Bi und
speichere seine Aufsummierung über i in σ(v , w ).
(im Detail:)
a) Setze B0 = B. Die Anzahl der Kanten sei |EB |. Führe s := 4 · |EB | Random Swaps
durch. Dabei wird vor jedem Swap für zwei beliebige Kanten zunächst überprüft,
ob sie swapbar sind oder nicht. Eine Überprüfung zählt bereits als ein
Swap-Schritt. Der resultierende Graph ist B1 .
Berechne für alle Knotenpaare v , w ∈ R den Wert coocc1 (v , w ) in B1 .
b) Sei l := |L|. Setze die Anzahl der Swap-Schritte auf s := bl · log lc.
Setze i := 1 und setze S (v , w ) := 0 für alle Knotenpaare v , w ∈ R.
c) Solange i < m ist:
Führe s Swap-Schritte am Graphen Bi durch, um Bi+1 zu erzeugen.
Berechne für alle Knotenpaare v , w ∈ R den Wert coocci+1 (v , w ) in Bi+1 .
Berechne die Zwischensumme σ(v , w ) := σ(v , w ) + coocci+1 (v , w ).
Sezte i := i + 1.
Diplomarbeit von Ying GU (IWR)
Ein neues Empfehlungssystem mit FDSM-basierter One Mode Projektion und
September
Link Community
28, 2011 Clustering
19 / 39
One-Mode-Projektion
FDSM Random Methode
OMP-Algorithmus
4 Berechne für alle Knotenpaare v , w ∈ R den leverage-Wert
leverage(v , w ) := coocc(v , w ) − σ(v , w )/m.
5 Die so berechneten Werte werden in zwei verschiedenen Arten von Listen abgespeichert.
Wir speichern nur die Knotenpaare v , w ∈ R, für die leverage(v , w ) > 0 sind.
• Eine globale Liste
GL :=
v , w , leverage(v , w ) v , w ∈ R ∧ leverage(v , w ) > 0 .
• Für jeden Knoten v ∈ R erzeugen wir eine lokale Liste
LL(v ) :=
w , leverage(v , w ) v , w ∈ R ∧ leverage(v , w ) > 0 .
6 Sortiere die globale Liste oder die lokalen Listen nach den leverage-Werten in nicht
aufsteigender Reihenfolge.
Diplomarbeit von Ying GU (IWR)
Ein neues Empfehlungssystem mit FDSM-basierter One Mode Projektion und
September
Link Community
28, 2011 Clustering
20 / 39
Scaled Leverage
Scaled Leverage
Problem
Die leverage-basierte One-Mode-Projektion ist nicht geeignet für einen globalen
Vergleich, weil der Wert leverage(v , w ) durch das Minimum der beiden
Knotengrade beschränkt ist:
leverage(v , w )
=
coocc(v , w ) −
m
1 X
coocci (v , w )
m i=1
6 coocc(v , w )
6 min deg(v ), deg(w )
Deshalb sind in der globalen leverage Liste die ersten zwanzig Filmpaare
ausschließlich bekannte Filme vorzufinden, was daran liegt, daß der Knotengrad
von beiden Filmen besonders hoch ist.
Diplomarbeit von Ying GU (IWR)
Ein neues Empfehlungssystem mit FDSM-basierter One Mode Projektion und
September
Link Community
28, 2011 Clustering
21 / 39
Scaled Leverage
Scaled Leverage
Um diese Verfälschung zu beseitigen, führen wir eine Skalierung der
leverage-Werte durch. Eine mögliche Wahl wäre
smin (v , w ) := leverage(v , w ) min(deg(v ), deg(w ))
Es hat sich bei unserem Datensatz jedoch herausgestellt, dass die Wahl
smax (v , w ) := leverage(v , w ) max(deg(v ), deg(w ))
ein besseres Resultat liefert.
Verglichen mit dem leverage-Wert ist der skalierte Wert smax besser geeignet für
einen globalen Vergleich. Hingegen kann man für lokale Vergleiche beide Werte
heranziehen.
Siehe die Webseite für einen Vergleich zwischen leverage und smax :
http://phoenix-eyes.com/Diplom/svalue/frame.html
Diplomarbeit von Ying GU (IWR)
Ein neues Empfehlungssystem mit FDSM-basierter One Mode Projektion und
September
Link Community
28, 2011 Clustering
22 / 39
Scaled Leverage
Vergleich zwischen smax und smin
range
1
2
3
4
5
6
7
8
9
10
smin
93
92
91
91
91
90
90
89
74
73
deg
2
2
2
2
2
2
2
2
287
199
year
1980
2005
1977
2001
2003
1984
1945
2001
2000
2000
movie title
Shakespeare Tragedies: Hamlet
Lamb of God: Killadelphia
The People That Time Forgot
John Waters Collection: Extras
The Hulk: Bonus Material
Flashpoint
Classic Cartoon Favorites: Extreme Adventure Fun
O: Bonus Material
The X-Files: Season 3
The X-Files: Season 8
Table: Die zehn besten Freunde von ’The X-Files: Season 1’ (deg = 403)
Diplomarbeit von Ying GU (IWR)
Ein neues Empfehlungssystem mit FDSM-basierter One Mode Projektion und
September
Link Community
28, 2011 Clustering
23 / 39
Scaled Leverage
Vergleich zwischen smax und smin
range
1
2
3
4
5
6
7
8
9
10
smax
61
52
47
46
45
38
36
29
29
16
deg
364
287
269
265
296
218
199
432
163
358
year
2000
2000
1997
1998
1996
1999
2000
1998
2001
2001
movie title
The X-Files: Season 2
The X-Files: Season 3
The X-Files: Season 5
The X-Files: Season 6
The X-Files: Season 4
The X-Files: Season 7
The X-Files: Season 8
The X-Files: Fight the Future
The X-Files: Season 9
Buffy the Vampire Slayer: Season 6
Table: Die zehn besten Freunde von ’The X-Files: Season 1’ (deg = 403)
Diplomarbeit von Ying GU (IWR)
Ein neues Empfehlungssystem mit FDSM-basierter One Mode Projektion und
September
Link Community
28, 2011 Clustering
24 / 39
Clustering
Link-Community
Link-Community (Grundbegriffe)
Das Ziel unserer Clusteranalyse ist die Zusammenfassung von Filmen mit ähnlichem Inhalt. Ein
Link-Community Algorithmus ( Link = Kante ) ist ein hierarchischer Clustering Algorithmus. Im
Gegensatz zu herkömmlichen Clustering Methoden werden hier nicht die Knoten, sondern die
Kanten zusammengefasst.
Nachbarschaft eines Knoten
Sei G = (V , E ) ein ungerichteter und ungewichteter Graph. Seien i, j ∈ V zwei Knoten in G.
Der Abstand d(i, j ) zwischen i und j ist definiert als die Länge des kürzesten Weges vom
Knoten i zum Knoten j . Die Menge aller Nachbarn eines Knotens i ∈ V (inklusive des Knotens
i) ist definiert als
n+ (i) := j ∈ V d(i, j ) 6 1 .
Similarity zweier Kanten
Seien eik , ejk ∈ E zwei Kanten, die über einen Knoten k miteinander verbunden sind. Dann wird
mit
|n+ (i) ∩ n+ (j )|
S(eik , ejk ) :=
|n+ (i) ∪ n+ (j )|
ein Maß für die Ähnlichkeit (Similarity) der beiden Kanten definiert. Für zwei Kanten
eik , ejl ∈ E , die nicht miteinander verknüpft sind, ist S(eik , ejl ) := 0.
Diplomarbeit von Ying GU (IWR)
Ein neues Empfehlungssystem mit FDSM-basierter One Mode Projektion und
September
Link Community
28, 2011 Clustering
25 / 39
Clustering
Link-Community
Link-Community (Grundbegriffe)
Sei G = (V , E ) ein Graph mit |V | Knoten und |E | Kanten.
Knotenpartitionierung
Eine Knotenpartitionierung KV := {K1 , ..., Kn } erhält man durch eine disjunkte Zerlegung der
Knotenmenge V = V1 ∪ . . . ∪ Vn , Vi ∩ Vj = ∅ ∀i 6= j . Eine Partition ist ein zugehöriger
Teilgraph Kµ , der Vµ als Knotenmenge enthält.
Kantenpartitionierung
Eine Kantenpartitionierung PE := {P1 , ..., Pm } erhält man durch eine disjunkte Zerlegung der
Kantenmenge E = E1 ∪ . . . ∪ Em , Ei ∩ Ej = ∅ ∀i 6= j . Die Partitionen sind die zugehörigen
Teilgraphen
[
Pc := (Vc , Ec ), wobei Vc :=
{i, j } (c = 1, . . . , m).
eij ∈Ec
Jede Kante aus G kann nur in einer Kantenpartition enthalten sein kann, aber zwei benachbarte
Kantenpartitionen haben mindestens einen gemeinsamen Knoten.
Diplomarbeit von Ying GU (IWR)
Ein neues Empfehlungssystem mit FDSM-basierter One Mode Projektion und
September
Link Community
28, 2011 Clustering
26 / 39
Clustering
Link-Community
Eine Partition wird auch Cluster genannt. Im Folgenden betrachten wir Kantenpartitionen.
Similarity zweier Partitionen
Seien P1 = (V1 , E1 ), P2 = (V2 , E2 ) ∈ P zwei Clusters. Dann ist die Similarity zwischen P1 und
P2 definiert durch



S(e
,
e
)
P1 , P2 sind benachbart
max
max

ik
jk

k ∈V1 ∩V2 eik ∈E1
ejk ∈E2
S(P1 , P2 ) :=





0
sonst
Lokal/Global Partition Density
Seien mc = |Ec | und nc = |Vc |. Die lokale Partitionsdichte des Clusters Pc ist
Dc =
mc − (nc − 1)
nc (nc − 1)/2 − (nc − 1)
Die globale Partitionsdichte ist
D=
C
C
X
mc
2 X
mc − (nc − 1)
· Dc =
mc ·
M
M
(nc − 2)(nc − 1)
k =1
Diplomarbeit von Ying GU (IWR)
k =1
Ein neues Empfehlungssystem mit FDSM-basierter One Mode Projektion und
September
Link Community
28, 2011 Clustering
27 / 39
Clustering
Link-Community
Link-Community Algorithmus (1/2)
Sei G = (V , E ). In der initialen Partitionierung P(0) bildet jede Kante zusammen mit seinen
(0)
beiden Knoten ein Cluster: PE = {i, j }, eij e ∈E
ij
(0)
(0)
(0)
1) Finde alle Paare von benachbarten Clusters P1 , P2 ∈ PE und berechne den Wert
(0)
(0) S P1 , P2 . Erzeuge aus den Tripeln
(0)
(0)
(0)
(0) P1 , P2 , S P1 , P2
eine Similarity-Liste S .
2) Betrachte nun folgenden gewichteten Graphen:
(0)
G̃ := (PE , S ).
Die Knotenmenge von G̃ ist gerade die Partitionsmenge von G und die Kantenmenge von
G̃ wird über die Nachbarschaftsverhältnisse der Clusters von G definiert.
Diplomarbeit von Ying GU (IWR)
Ein neues Empfehlungssystem mit FDSM-basierter One Mode Projektion und
September
Link Community
28, 2011 Clustering
28 / 39
Clustering
Link-Community
Link-Community Algorithmus (2/2)
3) Wende die Single-Linkage Hierarchical Clustering Methode (siehe unten) aufG̃ an,um eine
(r )
hierarchische Folge (genannt Dendrogramm) von Knoten-Partitionerungen KV
16r 6p
für G̃ zu konstruieren. Diese
istäquivalent zu einer hierarchischen Folge von
(r )
Kanten-Partitionerungen PE
für G.
16r 6p
(r )
Berechne dabei für jede Dendrogramm-Stufe dr die globale Partitionsdichte D (r ) von PE .
4) Wähle als Richtwert für eine Schranke (Similarity Threshold) die Dendrogramm-Stufe dr ,
bei der die globale Partitionsdichte D (r ) maximal ist.
Das Dendrogramm kann bei dieser Schranke abgeschnitten werden. Damit erhalten wir das
Clustering Ergebnis. Um das Ergebnis zu verbessern, kann diese Schranke im Anschluß noch
variiert werden.
Diplomarbeit von Ying GU (IWR)
Ein neues Empfehlungssystem mit FDSM-basierter One Mode Projektion und
September
Link Community
28, 2011 Clustering
29 / 39
Clustering
Link-Community
Link-Community Algorithmus
Single-Linkage Hierachical Clustering Methode
Wir führen eine Knotenpartitionierung für G̃ durch, welche dasselbe ist wie eine
Kantenpartitionierung für G.
(0)
3a) Zu Beginn besteht KV gerade aus der Knotenmenge von G̃, d.h. jeder Knoten ist ein
(0)
Cluster. Die Anzahl der Clusters ist NC = |PE | = |E |.
3b) Setze r = 1.
3c) Finde zwei Clusters mit maximaler Similarity Smax und fasse diese zu einem neuen Cluster
zusammen. Setze Nc = Nc − 1.
3d) Berechne die Similarity-Werte zwischen dem neuen Cluster und seinen Nachbarn.
3e) Wiederhole Schritt 3c), bis alle Clusters mit der Similarity Smax isoliert sind. Setze die
Dendrogramm-Stufe auf dr = Smax .
3f) Sezte r = r + 1.
3g) Solange Nc > 1 ist, gehe nach Schritt 3c).
Diplomarbeit von Ying GU (IWR)
Ein neues Empfehlungssystem mit FDSM-basierter One Mode Projektion und
September
Link Community
28, 2011 Clustering
30 / 39
Clustering
Link-Community
Anwendung auf den Netflix Datensatz
Zwei Ansätze zur Konstruktion von G = (V , E ):
Ansatz 1:
1) leverage-basierte OMP: B
Ĝ.
2) Threshold für minimale Freundschaftsbeziehung zwischen einem Knoten v und seinem
Nachbarn w ist definiert durch max leverage(v , w )/δ, (δ = 2 oder 3).
w ∈LL(v )
3) Reduktion der Kantenzahl von Ĝ durch Weglassen von Kanten, die zwei Knoten verbinden,
die nicht einer reziprozitativen minimalen Freundschaftsbeziehung genügen. Ĝ
G.
4) Alle Kantengewichte von G auf 1 setzen.
Ansatz 2:
1) smax -basierte OMP: B
Ĝ.
2) Ĝ
Gˆ1
Gˆ2
...: Sukzessive Reduktion der Kantenzahl von Ĝ durch Weglassen von
Kanten, deren smax -Wert kleiner ist als s ∈ {s1 , s2 , ...}, 0 < s1 < s2 < ... < 1, und
anschließender Berechnung des mittleren Cluster-Koeffizienten C für den jeweiligen
Graphen Ĝj .
3) Threshold für minimale Freundschaftsbeziehung zwischen allen Knoten untereinander ist
definiert durch ein sj ∈ (0, 1), für welches der mittlere Cluster-Koeffizient C maximal wird.
Wir wählen den zugehörigen Graphen Ĝj aus:
G.
4) Alle Kantengewichte von G auf 1 setzen.
Diplomarbeit von Ying GU (IWR)
Ein neues Empfehlungssystem mit FDSM-basierter One Mode Projektion und
September
Link Community
28, 2011 Clustering
31 / 39
Clustering
Link-Community
Cluster-Koeffizient
Wir definieren den Cluster-Koeffizienten C (i) für nicht isolierte Knoten i ∈ V ? ⊂ V in einem
ungewichteten und ungerichteten Graph G = (V , E ):
C (i)
:=
=
Anzahl existierender Kanten zwischen den Nachbarknoten von i
Anzahl möglicher Kanten zwischen Nachbarknoten von i
ejk ∈ E
j ,k ∈n(i) mit n(i) := x d(i, x ) = 1
n(i) · n(i) − 1
2
Figure: Beispiel für Cluster-Koeffizienten
Diplomarbeit von Ying GU (IWR)
Ein neues Empfehlungssystem mit FDSM-basierter One Mode Projektion und
September
Link Community
28, 2011 Clustering
32 / 39
Clustering
Link-Community
Cluster-Koeffizient
Der mittlere Cluster-Koeffizient
C=
1 X
C (i )
|V ? |
?
i∈V
Ein Graph G = (V , E ) mit einem großen mittleren Cluster-Koeffizient C enthält
im Vergleich zu einem Graphen G = (V , E 0 ) mit gleicher Knotenmenge und einer
zufällig generierten Kantenmenge E 0 eher signifikante Strukturen.
Diplomarbeit von Ying GU (IWR)
Ein neues Empfehlungssystem mit FDSM-basierter One Mode Projektion und
September
Link Community
28, 2011 Clustering
33 / 39
Clustering
Kriterien für das Clustering Ergebnis
Kriterien
Ground Truth
Die Filme (bzw. Staffeln) aus einer Serien sollten möglichst in einem Cluster
enthalten sein.
1
Vollständige Inklusion: Zu einer Serie existiert ein Cluster in G, der alle
Staffeln dieser Serie enthält.
2
Maximale Inklusion: Enthält kein einziges Cluster in G alle Staffeln einer
Serie, interessieren wir uns für das Cluster, welches die maximale Anzahl an
Staffeln dieser Serie enthält.
Diplomarbeit von Ying GU (IWR)
Ein neues Empfehlungssystem mit FDSM-basierter One Mode Projektion und
September
Link Community
28, 2011 Clustering
34 / 39
Clustering
Kriterien für das Clustering Ergebnis
Kriterien
Measures
1
Community Quality (brauchen Keywords)
2
Overlap Quality (brauchen Keywords)
3
Community Coverage =
m
n − nisoliert
m ist die Anzahl der Knoten, die in mindestens einem nicht-trivalen Cluster
enthalten sind. n = |V | ist die Anzahl aller Knoten, nisoliert ist die Anzahl
aller isolierten Knoten.
4
Overlap Coverage =
1 X
a(i )
|V ? |
?
i∈V
wobei a(i ) die Anzahl aller Clusters P ∈ PE ist, in denen der Knoten i
enthalten ist.
Diplomarbeit von Ying GU (IWR)
Ein neues Empfehlungssystem mit FDSM-basierter One Mode Projektion und
September
Link Community
28, 2011 Clustering
35 / 39
Cluster Sortierung
Cluster Sortierung
Gegeben:
• Bipartiter Graph B = (L ∪ R, EB ).
• Eine Folge von (durch Random Swap entstandene) bipartite Graphen Bj0 = (L ∪ R, EB 0 ).
j
• Der durch die OMP entstandene Graph G = (R, E ).
• Wahl eines Threshold θ = 60% für die Attraktivität eines Clusters.
Für ein gegebenes Cluster P ∈ PE definieren wir:
• α: Anzahl der Kunden aus B, die mindestens 60% Filme aus P mögen.
• β: Anzahl der Kunden aus B, die mindestens einen Film aus P mögen.
• α 0 : Gesamtzahl der Kunden aus Bj0 , die mindestens 60% Filme aus P mögen.
• β 0 : Gesamtzahl der Kunden aus Bj0 , die mindestens einen Film aus P mögen.
• Φ(P) ist das Doppelverhältnis zwischen α/β und α 0 /β 0 , also
Φ(P) = (α · β 0 )/(α 0 · β).
α/β beschreibt in gewisser Weise die Wahrscheinlichkeit dafür, dass ein Kunde aus B
mindestens 60% der Filme aus P mag, wenn er mindestens einen Film aus P mag.
α 0 /β 0 beschreibt die gleiche Wahrscheinlichkeit in einer grösseren Menge von Realisierungen
von B 0 .
Φ(P) beschreibt in gewisser Weise die Korreliertheit von Filmen aus einem Cluster P.
Am Ende sortieren wir alle Clusters P nach Φ(P) in nicht absteigender Reihenfolge.
Diplomarbeit von Ying GU (IWR)
Ein neues Empfehlungssystem mit FDSM-basierter One Mode Projektion und
September
Link Community
28, 2011 Clustering
36 / 39
Implementierungsprobleme
Implementierungsproblem
Hauptproblematik: Extrem große Datenmenge!
1 Berechnung von leverage
• Effiziente Berechnung von Cooccurence und Leverage
• Sparsamer Umgang mit Hauptspeicher (BitSet statt Integer-Array)
• Kunden ausfiltern
2 Trove - eine externe JAVA-Bibliothek für primitive Datentypen, sehr effizient
3 Link-Community
• Geschickte Berechnung und Speicherung der massiv hohen Anzahl der
Similarity-Werte
• Effiziente Verschmelzungen bei der Single-Linkage Clusterung
4 Andere kleinere Probleme
• Binäres Dateiformat zur Abspeicherung der Daten erforderlich! Reduziert auch die
Zugriffszeiten!
• Vermeiden mit float für Berechnung der Partition Density (JAVA-spezifisches
Problem!)
• Serialisierungstechniken von JAVA sind hilfreich für komplexe Datenstrukturen
(Klassen).
Diplomarbeit von Ying GU (IWR)
Ein neues Empfehlungssystem mit FDSM-basierter One Mode Projektion und
September
Link Community
28, 2011 Clustering
37 / 39
Simulationsergebnisse
Simulationsergebnisse
Methodenvergleich:
• Methode 1: leverage-basierte OMP mit δ = 2
• Methode 2: leverage-basierte OMP mit δ = 3
• Methode 3: smax -basierte OMP mit maximalem mittlerem
Cluster-Koeffizienten
Ergebnisse:
• Methode 2 liefert die wenigsten geteilten Filmserien, aber den höhsten
Cluster Overlap Coverage.
• Methode 1 liefert die meisten geteilten Filmserien, aber den niedrigsten
Cluster Overlap Coverage.
• Methode 3 liegt dazwischen, liefert aber die meisten isolierten Knoten.
Diplomarbeit von Ying GU (IWR)
Ein neues Empfehlungssystem mit FDSM-basierter One Mode Projektion und
September
Link Community
28, 2011 Clustering
38 / 39
Simulationsergebnisse
For Further Reading
Martin Ester, Jörg Sander: Knowledge Discovery in Databases, Springer, 2000
SIGKDD: http://www.kdd.org
Wikipedia: http://en.wikipedia.org/wiki/SIGKDD
Pang-Ning Tan, Michael Steinbach, Vipin Kumar: Introduction to Data
Mining, 2006, Pearson Addison Wesley
Aristides Gionis, Heikki Mannila, Taneli Mielikäninen, Panayiotis Tsaparas:
Assessing Data Mining Results via Swap Randomization, KDD’06 August
20-23, 2006, Philadelphia, Pennsylvania, USA.
Katharina Anna Zweig, Michael Kaufmann: A Systematic Approach to the
One-Mode Projektion of Bipartite Graphs, 2011
Katharina A. Zweig: How to Forget the Second Side of the Story: A New
Method for the One-Mode Projektion of Bipartite Graphs, 2011
Yong-Yeol Ahn, James P.Bagrow & Sune Lehmann: Link communities reveal
multiscale complexity in networks, 10.1038/natrue09182
Diplomarbeit von Ying GU (IWR)
Ein neues Empfehlungssystem mit FDSM-basierter One Mode Projektion und
September
Link Community
28, 2011 Clustering
39 / 39
Herunterladen