Data Warehousing und Data Mining



Ähnliche Dokumente
Data Warehousing und Data Mining

Clustering Seminar für Statistik

Exploration und Klassifikation von BigData

Vorlesungsplan. Von Naïve Bayes zu Bayesischen Netzwerk- Klassifikatoren. Naïve Bayes. Bayesische Netzwerke

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Voraussetzung wieder: Datenraum mit Instanzen, mehrere Attribute - kein ausgezeichnetes Zielattribut, keine vorgegebenen Klassen

Primzahlen und RSA-Verschlüsselung

Vorlesung Text und Data Mining S9 Text Clustering. Hans Hermann Weber Univ. Erlangen, Informatik

Künstliche Intelligenz Maschinelles Lernen

Mining High-Speed Data Streams

Grundlagen der Theoretischen Informatik, SoSe 2008

Würfelt man dabei je genau 10 - mal eine 1, 2, 3, 4, 5 und 6, so beträgt die Anzahl. der verschiedenen Reihenfolgen, in denen man dies tun kann, 60!.

6.2 Scan-Konvertierung (Scan Conversion)

Grundlagen des Maschinellen Lernens Kap. 4: Lernmodelle Teil II

Clustering (hierarchische Algorithmen)

Das Briefträgerproblem

Anmerkungen zur Übergangsprüfung

Grundlagen der Künstlichen Intelligenz

Inhalt dieses Kapitels. Ziel des Clustering, Anwendungen, Typen von Clustering-Algorithmen

Erstellen einer Collage. Zuerst ein leeres Dokument erzeugen, auf dem alle anderen Bilder zusammengefügt werden sollen (über [Datei] > [Neu])

1 topologisches Sortieren

Kapitel MK:IV. IV. Modellieren mit Constraints

Informationsblatt Induktionsbeweis

Häufige Item-Mengen: die Schlüssel-Idee. Vorlesungsplan. Apriori Algorithmus. Methoden zur Verbessung der Effizienz von Apriori

Systeme 1. Kapitel 6. Nebenläufigkeit und wechselseitiger Ausschluss

4. Lernen von Entscheidungsbäumen. Klassifikation mit Entscheidungsbäumen. Entscheidungsbaum

Semestralklausur zur Vorlesung. Web Mining. Prof. J. Fürnkranz Technische Universität Darmstadt Sommersemester 2004 Termin:

Erstellen von x-y-diagrammen in OpenOffice.calc

Beweisbar sichere Verschlüsselung

Zeichen bei Zahlen entschlüsseln

Musterlösungen zur Linearen Algebra II Blatt 5

50. Mathematik-Olympiade 2. Stufe (Regionalrunde) Klasse Lösung 10 Punkte

Kapitel 5: Clustering

Algorithmen II Vorlesung am

Bestimmung einer ersten

15.3 Bedingte Wahrscheinlichkeit und Unabhängigkeit

Lehrer: Einschreibemethoden

Data Warehousing und Data Mining

Welche Lagen können zwei Geraden (im Raum) zueinander haben? Welche Lagen kann eine Gerade bezüglich einer Ebene im Raum einnehmen?

1 Vom Problem zum Programm

OECD Programme for International Student Assessment PISA Lösungen der Beispielaufgaben aus dem Mathematiktest. Deutschland

Erwin Grüner

In diesem Thema lernen wir die Grundlagen der Datenbanken kennen und werden diese lernen einzusetzen. Access. Die Grundlagen der Datenbanken.

Algorithmische Mathematik

Kompetitive Analysen von Online-Algorithmen

Erweiterung der Aufgabe. Die Notenberechnung soll nicht nur für einen Schüler, sondern für bis zu 35 Schüler gehen:

Wie Google Webseiten bewertet. François Bry

Abschlussprüfung Realschule Bayern II / III: 2009 Haupttermin B 1.0 B 1.1

Korrelation (II) Korrelation und Kausalität

Arge Betriebsinformatik GmbH & Co.KG, CAP News 40, Februar CAP-News 40

Kapiteltests zum Leitprogramm Binäre Suchbäume

Wie löst man Mathematikaufgaben?

Statuten in leichter Sprache

Statistische Auswertung:

Daten sammeln, darstellen, auswerten

3.1 Konstruktion von minimalen Spannbäumen Es gibt zwei Prinzipien für die Konstruktion von minimalen Spannbäumen (Tarjan): blaue Regel rote Regel

Feiertage in Marvin hinterlegen

mit Musterlösungen Prof. Dr. Gerd Stumme, Dipl.-Inform. Christoph Schmitz 11. Juni 2007

Bewertung des Blattes

Arbeiten mit UMLed und Delphi

Datenbanksysteme 2 Frühjahr-/Sommersemester Mai 2014

Data Mining: Einige Grundlagen aus der Stochastik

Tipp III: Leiten Sie eine immer direkt anwendbare Formel her zur Berechnung der sogenannten "bedingten Wahrscheinlichkeit".

Access [basics] Gruppierungen in Abfragen. Beispieldatenbank. Abfragen gruppieren. Artikel pro Kategorie zählen

Anwendertreffen 20./21. Juni

Teil III: Routing - Inhalt I. Literatur. Geometric Routing. Voraussetzungen. Unit Disk Graph (UDG) Geometric Routing 29

