• Keine Ergebnisse gefunden

2. Clustering - AZSLIDE.COM

N/A
N/A
Protected

Academic year: 2023

Aktie "2. Clustering - AZSLIDE.COM"

Copied!
21
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

26

2. Clustering

Inhalt dieses Kapitels

3.1 Einleitung

Ziel des Clustering, Anwendungen, Typen von Clustering-Algorithmen

3.2 Partitionierende Verfahren

k-means, k-medoid, Expectation Maximization,

Initialisierung und Parameterwahl, dichtebasierte Verfahren

3.3 Hierarchische Verfahren

Single-Link und Varianten, dichtebasiertes hierarchisches Clustering

Clustering

Inhalt dieses Kapitels

3.4 Datenbanktechniken zur Leistungssteigerung

Indexunterstützes Sampling, Indexunterstützte Anfragebearbeitung, Datenkompression mit BIRCH

3.5 Besondere Anforderungen und Verfahren

k-modes, verallgemeinertes dichtebasiertes Clustering,

inkrementelles Clustering, Subspace Clustering, Outlier Detection

(2)

28

2.1 Einleitung

Ziel des Clustering

• Identifikation einer endlichen Menge von Kategorien, Klassen oder Gruppen (Cluster) in den Daten

• Objekte im gleichenCluster sollen möglichst ähnlich sein

• Objekte aus verschiedenenClustern sollen möglichst unähnlich zueinander sein

Cluster unterschiedlicher Größe, Form und Dichte hierarchische Cluster

=> unterschiedliche Clustering-Algorithmen

Typische Anwendungen

Überblick

• Kundensegmentierung

Clustering der Kundentransaktionen

• Bestimmung von Benutzergruppen auf dem Web

Clustering der Web-Logs

• Strukturierung von großen Mengen von Textdokumenten

Hierarchisches Clustering der Textdokumente

• Erstellung von thematischen Karten aus Satellitenbildern

Clustering der aus den Rasterbildern gewonnenen Featurevektoren

(3)

30

Typen von Clustering-Verfahren

Partitionierende Verfahren

• Parameter: Anzahl kder Cluster, Distanzfunktion

• sucht ein „flaches“ Clustering in kCluster mit minimalen Kosten

Hierarchische Verfahren

• Parameter: Distanzfunktion für Punkte und für Cluster

• bestimmt Hierarchie von Clustern, mischt jeweils die ähnlichsten Cluster

Dichtebasierte Verfahren

• Parameter: minimale Dichte in einem Cluster, Distanzfunktion

• erweitert Punkte um ihre Nachbarn solange Dichte groß genug

Andere Clustering-Verfahren

• Fuzzy Clustering

• Graph-theoretische Verfahren

• neuronale Netze

2.2 Partitionierende Verfahren

Grundlagen

Ziel

Partitionierung in kCluster so dass eine Kostenfunktion miniert wird (Gütekriterium)

Lokal optimierendes Verfahren

• wähle kinitiale Cluster-Repräsentanten

• optimiere diese Repräsentanten iterativ

• ordne jedes Objekt seinem ähnlichsten Repräsentanten zu

Typen von Cluster-Repräsentanten

• Mittelwert des Clusters (Konstruktion zentraler Punkte)

• Element des Clusters (Auswahl repräsentativer Punkte)

• Wahrscheinlichkeitsverteilung des Clusters (Erwartungsmaximierung)

(4)

32

Konstruktion zentraler Punkte

1 1

5 5

x Centroide x

x x

1 1

5 5

x Centroide x

x x 1

1

5 5

1 1

5 5

Beispiel

Cluster Cluster-Repräsentanten

schlechtes Clustering

optimales Clustering

Konstruktion zentraler Punkte

Grundbegriffe

[Forgy 1965]

• Objekte sind Punkte p=(xp1, ..., xpd) in einem euklidischen Vektorraum

• euklidische Distanz

Zentroid PC: Mittelwert aller Punkte im Cluster C

Maß für die Kosten(Kompaktheit)eines Clusters C

Maß für die Kosten(Kompaktheit)eines Clustering TD C dist p C

p C

2 2

( ) ( , )

¦

 P

TD TD Ci

i k

2 2

