3. Informationsgewinnung 3.1. Informationsextraktion Vorlesung Intelligente Informationssysteme Wintersemester 2004/2005 17. 12. 2004 Prof. Dr. Bernhard Thalheim Information Systems Engineering Group Computer Science Institute Kiel University, Germany Vorlesungprogramm ¨ ¥ Aufbereitung zum intelligenten Ausspiel § ¦ IntelligenteIS.8 Data Mining Systeme 17. 12. 2004 B. Thalheim “Knowledge” discovery als Prozeß Pragmatismus der Informationsextraktion basierend auf Ähnlichkeitsmaßen, Datensäuberung, Vorverarbeitung, Datenintegration, -transformation, Bewertung, Visualisierung Data Mining von “dirty” statistics zur Kunst KDD Data Mining • Clustering Programme • Outlier detection Ausblick • Klassifikation • Regression Content Information Concept Topic Programmbibliotheken z.B. WEKA, DaMiT zur Unterstützung des Extraktion Knowledge Discovery ¨ ¥ §anerkannte ‘Definition’ ¦ Fayyad, Piatetsky-Shapiro & Smyth 1996 IntelligenteIS.8 Data Mining Systeme 17. 12. 2004 B. Thalheim KDD Data Mining Programme Knowledge Discovery in Databases (KDD) ist der Prozeß der (semi-) automatischen Extraktion von Wissen aus Datenbanken, das gültig bisher unbekannt und potentiell nützlich ist. Bemerkungen: (semi-) automatisch: im Unterschied zu manueller Analyse. Häufig ist trotzdem Interaktion mit dem Benutzer nötig. gültig: im statistischen Sinn. bisher unbekannt: bisher nicht explizit, kein “Allgemeinwissen”. potentiell nützlich: für eine gegebene Anwendung. Ausblick Content Information Concept Topic Teilbereiche: • Statistik: modellbasierte Inferenzen Schwerpunkt auf numerischen Daten • Data Mining: Suchverfahren Schwerpunkt auf symbolischen Daten • Intelligente Informationssysteme: Skalierbarkeit für große Datenmengen Neue Datentypen (Webdaten, Micro-Arrays, ...) Integration mit kommerziellen Datenbanksystemen Das Prozeßmodell des Knowledge Discovery IntelligenteIS.8 Data Mining Systeme 17. 12. 2004 B. Thalheim Vorverarbeitung: Integration von Daten aus unterschiedlichen Quellen; Vervollständigung; Konsistenzprüfung Transformation: Diskretisierung numerischer Merkmale; Ableitung neuer Merkmale; Selektion relevanter Merkmale KDD Data Mining Programme Ausblick Content Information Concept Fokussieren: Beschaffung der Daten; Säuberung von Inkonsistenzen und Rauschen; Verwaltung (File/DB); Selektion relevanter Daten Topic Data Mining: Generierung der Muster bzw. Modelle Evaluation: Bewertung der Interessantheit durch den Benutzer; Validierung: Statistische Prüfung der Modelle Informationsvisualisierung in unterschiedlichen Präsentationsformaten je nach Rezeptionsmuster Bestandteile des Knowledge Discovery Features: (Merkmale (“Features”) von Objekten) IntelligenteIS.8 Data Mining Systeme 17. 12. 2004 B. Thalheim Oft sind die betrachteten Objekte komplex Eine Aufgabe des KDD-Experten ist dann, geeignete Merkmale (Features) zu definieren bzw. auszuwählen, die für die Unterscheidung (Klassifikation, Ähnlichkeit) der Objekte relevant sind. Bilddatenbanken: Farbhistogramme; Gen-Datenbanken: Expressionslevel; Text-Datenbanken: Begriffshäufigkeiten Der Feature-Ansatz ermöglicht einheitliche Behandlung von Objekten verschiedenster Anwendungsklassen KDD Data Mining Programme Ausblick Content Information Concept Topic Merkmalsvektoren: Im Kontext von statistischen Betrachtungen werden die Merkmale häufig auch als Variablen bezeichnet Die ausgewählten Merkmale werden zu Merkmalsvektoren (Feature Vector) zusammengefaßt Der Merkmalsraum ist häufig hochdimensional Ähnlichkeit von Objekten: mit Maßen Anwendung: Spezifiziere Anfrage-Objekt und ... ...suche ähnliche Objekte Range-Query (Radius e) suche die k ähnlichsten Objekte Nearest Neighbor Ähnlichkeit von Objekten Euklidische Maße: simk (p̄, q̄) = ( Pn 1 k k i=1 |pi − qi | ) k = 1: Manhattan-Norm IntelligenteIS.8 Data Mining Systeme 17. 12. 2004 B. Thalheim (Die Unähnlichkeiten der einzelnen Merkmale werden direkt addiert) k = 2: klassische Euklidische Norm (natürlichstes Distanzmaß) Maximumsnormen: sim0 (p̄, q̄) = (maxni=1 |pi − qi |) Die Unähnlichkeit des am wenigsten ähnlichen Merkmals zählt Anpaßbare Ähnlichkeitsmaße KDD Data Mining Programme Ausblick Gewichtetes Euklidisches Maß: simk (p̄, q̄) = ( Pn Häufig sind die Wertebereiche der Merkmale deutlich unterschiedlich. 1 Quadratische Form: d = ((p̄ − q̄)M (p̄ − q̄)T ) 2 Bei den bisherigen Ähnlichkeitsmaßen wird jedes Merkmal nur mit sich selbst Content Information Concept Topic 1 k k i=1 wi |pi − qi | ) verglichen. Besonders bei (Farb-)Histogrammen müssen auch verschiedene Merkmale verglichen werden. Statt mit Distanzmaßen, die die Unähnlichkeit zweier Objekte messen, arbeitet man manchmal auch mit positiven Ähnlichkeitsmaßen. Skalierung von Merkmalen IntelligenteIS.8 Data Mining Systeme 17. 12. 2004 B. Thalheim • Nominal (kategorisch) Charakteristik: Wert gleich oder verschieden Keine Richtung (besser, schlechter) und kein Abstand. Merkmale mit nur zwei Werten: dichotom Beispiele: Geschlecht (dichotom), Augenfarbe Gesund/krank (dichotom) • Ordinal Charakteristik: basiert auf Ordnungsrelation (besser/schlechter) zwischen den Kategorien, aber kein einheitlicher Abstand KDD Data Mining Programme Ausblick Beispiele: Schulnote (metrisch?), Güteklasse, Altersklasse • Metrisch Content Charakteristik: Differenzen und Verhältnisse zwischen den Werten Werte diskret oder stetig Information Beispiele: Gewicht (stetig), Verkaufszahl (diskret), Alter (stetig oder diskret) Concept Topic Datensäuberung ¨ ¥ Aufgaben § ¦ • Umgangsmöglichkeiten mit fehlenden Werten: IntelligenteIS.8 Data Mining Systeme 17. 12. 2004 B. Thalheim Ignorieren des Tupel Manuelles Auffüllen Einsetzen einer globalen Konstante (z.B. unbekannt) Mittelwert aller Attribut-Tupel einsetzen Mittelwert aller Attribut-Tupel der gleichen Klasse einsetzen Den wahrscheinlichsten Wert einsetzen (z.B. mit Entscheidungsbäumen, Bayes’schen Inferenzen oder Regression ermittelt) • Umgangsmöglichkeiten mit verrauschten Daten: Binning: Glätten der Werte durch Berücksichtung von Nachbarwerten. KDD Data Mining Programme Ausblick Content Information Concept Topic Bsp.: Originalfolge sei 4, 8, 15, 21, 21, 24, 25, 28, 34 Aufteilung in “bins”: (4, 8, 15) (21, 21, 24) (25, 28, 34) Glätten durch Mittelwerte: (9, 9, 9) (22, 22, 22) (29, 29, 29) Glätten durch Bin-Grenzen: (4, 4, 15) (21, 21, 24) (25, 25, 34) Clustering: Ausreißer können durch Clustering entdeckt und dann ggf. entfernt werden Manuelle Überprüfung von Ausreißer-Kandidaten Regression: (Multiple) lineare Regression ermittelt lineare Zusammenhänge zwischen zwischen zweien bzw. mehreren Variablen. Falls solche Zusammenhänge existieren, können Ausreißer leicht festgestellt werden. • Erkennen von inkonsistenten Daten: Vergleich der Daten mit externen Referenzen (z.B. Papierbelege) Berücksichtigung von Constraints Inkonsistenzen durch fehlerhafte Datenintegration Datenintegration ¨ ¥ Aufgaben § ¦ IntelligenteIS.8 Data Mining Systeme 17. 12. 2004 B. Thalheim KDD Data Mining Programme Ausblick Content Information Concept Topic • Schema-Integration (z.B. Identifikation unterschiedlicher Attributnamen im Datenbankschema wie “cust number” versus “customer id”). • Erkennen von Redundanz (z.B. wenn ein Attributwert aus einem anderen hergeleitet werden kann; kann z.B. mit Korrelationsanalyse festgestellt werden) • Erkennung von Duplikaten (z.B. identische Tupel) record matching, entity resolution • Erkennen von Datenwertkonflikten (können z.B. durch unterschiedliche Maßeinheiten verursacht werden, z.B. Entfernung in km oder Meilen, oder durch verschiedene Kontexte, z.B. Preise mit/ohne Mwst). Datentransformation ¨ ¥ Typische Transformationsoperationen für Data Mining § ¦ IntelligenteIS.8 • Glättung verrauschter Daten Data Mining Systeme 17. 12. 2004 B. Thalheim • Aggregation bzw. Verallgemeinerung (Zusammenfassung von Daten ähnlich wie bei Konstruktion der Data Cubes und Konzepthierarchien) KDD • Normalisierung (Skalierung der Attributdaten, so dass sie in ein bestimmtes Intervall passen, z.B. zwischen 0 und 1) Data Mining Programme Ausblick Content Information Concept Topic • Attributkonstruktion (Konstruktion neuer Attribute aus alten, z.B. um Redundanzen zu verringern oder aussagekräftigere Attribute zu erzeugen). • Transformationen mit dem Ziel der Datenreduktion (z.B. Entfernen irrelevanter oder redundanter Dimensionen, Datenkompression, Wechsel der Repräsentation). Data Mining ¨ ¥ Aufgaben § ¦ Wichtigste Data-Mining-Verfahren auf Merkmals-Vektoren: IntelligenteIS.8 Data Mining Systeme 17. 12. 2004 B. Thalheim KDD Data Mining (1) Clustering Unsupervised learning (2) Outlier Detection Unsupervised learning (3) Klassifikation Supervised learning (4) Regression Supervised learning Supervised: Ein Ergebnis-Merkmal soll gelernt/geschätzt werden Programme Ausblick Content Information Concept Topic Unsupervised: Die Datenmenge soll lediglich in Gruppen unterteilt werden Darüber hinaus gibt es zahlreiche Verfahren, die nicht auf Merkmalsvektoren, sondern z.B. auf Texten, Mengen, Graphen arbeiten. Clustering IntelligenteIS.8 Data Mining Systeme 17. 12. 2004 B. Thalheim Clustering: Zerlegung einer Menge von Objekten (bzw. FeatureVektoren) so in Teilmengen (Cluster), daß die Ähnlichkeit der Objekte innerhalb eines Clusters maximiert die Ähnlichkeit der Objekte verschiedener Cluster minimiert wird Idee: Die verschiedenen Cluster repräsentieren meist unterschiedliche Klassen von Objekten; bei unbekannten Anzahl und Bedeutung der Klassen KDD Data Mining Programme Ausblick Content Information Concept Topic Thematische Karten: Aufnahme der Erdoberfläche in 5 verschiedenen Spektren; Cluster-Analyse; Rücktransformation in xy-Koordinaten und Farbcodierung nach ClusterZugehörigkeit Gewebeklassifikation: mit Farbkodierung (Schwarz: Ventrikel + Hintergrund; Blau: Gewebe 1; Grün: Gewebe 2; Rot: Gewebe 3; Dunkelrot: Große Gefäße) Ergebnis: Klassifikation cerebralen Gewebes anhand funktioneller Parameter mittels dynamic CT möglich. Ziele des Clustering Identifikation einer endlichen Menge von Kategorien, Klassen oder Gruppen (Cluster) in den Daten IntelligenteIS.8 Data Mining Systeme 17. 12. 2004 B. Thalheim KDD Data Mining Programme Ausblick • Objekte im gleichen Cluster sollen möglichst ähnlich sein • Objekte aus verschiedenen Clustern sollen möglichst unähnlich zueinander sein • Cluster unterschiedlicher Größe, Form und Dichte hierarchische Cluster y unterschiedliche Clustering-Algorithmen Typische Anwendungen: Kundensegmentierung (Clustering der Kundentransaktionen), Bestimmung von Benutzergruppen auf dem Web (Clustering der Web-Logs), Strukturierung von großen Mengen von Textdokumenten Content Information (Hierarchisches Clustering der Textdokumente), Erstellung von thematischen Karten aus Satellitenbildern (Clustering der aus den Rasterbildern gewonnenen Featurevektoren) Concept Topic Clustering-Verfahren ¨ ¥ Typen § ¦ IntelligenteIS.8 Data Mining Systeme 17. 12. 2004 B. Thalheim KDD Data Mining Programme Ausblick Content Information Concept Topic Partitionierende Verfahren: Parameter: Anzahl k der Cluster, Distanzfunktion sucht ein “flaches” Clustering in k Cluster 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, graphentheoretische Verfahren, neuronale Netze Partitionierende Verfahren ¨ ¥ Grundlagen § ¦ IntelligenteIS.8 Data Mining Systeme 17. 12. 2004 B. Thalheim KDD Data Mining Programme Ausblick Content Information Concept Topic Ziel: Partitionierung in k Cluster so daß eine Kostenfunktion miniert wird (Gütekriterium) Lokal optimierendes Verfahren: wähle k initiale ClusterRepräsentanten möglichst gut separierbare Cluster mit ∀q̄ 6∈ class(p̄)(sim(p̄, class(p̄)) ≤ sim(p̄, q̄)) 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) Konstruktion zentraler Punkte ¨ ¥ Beispiel: Euklidischer Vektorraum mit Euklidischer Distanz § ¦ IntelligenteIS.8 Data Mining Systeme 17. 12. 2004 B. Thalheim Zentroid µC : Mittelwert aller Punkte im Cluster C Maß für die Kosten (Kompaktheit) eines Clusters C P T D2 (C) = pinC sim(p̄, µC ) Maß für die P Kosten (Kompaktheit) eines Clustering T D2 = C T D2 (C) Brute-Force-Algorithmus KDD Data Mining Programme Ausblick Content Information Concept Topic 1. Start mit zufällig gewählten Punkten als Cluster- Repräsentanten Repeat until no change: 2A. Zuordnung jedes Datenpunktes zum räumlich nächsten Repräsentanten 2B. Neuberechnung der Repräsentanten (Zentroid der zugeordneten Punkte) 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; k Klassen durch Zuordnung jedes Punktes zum nächstliegenden Zentroid aus C; Menge C := {C 1 , ..., C k } der Zentroide für die neu bestimmten Klassen; until C = C; return C; Varianten zur Konstruktion zentraler Punkte IntelligenteIS.8 Data Mining Systeme 17. 12. 2004 B. Thalheim k-means: 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 Aufwand: O(n) für eine Iteration, Anzahl der Iterationen ist im allgemeinen klein (∼ 5 - 10) einfache Implementierung Anfälligkeit gegenüber Rauschen und Ausreißern (alle Objekte gehen ein in die Berechnung des Zentroids) KDD Data Mining Programme Ausblick Content Information Concept Topic Cluster müssen konvexe Form haben die Anzahl k der Cluster ist oft schwer zu bestimmen starke Abhängigkeit von der initialen Zerlegung sowohl Ergebnis als auch Laufzeit 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 Auswahl repräsentativer Punkte ¨ ¥ nur Distanzfunktion für Paare von Objekten vorausgesetzt § ¦ IntelligenteIS.8 Data Mining Systeme 17. 12. 2004 B. Thalheim KDD Data Mining Programme Ausblick Content Information Concept Topic Medoid: ein zentrales Element des Clusters (repräsentativer Punkt) Maß für die Kosten P (Kompaktheit) eines Clusters C T D(C) = pinC sim(p̄, µC ) Maß für dieP Kosten (Kompaktheit) eines Clustering T D = C T D2 (C) Laufzeitkomplexität der erschöpfenden Suche ist O(nk ) k-medoid Algorithmen • PAM O(n3 + k(n − k)2 × AnzIterationen) 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 O(numlocal × maxneighbor × AnzErsetzungen × n) zwei zusätzliche Parameter: maxneighbor und numlocal höchstens maxneighbor viele 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 numlocal mal wiederholt Auswahlalgorithmen für repräs. Punkte PAM IntelligenteIS.8 Data Mining Systeme 17. 12. 2004 B. Thalheim KDD Data Mining Programme Ausblick Content Information Concept Topic i.a. höhere Qualität für kleine Nester PAM(Objektmenge D, Integer k, Float dist) Initialisiere die k Medoide; TD Änderung := ∞; while TD Änderung < 0 do Berechne für jedes Paar (Medoid M, Nicht-Medoid N) den Wert T DN ↔M ; Wähle das Paar (M, N), für das der Wert TD Änderung := T DN ↔M − T D 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; CLARANS praktisch O(n2 ) 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 := T DN ↔M - TD; if TD Änderung < 0 then ersetze M durch N; TD := T DN ↔M ; i := 0; else i:= i + 1; if TD < TD best then TD best := TD; Speichere aktuelle Medoide; return Medoide; Erwartungsmaximierung (EM) IntelligenteIS.8 Data Mining Systeme 17. 12. 2004 B. Thalheim ¥ ¨ p p Punkte p = (x1 , ..., xd ) in euklidischenm Vektorraum § ¦ ein Cluster wird durch eine Wahrscheinlichkeitsverteilung beschrieben typisch: Modell für einen Cluster ist eine multivariate Normalverteilung Repräsentation eines Clusters C Mittelwert µC aller Punkte des Clusters d x d Kovarianzmatrix ΣC für die Punkte im Cluster C Wahrscheinlichkeitsdichte eines Clusters C T −1 1 1 (x−µ ) Σ (x−µ c c) C P (x|C) = √ e2 d (2π) |ΣC | KDD Data Mining Programme Ausblick Content Information Concept Topic Idee: Jeder Punkt gehört zu mehreren (eigentlich allen) Clustern, jeweils mit unterschiedlicher Wahrscheinlichkeit, abh. von 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) Auf stochastischer Grundlage: Bei Berechnung der Clusterzentren (µi ) muß berücksichtigt werden, daß Punkte Clustern nicht absolut sondern nur relativ zugeordnet sind Wie groß ist die Wahrscheinlichkeit der Clusterzugehörigkeit? Erwartungsmaximierung (EM) Cluster Ci durch eine Wahrscheinlichkeitsdichte-Funktion (Normalverteilung): T −1 1 e 2 (x−µc ) ΣC (x−µc ) P (x|C) = √ 1d (2π) |ΣC | IntelligenteIS.8 Data Mining Systeme 17. 12. 2004 B. Thalheim KDD Data Mining Programme Ausblick Content Information Concept Topic Dichtefunktion: Integral über den Gesamtraum ergibt 1 Integral über Region R ergibt Wahrscheinlichkeit, daß in der Region ein beliebiger Punkt des Clusters liegt, bzw. den relativen Anteil (z.B. 30%) der Punkte des Clusters, die in R liegen Bedingte Wahrscheinlichkeit: Unter der Voraussetzung, daß der Punkt x ausschließlich dem Cluster Ci zugeordnet wäre (was nicht stimmt) Deshalb Notation als bedingte Wahrscheinlichkeit Pk k Gaußverteilungen (durch k Cluster): P (x) = i=1 Wi P (x|Ci ) Wi - relativer Anteil der Datenpunkte ist, der zum Cluster Ci gehört (z.B. 5%), (Gesamt-Wahrscheinlichkeit des Clusters P (Ci )) Satz von Bayes: P (Ci |x) (Wahrscheinlichkeit, daß ein gegebener Punkt x zum Cluster Ci gehört) P (Ci )×P (x|Ci ) i) = P (Ci |x) = Wi P P(x|C (x) P (x) (a-priori-Wahrscheinlichkeit: P (Ai ) a-posteriori-Wahrscheinlichkeit: P (Ai |B) ) Erwartungsmaximierung (EM) IntelligenteIS.8 Data Mining Systeme 17. 12. 2004 B. Thalheim Maß für die GP üte eines Clustering M E(M ) = x∈D log(P (x)) Anteil des Clusters an der Datenmenge: Wi = P (Ci ) = MittelwertPund Kovarianzmatrix der Gaußverteilung: xP (C |x) µi = Px∈D P (Cii|x) P σi = 1 n E(M) maximieren i=1 P (Ci |x) Pn x∈D )(x−µi )T P (Ci |x) x∈D (x−µ P i x∈D P (Ci |x) Algorithmus O(n × |M | × Iterationen) ClusteringDurchErwartungsmaximierung (Punktmenge D, Integer k) KDD Data Mining Programme Ausblick Content Information Concept Topic 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 , µC und σC für jedes i; M := M; until |E(M) - E(M)| < e; return M; Ergebnis und Laufzeit (wie beim k-means und k-medoid) stark abhängig von der initialen Zuordnung und von der richtigen Wahl des Parameters k Modifikation für Partitionierung der Daten in k disjunkte Cluster: jedes Objekt nur demjenigen Cluster zuordnen, zu dem es am wahrscheinlichsten gehört. Wahl des initialen Clustering • Idee Clustering einer kleinen Stichprobe liefert im allgemeinen gute initiale Cluster einz. Stichproben sind ggf. deutlich anders verteilt als die Grundgesamtheit IntelligenteIS.8 Data Mining Systeme 17. 12. 2004 B. Thalheim KDD Data Mining Programme Ausblick Content Information Concept Topic • Methode ziehe unabhängig voneinander m verschiedene Stichproben clustere jede der Stichproben m verschiedene Schätzungen für k Clusterzentren A = (A1 , A2 , ..., Ak ), B = (B1 , ..., Bk ), C = (C1 , ..., Ck ), ... Clustere nun die Menge DB = A ∪ B ∪ C ∪ ... mit m verschiedenen Stichproben A, B, C, . . . als Startkonfiguration Wähle von den m Clusterings dasjenige mit dem besten Wert bzgl. des zugehörigen Maßes für die Güte eines Clustering 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 k sein bei k-means und k-medoid: T D2 und T D sinken monoton mit steigendem k bei EM: E steigt monoton mit steigendem k • Brauche ein von k unabhängiges Gütemaß für die k-means- und k-medoidVerfahren # Silhouetten-Koeffizient Dichtebasiertes Clustering IntelligenteIS.8 Data Mining Systeme 17. 12. 2004 B. Thalheim • 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 • o ∈ O Kernobjekt: |N² (o)| > M inP ts mit N² (o) = {o ∈ O|dist(o, o) ≤ ²} KDD Data Mining Programme Ausblick • p ∈ O direkt dichte-erreichbar von q ∈ O bzgl. ² und M inP ts: p ∈ N² (q) und q ist ein Kernobjekt in O • p dichte-erreichbar von q: ∃ eine Kette von direkt erreichbaren Objekten zwischen q und p • p, q dichte-verbunden: beide von einem dritten Objekt o aus dichte-erreichbar Content Information Concept Topic • Cluster C bzgl. ² und M inP ts: nicht-leere Teilmenge von O • Maximalität: ∀p, q ∈ O (p ∈ C∧ q dichte-erreichbar von p ⇒ q ∈ C) • Verbundenheit: ∀p, q ∈ C: p dichte-verbunden mit q Dichtebasiertes Clustering IntelligenteIS.8 Data Mining Systeme 17. 12. 2004 B. Thalheim KDD Data Mining Programme Ausblick Content Information Concept Topic • Definition Clustering Ein dichte-basiertes Clustering CL der Menge O bzgl. ² und M inP ts: “vollständige” Menge von dichte-basierten Clustern bzgl. ² und M inP ts in O • N oiseCL (“Rauschen”): Menge aller Objekte aus O, die nicht zu einem der dichte-basierten Cluster Ci gehören • Grundlegende Eigenschaft Sei C ein dichte-basierter Cluster und sei p ∈ C ein Kernobjekt. Dann gilt: C = {o ∈ O|odichte − erreichbar von p bzgl.²M inP ts} • Algorithmus DBSCAN DBSCAN(Objektmenge D, Real e, 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, ², MinPts) then ClusterId:=nextId(ClusterId); • Heuristik zur Parameterbestimmung: k-Distanzen aller Objekte absteigend sortiert Hierarchische Verfahren ¨ ¥ Hierarchische Untergliederung ist einfach überschaubar § ¦ IntelligenteIS.8 Data Mining Systeme 17. 12. 2004 B. Thalheim • Konstruktion einer Hierarchie von Clustern (Dendrogramm), so daß immer die Cluster mit minimaler Distanz verschmolzen werden • Dendrogramm: ein Baum, dessen Knoten jeweils ein Cluster repräsentieren, mit folgenden Eigenschaften: • die Wurzel repräsentiert die ganze DB • die Blätter repräsentieren einzelne Objekte KDD Data Mining Programme Ausblick Content Information Concept Topic • ein innerer Knoten repräsentiert einen Cluster bestehend aus allen Objekten des darunter liegenden Teilbaums • Typen von hierarchischen Verfahren Bottom-Up Konstruktion des Dendrogramms (agglomerative) Top-Down Konstruktion des Dendrogramms (divisive) Hierarchische Verfahren Algorithmus Single-Link: Agglomeratives hierarchisches Clustering IntelligenteIS.8 Data Mining Systeme 17. 12. 2004 B. Thalheim (1) Bilde initiale Cluster, die jeweils aus einem Objekt bestehen, und bestimme die Distanzen zwischen allen Paaren dieser Cluster. (2) Bilde einen neuen Cluster aus den zwei Clustern, die die geringste Distanz zueinander haben. (3) Bestimme die Distanz zwischen dem neuen Cluster und allen anderen Clustern. (4) Wenn alle Objekte in einem einzigen Cluster befinden: Fertig, andernfalls wiederhole ab Schritt 2. Distanzfunktionen für Cluster auf der Grundlage des Distanzmaßes KDD Data Mining Programme Ausblick Content Information Concept Topic • Single-Link: distsl(X, Y ) = minx∈X,y∈Y dist(x, y) • Complete-Link: distcl(X, Y ) = maxx∈X,y∈Y dist(x, y) P 1 • Average-Link distal(X, Y ) = |X|×|Y x∈X,y∈Y dist(x, y) | Vor- und Nachteile: + erfordert keine Kenntnis der Anzahl k der Cluster + findet nicht nur ein flaches Clustering, sondern eine ganze Hierarchie + ein einzelnes Clustering kann aus dem Dendrogramm gewonnen werden, z.B. mit Hilfe eines horizontalen Schnitts durch das Dendrogramm (erfordert aber wieder Anwendungswissen) - Entscheidungen können nicht zurückgenommen werden - Anfälligkeit gegenüber Rauschen (Single-Link) eine “Linie” von Objekten kann zwei Cluster verbinden - Ineffizienz: Laufzeitkomplexität von mindestens O(n2 ) für n Objekte Dichte-basiertes hierarchisches Clustering • für einen konstanten M inP ts-Wert sind dichte-basierte Cluster bzgl. eines kleineren ² vollständig in Clustern bzgl. eines größeren ² enthalten IntelligenteIS.8 Data Mining Systeme 17. 12. 2004 B. Thalheim KDD Data Mining Programme Ausblick Content Information Concept Topic • in einem DBSCAN-ähnlichen Durchlauf gleichzeitig das Clustering für verschiedene Dichte-Parameter bestimmen zuerst die dichteren Teil-Cluster, dann den dünneren Rest-Cluster • kein Dendrogramm, sondern eine auch noch bei sehr großen Datenmengen übersichtliche Darstellung der Cluster-Hierarchie • Kerndistanz eines Objekts p bzgl. ² und M inP ts undef fallsN² (n) < M inP ts, Kerndist²,M inP ts (o) = M inP tsDistanz(o) sonst. • Erreichbarkeitsdistanz eines Objekts p relativ zu einem Objekt o Erreichdist ²,M inP ts (o, p) = undef fallsN² (n) < M inP ts, max(Kerndist²,M inP ts (o), M inP tsDistanz(o)) sonst. Outlier Detection ¨ ¥ Ermittlung von untypischen Daten § ¦ IntelligenteIS.8 Data Mining Systeme 17. 12. 2004 B. Thalheim Finde Ausreißer in den Daten “An Outlier is an observation that deviates so much from other observations as to arouse suspicion that it was generated by a different mechanism” Outlier sind alle Punkte, die nicht in einem Cluster liegen Anwendungen: Entdeckung von Mißbrauch etwa bei KDD Kreditkarten Data Mining Telekommunikation Programme Ausblick Content Information Concept Topic Datenfehler Beim Clustering: Rauschen (alle Punkte, die zu keinem Cluster gehören) Generell : keine allgemein gültige und akzeptierte Definition “One person’s noise could be another persons signal.” Identifikation von Outlier Depth-based: • Jedes Objekt wird als ein Punk in einem d-dimensionalen Raum betrachtet. IntelligenteIS.8 Data Mining Systeme 17. 12. 2004 B. Thalheim • Die Tiefe der Objekte wird berechnet. • Outlier haben eine kleinere Tiefe als die anderen Objekte. Theoretisch: # gut auch für hochdimensionale Daten Praktisch: # ineffizient für d ≥ 4, da die konvexe Hülle berechnet werden muß. KDD Data Mining Programme Ausblick Content Information Concept Topic Distance-based: • Ein Objekt p in einem Datensatz D ist ein DB(pct,dmin)-Outlier (DB = distance-based), falls mindestens pct - Prozent von Objekten aus D eine größere Distanz als dmin zu p haben. • Wahl von pct und dmin wird einem Experten überlassen. Theoretisch und praktisch: harte Separation Klassifikation IntelligenteIS.8 Data Mining Systeme 17. 12. 2004 B. Thalheim Lerne aus den bereits klassifizierten Trainingsdaten Regeln, um neue Objekte nur aufgrund der Merkmale zu klassifizieren Ergebnismerkmal (Klassenvariable) ist nominal (kategorisch) Anwendung: Neugeborenen-Screening Blutprobe des Neugeborenen; Massenspektrometrie; Metabolitenspektrum 14 analysierte Aminosäuren: alanine, arginine, argininosuccinate, citrulline, glutamate (als neuer unbekannter Marker), glycine, leuzine+isoleuzine, methionine, ornitine, phenylalanine, pyroglutamate, serine, tyrosine, valine KDD Data Mining Programme Ausblick Content Information Concept Topic • Gegeben: Menge O von Objekten des Formats (o1 , ..., od ) mit Attributen Ai , 1 ≤ i ≤ d und Klassenzugehörigkeit ci , ci ∈ C = {c1 , ..., ck } Gesucht: Klassenzugehörigkeit für Objekte aus D \ O mit Klassifikator K : D → C • Abgrenzung zum Clustering: Klassifikation: Klassen a priori bekannt Clustering: Klassen werden erst gesucht • Verwandtes Problem: Vorhersage (Prediction) (gesucht ist der Wert für ein numerisches Attribut, Methode z.B. Regression) Bewertung von Klassifikatoren • Sei K ein Klassifikator und sei T R ⊆ O die Trainingsmenge. O ⊆ D ist die Menge der Objekte, bei denen die Klassenzugehörigkeit bereits bekannt ist IntelligenteIS.8 Data Mining Systeme 17. 12. 2004 B. Thalheim KDD Data Mining Programme Ausblick Content Information Concept Topic • Problem der Bewertung: gewünscht ist gute Performanz auf ganz D. Klassifikator ist für T R optimiert. Test auf T R erzeugt in der Regel viel bessere Ergebnisse, als auf D \ T R. Daher kein realistisches Bild der Performanz auf D. ³ Overfitting • Train-and-Test Bewertung ohne Overfitting durch Aufteilen von O in : Trainingsmenge T R zum Lernen des Klassifikators (Konstruktion des Modells) Testmenge T E zum Bewerten des Klassifikators Train-and-Test nicht anwendbar, wenn nur wenige Objekte mit bekannter Klassenzugehörigkeit Stattdessen: m-fache Überkreuz-Validierung (m-fold Cross-Validation) m-fache Überkreuz-Validierung - teile die Menge O in m gleich große Teilmengen - verwende jeweils m-1 Teilmengen zum Training und die verbleibende Teilmenge zur Bewertung - kombiniere die erhaltenen m Klassifikationsfehler (und die m gefundenen Modelle!) Klassifikatoren IntelligenteIS.8 Data Mining Systeme 17. 12. 2004 B. Thalheim KDD Data Mining Programme Ausblick K - Klassifikator, T R ⊆ O - Trainingsmenge, T E ⊆ O - Testmenge. C(o) - Klasse eines Objekts o Ti := {o ∈ T E|C(o) = i} Ci = {o ∈ T E|K(o) = i} Klassifikationsgenauigkeit (classification accuracy) von K auf T E GT E (K) = |{o∈T E|K(o)=C(o)}| |T E| Tatsächlicher Klassifikationsfehler (true classification error) =C(o)}| FT E (K) = |{o∈T E|K(o)6 |T E| Beobachteter Klassifikationsfehler (apparent =C(o)}| FT R (K) = |{o∈T R|K(o)6 |T R| classification error) Precision: Anzahl der Objekte aus einer Klasse, die richtig erkannt wurden P recisionT E (K, i) = |{o∈Ti |K(o)=C(o)}| |Ti | Recall: Anzahl der Ci -Objekte, die richtig erkannt wurden RecallT E (K, i) = |{o∈Ci |K(o)=C(o)}| |Ci | Kompaktheit des Modells z.B. Größe eines Entscheidungsbaums Content Information Concept Topic Interpretierbarkeit des Modells z.B. wieviel Einsichten vermittelt das Modell dem Benutzer Effizienz der Konstruktion des Modells bzw. der Anwendung des Modells Skalierbarkeit für große Datenmengen, für sekundärspeicherresidente Daten Robustheit gegenüber Rauschen und fehlenden Werten Bayes-Klassifikatoren IntelligenteIS.8 Data Mining Systeme 17. 12. 2004 B. Thalheim • Statistische Klassifikatoren: Vorhersage der Class-MembershipProbability für verschiedene Klassen • Verschiedene Verfahren: Naiver Bayes-Klassifikator: Relativ einfach zu implementierendes Verfahren; beruht auf Annahme der Unabhängigkeit zwischen den einzelnen Merkmalen (naiv) Bayes-Netzwerk (Bayesian Belief Network): Mögliche Abhängigkeiten zwischen Merkmalen werden in Form eines Graphen modelliert, der entweder durch den Benutzer vorgegeben wird oder durch das System selbst “gelernt” wird. KDD Data Mining Programme • Regeln und Fakten als bedingte Wahrscheinlichkeiten A-Priori-Wahrscheinlichkeiten modellieren Faktenwissen über die Häufigkeit einer Klasse und das Auftreten von Merkmalen A-Priori Wahrsch. f. Klassenzugehörigk: 20% - Äpfel; 30% - Orangen Ausblick A-Priori Merkmalshäufigkeit: 50% rund; 40% orange Content Information Concept Topic Bedingte Wahrscheinlichkeiten (“A-Posteriori”) modellieren Zusammenhänge zwischen Klassen und Merkmalen: 100% der Orangen sind rund: P (rund | Orange) = 100% 100% der Äpfel sind rund: P (rund | Apfel) = 100% 90% der Orangen sind orange: P (orange | Orange) = 90% Bayes-Klassifikatoren • Kontinuierliche metrische Merkmale können diskret approximiert werden oder als Wahrscheinlichkeits-Dichtefunktion definiert werden IntelligenteIS.8 Data Mining Systeme 17. 12. 2004 B. Thalheim KDD Data Mining Programme Ausblick Content Information Concept Topic • Bayes-Klassifikator schätzt die Wahrscheinlichkeit der Klassenzugehörigkeit eines Merkmalsvektors Zur eindeutigen Zuordnung eines Klassen-Labels geht man meist nach dem Prinzip “Maximum Likelihood” vor • Annahme der bedingten Unabhängigkeit beim naiven Bayes-Klassifikator P (M1 ∧ M2 |C) = P (M1 |C) · P (M2 |C) • Bayes-Netzwerke: Graph mit Knoten = Zufallsvariable (Tabelle der bedingten Wahrscheinlichkeiten); Kante = bedingte Abhängigkeit mit Trainieren des Netzwerkes (geg. Netzwerk-Struktur und bekannten Zufallsvariablen; geg. Netzwerk-Struktur und teilweise unbekannten Zufallsvariablen; a priori unbekannter Netzwerk-Struktur) Streichen der Kanten, die keinen Informationsgewinn bringen • + hohe Klassifikationsgenauigkeit in vielen Anwendungen + Inkrementalität: Klassifikator einfach an neue Trainingsobjekte adaptierbar + Einbezug von Anwendungswissen - Anwendbarkeit: erforderliche bedingten Wahrscheinlichkeiten oft unbekannt - Ineffizienz bei sehr vielen Attributen (insbesondere Bayes-Netzwerke) Nächste-Nachbarn-Klassifikatoren IntelligenteIS.8 Data Mining Systeme 17. 12. 2004 B. Thalheim KDD Data Mining Programme Ausblick Content Information Concept Topic • Instanzbasiertes Lernen (instance based learning) Interpretiere Häufigkeit einer Klasse in der Entscheidungsmenge als Wahrscheinlichkeit der Klassenzugehörigkeit • Einfachster Nächste-Nachbar-Klassifikator: Zuordnung zu der Klasse des nächsten Nachbarpunkts Verbesserung: k-Nächste-Nachbarn-Klassifikator (Suche von k zur Optimierung) • Regionen der Klassenzuordnung können als Voronoi-Diagramme dargestellt werden • Entscheidungsregel: wähle die Mehrheitsklasse der Entscheidungsmenge Gewichte die Klassen der Entscheidungsmenge • Anwendungsbeispiel: Hipparcos-Katalog (118 000 Sterne mit 78 Attributen, Klassenattribut: Spektraltyp (Attribut H76)) Entscheidungsbaum-Klassifikatoren ¨ ¥ einfach, deshalb oft im Vordergrund, overfitting-sensitiv § ¦ IntelligenteIS.8 Data Mining Systeme 17. 12. 2004 B. Thalheim KDD Data Mining Programme Durchlauf des Entscheidungsbaum von der Wurzel zu einem der Blätter in eindeutigem Pfad Ausblick Content Information Concept • Entscheidungsbaum: Baum mit innerer Knoten repräsentiert ein Attribut Kante repräsentiert einen Test auf dem Attribut des Vaterknotens Blatt (mit Pfad) repräsentiert eine der Klassen • Top-Down Konstruktion eines Entscheidungsbaums anhand der Trainingsmenge Attribut wird ausgewählt (Splitstrategie) und genutzt zur Partitionierung • Anwendung eines Entscheidungsbaums Topic Zuordnung des Objekts zur Klasse des erreichten Blatts lokal optimierender Algorithmus • Informationsgewinn des Attributs A für T mit Partitionierung T1 , T2 , ..., Tm : Pm |Ti | Inf oGewinn(T, A) = entropie(T ) − i=1 T · entropie(Ti ) WEKA ¨ ¥ Waikato Environment for Knowledge Analysis § ¦ Features: IntelligenteIS.8 Data Mining Systeme 17. 12. 2004 B. Thalheim KDD Data Mining Programme Ausblick • Implementierung versch. Lernalgorithmen (Klassifikatoren, Clusterer, Apriori) • Implementierung versch. Java-Bibliotheken zur Verwaltung von Datensammlungen (Datenbanken) • Implementierung versch. Algorithmen zur Datentransformation (Filter) • komplett in Java implementiert • kann leicht um eigene Algorithmen erweitert werden Content Information Concept Topic • besitzt auch ein GUI (ist allerdings etwas überfrachtet) http://www.cs.waikato.ac.nz/ml/weka Benutzung von WEKA • WEKA-Klassen können zur eigenen Programmierung benutzt werden • CLASSPATH setzten • Importanweisung: import weka.*; IntelligenteIS.8 Data Mining Systeme 17. 12. 2004 B. Thalheim • Aufruf von WEKA-Klassen: z.B. Konstruktor der Klasse “Attribute“’ im Package weka.core: weka.core.Attribute(); • WEKA-Klassen können ausgeführt werden (z.B. der Data Mining Algorithmus “CobWeb”) • CLASSPATH setzen • Aufruf (erzeugt Usage-Info) unter UNIX/LINUX: % java weka.clusterer.Cobweb -h • WEKA Packages KDD Data Mining • core: Klassen zur Verwaltung von Datenbanken Programme • filters: Klassen zur Transformation von Daten Ausblick • clusterers: Klassen für verschiedene Cluster-Verfahren • classifiers: Klassen für verschiedene Klassifikations-Verfahren • associations: Klassen für verschiedene Verfahren zum Bestimmen von Assoziationsregeln Content Information Concept Topic • .... • WEKA core-Klassen • Instances: Klasse zur Verwaltung einer Sammlung von Objekten (Datenbank) • Instance: Klasse zur Verwaltung einzelner Objekte einer Datenbank • Attribute: Klasse zur Verwaltung einzelner Objekt-Attribute • ... ARFF-Format ¨ ¥ Datensammlungen als Textdateien § ¦ IntelligenteIS.8 • Header: Meta-Informationen (Attributsnamen, Datentypen, Schlüsselwörter beginnen mit “@” z.B. @attribute, @relation etc.) Data Mining Systeme 17. 12. 2004 B. Thalheim • Body: beginnt mit @data ein Datensatz pro Zeile, Attributswerte durch Kommas getrennt • Kommentare beginnen mit “%” Beispiel @relation weather KDD Data Mining Programme Ausblick Content Information Concept Topic @attribute outlook sunny, overcast, rainy @attribute temperature real @attribute humidity real @attribute windy TRUE, FALSE @attribute play yes, no % 14 instances @data sunny,85,85,FALSE,no overcast,83,86,FALSE,yes rainy,68,80,FALSE,yes overcast,64,65,TRUE,yes sunny,69,70,FALSE,yes sunny,75,70,TRUE,yes overcast,81,75,FALSE,yes sunny,80,90,TRUE,no rainy,70,96,FALSE,yes rainy,65,70,TRUE,no sunny,72,95,FALSE,no rainy,75,80,FALSE,yes overcast,72,90,TRUE,yes rainy,71,91,TRUE,no DaMiT-System ¨ ¥ http://damit.dfki.de § ¦ IntelligenteIS.8 Data Mining Systeme 17. 12. 2004 B. Thalheim • viele Vorlesungen als Volltext umfangreichste deutschsprachige Sammlung • umfangreiche Fallstudien • bereits im Bankenbereich breit angewandt • entstanden als deutschsprachiges Lernsystem zum Data Mining Data Mining • Benutzerprofile guest .. profi .. customer unterschiedliche Rezeptions- und Gebrauchsprofile Programme • Playout unter Berücksichtigung des Kontext und der Historie KDD Ausblick • datenbankbasierte Inhalteverwaltung, Versionierung Content Information Concept Topic • DB2-DTD-Interface für XML-Playout • LaTex-basierte Autorenschnittstelle • gepflegt durch Konsortium Ausblick ¨ ¥ KDD und Data Mining: zu junge Wissenschaften § ¦ IntelligenteIS.8 Data Mining Systeme 17. 12. 2004 B. Thalheim KDD Data Mining Programme Ausblick • Vorläufig “data mining” und nicht “database mining” • Forschungsbedarf zu Methoden: Mining verschiedener Arten von Wissen Interaktives Mining auf verschiedenen Abstraktionsebenen Einbezug von Hintergrundwissen Data Mining Anfragesprachen (analog zu SQL, z.B. DMQL) Präsentation und Visualisierung von Data Mining Ergebnissen Umgang mit Rauschen und unvollständigen Daten Formalisierung der Interessantheit • Performanzprobleme: Effizienz und Skalierbarkeit der Data Mining Algorithmen Parallele, verteilte und inkrementelle Algorithmen • Vielfalt von Datentypen: Content Information Concept Topic Relationale und komplexe Datentypen Heterogene Datenbanken Web Mining • Ergänzung durch Extraktionstechniken, logische Ableitungen, Lernverfahren