Wir arbeiten mit Zufallszahlen

Nachtrag zu binären Suchbäumen

FAQ Spielvorbereitung Startspieler: Wer ist Startspieler?

Bedienungsanleitung Albumdesigner. Neues Projekt: Bestehendes Projekt öffnen:

Grundbegriffe der Informatik

Lichtbrechung an Linsen

Im Jahr t = 0 hat eine Stadt Einwohner. Nach 15 Jahren hat sich die Einwohnerzahl verdoppelt. z(t) = at + b

Wichtiges Thema: Ihre private Rente und der viel zu wenig beachtete - Rentenfaktor

Manager. von Peter Pfeifer, Waltraud Pfeifer, Burkhard Münchhagen. Spielanleitung

Algorithmen und Datenstrukturen

Algorithmen und Datenstrukturen. Große Übung vom Nils Schweer

Lineare Gleichungssysteme

Handbuch Fischertechnik-Einzelteiltabelle V3.7.3

Theoretische Grundlagen der Informatik

Tangentengleichung. Wie lautet die Geradengleichung für die Tangente, y T =? Antwort:

Lineare Funktionen. 1 Proportionale Funktionen Definition Eigenschaften Steigungsdreieck 3

MORE Profile. Pass- und Lizenzverwaltungssystem. Stand: MORE Projects GmbH

Mediator 9 - Lernprogramm

Wasserfall-Ansätze zur Bildsegmentierung

GS-Buchhalter/GS-Office 2015 Saldovorträge in folgenden Wirtschaftsjahren erfassen

R-Baum R + -Baum X-Baum M-Baum

Info zum Zusammenhang von Auflösung und Genauigkeit

Übung Theoretische Grundlagen

Umfrage der Klasse 8c zum Thema "Smartphones"

Literatur. Dominating Set (DS) Dominating Sets in Sensornetzen. Problem Minimum Dominating Set (MDS)

7 Rechnen mit Polynomen

Algorithmentheorie Maximale Flüsse

1 Mathematische Grundlagen

1 C H R I S T O P H D R Ö S S E R D E R M A T H E M A T I K V E R F Ü H R E R

Transkript:

Data Warehousing und Data Mining Clustering Ulf Leser Wissensmanagement in der Bioinformatik

Mehr Beobachtungen Sunny Hot High False Yes Sunny Hot High False No Sunny Hot High True No.. Ulf Leser: DWH und DM, Sommersemester 2007 2

Entscheidungsbäume Outlook sunny Temperature overcast Temperature rainy Temperature Windy Humidity high true false hot mild No 2/3: No, 1/3: Yes Fragestellungen Welche Faktoren sind am aussagekräftigsten? In welcher Reihenfolge bauen wir den Baum am besten? Was passiert mit unseen Werten (Outlook=snow)? Müssen wir immer bis zu den Blättern gehen? Ulf Leser: DWH und DM, Sommersemester 2007 3

Heute: Data Mining Riesige Datenberge Business: Weblogs, e-commerce, Telekoms, Transaktionen, Börsendaten, Kundendaten, Forschung: Astronomie, Teilchenphysik, Bioinformatik, Jeder: Nachrichten, Blogs, Webseiten, Fotos, Manuelle Analyse ausgeschlossen Millionen oder Milliarden von Datensätzen Hochdimensionale Daten mit Hunderten von Attributen Data-Driven : Data Mining generiert die Hypothese und soll sie auch gleich testen Vorsicht: Irgendwas findet man immer We are drowning in data and starving for knowledge Was machen Kunden eigentlich auf meiner Webseite? Ulf Leser: DWH und DM, Sommersemester 2007 4

KDD als Prozess Anwendung verstehen Daten auswählen Data cleaning und preprozessieren Datenreduktion (Dimensionen, Gruppierung, ) Explorative Datenanalyse Data Mining Interpretation und Anwendung der Ergebnisse Ulf Leser: DWH und DM, Sommersemester 2007 5 Quelle: [FPPS96]

Die wichtigsten drei Fragestellungen Klassifikation Gegeben eine Menge von Objekten mit Klassenzugehörigkeit (Trainingsdaten) und eine Menge von Objekten ohne (Testdaten) Frage: Welcher Klasse gehören die unklassifizierten Objekte an? Beispiel: Fraud-Detection bei Kreditkarten Clustering Gegeben eine Menge von Objekten Frage: Wie kann man diese Objekte in möglichst homogene Cluster einteilen? Beispiel: Segmentierung von Kunden Assoziationsregeln Gegeben eine Menge von jeweils gemeinsam durchgeführten Aktionen Frage: Welche Aktionen kommen besonders häufig zusammen vor? Beispiel: Welche Produkte werden besonders häufig gemeinsam gekauft? Ulf Leser: DWH und DM, Sommersemester 2007 6

Hierarchische Aufteilung Verwendung lokaler Trennfunktionen Lokal für einen Subraum der Daten Ähnlichkeit zu mehrdimensionalen Indexen ist kein Zufall Ulf Leser: DWH und DM, Sommersemester 2007 7

Clustering Finde Gruppen zusammengehörender Objekte Basiert auf einem Abstandsmaß für Objekte Zusammengehörend = nahe im Raum Ulf Leser: DWH und DM, Sommersemester 2007 8

