Semi-Supervised Clustering

Werbung
PG Intelligence Service
Vortrag : Semi-supervised Clustering
Vortragender: Erkan Kaz
Veranstalterin: Prof. Dr. Katharina Morik
Betreuer: Dipl. Informatiker Felix Jungermann
Gliederung


1. Einleitung
2. Clusteranalyse
2.1 Allgemein
2.2 Algorithmen
2.3 Beispiel



3. Supervised Clustering
4. Unsupervising Clustering
5. Semi-supervised Clustering (with User Feedback)
5.1 Allgemein
5.2 Constraints (Bedingungen)
5.2.1 Typen von Instance-Level Constraints
5.3 Beispiele
5.4 Feedback

6. Vergleich der Performance
6.1 Constraints vs. Labels

7. Fazit
1. Einleitung





neues Verfahren für Clusteranalyse vorstellen
Semi-supervised Clustering, User kann Algorithmus
Feedback geben
dies in Form von Bedingungen (Constraints)
User kann Clusterprozess steuern
es existieren natürlich schon bekannte Verfahren!
Unsupervised/ Supervised Clustering
2. Clusteranalyse
2.1 Allgemein:

Einteilung einer Menge von Objekten in Cluster

automatisierte Bildung von Cluster

Teilgebiet der Statistik

verborgene Muster und Strukturen in Daten erkennen

Problem nicht nur im Web sondern auch z.B. Biologie,
Marketing usw.
2.2 Algorithmen

Es wird unterschieden zwischen Algorithmen:
Clusteranalyse
überwachte Klassifikation
unüberwachte Klassifikation
Hierarchisches Clustern
Agglomerative Verfahren
Partitionierendes Clustern
Divisive Verfahren
2.2
- für partitionierende Cluster z.B. :
+ EM-Algorithmus
+ k-means
- für hierarchisches Clustern z.B. :
+ Complete-Link-Algorithmus
+ Single-Link-Algorithmus
+ agglomerierende
- dazu kommen noch Kriterien wie:
stochastisch, deterministisch, exat, fuzzy
2.3 Beispiel
Aufgabe:
Bestimme Cluster nach k-means (hier k=2) Verfahren mit
euklidischem Abstand und wähle als Zentroiden (6,5) und
(11,10).
Für die Beobachtungen:
B= { (2,4), (2,8), (4,9), (7,7), (11,10), (11,7), (6,5), (9,2),
(12,5), (14,4) }
2.3
C1= { ( 6,5),(2,4), (2,8), (4,9), (7,7),(9,2) }
C2= { (11,10), (11,7) (14,4), (12,5) }
- Nun neue Zentroiden berechnen und fortfahren bis sich
die Cluster nicht mehr ändern.
- Wähle neue Zentroiden (Mittelpunkt seiner Instanzen)
=> C1‘= { ( 6,5),(2,4), (2,8), (4,9), (7,7) }
C2‘= { (11,10), (11,7) (14,4), (12,5),(9,2) }
3. Supervised Clustering
Allgemein:





angenommen Klassenstruktur bekannt
einige Instanzen mit Bezeichnungen nehmen und
Klassen zuordnen
präzise und gezielte Zuordnung für neue Objekte
Labels (Klassenbezeichnungen vorhanden) => feste und
geringe Anzahl vorhanden!
Beziehungen der Objekte dem User sichtbar
4.Unsupervised Clustering





Standard Clustering Algorithmus
Daten unbezeichnet
kein Hintergrundwissen vorhanden
ähnliche Objekte zusammengruppieren und
unterschiedliche Objekte auseinander
Gruppierung nach Ähnlichkeitsgrad
=> meiste Arbeit liegt bei Ähnlichkeitskriterium
=> beobachten und experimentieren
5.Semi-Supervised Clustering (with
User Feedback)

5.1 Allgemein: Liegt zwischen den beiden oben
genannten Verfahren. Es wird Hintergrundwissen in die
Clusteranalyse integriert um:
- resultierende Cluster zu verbessern
- Laufzeit für Berechnung zu reduzieren
=> Hintergrundwissen in Form von Constraints
(Bedingungen)
5.1
- machen z.B. Aussagen darüber, ob Instanzen in selbe
Cluster gehören oder in andere
- dadurch Lösungsraum begrenzt, Suchraum reduziert
- Nutzer steuert Clusterprozess um:
=> gute Partitionierung zu erzielen
=> minimaler Zeitaufwand
5.1
Vorteil:
- Nutzer interagiert und arbeitet mit den Daten, um diese
besser zu verstehen
=> System lernt Kriterien, den Nutzer zufrieden zustellen
- System erwartet keine Funktionseingaben vom Nutzer
- Kriterien, die User im Kopf hat werden erfüllt
- Beziehung zu aktivem Lernen
Nachteil:
- Es gibt viele mögliche Bedingungen
5.1
Wann Semi-supervised Clustering vorziehen ?
- falls viele verschiedene gleichwertige Clustereinteilungen
vorhanden

