Machine Learning: Der KDD-Prozess Knowledge Discovery in Databases Machine Learning Data-Mining Aufgaben • Aufgabe • Wissensextraktion durch automatisches Erkennen von Mustern in Daten • Keine spezifische Hypothese darüber, welche Muster vorliegen sollten • Gesucht werden Muster, die in Bezug auf das Domänenwissen interpretierbar sind Knowledge Discovery in Databases • Von Daten zum Wissen • „We are drowing in information, but starving for knowledge“ John Naisbett • Randbedingungen • Sehr große Datenbanken mit vielen Fehlern: Bioinformatik • Viele Muster und Trends, bleiben unentdeckt: Marktanalyse Machine Learning Definitionsversuch • Automatische Extraktion • Verwendet Methoden der Statistik und andere Verfahren • Versteckte Information • Erst das Verständnis von Zusammenhängen ermöglicht Entscheidungen • Prädiktive Information ,,Data Mining is the automated extraction of hidden predictive information from (large) databases‘‘ Thearling, Introduction to Data Mining • Prospektive statt retrospektive Analyse Knowledge Discovery in Databases Machine Learning Data Mining • Data Mining – Historie • Ursprünglich ein Ausdruck, den Statistiker für das „Überinterpretieren von Daten“ zu falschen Schlussfolgerungen verwendet haben. • Heute verwendet mit der Bedeutung „Entdecken von sinnvollen Datenmengen“ Knowledge Discovery in Databases Machine Learning Data Mining • Data Mining – Historie • Ursprünglich ein Ausdruck, den Statistiker für das „Überinterpretieren von Daten“ zu falschen Schlussfolgerungen verwendet haben. • Heute verwendet mit der Bedeutung „Entdecken von sinnvollen Datenmengen“ Knowledge Discovery in Databases • Der Parapsychologe David Rhine untersuchte extrasensorische Wahrnehmung (ESP) • Studenten sollten 10 Karten raten. 1/1000 der Studenten riet alle richtig. • Beim erneuten Testen waren diese nicht besser als der Durchschnitt • Schlussfolgerung: „telling people to have ESP causes them to lose it!“ Machine Learning Knowledge Discovery in Databases Machine Learning Knowledge Discovery Fayyad (1996) Knowledge Discovery in Databases Machine Learning Beispiel-Anwendungen • Marktanalyse • Welcher Kunde kauft was? • Welchen Kunden direkt ansprechen? • Betrugsentdeckung • Abgrenzung • • • • data warehousing ad hoc reporting Datenvisualisierung Software-Agenten • Wird die Kreditkarte missbräuchlich verwendet? • Weist die Stromrechnung auf Manipulation hin? • Bioinformatik • Gibt es Hinweise auf die Qualität der Daten? Knowledge Discovery in Databases Machine Learning Individualisierte Start-Seiten Knowledge Discovery in Databases Machine Learning Individualisierte Start-Seiten Knowledge Discovery in Databases Machine Learning 1. 1 Motivation riesige Datenmengen werden automatisch gesammelt Bei welchen Telefonkunden besteht der Verdacht eines Betrugs? Zu welcher Klasse gehört dieser Stern? Welche Assoziationen bestehen zwischen den in einem Supermarkt gekauften Waren? solche Analysen lassen sich nicht mehr manuell durchführen Knowledge Discovery in Databases Machine Learning 1.1 Definition KDD [Fayyad, Piatetsky-Shapiro & Smyth 96] Knowledge Discovery in Databases (KDD) ist der Prozess 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. Knowledge Discovery in Databases Machine Learning 1.1 Abgrenzung KDD •Statistik • modellbasierte Inferenzen • Schwerpunkt auf numerischen Daten [Berthold & Hand 1999] •Maschinelles Lernen • Suchverfahren • Schwerpunkt auf symbolischen Daten • [Mitchell 1997] •Datenbanksysteme • Skalierbarkeit für große Datenmengen • neue Datentypen (z.B. Webdaten) • Integration mit kommerziellen Datenbanksystemen • [Chen, Han & Yu 1996] Knowledge Discovery in Databases Machine Learning 1.1 KDD-Prozeß Knowledge Prozessmodell nach Han Pattern Evaluation Task-relevant Data Data Warehouse Data Cleaning Data Mining Selection Data Integration Databases Fokussieren Vorverarbeitung Datenbank Knowledge Discovery in Databases Transformation Data Mining Evaluation Muster Machine Learning Wissen 1.1 Fokussieren Verständnis der gegebenen Anwendung •z.B. Tarifgestaltung in der Telekommmunikations-Branche Definition des Ziels des KDD •z.B. Segmentation der Kunden Beschaffung der Daten •z.B. aus operationaler DB zur Abrechnung Klärung der Verwaltung der Daten •File System oder DBS? Bsp.-Anwendung Selektion der relevanten Daten •z.B. 100 000 ausgewählte Kunden mit allen Anrufen in 2011 Knowledge Discovery in Databases Machine Learning 1.1 Vorverarbeitung Integration von Daten aus unterschiedlichen Quellen • einfache Übersetzungen von Attributnamen (z.B. KNr --> KundenSchl) • Nutzen von Anwendungswissen um ähnliche Daten zusammenzufassen (z.B. regionale Zuordnung von Postleitzahlen) Konsistenzprüfung • Test anwendungsspezifischer Konsistenzbedingungen • Bereinigung von Inkonsistenzen Vervollständigung • Ersetzen von unbekannten Attributwerten durch Defaults • Verteilung der Attributwerte soll i.A. erhalten bleiben! Vorverarbeitung ist häufig einer der aufwendigsten KDD-Schritte Knowledge Discovery in Databases Machine Learning 1.1 Vorverarbeitung •Data Warehouse [Chaudhuri & Dayal 1997] • • • • dauerhafte integrierte Sammlung von Daten aus unterschiedlichen Quellen zum Zweck der Analyse bzw. Entscheidungsunterstützung Report Generator Data Warehouse Operationelle DB Integrieren Laden Aktualisieren Bedient OLAP Data Mining Knowledge Discovery in Databases Machine Learning 1.1 Transformation •Diskretisierung numerischer Attribute • unabhängig von der Data-Mining-Aufgabe z.B. Aufteilung des Wertebereichs in Intervalle gleicher Länge • abhängig von der Data-Mining-Aufgabe z.B. Aufteilung in Intervalle so, daß der Informationsgewinn in Bezug auf die Klassenzugehörigkeit maximiert wird •Erzeugen abgeleiteter Attribute • durch Aggregation über Mengen von Datensätzen z.B. von einzelnen Anrufen Wochentag, Stadtgespräch“ zu „Gesprächsminuten tagsüber, • durch Verknüpfung mehrerer Attribute z.B. Umsatzänderung = Umsatz 2010 - Umsatz 2009 Knowledge Discovery in Databases Machine Learning 1.1 Transformation •Attribut-Selektion • manuell wenn Anwendungswissen über die Bedeutung der Attribute und über die gegebene Data-Mining-Aufgabe bekannt ist • automatisch Bottom-Up (ausgehend von der leeren Menge jeweils ein Attribut hinzufügen) Top-Down (ausgehend von der Gesamtmenge der Attribute jeweils ein Attribut entfernen) z.B. so, dass die Diskriminierung der Klassen optimiert wird zu viele Attribute führen zu Ineffizienz und evtl. Ineffektivität des Data Mining. manche Transformationen können durch OLAP-Systeme realisiert werden. Knowledge Discovery in Databases Machine Learning 1.1 Data Mining •Definition [Fayyad, Piatetsky-Shapiro, Smyth 96] • Data Mining ist die Anwendung effizienter Algorithmen, die die in einer Datenbank enthaltenen Muster liefern. •Data-Mining-Aufgaben • •• • • • • •• • • • • aa a a Clustering b a Klassifikation A und B --> C Assoziationsregeln b b ab bb • • • • • • •• • • • • Generalisierung andere Aufgaben: Regression, Entdecken von Ausreißern . . . Knowledge Discovery in Databases Machine Learning 1.1 Data Mining Anwendungen Clustering Customer Segmentation, Klassifikation Bewertung der Kreditwürdigkeit Beobachtungen Assoziationsregeln, Reorganisation eines Supermarkts Generalisierung Beschreibung von Clustern, Kundengruppenanalyse Knowledge Discovery in Databases Machine Learning 1.1 Evaluation Ablauf Präsentation der gefundenen Muster häufig durch entsprechende Visualisierungen. Bewertung der Muster durch den Benutzer. Bei schlechter Bewertung erneutes Data Mining mit: • anderen Parametern, • anderem Verfahren, • anderen Daten. Bei guter Bewertung: • Integration des gefundenen Wissens in die Wissensbasis, • Nutzung des neuen Wissens für zukünftige KDD-Prozesse. Knowledge Discovery in Databases Machine Learning 1.1 Evaluation Bewertung der gefundenen Muster Vorhersagekraft der Muster • Verwendete Daten sind Stichprobe aus der Grundgesamtheit aller Daten. • Wie gut lassen sich die in diesen „Trainingsdaten“ gefundenen Muster auf zukünftige Daten verallgemeinern? • Vorhersagekraft wächst mit Größe und Repräsentativität der Stichprobe. Interessantheit der Muster • Muster schon bekannt? • Muster überraschend? • Muster für viele Fälle anwendbar? Knowledge Discovery in Databases Machine Learning Knowledge Discovery Fayyad (1996) Knowledge Discovery in Databases Machine Learning Knowledge Discovery Knowledge Discovery in Databases Machine Learning Knowledge Discovery Knowledge Discovery in Databases Machine Learning 1.2 Datenschutz Große Gefahren des Missbrauchs der Data-Mining-Techniken, insbesondere dann, wenn persönliche Daten ohne Kenntnis der betreffenden Person gesammelt und analysiert werden Datenschutz (privacy) muss im Kontext des KDD neu diskutiert werden! Beispiel Amazon.de: http://www.amazon.de/gp/help/customer/display.html/ref=hp_rel_topic?i e=UTF8&nodeId=3312401 • sammelt persönliche Daten „... when you search, buy, bid, post, participate in a contest or questionnaire, or communicate with customer service.“ • erlaubt dem Kunden, die persönlichen Daten zu überprüfen und zu korrigieren, behaupten Sie! •Wie geht das? Knowledge Discovery in Databases Machine Learning Individualisierte Produktsichten Knowledge Discovery in Databases Machine Learning Individualisierte Produktsichten Knowledge Discovery in Databases Machine Learning Individualisierte Produktsichten Knowledge Discovery in Databases Machine Learning Individualisierte Produktsichten Knowledge Discovery in Databases Machine Learning Individualisierte Produktsichten Knowledge Discovery in Databases Machine Learning Struktur der (Lern)-daten • Instanz • spezifischer Typ eines Beispiels • Etwas, was klassifiziert, assoziiert oder geclustert wird • Individuelles, unabhängiges Beispiel des Zielkonzeptes • Charakterisiert durch einen vorbestimmten Satz von Attributen Knowledge Discovery in Databases • Eingabe • Instanzen/Datensatz • Repräsentation als einfache Relation/flat file • Probleme • Eher restriktive Form der Eingabe • Keine Beziehungen zwischen Objekten • Aber: sehr praxisnah, da häufig verwendet Machine Learning Bsp. Familienbaum Johannes und M Ute F Johann M Käthe F Maika F Edda F Ubbo M Knowledge Discovery in Databases und Georg M und Jannes M Henriette F Hans M Bernd M Machine Learning Familienbaum als Tabelle Name Gender Parent1 Parent2 Johannes Male ? ? Käthe Female ? ? Ute Female Johannes Käthe Johann Male Johannes Käthe Edda Female Johannes Käthe Georg Male Maika Jannes Henriette Female Maika Jannes Hans Male Maika Jannes Ubbo Male Edda Georg Bernd Male Edda Georg Knowledge Discovery in Databases Machine Learning Schwester-von Beziehung 1. Person 2. Person Schwest. 1. Person 2. Person Schwest. Johannes Käthe No Edda Ute Yes Johannes Ute No Johann Edda Yes … … … Georg Henriette Yes Ute Johann No Hans Henriette Yes Ute Johann No Johann Ute Yes Ute Edda Yes Ute Edda Yes … … … Georg Henriette Yes … … … Ubbo Bernd No … … … Bernd Ubbo No Knowledge Discovery in Databases Alle anderen No Closed-world assumption Machine Learning Vollständige Repräsentation 1. Person 2. Person Schwest. Name Gend. Parent1 Parent2 Name Gend. Parent1 Parent2 Ute Fem Johann. Käthe Edda Fem Johann. Käthe Ja Johann Male Johann. Käthe Edda Fem Johann. Käthe Ja Georg Male Maika Jannes Henrie. Fem Maika Jannes Ja Hans Male Maika Jannes Henrie. Fem Maika Jannes Ja Edda Male Johann. Käthe Ute Fem Johann. Käthe Ja Johann Male Johann. Käthe Ute Fem Johann. Käthe Ja Alle anderen Nein If second person’s gender = female and first person’s parent = second person’s parent then sister-of = Yes Knowledge Discovery in Databases Machine Learning Geglättete Datei • Glätten • auch De-Normalisierung genannt. • Einige Relationen werden zusammengefügt, um eine neue Relation zu bilden • Möglich ist das mit jedem finiten Satz von finiten Relationen Knowledge Discovery in Databases • Problem • Beziehungen ohne vorher spezifizierte Anzahl von Objekten • Bsp.: Konzept der Kernfamilie • De-Normalisierung kann nicht erwünschte Regularitäten erzeugen, die die Struktur der Datenbank reflektieren • Bsp.: Lieferant sagt die Adresse des Lieferanten voraus Machine Learning Struktur der Attribute • Grundprinzip • Jede Instanz wird durch eine feste Anzahl von Merkmalen (Attribute) beschrieben • Problem 1 • Die Anzahl der Attribute kann in der Praxis variieren • Lösung: „irrelevant value“-flag Knowledge Discovery in Databases • Problem 2 • Existenz eines Attributes kann von dem Wert eines anderen Attributes abhängen • Typen von Attributen • • • • Nominal Ordinal Intervall Verhältnis Machine Learning Nominalskalierte Attribute • Wertebereich • diskrete Symbole • Werte selbst sind nur Namen oder Label • Beispiel • Attribut „Vorhersage“ der Wetterdaten • Werte: Nasskalt, bewölkt, sonnig,... Knowledge Discovery in Databases • Eigenschaften • Keine Relation ist impliziert zwischen nominal Werten (z.B. keine Ordnung) • Nur Gleichheitstest können durchgeführt werden Machine Learning Ordinalskalierte Attribute • Geordnete Wertemenge • Aber: keine Distanzen zwischen den Werten definiert • Beispiel: • Attribut Temperatur in den Wetterdaten • Werte: Heiss > Warm > Kalt • Arithmetische Operationen wie Addition bzw. Subtraktion machen keinen Sinn Knowledge Discovery in Databases • Beispielregel: • Temperatur < heiss Sport = Ja • Vorsicht • Aus den Namen der Attribute läßt sich nicht auf Nominaloder Ordinalskalierung schließen Machine Learning Intervallskalierte Attribute • Eigenschaften • Intervallmengen sind nicht nur geordnet, sondern auch in bestimmte und gleiche Einheiten aufgeteilt Knowledge Discovery in Databases • Konsequenz • Differenz zwischen Werten macht Sinn • Summe oder Produkt macht keinen Sinn!? • Null-Wert ist nicht definiert! Machine Learning Rationalskalierte Attribute • Verhältnismengen • definieren auch den Null-Wert • Bsp.: Attribut Distanz • Distanz zwischen einem Objekt und sich selbst ist null • Eigenschaften • Verhältnismengen werden wie rationale Zahlen behandelt • Alle mathematischen Operationen sind erlaubt • Probleme • gibt es einen „inhärent“ definierten Null-Wert? • Antwort abhängig von Wissen • Fahrenheit kannte z.B. keine untere Grenze für Temperatur Knowledge Discovery in Databases Machine Learning Rationalskalierte Attribute • Verhältnismengen • definieren auch den Null-Wert • Bsp.: Attribut Distanz • Distanz zwischen einem Objekt und sich selbst ist null (Quelle: http://de.wikipedia.org/w/index.php?title=Datei:Thermometer_%28PSF% 29_de.svg&filetimestamp=20110107172435) Knowledge Discovery in Databases Machine Learning Eingabevorbereitung • Problem • unterschiedliche Datenquellen (z.B. Verkaufsdaten, Controlling, Kundenkartei...) • Datenintegration • Tabellen, Konventionen, Zeitintervalle, Datenaggregation, Primärschlüssel, Fehler... Knowledge Discovery in Databases • Anforderungen • Daten müssen zusammen getragen, integriert und gesäubert werden • „Data Warehouse“ konsistenter Zugriff • WWW: unstrukturiert • Externe Daten könnten erforderlich werden • Kritisch: Typ und Level der Datenaggregation Machine Learning Missing Values • Problem • Häufig erkennbar durch out-of-range-Einträge • unbekannter, nicht aufgenommener, irrelevanter Typ • Gründe • nicht funktionierendes Equipment, Vergleich unterschiedlicher Datensätze, Messung unmöglich... Knowledge Discovery in Databases • Eigenschaften • Missing value kann selbst auch signifikant sein • Bsp.: fehlender Test in einer medizinischen Untersuchung • Häufig: „missing“ als zusätzliches Attribut oder NULL value Machine Learning Ungenaue Werte • Ursache • Daten wurden nicht zum „minen“ aufgenommen • Folge • Fehler und Auslassungen, die nicht den Zweck der ursprünglich beabsichtigten Auswertung stören • Beispiel • Schlechte Qualitätssicherung bei der Erfassung des Alters der Kunden • später aber Bedarf für Markanalyse Knowledge Discovery in Databases • Nominalattribute • Typographische Fehler • Wichtig, weil Stringvergleich • Intervallattribute • Typographische und Messfehler in numerischen Attributen • „Ausrutscher“ müssen identifiziert werden • Fehler könnten bewusst eingebracht werden (z.B. falsche PLZ) Machine Learning