Nicht immer so einfach Problem ist schillernder und deutlich weniger gut definiert als Klassifikation Wie groß sollen die Cluster ein? Welche Form dürfen die Cluster haben? Wie viele Cluster erwartet man? Müssen alle Punkte geclustert werden? Dürfen sich Cluster überlappen? Quelle: [ES00] Ulf Leser: DWH und DM, Sommersemester 2007 9

Association Rule Mining Welche Ereignisse (Items) geschehen häufig zusammen? Quelle: [Dun02] Problem: Es gibt so viele mögliche Itemsets! Wie viele? Ulf Leser: DWH und DM, Sommersemester 2007 10

Datenaufbereitung Viele DM Verfahren reagieren empfindlich auf Ausreißer, fehlende Werte, Datenfehler etc. Preprocessing: Herstellung einer homogenen und bereinigten Datenbasis Das ist unser ETL Prozess: Erhöhung der Datenqualität Beispiele Ersetzung von fehlenden Werten durch Schätzen, Extrapolation Aber Datenverteilung muss erhalten bleiben Diskretisierung von Werten (Binning) Z.B. Einteilung des Einkommens von Kunden in 5 Bereiche Glättet Ausreißer, reduziert die Zahl verschiedener Werte Ranking von Werten Statt absoluten Einkommen wird der Rang benutzt Glättet Ausreißern Lässt aber auch ev. wichtige Unterschiede verschwinden Ulf Leser: DWH und DM, Sommersemester 2007 11

Equi-Width Histograms 3500 3000 2500 2000 1500 Normal distribution Equi-width 1000 500 0 40 47 54 61 68 75 82 89 96 103 110 117 Zahl der Bins festlegen und Raum äquidistant aufteilen Bins enthalten unterschiedlich viele Werte und decken den ganzen Raum gleichmäßig ab Berechnung durch Sortierung und einen Scan Ulf Leser: DWH und DM, Sommersemester 2007 12

Equi-Depth 3500 3000 2500 2000 1500 Normal distribution Equi-Depth 1000 500 0 40 47 54 61 68 75 82 89 96 103 110 117 Zahl der Bins festlegen, dann Raum so aufteilen, dass alle Bins gleich viele Tupel enthalten Führt zu gleichgroßen Bins mit unterschiedlicher Breite Ulf Leser: DWH und DM, Sommersemester 2007 13

ODM Algorithmen Klassifikationsalgorithmen Decision Tree Naive Bayes und Adaptive Bayes Networks SVM mit linearen Kernel Regression Clustering K-Means Euklidischer- oder Cosinus-Abstand Cluster werden durch Centroide repräsentiert Orthogonal Partitioning Clustering Hierarchisches Clustering mit achsenparallelen Schnitten Association Rule Mining A-Priori Algorithmus mit Min-Support/Confidence Filtering Text Mining Clustering mit k-means Klassifikation mit SVM Ulf Leser: DWH und DM, Sommersemester 2007 14

Inhalt dieser Vorlesung Einführung Clustergüte Ähnlichkeiten Clustermitte Hierarchisches Clustering Partitionierendes Clustering Dichte-basiertes Clustering Ulf Leser: DWH und DM, Sommersemester 2007 15

Clustering Finde Gruppen ähnlicher Objekte Ohne zu wissen wie viele Gruppen es geben soll Unsupervised learning (Mit der Gruppierung haben wir meist auch eine Klassifikation) Anwendungen Segmentiere Kunden in Gruppen Clustere Patienten in verschiedene Therapieanleitungen Finde Typen von Sternen in astronomischen Karten Welche Cluster von Genen reagieren ähnlich auf ein bestimmtes Medikament? Welche Ergebnisse einer Websuche kommen aus dem selben Thema(encluster) Ulf Leser: DWH und DM, Sommersemester 2007 16

Beispiel 1 Mtl Einkäufe Einkommen (geschlossen aus Wohnort) Ulf Leser: DWH und DM, Sommersemester 2007 17

Beispiel 1 Mtl Einkäufe Vier Cluster und ein Ausreißer(-Cluster) Überlappungsfreie, konvexe Cluster Einkommen Ulf Leser: DWH und DM, Sommersemester 2007 18

Beispiel 2 Mtl Einkäufe Zwei Cluster Besser? Einkommen Ulf Leser: DWH und DM, Sommersemester 2007 19

Güte eines Clusterings Intuitiv ist eine Gruppierung gut, wenn innerhalb jedes Clusters alle Punkte nahe beieinander liegen Definition Sei f eine Klassenzuordnung für Objekte O zu einer Menge von Klassen C mit C =k. Sei m c der Mittelpunkt aller Objekte der Klasse c C, und sei d(o,o ) der Abstand zwischen zwei beliebigen Punkten. Dann ist die k-güte von f: q ( f ) = d( o, k m c c C f ( o) = c Bemerkung Zur Bestimmung von Mittelpunkten kommen wir gleich Auch die Einschränkung auf k-güte erklärt sich gleich ) Ulf Leser: DWH und DM, Sommersemester 2007 20

6-Güte In jedem Cluster Mittelpunkte bestimmen Abstand aller Punkte im Cluster zum Mittelpunkt summieren Summe über alle Cluster bilden Ulf Leser: DWH und DM, Sommersemester 2007 21