=> aktiv lernendes System würde viele unnötige Anfragen machen!
- falls Endcluster noch nicht bekannt
=> Constraints einfacher zu verstehen als Labels
- einsetzen wo Labels nicht leicht benutzbar
5.2 Constraints
Allgemein: Sind Bedingungen, die eingehalten werden
sollen
 verschiedene Arten vorhanden
=> Als Beispiel Instance-Level Constraints:
- Aussagen über Beziehungen der einzelnen Objekte
 zu nennen wären noch :
+ δ- Constraints
+ γ- Constraints (für hierarchisches Clustering)

5.2
5.2.1 Haupttypen
+ Must-Link Constraints: legen fest, dass zwei Instanzen in
selbe Cluster gehören

+ Cannot-Link Constraints: zwei Instanzen nicht im selben
Cluster
=> Aussagen über die paarweise Beziehungen von zwei
Objekten einer Datenmenge machbar
5.3 Beispiele
5.3.1
Für Beziehungen: Falls ML(a, b) und ML(b, c) => ML(a, c)
aber auch Aussagen über CL möglich.
5.3.2
Clusterprozess mit Einbindung von Constraints:
Dazu nehme ich eine partitionierenden Cluster mit Hilfe der
Methode von k-means.
5.3
Verbesserungen einfügen um:
- Leistung zu erhöhen
- Genauigkeit zu erhöhen
- Laufzeit zu verringern

=> Bedingungen in Form von ML u. CL für Objekte!
5.3

Pseudo- Code:
5.3

5.3.3 : Das Yahoo Problem
- habe 100.000 Dokumente (Texte, Artikel usw.)
- will diese in passende Gruppen partitionieren
- es wird nicht angegeben welche Klassenbezeichnungen
verwendet werden sollen (z.B. Sport, Politik usw.)
5.3

Lösungsansatz:
1. Die Dokumente in Unsupervised Clustering Algorithmus
geben und clustern lassen
2. User geht Cluster durch und sagt dem System welches
Cluster er mag/ nicht mag.
=> Nicht für alle Cluster tun sondern nur einige. Gebe
Feedback hinzu:
5.3
- das Dokument gehört nicht hier her
- bewege das Dokument zu diesem Cluster
- die Dokumente im selben oder unterschiedlichen Cluster
=> nicht für alle sondern nur für diejenigen die am
unpassensten sind!
3. Nach der Kritik, neu clustern lassen mit Feedback
4. Wiederholen bis zufrieden!
5.4 Feedback
Es gibt unterschiedliche Formen, hier einige
Beispiele:
- Dokumente gehören/ gehören nicht in selbe Cluster
- dieses Dokument gehört hier nicht hin
- bewege das Dokument in dieses Cluster
- Cluster zu grob oder zu fein
- Cluster ist gut oder nicht gut
=> Constraints an individuellen Punkten
=> keine clusterspezifischen Feedbacks geben

6. Vergleich der Performance
Schwierig Supervised und Semi-supervised Clustering
zu vergleichen, denn :
- die Trainingsdokumente werden nicht berücksichtigt
- Labels vs. Constraints
 Semi-supervised Clustering
=>gemessen wird wie viel Prozent der Instanzen korrekt
eingeordnet werden!
- nachdem 10 Constraints eingefügt wurden, wird die
asymptotische Performance erreicht (70-80%)

6
- aber mit Zunahme der Constrains wird keine höhere
Performance erreicht
=> höhere Performance als Unsupervised clustering (50%)
=> um die gleiche Performance zu erreichen braucht
Supervised 3 bis 6 fach mehr Labels.
6.1 Constraints vs. Labels
bei Supervised kenne ich Zielklassen
=> habe gekennzeichnete Objekte, ordne diese zu
 bei Semi-supervised kenne ich die Klassen nicht
=> aber System bekommt Infos durch Nutzer! Constraints
 Constraints leichter anzugeben aber weniger informativ
 es gibt bestimmte Anzahl von Klassen aber tausende
von möglichen Constraints
=> Labels und Constraints sind zu unterschiedlich

7. Fazit
neues Verfahren kennen gelernt
 Hintergrundwissen einbinden => qualitativere Cluster
 gibt User die Möglichkeit sich in Prozess einzubinden
 System lernt vom Nutzer
 menschliches Vorgehen kann Wegweiser für die
Entdeckung sein, was Gruppen aussagen!
=> Ziel: Feedback während des Clusterprozesses

einzubinden!
Literatur




Semi-Supervised Clustering with User Feedback; David Cohn and
Rich Caruana and Andrew McCallum. Technical report, 2000.
http://www.informatik.uniulm.de/ni/Lehre/SS06/SeminarNI/index.html ( Eberhardt, Zhou)
Wikipedia; http://de.wikipedia.org/wiki/Clusteranalyse
http://wwwi2.informatik.uniwuerzburg.de/lehre/se0506/ausarbeitungen/jost.pdf.
Danke für die Aufmerksamkeit
Herunterladen