¦

1 ( )

(5)

34

Konstruktion zentraler Punkte

Idee des Algorithmus

• Algorithmus startet z.B. mit zufällig gewählten Punkten als Cluster- Repräsentanten

• Der Algorithmus besteht aus zwei alternierenden Schritten:

• Zuordnung jedes Datenpunktes zum räumlich nächsten Repräsentanten

• Neuberechnung der Repräsentanten (Zentroid der zugeordneten Punkte)

• Diese Schritte werden so lange wiederholt, bis sich keine Änderung mehr ergibt

Konstruktion zentraler Punkte

Algorithmus

ClusteringDurchVarianzMinimierung(Punktmenge D, Integer k) Erzeuge eine „initiale“ Zerlegung der Punktmenge D in k

Klassen;

Berechne die Menge C’={C1, ..., Ck} der Zentroide für die k Klassen;

C = {};

repeat C = C’;

Bilde k Klassen durch Zuordnung jedes Punktes zum nächstliegenden Zentroid aus C;

Berechne die Menge C’={C’1, ..., C’k} der Zentroide für die neu bestimmten Klassen;

until C = C’;

return C;

(6)

36

Konstruktion zentraler Punkte

Beispiel

0 1 2 3 4 5 6 7 8 9 10

0 1 2 3 4 5 6 7 8 9 10

0 1 2 3 4 5 6 7 8 9 10

0 1 2 3 4 5 6 7 8 9 10

Berechnung der neuen Zentroide

0 1 2 3 4 5 6 7 8 9 10

0 1 2 3 4 5 6 7 8 9 10

Zuordnung zum nächsten Zentroid

0 1 2 3 4 5 6 7 8 9 10

0 1 2 3 4 5 6 7 8 9 10

Berechnung der neuen Zentroide

Konstruktion zentraler Punkte

Varianten des Basis-Algorithmus

k-means

[MacQueen 67]

• Idee: die betroffenen Zentroide werden direkt aktualisiert, wenn ein Punkt seine Clusterzugehörigkeit ändert

K-means hat im wesentlichen die Eigenschaften des Basis-Algorithmus

K-means ist aber reihenfolgeabhängig

ISODATA

• basiert auf k-means

• Verbesserung des Ergebnisses durch Operationen wie – Elimination sehr kleiner Cluster

– Verschmelzung und Aufspalten von Clustern

• Benutzer muß viele zusätzliche Parameter angeben

(7)

38

Konstruktion zentraler Punkte

Diskussion

+ Effizienz

Aufwand: O(n) für eine Iteration,

Anzahl der Iterationen ist im allgemeinen klein (~ 5 - 10).

+ einfache Implementierung

K-means ist das populärste partitionierende Clustering-Verfahren Anfälligkeit gegenüber Rauschen und Ausreißern

alle Objekte gehen ein in die Berechnung des Zentroids Cluster müssen konvexe Form haben

die Anzahlkder Cluster ist oft schwer zu bestimmen starke Abhängigkeit von der initialen Zerlegung

sowohl Ergebnis als auch Laufzeit

Auswahl repräsentativer Punkte

Grundbegriffe [Kaufman & Rousseeuw 1990]

setze nur Distanzfunktion für Paare von Objekten voraus

Medoid: ein zentrales Element des Clusters (repräsentativer Punkt)

Maß für die Kosten(Kompaktheit)eines Clusters C

Maß für die Kosten(Kompaktheit)eines Clustering

die Laufzeitkomplexität der erschöpfenden Suche istO(nk) TD C dist p mC

p C

( ) ( , )

¦



TD TD Ci

i k

¦

( )

1

(8)

40

Auswahl repräsentativer Punkte

Überblick über k-medoid Algorithmen

PAM

[Kaufman & Rousseeuw 1990]

• Greedy-Algorithmus:

in jedem Schritt wird nur ein Medoid mit einem Nicht-Medoid vertauscht

• vertauscht in jedem Schritt das Paar (Medoid, Nicht-Medoid), das die größte Reduktion der Kosten TD bewirkt

CLARANS

[Ng & Han 1994]

zwei zusätzliche Parameter: maxneighborundnumlocal