Nachteil Optimales Clustering ohne Einschränkung auf k? Trivial mit k= O Ulf Leser: DWH und DM, Sommersemester 2007 22

Güte bei fester Anzahl von Clustern k-güte ist als Maß nur dann sinnvoll, wenn die Anzahl an Clustern vorab feststeht Nur damit: Clustering als Optimierung Finde für eine Menge O von Objekten eine Zuordnung f in k Cluster so, dass q k (f) minimal ist Varianten Festlegung von k ist sehr sensitiv bei Ausreißern Ausreißer vorab löschen (aber wie findet man die? Clustering!) Cluster werden immer kreisförmig sein Oft verlangt man, dass die Intra-Cluster Ähnlichkeit hoch und gleichzeitig die Inter-Cluster Ähnlichkeit gering ist Formel ändern: Maximiere die Summe von q k (f) minus die Summe über den durchschnittlichen Abstand jedes Punkts zu allen Clusterzentren außer seinem eigenen Ulf Leser: DWH und DM, Sommersemester 2007 23

Clustergüte zweiter Versuch Definition Sei f: O C mit C beliebig. Sei dist(o,c i ) der mittlere Abstand von o zu allen Punkten eines Clusters C i. Damit definieren wir a(o) = dist(o,f(o)) b(o) = min( dist(o,c i )) mit C i f(o) Die Silhouette eines Punktes s(o) ist Die Silhouette von f ist Σs(o) Bemerkung s( o) = b( o) a( o) max( a( o), b( o)) b(o): Verschlechterung, wenn es Cluster f(o) nicht gäbe (und o dem nächsten Cluster zugeordnet werden würde) Das heißt s(o) 0: Punkt liegt zwischen zwei Clustern s(o) 1: Punkt liegt näher am eigenen als am nächsten Cluster s(o) -1: Punkt liegt näher am nächsten Cluster als am eigenen Ulf Leser: DWH und DM, Sommersemester 2007 24

Silhouette gut Ulf Leser: DWH und DM, Sommersemester 2007 25

Silhouette schlecht Zu welchem Cluster sollen diese Punkte gehören? Ulf Leser: DWH und DM, Sommersemester 2007 26

Ähnlichkeit Alle Verfahren müssen die Ähnlichkeit oder Nähe zweier (mdimensionaler) Objekte berechnen können Es gibt eine unendliche Menge von Ähnlichkeitsfunktionen Numerische Werte Euklidscher Abstand Betont große Abstände in einzelnen Dimensionen sehr stark Standard für metrische Werte Cosinus-Abstand: Differenz der Winkel der Featurevektoren zum Nullpunkt Ausreißer in einzelnen Dimensionen zählen weniger Standard z.b. beim Text-Mining Kategorielle Werte Anwendungsabhängiges Maß notwendig Mengenwertige Werte Z.B. Schlagwörter zu einem Dokument Beispiel: Anzahl gleicher Werte normiert auf die Vereinigung der Wertemengen Ulf Leser: DWH und DM, Sommersemester 2007 27

Die Mitte eines Clusters Was ist der Mittelpunkt eines Clusters? Numerische Werte Meistens: Der Mittelwert aller Featurevektoren der Punkte des Clusters Centroid Manchmal: Der Median aller Featurevektoren der Punkte des Clusters Medoid: Der mittlerste Punkt von C, der auch in O ist Nachteil: Berechnung eines Medoids ist teuer Vorteil: Weniger sensitiv bei Ausreißern Kategorielle Werte Mittelwerte sind i.a. nicht definiert Ein Abstandsmaß braucht man natürlich trotzdem Also muss man den Mediod nehmen Ulf Leser: DWH und DM, Sommersemester 2007 28

Inhalt dieser Vorlesung Einführung Hierarchisches Clustering Partitionierendes Clustering Dichte-basiertes Clustering Ulf Leser: DWH und DM, Sommersemester 2007 29

Clusteralgorithmen Hierarchische Verfahren: hierarchisch geschachtelte Cluster Bottom-Up: Ausgehend von C = O werden sukzessive Cluster verschmolzen bis nur noch ein Cluster da ist Top-Down: Ausgehend von C 0 =O werden sukzessive Cluster geteilt bis jedes Objekt sein eigener Cluster ist Benötigen kein k, aber sind eher teuer Berechnen nicht unmittelbar Cluster (weiterer Schritt notwendig) Partitionierende Verfahren: Zerlegung der Punktmenge in k Cluster Benötigen die Anzahl k der Cluster als Parameter Dichte-basierte Verfahren Suchen nach Subräumen mit hoher Punktdichte und fassen die zu Clustern zusammen Tendenziell langsam Können sehr gut durch multidimensionale Indexstrukturen unterstützt werden Ulf Leser: DWH und DM, Sommersemester 2007 30

Hierarchisches Clustering Auch: UPGMA Unweighted Pair-group method with arithmetic mean Bottom-Up Berechnung eines binären Baums (Dendogramm) Algorithmus Berechne Abstandsmatrix M Ähnlichkeit aller Objekte zu allen anderen Objekten Wähle Paar o 1, o 2 mit dem kleinsten Abstand Bereche x=m(o 1,o 2 ) (den Mittelpunkt) Lösche o 1, o 2 aus M; füge x ein Berechne Abstand von x zu allen verbleibenden Objekten/Clustern in M Als Mittelwert der Abstände von o 1 und o 2 Iteriere, bis M leer ist Ulf Leser: DWH und DM, Sommersemester 2007 31

