Informatik—Künstliche Intelligenz Computergestützte Statistik Technische Universität Dortmund
Wissensentdeckung in Datenbanken
Clustering (II)
Nico Piatkowski und Uwe Ligges
Informatik—Künstliche Intelligenz Computergestützte Statistik Technische Universität Dortmund
11.07.2017
1 von 18
Zusammenfassung: Merkmalsauswahl
Sowohl bei Regressions- als auch bei
Klassifikationsproblemen, kann es helfen unwichtige Variablen vor dem Lernenauszuschließen.
Eine Greedy-Merkmalsauswahl verwaltet eine Menge von VariablenM
Das Verfahren paßt die MengeM iterativ an indem Variablen (basierend auf einerVerlustfunktion) hinzugeügt/entfernt werden
Forward-Selection: Die MengeM ist zu Anfang leer und wird in jeder Iteration großer
Backward-Selection: Die MengeM enthält zu Anfang alle Variablen und wird in jeder Iteration kleiner
Informatik—Künstliche Intelligenz Computergestützte Statistik Technische Universität Dortmund
Zusammenfassung: Merkmalsauswahl (II)
Sowohl bei Regressions- als auch bei
Klassifikationsproblemen, kann es helfen unwichtige Variablen vor dem Lernenauszuschließen.
Eine regularisierungsbasierte Merkmalsauswahl bevorzugt Modelle mit kleiner Norm
Im Falle derl1-Norm (LASSO regression) werden Modelle bevorzugt bei denen einige Modellparameter=0sind Im Falle linearer Modelle entspricht dies direkt einer Auswahl an Variablen
Nachdemdie Merkmale ausgewählt wurden, wird das eigentliche Modell gelernt
3 von 18
Überblick
Clustering
Wiederholung: Problemstellung Wiederholung:k-Means DBSCAN
LDA
Informatik—Künstliche Intelligenz Computergestützte Statistik Technische Universität Dortmund
Clusteranalyse
Automatisches Gruppieren von Daten
5 von 18
k-Means / Lloyd’s Algorithmus
Eingabe: DatenD, Anzahl Clusterk, Metrik/Distanzmaß f∶ X × X →R+∪ {0}
(1) Weise jedem Punkt inDeinen zufälligen Cluster zu (2) Bestimme Clusterzentrumc(“Mittelpunkt”) jedes Clusters (3) Weise jedem Punktxden Cluster zu, dessen Mittelpunktc
am nächsten zuxist (mittelsf)
(4) Wiederhole Schritte 2 und 3 so lange, bis sich die Clusterzuweisung nicht mehr ändert oder Zeit aufgebraucht
Man kann zeigen: Minimiert Distanzen innerhalb der Cluster und maximiert Distanz zwischen den Clustern
Informatik—Künstliche Intelligenz Computergestützte Statistik Technische Universität Dortmund
k-Means / Lloyd’s Algorithmus
Eingabe: DatenD, Anzahl Clusterk, Metrik/Distanzmaß f∶ X × X →R+∪ {0}
(1) Weise jedem Punkt inDeinen zufälligen Cluster zu (2) Bestimme Clusterzentrumc(“Mittelpunkt”) jedes Clusters (3) Weise jedem Punktxden Cluster zu, dessen Mittelpunktc
am nächsten zuxist (mittelsf)
(4) Wiederhole Schritte 2 und 3 so lange, bis sich die Clusterzuweisung nicht mehr ändert oder Zeit aufgebraucht
Man kann zeigen: Minimiert Distanzen innerhalb der Cluster und maximiert Distanz zwischen den Clustern
6 von 18
k-Means / Lloyd’s Algorithmus
Eingabe: DatenD, Anzahl Clusterk, Metrik/Distanzmaß f∶ X × X →R+∪ {0}
(1) Weise jedem Punkt inDeinen zufälligen Cluster zu (2) Bestimme Clusterzentrumc(“Mittelpunkt”) jedes Clusters (3) Weise jedem Punktxden Cluster zu, dessen Mittelpunktc
am nächsten zuxist (mittelsf)
(4) Wiederhole Schritte 2 und 3 so lange, bis sich die Clusterzuweisung nicht mehr ändert oder Zeit aufgebraucht
Man kann zeigen: Minimiert Distanzen innerhalb der Cluster und maximiert Distanz zwischen den Clustern
Informatik—Künstliche Intelligenz Computergestützte Statistik Technische Universität Dortmund
k-Means / Lloyd’s Algorithmus
Eingabe: DatenD, Anzahl Clusterk, Metrik/Distanzmaß f∶ X × X →R+∪ {0}
(1) Weise jedem Punkt inDeinen zufälligen Cluster zu (2) Bestimme Clusterzentrumc(“Mittelpunkt”) jedes Clusters (3) Weise jedem Punktxden Cluster zu, dessen Mittelpunktc
am nächsten zuxist (mittelsf)
(4) Wiederhole Schritte 2 und 3 so lange, bis sich die Clusterzuweisung nicht mehr ändert oder Zeit aufgebraucht
Man kann zeigen: Minimiert Distanzen innerhalb der Cluster und maximiert Distanz zwischen den Clustern
6 von 18
k-Means / Lloyd’s Algorithmus
Eingabe: DatenD, Anzahl Clusterk, Metrik/Distanzmaß f∶ X × X →R+∪ {0}
(1) Weise jedem Punkt inDeinen zufälligen Cluster zu (2) Bestimme Clusterzentrumc(“Mittelpunkt”) jedes Clusters (3) Weise jedem Punktxden Cluster zu, dessen Mittelpunktc
am nächsten zuxist (mittelsf)
(4) Wiederhole Schritte 2 und 3 so lange, bis sich die Clusterzuweisung nicht mehr ändert oder Zeit aufgebraucht
Man kann zeigen: Minimiert Distanzen innerhalb der Cluster und maximiert Distanz zwischen den Clustern
Informatik—Künstliche Intelligenz Computergestützte Statistik Technische Universität Dortmund
k-Means / Lloyd’s Algorithmus
Eingabe: DatenD, Anzahl Clusterk, Metrik/Distanzmaß f∶ X × X →R+∪ {0}
(1) Weise jedem Punkt inDeinen zufälligen Cluster zu (2) Bestimme Clusterzentrumc(“Mittelpunkt”) jedes Clusters (3) Weise jedem Punktxden Cluster zu, dessen Mittelpunktc
am nächsten zuxist (mittelsf)
(4) Wiederhole Schritte 2 und 3 so lange, bis sich die Clusterzuweisung nicht mehr ändert oder Zeit aufgebraucht
Man kann zeigen: Minimiert Distanzen innerhalb der Cluster und maximiert Distanz zwischen den Clustern
6 von 18
k-Means Verlustfunktion
Notation:
DatensatzDmit∣D∣ =N,n-dimensionalen Datenpunkten Metrik/Distanzmaßf ∶ X × X →R+∪ {0}
Die MengeC= {c(1),c(2), . . . ,c(k)}enthält diek Clusterzentren
Optimierungsproblem:
C⊂Rminn,∣C∣=k`(C;D) = min
C⊂Rn,∣C∣=k∑
x∈D
minc∈C f(x,c)
Informatik—Künstliche Intelligenz Computergestützte Statistik Technische Universität Dortmund
k-Means Verlustfunktion (mit Euklidischem Abstand)
Jetzt:
Metrik/Distanzmaßf(x,y) = ∥x−y∥22
Verlustfunktion:
`(C;D) = ∑
x∈D
minc∈C ∥x−c∥22
∂
∂c(ji)
`(C;D) = ∑
x∈D
∂
∂c(ji) minc∈C
∑n l=1
(xl−cl)2
= ∑
x∈Di
∂
∂c(ji)(xj−c(ji))2
= ∑
x∈Di
2(c(ji)−xj)
Kurzschreibweise:Dienthält Datenpunkt mit minimalem Abstand zu (Cluster)ci
8 von 18
k-Means Verlustfunktion (mit Euklidischem Abstand)
Jetzt:
Metrik/Distanzmaßf(x,y) = ∥x−y∥22
Verlustfunktion:
`(C;D) = ∑
x∈D
minc∈C ∥x−c∥22
∂
∂c(ji)
`(C;D) = ∑
x∈D
∂
∂c(ji) minc∈C
∑n l=1
(xl−cl)2
= ∑
x∈Di
∂
∂c(ji)(xj−c(ji))2
= ∑
x∈Di
2(c(ji)−xj)
Kurzschreibweise:D enthält Datenpunkt mit minimalem
Informatik—Künstliche Intelligenz Computergestützte Statistik Technische Universität Dortmund
k-Means Verlustfunktion (mit Euklidischem Abstand) (II)
Es giltim Optimum:
`(C;D) =0= ∑
x∈Di
2(c(ji)−xj)
⇔0= ∣Di∣2c(ji)−2 ∑
x∈Di
xj
1
∣Di∣ ∑x∈Di
xj =c(ji)
Also:
k-Means ist ein Optimierungsverfahren erster Ordnung (wie Gradientenabsteig!)
Aber: Zielfunktion ist nicht-konvex. Keine Konvergenz zum globalen Optimum!
9 von 18
k-Means Verlustfunktion (mit Euklidischem Abstand) (II)
Es giltim Optimum:
`(C;D) =0= ∑
x∈Di
2(c(ji)−xj)
⇔0= ∣Di∣2c(ji)−2 ∑
x∈Di
xj
1
∣Di∣ ∑x∈Di
xj =c(ji)
Also:
k-Means ist ein Optimierungsverfahren erster Ordnung (wie Gradientenabsteig!)
Aber: Zielfunktion ist nicht-konvex. Keine Konvergenz zum globalen Optimum!
Informatik—Künstliche Intelligenz Computergestützte Statistik Technische Universität Dortmund
Beispiel: Daten(x)
10 von 18
Beispiel: Daten mit Klassen(x,y)
Informatik—Künstliche Intelligenz Computergestützte Statistik Technische Universität Dortmund
Beispiel:3-means, 1 Iteration
12 von 18
Beispiel:3-means, 10 Iterationen
Informatik—Künstliche Intelligenz Computergestützte Statistik Technische Universität Dortmund
Intuition: Auswahl vonkund Distanzmaß (II)
14 von 18
DBSCAN: Vermeidung vonk
Wie kann die Wahl vonkvermieden werden?
Neue Verlustfunktion(?) = neuer Algorithmus Kategorisierung der Punkte eines Datensatzes:
Kernpunkte Dichte-erreichbar Rauschen
Problemstellung mittels Nachbarschaftsgröße Mindestanzahl an NachbarnminP ts
Informatik—Künstliche Intelligenz Computergestützte Statistik Technische Universität Dortmund
DBSCAN: Vermeidung vonk
Wie kann die Wahl vonkvermieden werden?
Neue Verlustfunktion(?) = neuer Algorithmus Kategorisierung der Punkte eines Datensatzes:
Kernpunkte Dichte-erreichbar Rauschen
Problemstellung mittels Nachbarschaftsgröße Mindestanzahl an NachbarnminP ts
15 von 18
DBSCAN: Vermeidung vonk
Wie kann die Wahl vonkvermieden werden?
Neue Verlustfunktion(?) = neuer Algorithmus Kategorisierung der Punkte eines Datensatzes:
Kernpunkte Dichte-erreichbar Rauschen
Problemstellung mittels Nachbarschaftsgröße Mindestanzahl an NachbarnminP ts
Informatik—Künstliche Intelligenz Computergestützte Statistik Technische Universität Dortmund
DBSCAN Clustering
16 von 18
Clustern von Text
Menge von Dokumenten = Korpus Verschiedene Darstellungen denkbar:
Vorhandensein von Worten (Binärvektoren, Mengen) Anzahl von Worten (Bag-of-Words)
Term-Frequency-Inverse-Document-Frequency (TF-IDF)
tf idfw,d= Häufigkeit Wortwin Dokumentd
maxd′Häufigkeit Wortwin Dokumentd′log N Nw
Nwist Anzahl Dok. mit Wortw;N ist Anzahl aller Dok.
k-means Clustering der obigen Darstellungen möglich Aber: Bei großem Vokabular sind alle Dokumente weit weg (“Fluch der hohen Dimensionen”)
Informatik—Künstliche Intelligenz Computergestützte Statistik Technische Universität Dortmund
Clustern von Text
Menge von Dokumenten = Korpus Verschiedene Darstellungen denkbar:
Vorhandensein von Worten (Binärvektoren, Mengen) Anzahl von Worten (Bag-of-Words)
Term-Frequency-Inverse-Document-Frequency (TF-IDF)
tf idfw,d= Häufigkeit Wortwin Dokumentd
maxd′Häufigkeit Wortwin Dokumentd′log N Nw
Nwist Anzahl Dok. mit Wortw;N ist Anzahl aller Dok.
k-means Clustering der obigen Darstellungen möglich Aber: Bei großem Vokabular sind alle Dokumente weit weg (“Fluch der hohen Dimensionen”)
17 von 18
Clustern von Text mit Graphischen Modellen (Topic Models)
Idee: Datengenerierender Prozess von Dokumentdist:
Wähle Länge des DokumentsNdausP(Nd∣λ)[Poisson]
Wähle ThemenverteilungθdausP(θd∣α)[Dirichlet]
Erzeuge die Wortew=1. . . Nd:
Wähle ein ThemazwausP(zw∣θ)[Kategorisch]
Wähle ein Wort ausP(w∣zw, β)[Kategorisch]
Lernen: Bestimmeλ, α, β, undθvia Expectation-Maximization (Maximum-Likelihood für unvollständige Daten)