• höchstens maxneighborviele von zufällig ausgewählten Paaren (Medoid, Nicht-Medoid) werden betrachtet

• die erste Ersetzung, die überhaupt eine Reduzierung des TD-Wertes bewirkt, wird auch durchgeführt

• die Suche nach k„optimalen“ Medoiden wird numlocalmal wiederholt

Auswahl repräsentativer Punkte

Algorithmus PAM

PAM(Objektmenge D, Integer k, Float dist) Initialisiere die k Medoide;

TD_Änderung := f

while TD_Änderung 0 do

Berechne für jedes Paar (Medoid M, Nicht-Medoid N) den Wert TDNlM;

Wähle das Paar (M, N), für das der Wert TD_Änderung := TDNlM TD minimal ist;

if TD_Änderung 0 then

ersetze den Medoid M durch den Nicht-Medoid N;

Speichere die aktuellen Medoide als die bisher beste Partitionierung;

return Medoide;

(9)

42

Auswahl repräsentativer Punkte

Algorithmus CLARANS

CLARANS(Objektmenge D, Integer k, Real dist, Integer numlocal, Integer maxneighbor) for r from 1 to numlocal do

wähle zufällig k Objekte als Medoide; i := 0;

while i < maxneighbor do

Wähle zufällig (Medoid M, Nicht-Medoid N);

Berechne TD_Änderung := TDNlM TD;

if TD_Änderung < 0 then ersetze M durch N;

TD := TDNlM; i := 0;

else i:= i + 1;

if TD < TD_best then

TD_best := TD; Speichere aktuelle Medoide;

return Medoide;

Auswahl repräsentativer Punkte

Vergleich von PAM und CLARANS

Laufzeitkomplexitäten