Beispiel: Ähnlichkeitsmatrix A B C D E F.. A 90 84 91 81 82.. B 43 99 37 36.. C 14 35 21 87 D 28 34.. E 95.. F.............. Ulf Leser: DWH und DM, Sommersemester 2007 32

Ulf Leser: DWH und DM, Sommersemester 2007 33 Iteration A B C D E F G ABCDEFG A B. C.. D... E... F... G... (B,D) a ACEFGa A C. E.. F... G... a... A B C D E F G ACGab A C. G.. a... b... (E,F) b A B C D E F G (A,b) c CGac C G. a.. c... A B C D E F G (C,G) d acd a c. d.. A B C D E F G (d,c) e A B C D E F G (a,e) f A B C D E F G ae a e.

Bespiel Genexpressionsdaten Ulf Leser: DWH und DM, Sommersemester 2007 34

Festlegung von Clustern So... Das sind neun Cluster Ulf Leser: DWH und DM, Sommersemester 2007 35

Alternative Oder so? Das sind 14 Cluster Ulf Leser: DWH und DM, Sommersemester 2007 36

Geschachtelte Cluster Ulf Leser: DWH und DM, Sommersemester 2007 37

Eigenschaften Vorteile Konzeptionell einfach, hübsche, irgendwie intuitive Grafiken Keine Festlegung auf Anzahl Cluster notwendig Nachteile Benötigt die Abstandsmatrix als Eingabe O =n: O(n 2 ) Platz und O(n 2 ) Zeit Plus Zeit zur Berechnung der Cluster Berechnet keine Cluster Weiterer Schritt (wie?) notwendig Fazit Kaum anwendbar für viele (>10000) Objekte Eher ein Umweg als Clustering Ulf Leser: DWH und DM, Sommersemester 2007 38

SQL - Distanzmatrix Annahmen Alle Objekte und ihre Attribute a, b, stehen in einer Tabelle objects Z.B: (o 1,x 1,y 1,z 1 ), (o 2,x 2,y 2,z 2 ), (o 3,x 3,y 3,z 3 ), Numerische Attribute Euklidischer Abstand Berechnung der Distanzmatrix M? SELECT FROM WHERE t1.oid, t2.oid, sqrt(sqr(t1.a-t2.a)+sqr(t1.b-t2.b)+ ) objects t1, objects t2 t1.oid>t2.oid; Ulf Leser: DWH und DM, Sommersemester 2007 39

SQL - Iteration Distanzmatrix materialisieren (teuer!) Tabelle distance Wir erweitern objects um ein Flag c, das anzeigt, ob ein Tuple ein Objekt oder ein Cluster ist Iteratives Berechnung Geht nicht mit einer Query PL-SQL Programm mit n= O Durchläufen Mit Index auf Abstandspalte in distance ein log(n) Zugriff aus kleinstes Paar P Löschen aller Einträge des Paars in distance Berechne Mittelwert von P und speichere mit c=true und neuer, bisher größter OID in objects Berechne neue Abstände und Einfügen in distance Ulf Leser: DWH und DM, Sommersemester 2007 40

Neue Abstände INSERT INTO distance SELECT t1.oid, t2.oid, dist(t1,t2) FROM objects t1, objects t2 WHERE t1.oid = $newid AND t2.oid in (SELECT DISTINCT oid1 FROM distance); Nur für die brauchen wir noch neue Abstände 2 3 4 Beispiel 1 2 3 4 5 6 7 Distanzmatrix o1 o2 d 2 1? 3 1? 3 2? 4 1? 4 2? 4 3? 5 1? 5 2? Distanztabelle o1 o2 d 2 1? 3 1? 3 2? 4 1? 4 2? 4 3? 5 1? 5 2? o1 o2 d 4 1? 5 1? 5 4? 6 1? 6 4? 6 5? 7 1? o1 o2 d 4 1? 5 1? 5 4? 6 1? 6 4? 6 5? 7 1? 8 1? 8 4? Z.B: (2,3) als kleinstes Element gelöscht Neuer Knoten 8 eingefügt Kleinstes Element; Spezialbehandlung notwendig Ulf Leser: DWH und DM, Sommersemester 2007 41

Varianten: Abstandsmaße Beim hierarchischen Clustern berechnen wir oft den Abstand zweier Cluster bzw. eines Punktes zu einem Cluster Bisher: Clustermittelpunkt verwenden Viele Alternativen Single Link: Minimum aller Abstände zwischen zwei Objekten aus je einem Cluster Complete Link: Maximum aller Abstände Average Link: Durchschnittlicher Abstand Centroid: Abstand der Mittelpunkte Ulf Leser: DWH und DM, Sommersemester 2007 42

Varianten: Abstandsmaße Beim hierarchischen Clustern berechnen wir oft den Abstand zweier Cluster bzw. eines Punktes zu einem Cluster Bisher: Clustermittelpunkt verwenden Viele Alternativen Single Link: Minimum aller Abstände zwischen zwei Objekten aus je einem Cluster Complete Link: Maximum aller Abstände Average Link: Durchschnittlicher Abstand Centroid: Abstand der Mittelpunkte Ulf Leser: DWH und DM, Sommersemester 2007 43

