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