• PAM: O(n3+k(n-k)2* #Iterationen)

• CLARANS O(numlocal*maxneighbor*#Ersetzungen * n) praktisch O(n2)

Experimentelle Untersuchung

TD(CLARANS) TD(PAM)

Qualität Laufzeit

(10)

44

Erwartungsmaximierung (EM)

[Dempster, Laird & Rubin 1977]

• Objekte sind Punkte p=(xp1, ..., xpd) in einem euklidischen Vektorraum

• ein Cluster wird durch eine Wahrscheinlichkeitsverteilung beschrieben

• typisch: Modell für einen Cluster ist eine multivariate Normalverteilung

• Repräsentation eines Clusters C

– Mittelwert PCaller Punkte des Clusters

d x dKovarianzmatrix6Cfür die Punkte im Cluster C

• Wahrscheinlichkeitsdichte eines Clusters C

e

d C

x

x C T C C

C x

P (2 ) | |

) 1

| (

) ( ) 2(

1 1

¦

˜

¦

˜

˜

S

P P

Erwartungsmaximierung (EM)

Univariate Normalverteilung Bivariate Normalverteilung

KovarianzOhne Negative

Kovarianz Positive Kovarianz

Multivariate Normalverteilung

(11)

46

Erwartungsmaximierung (EM)

Idee:

• Jeder Punkt gehört zu mehreren (eigentlich allen) Clustern, jeweils mit unterschiedlicher Wahrscheinlichkeit, abh. v. P(x|C)

• Algorithmus besteht wieder aus zwei alternierenden Schritten:

• Zuordnung von Punkten zu Clustern (hier nicht absolut sondern relativ/nach Wahrscheinlichkeit)

• Neuberechnung der Cluster-Repräsentanten (Gauß-Kurven) Alles muss auf eine stochastische Grundlage gestellt werden:

• Bei Berechnung der Clusterzentren ( P

i

) muss berücksichtigt werden, dass Punkte Clustern nicht absolut sondern nur relativ zugeordnet sind

• Wie groß ist die Wahrscheinlichkeit der Clusterzugehörigkeit?

Erwartungsmaximierung (EM)

Jeder Cluster C

i

wird durch eine Wahrscheinlichkeitsdichte- Funktion (Normalverteilung) modelliert:

Dichtefunktion:

• Integral über den Gesamtraum ergibt 1

• Integral über Region R ergibt Wahrscheinlichkeit, dass in der Region ein beliebiger Punkt des Clusters liegt, bzw. den relativen Anteil (z.B. 30%) der Punkte des Clusters, die in R liegen

e

i

Ci T Ci

Ci

d C

x x

C

i

x

P ( 2 ) | | ) 1

| (

) ( )

2(

1 1

6

˜

¦

˜

˜

S

P P

R

(12)

48

Erwartungsmaximierung (EM)

Bedingte Wahrscheinlichkeit:

• Dies würde unter der Voraussetzung gelten, dass der Punkt x ausschließlich dem Cluster C

i

zugeordnet wäre

(was nicht stimmt)

• Deshalb Notation als bedingte Wahrscheinlichkeit

e

i

Ci T Ci

Ci

d C

x x

C

i

x

P ( 2 ) | | ) 1

| (

) ( )

2(

1 1

6

˜

¦

˜

˜

S

P P

Erwartungsmaximierung (EM)

Bei k Gaussverteilungen (durch k Cluster) ergibt sich folgende Gesamt-Wahrscheinlichkeitsdichte:

wobei W

i

der relative Anteil der Datenpunkte ist, der zum Cluster C

i

gehört (z.B. 5%), was man auch als Gesamt-

Wahrscheinlichkeit des Clusters P(C

i

) interpretieren kann.

Mit dem Satz von Bayes kann man die Wahrscheinlichkeit bestimmen, dass ein gegebener Punkt x zum Cluster C

i

gehört, geschrieben als bedingte Wahrscheinlichkeit P(C

i

|x)

P x W P x C

i i i

k

( ) ¦ ˜ ( | )

1

P C x W P x C

i i

P x

( | ) ( | )

i

˜ ( )

(13)

50

Erwartungsmaximierung (EM)

Bedingte Wahrscheinlichkeiten

• Seien A,BŽ :. Die bedingte WahrscheinlichkeitvonAunterB, P(A|B), ist definiert als

AundBheißen unabhängig, wenn gilt P(A|B) = P(A) und P(B|A) = P(B).

Satz von Bayes

SeiA1, . . ., Akeine disjunkte Zerlegung von :, so daß für mindestens ein i, 1 didk, gilt: P(Ai) > 0 und P(B|Ai) > 0. Dann gilt für alle 1 dj dk:

a-priori-Wahrscheinlichkeit: P(Ai) a-posteriori-Wahrscheinlichkeit: P(Ai|B)

P A B

falls P B P A B

P B sonst ( | )

( )

( )

( )

ˆ

­

®°

¯°

0 0

P A B P B A P A

j P B

j j

( | ) ( | ) ( ) ( )

˜

Erwartungsmaximierung (EM)

• Maß für die Güte eines Clustering M

E(M) soll maximiert werden.

• Anteil des Clusters an der Datenmenge:

• Mittelwert und Kovarianzmatrix der Gaußverteilung:

E M P x

x D

( ) log( ( ))

¦



¦

k

i

i i

i

P C x

C n P W

1

)

| 1 (

) (

) /(

)

( ¦ ( | ) ¦ ( | )





˜

D x

i D

x

i

i

x P C x P C x

P

) /(

)

( ¦ ( )( ) ( | ) ¦ ( | )





˜

6

D x

i D

x

i T

i i

i

x P x P P C x P C x

(14)

52

Erwartungsmaximierung (EM)

Algorithmus

ClusteringDurchErwartungsmaximierung (Punktmenge D, Integer k)

Erzeuge ein „initiales“ Modell M’ = (C1’, ..., Ck’);

repeat // „Neuzuordnung“

Berechne P(x|Ci), P(x) und P(Ci|x) für jedes Objekt aus D und jede Gaußverteilung/jeden Cluster Ci;

// „Neuberechnung des Modells“

Berechne ein neues Modell M ={C1, ..., Ck} durch Neuberechnung von Wi, PCund6Cfür jedes i;

M’ := M;

until |E(M) - E(M’)| H;

return M;

Erwartungsmaximierung (EM)

Diskussion

• Aufwand:

O(n|M| * #Iterationen)

Anzahl der benötigten Iterationen im allgemeinen sehr hoch

• Ergebnis und Laufzeit hängen (wie beim k-meansundk-medoid) stark ab – von der initialen Zuordnung

– von der „richtigen“ Wahl des Parameters k

• Modifikation für Partitionierung der Daten in k disjunkteCluster:

jedes Objekt nur demjenigen Cluster zuordnen, zu dem es am wahrscheinlichsten gehört.

(15)

54

Wahl des initialen Clustering

Idee

• Clustering einer kleinen Stichprobe liefert im allgemeinen gute initiale Cluster

• einzelne Stichproben sind evtl. deutlich anders verteilt als die Grundgesamtheit

Methode

[Fayyad, Reina & Bradley 1998]

• ziehe unabhängig voneinander mverschiedene Stichproben

• clustere jede der Stichproben

mverschiedene Schätzungen für kClusterzentren

A= (A1,A2, . . ., Ak),B= (B1,. . ., Bk), C= (C1,. . ., Ck), . . .

• Clustere nun die Menge DB=

mitmverschiedenen Stichproben A,B,C, . . . als Startkonfiguration

• Wähle von den mClusterings dasjenige mit dem besten Wert bezüglich des zugehörigen Maßes für die Güte eines Clustering

A‰ ‰ ‰...B C

Wahl des initialen Clustering

Beispiel

A2 A1

A3

B1 C1

B2

B3 C2

C3

D1

D2 D3

Grundgesamtheit

k= 3 Gauß-Cluster

DB

vonm= 4 Stichproben

wahre Clusterzentren

(16)

56

Wahl des Parameters k

Methode

• Bestimme für k= 2, ..., n-1 jeweils ein Clustering

• Wähle aus der Menge der Ergebnisse das „beste“ Clustering aus Maß für die Güte eines Clusterings

• muß unabhängig von der Anzahl ksein

• bei k-means und k-medoid: TD2undTD sinken monoton mit steigendem k

• bei EM: Esteigt monoton mit steigendem k

Brauche ein von k unabhängiges Gütemaß für die k-means- und k-medoid- Verfahren

Silhouetten-Koeffizient

Wahl des Parameters k

Silhouetten-Koeffizient

[Kaufman & Rousseeuw 1990]

• sei a(o) der Abstand eines Objekts o zum Repräsentanten seines Clusters undb(o) der Abstand zum Repräsentanten des „zweitnächsten“ Clusters

• Silhouette s(o) von o

-1

d

s(o)

d

+1

s(o)|-1 / 0 / +1 : schlecht / indifferent / gute Zuordnung SilhouettenkoeffizientsCeines Clustering

durchschnittliche Silhouette aller Objekte

• Interpretation des Silhouettenkoeffizients

s

C> 0,7: starke Struktur,

s

s o b o a o a o b o

( ) ( ) ( )

max{ ( ), ( )}

(17)

58

Dichtebasiertes Clustering

Grundlagen

Idee

• Cluster als Gebiete im d-dimensionalen Raum, in denen die Objekte dicht beieinander liegen

• getrennt durch Gebiete, in denen die Objekte weniger dicht liegen

Anforderungen an dichtebasierte Cluster

• für jedes Objekt eines Clusters überschreitet die lokale Punktdichte einen gegebenen Grenzwert

• die Menge von Objekten, die den Cluster ausmacht, ist räumlich zusammenhängend

Dichtebasiertes Clustering

Grundbegriffe

[Ester, Kriegel, Sander & Xu 1996]

• Ein Objekt o Oheißt Kernobjekt, wenn gilt:

|NH(o)|tMinPts,wobeiNH(o) = {o’ O|dist(o,o’)d H}.

• Ein Objekt pOistdirekt dichte-erreichbarvonqO

bzgl.HundMinPts,wenn gilt: pNH(q) und qist ein Kernobjekt in O.

• Ein Objekt p ist dichte-erreichbar von q, wenn es eine Kette von direkt erreichbaren Objekten zwischen qundpgibt.

p q

p q

(18)

60

Dichtebasiertes Clustering

Grundbegriffe

• Zwei Objekte pundqsind dichte-verbunden, wenn sie beide von einem dritten Objekt oaus dichte-erreichbar sind.

• Ein Cluster Cbzgl.HundMinPtsist eine nicht-leere Teilmenge von Omit für die die folgenden Bedingungen erfüllt sind:

Maximalität: p,q O: wenn pCundqdichte-erreichbar von pist, dann ist auch qC.

Verbundenheit:p,qC:pist dichte-verbunden mit q.

Dichtebasiertes Clustering

Grundbegriffe

• Definition Clustering

Ein dichte-basiertes Clustering CLder Menge O bzgl. Hund MinPtsist eine

„vollständige“ Menge von dichte-basierten Clustern bzgl. HundMinPtsin O.

• Dann ist die Menge NoiseCL(„Rauschen“) definiert als die Menge aller Objekte aus O, die nicht zu einem der dichte-basierten Cluster Cigehören.

• Grundlegende Eigenschaft

Sei C ein dichte-basierter Cluster und sei p  C ein Kernobjekt. Dann gilt:

C= {oO|odichte-erreichbar von pbzgl.HundMinPts}.

(19)

62

Dichtebasiertes Clustering

Algorithmus DBSCAN

DBSCAN(Objektmenge D, Real H, Integer MinPts) // Zu Beginn sind alle Objekte unklassifiziert,

// o.ClId = UNKLASSIFIZIERT für alle o  Objektmenge ClusterId := nextId(NOISE);

for i from 1 to |D| do Objekt := D.get(i);

if Objekt.ClId = UNKLASSIFIZIERT then

if ExpandiereCluster(D, Objekt, ClusterId, H, MinPts)

then ClusterId:=nextId(ClusterId);

Dichtebasiertes Clustering

ExpandiereCluster(Objektmenge, StartObjekt, ClusterId, e, MinPts): Boolean;

seeds:= Ne(StartObjekt);

if|seeds| < MinPtsthen// StartObjekt ist kein Kernobjekt StartObjekt.ClId := NOISE;

return false;

// sonst: StartObjekt ist ein Kernobjekt foralloseeds doo.ClId := ClusterId;

entferne StartObjekt aus seeds;

whileseedszEmptydo

wähle ein Objekt o aus der Menge seeds;

Nachbarschaft := Ne(o);

if|Nachbarschaft|tMinPtsthen// o ist ein Kernobjekt forifrom1to|Nachbarschaft|do

p := Nachbarschaft.get(i);

ifp.ClIdin{UNCLASSIFIED, NOISE} then ifp.ClId = UNCLASSIFIED then

füge p zur Menge seeds hinzu;

p.ClId := ClusterId;

entferne o aus der Menge seeds;

(20)

64

Dichtebasiertes Clustering

Parameterbestimmung

• Cluster: Dichte größer als die durch HundMinPtsspezifizierte „Grenzdichte“

• Gesucht: der am wenigsten dichte Cluster in der Datenmenge

• Heuristische Methode: betrachte die Distanzen zum k-nächsten Nachbarn.

• Funktionk-Distanz: Distanz eines Objekts zu seinem k-nächsten Nachbarn

k-Distanz-Diagramm: die k-Distanzen aller Objekte absteigend sortiert

p

q

3-Distanz(p) 3-Distanz(q)

Dichtebasiertes Clustering

Parameterbestimmung

Beispiel eines k-Distanz-Diagramms

Heuristische Methode

• Benutzer gibt einen Wert für kvor (Default ist k= 2*d - 1), MinPts:=k+1.

• System berechnet das k-Distanz-Diagramm und zeigt das Diagramm an.

• Der Benutzer wählt ein Objekt oimk-Distanz-Diagramm als Grenzobjekt aus, H=k-Distanz(o).

3-Distanz

Objekte Grenzobjekto

erstes „Tal“

(21)

66

Dichtebasiertes Clustering

Probleme der Parameterbestimmung

• hierarchische Cluster

• stark unterschiedliche Dichte in verschiedenen Bereichen des Raumes

• Cluster und Rauschen sind nicht gut getrennt

A

B

C

D

E

D’

F

G

B’ D1

D2

G1 G2

G3 3-Distanz

Objekte A, B, C

B‘, D‘, F, G B, D, E

D1, D2, G1, G2, G3

Referenzen

ÄHNLICHE DOKUMENTE

It is also possible to search the lexicon using words in Thai (or even English), though the language tools only work for Swedish.. The interface also allows for choosing which of