Varianten: Abstandsmaße Beim hierarchischen Clustern berechnen wir oft den Abstand zweier Cluster bzw. eines Punktes zu einem Cluster Bisher: Clustermittelpunkt verwenden Viele Alternativen Single Link: Minimum aller Abstände zwischen zwei Objekten aus je einem Cluster Complete Link: Maximum aller Abstände Average Link: Durchschnittlicher Abstand Centroid: Abstand der Mittelpunkte Ulf Leser: DWH und DM, Sommersemester 2007 44

Inhalt dieser Vorlesung Einführung Hierarchisches Clustering Partitionierendes Clustering k-means k-medoid und CLARANS Sampling: BIRCH Dichte-basiertes Clustering Ulf Leser: DWH und DM, Sommersemester 2007 45

K-Means K-Means ist wahrscheinlich die bekannteste Clusteringmethode Mit sehr vielen Varianten Benötigt die Anzahl k von Clustern als Parameter Berechnet ein lokales Optimum bezüglich k-güte Keine Garantien für globale Optimalität bzgl. k-güte Algorithmus Wähle zufällig k Clustermittelpunkte Iteriere Für alle Objekte Berechne Abstand jedes Objekts zu jedem Clustermittelpunkt Weise Objekt seinem nächsten Clustermittelpunkt zu Wenn sich keine Objektzuordnung mehr geändert hat, dann STOP Für alle Cluster Berechne neues Clusterzentrum Ulf Leser: DWH und DM, Sommersemester 2007 46

Beispiel 1 k=3 zufällige Startwerte auswählen Quelle: Stanford, CS 262 Computational Genomics Ulf Leser: DWH und DM, Sommersemester 2007 47

Beispiel 2 Objekte dem nächsten Clusterzentrum zuordnen Ulf Leser: DWH und DM, Sommersemester 2007 48

Beispiel 3 Clustermittelpunkte neu berechnen Ulf Leser: DWH und DM, Sommersemester 2007 49

Beispiel 4 Objekte neu zuordnen Ulf Leser: DWH und DM, Sommersemester 2007 50

Beispiel 5 Mittelpunke anpassen Ulf Leser: DWH und DM, Sommersemester 2007 51

Beispiel 6 Fertig, keine neuen Zuordnungen mehr Ulf Leser: DWH und DM, Sommersemester 2007 52

Varianten Wähle initiale Clusterzentren gleichmäßig verteilt im Raum statt beliebige Datenpunkte zu nehmen Schlecht für stark geclusterte Daten, da Mittelpunkte erst einen weiten Weg zurücklegen müssen Gut für relativ gleichmäßig verteilte Punkte (mit lokalen Clustern) Wie verteilt man Punkte gleichmäßig bei 1000-dimensionalen Daten? Stop, wenn nur noch wenige (Schwellwert) Objekte ihre Zugehörigkeit geändert haben Wichtig! Konvergenz von k-means ist nicht garantiert Schneller, leichte Ungenauigkeiten Berechne neue Clustermittelpunkte nach jedem Wechsel Mittelpunkte können inkrementell aktualisiert werden Spart die zweite innere Schleife, aber Reihenfolge der Punke wird wichtig Starte k-means mehrmals mit unterschiedlichen Startpunkten und nimm das beste Ergebnis Standardmethode, um zufällig schlechte Startkonstellationen zu verhindern Ulf Leser: DWH und DM, Sommersemester 2007 53

Eigenschaften In der Praxis konvergiert der Algorithmus relativ schnell (5-10 Läufe) Wenn l die Zahl der Durchläufe ist, brauchen wir l Iterationen Neuzuordnung: n*k Vergleiche Objekte-Zentren Clusterbestimmung: n Vektoradditionen, verteilt auf k Cluster Zusammen: O(n*k*l) Das ist schnell Insbesondere benötigen wir keine Distanzmatrix Nachteil: Welches k nehmen wir? Alternative: Verschiedene k probieren Silhouette zur Güteabschätzung verwenden Sehr empfindlich gegenüber Ausreißern Verzerren die Struktur der Cluster Es werden immer alle Punkte geclustered Ulf Leser: DWH und DM, Sommersemester 2007 54

k-means und Ausreißer Ulf Leser: DWH und DM, Sommersemester 2007 55

SQL Tabelle objects mit Objekten und Attributen Tabelle cluster speichert Koordinaten des Zentrums Erstes Update Zuweisung aller Clusterzentren Zweites Update Berechnung aller neuer Clustermittelpunkte Probleme und Potential Auch nicht geänderte Cluster werden neu berechnet Was passiert bei vielen Dimensionen? REPEAT UPDATE objects SET cluster= (SELECT cid FROM (SELECT dist(o.a,a, ) d FROM cluster ORDER BY d) WHERE ROWNUM=1); IF %SQLCOUNT%!= 0 UPDATE cluster SET (a,b, )= (SELECT sum(a)/n,sum(b)/n, FROM objects o WHERE o.cluster=cid); ELSE BREAK; ENDIF; UNTIL FALSE; Ulf Leser: DWH und DM, Sommersemester 2007 56

K-Medoid K-Means arbeitet nicht mit kategoriellen Werten Mittelpunkte sind nicht definiert Andere Methode: K-Mediod Wahl des mittleren Punktes eines Clusters statt des Mittelpunkts Repräsentativer Punkt des Clusters PAM: Partitioning around Medoids Problem? Die Medoide können wir nicht einfach linear aus allen Objekten eines Clusters berechnen Statt dessen: Berechne Güte für alle möglichen Medoide in jedem Cluster und wähle jeweils das Beste Sehr teuer (O(n 3 )) Entspricht fast einem kompletten Test aller möglichen Clusterzentren Reale Laufzeiten sind aber schneller Vorteil: Weniger sensitiv bzgl. Ausreißern Ulf Leser: DWH und DM, Sommersemester 2007 57

k-medoid und Ausreißer Ulf Leser: DWH und DM, Sommersemester 2007 58

CLARANS Idee: Teste nur manche Vertauschungen maxneighbor viele dafür starte öfter (numlocal) CLARANS: A Clustering Algorithm based on Randomized Search 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-Me TD_Änderung := TD N M - TD; if TD_Änderung < 0 then ersetze M durch N; TD := TD N M ; i := 0; else i:= i + 1; end do; if TD < TD_best then TD_best := TD; Merke die aktuellen return Medoide; Ulf Leser: DWH und DM, Sommersemester 2007 59

Vergleich [ES00] Qualität Laufzeit TD(CLARANS) TD(PAM) Unwesentlich schlechtere Ergebnisse (1-5%) Viel bessere Laufzeit (nahezu linear) Nicht untypisch: Wenn die Daten gut clustern, dann findet man diese Cluster sehr schnell Zuordnung der wenigen problematischen Objekte benötigt dann viel Zeit, bringt aber nur wenig Verbesserung Quelle: [ES00] Ulf Leser: DWH und DM, Sommersemester 2007 60

Skalierbares k-means: BIRCH K-Means und CLARANS greifen häufig und zufällig auf Objekte der Datenbank zu Ineffizient und langsam bei sehr großen Datenbanken BIRCH: Balanced iterative reducing and clustering using hierarchies Macht nur wenige Scans durch die Datenbank (minimal 2) Phase 1: Im Speicher wird ein Cluster Feature Tree aufgebaut Ähnlich einem B* Baum, repräsentiert hierarchische Cluster Parameter sind der Branching Factor und ein Schwellwert t T bestimmt die minimale Güte eines Knoten (Cluster) Blattknoten speichern nur Cluster Feature: Zentrum, Radius und Güte Neues Objekt: Finde nächsten Cluster und passe CF an Das geht inkrementell und wegen der Baumstruktur sehr schnell Bei Überlauf (Cluster zu schlecht) teile Blattknoten Wenn dabei der BF des Elternknoten überschritten wird teile den auch (rekursiv den Baum rauf) Wenn der Speicher voll ist: Erneuter Lauf mit größerem t Ulf Leser: DWH und DM, Sommersemester 2007 61

Beispiel [HK06] CF 1 CF 2 child 1 child 2 child 3 child 6 CF 3 CF 6 CF 1 CF 2 child 1 child 2 child 3 child 5 CF 3 CF 5 prev CF 1 CF 2 CF 6 next prev CF 1 CF 2 CF 4 next Ulf Leser: DWH und DM, Sommersemester 2007 62

BIRCH Phase 2 Nach Phase 1 repräsentiert jedes Blatt einen Cluster Aber Objekte sind noch nicht zugeordnet Einfachste Möglichkeit Scanne einmal durch die Daten und weise jedes Objekt seinem nächsten Cluster zu Verbesserungen Merge/splitte Cluster mit ihren Nachbarn Die findet man über den Baum Viel Raum für Ideen Ulf Leser: DWH und DM, Sommersemester 2007 63

Inhalt dieser Vorlesung Einführung Hierarchisches Clustering Partitionierendes Clustering Dichte-basiertes Clustering DBSCAN Clustering und multidimensionale Indexstrukturen Ulf Leser: DWH und DM, Sommersemester 2007 64

Aber Quelle: [FPPS96] K-Means (und CLARANS und k-medoid) finden nur konvexe Clusters Das ergibt sich auf der Nähe zu einem Mittelpunkt Ulf Leser: DWH und DM, Sommersemester 2007 65

Dichtebasiertes Clustering [EKSX96] Sucht nach Regionen hoher Dichte Anzahl Cluster ist nicht vorbestimmt Findet auch nicht konvexe Cluster Bekanntester Vertreter: DBSCAN Wie definiert man dichte Bereiche? Jeder Punkt eines Clusters hat viele nahe Nachbarn Alle Punkte eines Clusters sind über nahe Nachbarn voneinander erreichbar Ulf Leser: DWH und DM, Sommersemester 2007 66

Grundbegriffe Definition Geg. Parameter ε ( Nachbar ) und minpts ( viele ). Sei Nε(o) die ε-nachbarschaft von Punkt o. Ein Objekt o heißt Kernobjekt, wenn Nε(o) minpts Ein Objekt p ist direkt dichte-erreichbar von einem Objekt q, wenn q ein Kernobjekt ist und p Nε(q) p muss kein Kernobjekt sein (Rand) p ist dichte-erreichbar von q, wenn es eine Kette von direkt dichte-erreichbaren Objekten zwischen p und q gibt. Bemerkung Dichte-Erreichbarkeit erzeugt einen Kernbereich und einen Rand p q p q Ulf Leser: DWH und DM, Sommersemester 2007 67

Weitere Grundbegriffe Definition Voraussetzungen wie eben. Zwei Objekte p und q sind dichte-verbunden, wenn es ein mindestens Objekt o gibt, von dem p und q dichte-erreichbar sind. Auch Randpunkt sind also dichte-verbunden Ein Cluster ist eine Teilmenge C O für die gilt Maximalität: p,q O: wenn p C und q dichte-erreichbar von p ist, dann ist auch q C Verbundenheit: p,q C: p ist dichte-verbunden mit q Ein Clustering von O ist die Menge aller Cluster von O, die mindestens ein Kernobjekt enthalten Alle Punkte, die nicht in einem Cluster sind, heißen Rauschen Bemerkung Es gilt: Cluster C und p C ein Kernobjekt: C={o O o dichteerreichbar von p} Cluster sind nicht notwendigerweise disjunkt Aber überlappen höchstens sehr wenig Ulf Leser: DWH und DM, Sommersemester 2007 68

Beispiel Rauschen (Kein Rauschen, wenn minpts=4) Randpunkte ε = Kernpunkte MinPts = 5 Randpunkt befindet sich in zwei Clustern Ulf Leser: DWH und DM, Sommersemester 2007 69

Algorithmus Aus der Definition ergibt sich unmittelbar ein Algorithmus zum Finden des dichtebasierten Clusterings einer Objektmenge O Das Clustering ist eindeutig clustercount := 1; for i from 1 to O do o := O.get(i); if o.clusterid = NULL and kernobjekt(o) then // Alle Punkte ansehen // Punkt in keinem Cluster // und im Kernbereich // eines (neuen) Clusters if expcl( o, O, clustercount)!= 0 // Cluster berechnen then clustercount++; // Nächster Cluster Ulf Leser: DWH und DM, Sommersemester 2007 70

Analyse Benötigt oberflächlich gesehen nur einen Lauf durch die Daten Aber: ExpandiereCluster ist teuer Sucht wiederholt nach allen Punkten in der ε-nachbarschaft von Punkten o Ohne multidimensionalen Index Alle paarweisen Distanzen vorberechnen (Distanzmatrix teuer) Bei Anfrage für o: Alle Objekte p verwerfen mit p Nε(o) Benötigt O(n 2 ) Zeit und Platz - schlecht Mit multidimensionalem Index Multidimensionaler Index muss Nachbarschaftsqueries unterstützen Damit: O(n* Aufwand für eine ε-query) Gleiches Problem beim Test kernobjekt() Ulf Leser: DWH und DM, Sommersemester 2007 71

Wie findet man die Parameter? Idee: Finde den am wenigsten dichten Cluster in den Daten Der aber trotzdem ein Cluster ist Definitionssache Für ein Objekt o ist seine k-distanz die Entfernung des k-nächsten Objekt Damit können wir ein k-distanz-diagramm bauen Wähle den Knick in der Verteilung p 3-Distanz(p) 3-Distanz(q) 3-Distanz Knick Quelle: [EKSX96] q Objekte Ulf Leser: DWH und DM, Sommersemester 2007 72

Probleme Und wenn es keinen Knick gibt? Schwierig: Stark unterschiedlicher Dichte in verschiedenen Bereichen des Raumes Viele (kleine) Knicks Mit einem Parameterpaar minpts, ε kann man das nicht beschreiben Auch schwierig: Cluster und Rauschen sind nicht gut getrennt Kein Knick B B A C D D D1 G1 F G G3 G2 E 3-Distanz A, B, C B, D, E B, D, F, G Quelle: [EKSX96] D1, D2, G1, G2, G3 D2 Objekte Ulf Leser: DWH und DM, Sommersemester 2007 73

Sensitivität Wählen des richtigen ε ist aber leider absolut essentiell Ulf Leser: DWH und DM, Sommersemester 2007 74

Clustering und Indexstrukturen Recall: Multidimensionale Indexstrukturen basieren aus der Idee, im hochdimensionalen Raum benachbarte Objekte auch auf der ein/zweidimensionalen Disk benachbart zu speichern Grid-File, kd-baum, R-Baum Damit ist jeder MDI auch ein Clustering mit Problemen An den Rändern der Blöcke Cluster sind alle gleich groß Mancher Block ist fast leer Ein MDI kann aber wunderbar verwendet werden Zur Unterstützung der ε-anfragen von DBSCAN Zur Auswahl guter Startpunkte bei k-means oder CLARANS Zur Auswahl guter Samples für BIRCH Als Vor-Cluster (mit Nachbearbeitung): Grid-Cluster Ulf Leser: DWH und DM, Sommersemester 2007 75

Literatur Ester, M. and Sander, J. (2000). "Knowledge Discovery in Databases". Berlin, Springer. Han, J. and Kamber, M. (2006). "Data Mining. Concepts and Techniques", Morgan Kaufmann. Ester, M., Kriegel, H. P., Sander, J. and Xu, X. (1996). "A density-based algorithm for discovering clusters in large spatial databases". Conference on Knowledge Discovery in Databases. Ulf Leser: DWH und DM, Sommersemester 2007 76