Oberseminar Datenbanken Carsten Severin Tobias Sorgatz Datamining Überblick " " " " " " 1. Einleitung 2. Eingaben 3. Ausgaben 4. Algorithmen 5. Glaubwürdigkeit 6. Maschinelles Lernen in der Praxis Oberseminar Datenbanken: Datamining, Severin, Sorgatz 1.0. Beispiele " Beispiel 1: Künstliche Befruchtung – Eigenschaften definieren, die größte Überlebenschance garantieren Oberseminar Datenbanken: Datamining, Severin, Sorgatz 1.1. Beispiele " Beispiel 2: Vieh wird geschlachtet – Gesundheit – Lebenserwartung – Fruchtbarkeit – Gewicht Oberseminar Datenbanken: Datamining, Severin, Sorgatz 1.2. Situation " " " " " Immer mehr Daten werden gespeichert Internet Preiswerte Speichermedien Mehr Anwendungen: Bilder, Filme Alle 20 Monate Verdopplung der Daten Oberseminar Datenbanken: Datamining, Severin, Sorgatz 1.3. Lösung: Data Mining " " " Es ist eine Möglichkeit gesucht, die Datenflut zu analysieren Daten sollen ausgewertet werden Lösung: Data Mining Oberseminar Datenbanken: Datamining, Severin, Sorgatz 1.4.1. Datamining " " " " Verarbeitung elektronisch gespeicherter Daten Lernen: Wissen durch Studium aneignen Prozess der autom. oder halbautom. Mustererkennung Maschinelles Lernen: Lernen automatisieren Oberseminar Datenbanken: Datamining, Severin, Sorgatz 1.4.2. Data Mining " " " " " " Aneignen von Wissen Fähigkeit es zu verwenden Gezielte Suche in Datenbanken Analyse bereits vorhandener Daten Suche nach Mustern Ergebnisse ein weiteres Handeln einbeziehen Oberseminar Datenbanken: Datamining, Severin, Sorgatz 1.5. Data Mining und Ethik " " " problematisch sind rassische und sexuelle Informationen Undurchschaubarkeit von Daten (unvorhersehbare Auswertungen) Viele Daten werden für neue Analysen zusammengefasst Oberseminar Datenbanken: Datamining, Severin, Sorgatz 1.6. Bias: Lernverfahren " " Zur Bestimmung des Lernverfahrens Sprachbias: – Ist die Beschreibung universal? – Wird domänenwissen genutzt " Suchbias: – bestmögliche Beschreibung finden " Bias zur Vermeidung der Überanpassung Oberseminar Datenbanken: Datamining, Severin, Sorgatz 2. Eingabe " Wie werden die Daten zur Analyse eingegeben? Oberseminar Datenbanken: Datamining, Severin, Sorgatz 2.1. Eingabe der Daten " " " Konzepte Instanzen Attribute Oberseminar Datenbanken: Datamining, Severin, Sorgatz 2.1.1. Konzepte " Unabhängig von Art des Lernens Beschreibt was gelernt werden soll " Ausgabe des Lernverfahrens: " – Baum – Regelmenge Oberseminar Datenbanken: Datamining, Severin, Sorgatz 2.1.2. Instanzen " " Jede Instanz ist ein eigenes Beispiel Zeile in einer Tabelle Oberseminar Datenbanken: Datamining, Severin, Sorgatz 2.1.3.1. Attribute " " Attribut ist Spalte einer Tabelle Problem: Instanzen mit unterschiedlichen Attributen -> Möglichst viele Attribute Oberseminar Datenbanken: Datamining, Severin, Sorgatz 2.1.3.2. Attribute " " " Numerische Attribute Nominale Attribute Ordinale Attribute Oberseminar Datenbanken: Datamining, Severin, Sorgatz 2.2. Beispiel " " Wie sehen einzulesende Datenmengen aus? Wie sehen Regelmengen aus? Oberseminar Datenbanken: Datamining, Severin, Sorgatz 2.2.1. Beispiel: Datensatz Oberseminar Datenbanken: Datamining, Severin, Sorgatz 2.2.2. Beispiel: Baum Oberseminar Datenbanken: Datamining, Severin, Sorgatz 2.2.3. Beispiel: Regelmenge Oberseminar Datenbanken: Datamining, Severin, Sorgatz 2.3. Aufbereitung " " " " " Aufbereitung der Eingabedaten Integration von verschiedenen Datenquellen Datacleaning Data Warehousing ARFF-Dateien Oberseminar Datenbanken: Datamining, Severin, Sorgatz 2.3.1. Data Warehousing " " " " Zusammenfassung von Datenquellen Unternehmensweite Datenbankintegration Keine Abteilungsgrenzen Aggregation von Daten Oberseminar Datenbanken: Datamining, Severin, Sorgatz 2.4. Eingabe: Fehlende Daten " " " " " " Einträge außerhalb Gültigkeit (-1) Unterscheidung von fehlenden Daten(-1,-2) Wegen verändertes Experiment Wegen Messfehlern Wegen Verweigerung Ist Auftreten zufällig oder wichtig für Analyse? Oberseminar Datenbanken: Datamining, Severin, Sorgatz 2.5. Eingabe: Genauigkeit " " " " Daten für andere Zwecke gespeichert Ungenauigkeiten plötzlich von anderer Bedeutung Schreibfehler (sind Daten gleich?) Bewusste Manipulation Oberseminar Datenbanken: Datamining, Severin, Sorgatz 2.6. Arten des Lernens " Klassifizierendes Lernen – Vorhandene Daten in Klassen fassen " Numerische Vorhersage – Numerische statt diskrete Werte " Clustering – Gruppieren von Instanzen Oberseminar Datenbanken: Datamining, Severin, Sorgatz 3. Ausgabe 3.1 Entscheidungstabellen 3.2 Entscheidungsbäume 3.3 Klassifikationsregeln 3.4 Assoziationsregeln 3.5 Regeln mit Ausnahmen 3.6 Bäume für numerische Vorhersage 3.7 Instanzbasierte Darstellung 3.8 Cluster Oberseminar Datenbanken: Datamining, Severin, Sorgatz 3.1 Entscheidungstabellen " " " Einfachste, elementarste Methode weniger einfach bei spezieller Auswahl von Attributen Kompliziert: Auswahl der die Entscheidung nicht beeinflussenden Attribute Oberseminar Datenbanken: Datamining, Severin, Sorgatz 3.2 Entscheidungsbäume " " " Ansatz: Teile und Herrsche Knoten eines Baumes bedingen Auswertung eines Attributs Blätter stellen Klassifikationen dar Oberseminar Datenbanken: Datamining, Severin, Sorgatz 3.3 Klassifikationsregeln " " " Anwendung einer Regel verlangt Auswertung einer Menge von Attributen Allgemein logische UND Verknüpfung der Bedingungen Aus Baum: pro Blatt eine Regel, Auswertung jeder Regel eines Knotens auf dem Pfad von Wurzel zu Blatt Oberseminar Datenbanken: Datamining, Severin, Sorgatz 3.4 Assoziationsregeln " " " " Können nicht nur Klassen vorhersagen, sondern auch Attribute Damit Vorhersage beliebiger Attributkombinationen if temperatur =kalt then luftfeuchtigkeit = normal Oberseminar Datenbanken: Datamining, Severin, Sorgatz 3.5 Regeln mit Ausnahmen " " " " " Vermeidung falscher Klassifikation durch Zulassen von Ausnahmen Schaffen einer neuen Entscheidungsebene Bei Fortsetzung erhält man Baumstruktur if stimme = hoch then Frau except if eunuch then Mann Oberseminar Datenbanken: Datamining, Severin, Sorgatz 3.6 Bäume für numerische Vorhersagen " Auswertung eines numerischen Attributes Oberseminar Datenbanken: Datamining, Severin, Sorgatz 3.7 Instanzbasierte Darstellung " " " Auswendiglernen durch Merken von Trainingsinstanzen Neue Instanz wird mit vorhandenen verglichen und der Klasse der ähnlichsten vorhandenen Instanz zugeordnet BSP: Buchstabenerkennung Oberseminar Datenbanken: Datamining, Severin, Sorgatz 3.8 Cluster " " Ausgabe eines Diagramms: Anzeige der in die Cluster eingeordneten Instanzen Einfachster Fall: Zuweisung einer Clusternummer zu jeder Instanz Oberseminar Datenbanken: Datamining, Severin, Sorgatz 4. Algorithmen 4.1 Ableitung elementarer Regeln 4.3 Teile und Herrsche 4.2 statistische Modellierung 4.4 Abdeckungsalgorithmen Oberseminar Datenbanken: Datamining, Severin, Sorgatz 4.1 Ableitung elementarer Regeln " Baum auf einer Ebene Auswertung einer Regelmenge eines Attributes " für jedes attribut " für jeden wert des attributes " " zählen, wie oft jede klasse erscheint " klasse mit häufigsten auftreten ermitteln " regel aufstellen die diesem attributwert klasse zuordenet " fehlerrate der regeln berechnen " regelmenge mit kleinsten fehler auswählen Oberseminar Datenbanken: Datamining, Severin, Sorgatz 4.2 Statistische Modellierung " " " " " Nutzung aller Attribute Gewichtung für alle Attribute gleich Attribute werden als unabhängig voneinander angesehen Rechnen mit Wahrscheinlichkeiten Auswertung von Hypothesen und zugehörigen Ereignissen Oberseminar Datenbanken: Datamining, Severin, Sorgatz 4.3 Teile und Herrsche " " " " " Wahl eines Wurzelattributes Anlegen einer Verzweigung für jeden Wert Zerlegung der Beispielmenge in Untermengen, eine für jeden Wert des Attr. Rekursive Anwendung für jede Verzweigung, nur Instanzen die Verzweigung erreichen Alle Instanzen eines Knotens gleiche Klasse: Konstruktion des Baumabschn. fertig Oberseminar Datenbanken: Datamining, Severin, Sorgatz 4.4 Abdeckungs-Algorithmen " " " " Betrachtung einzelner Klassen nacheinander Abdeckung aller Instanzen Auschluss klassenfremder Instanzen Ableitung einer Regel in jedem Schritt die einige Instanzen abdeckt Oberseminar Datenbanken: Datamining, Severin, Sorgatz 5. Glaubwürdigkeit " " " " " 5.1 Trainieren und Testen 5.2 Leistungsvorhersage 5.3 Kreuzvalidierung 5.3.1 Leave one out 5.4 Vorhersage von Wahrscheinlichkeiten Oberseminar Datenbanken: Datamining, Severin, Sorgatz 5.1 Trainieren und Testen " " " " Bei richtiger Klassifikation: Erfolg Andernfalls : Fehler Angabe des Verhältnisses zwischen Erfolg und Fehler: Gesamtleistung des Klassifizierers Nicht effektiv, da mit alten Daten gearbeitet wird, Vorhersage schwer möglich Oberseminar Datenbanken: Datamining, Severin, Sorgatz 5.2 Leistungsvorhersage " " " " Fehlerrate (fr) sei bestimmt (5.1) Bestimmung von Erfolgsrate (er): 1-fr Mit Mitteln der Wahrscheinlichkeitsrechnung Bestimmung der Wahrscheinlichkeit von er. Bei grossen Testreihen: Normalverteilung Oberseminar Datenbanken: Datamining, Severin, Sorgatz 5.3 Kreuzvalidierung " " " Aufteilung der Datenmenge in Test und Trainingsmenge, feste Partitionen (Bsp3) Garantiert beste Mischung der Beispiele aller Klassen Nacheinander Ausführung von: – Testen einer Partition, trainieren mit den zwei Anderen Oberseminar Datenbanken: Datamining, Severin, Sorgatz 5.3.1 Leave-one-out " " " N-fache Kreuzvalidierung N ist Anzahl der Instanzen in der Datenmenge Nacheinander: – Weglassen einer Instanz – Training mit restlichen Instanzen Auswertung aller N Ergebnisse durch Mittelwertbildung Oberseminar Datenbanken: Datamining, Severin, Sorgatz 5.4 Vorhersage von Wahrscheinlichkeiten " " " " Bisheriges Ziel: hohe Erfolgsrate für Vorhersage Nicht mehr wahr oder falsch (Vorhersage hat tatsächlichen Wert der Instanz) Einführung beliebig vieler Abstufungen Verschiedene Gewichtung von unterschiedlichen Vorhersageergebnissen Oberseminar Datenbanken: Datamining, Severin, Sorgatz 6. Maschinelles Lernen in der Praxis " " " " Algorithmen sind in Praxis viel komplexer Behandlung realer Probleme Schwerpunkte: numerische Attribute Fehlerbehandlung Anwendung von Statistiken Oberseminar Datenbanken: Datamining, Severin, Sorgatz 6.1 Entscheidunsbäume " Erweiterung des Teile-und-herrsche Algo: – Behandlung numerischer und fehlender Werte – Beschneidung (wegen Überanpassung) – Umwandlung der Entscheidungsäume in Klassifikationsregeln Oberseminar Datenbanken: Datamining, Severin, Sorgatz 6.1.1 Numerische Werte " " Anpassung an nominale (boolsche) Struktur Beispiel: Temperaturabfrage 64 65 68 69 70 71 72 75 80 81 83 85 yes no yes yes yes no yes no no yes yes no Oberseminar Datenbanken: Datamining, Severin, Sorgatz 6.1.2 Fehlende Werte " " Zerlegung der Instanz, unter Verwendung numerischer Gewichtung, und Bearbeitung mit allen Verzweigungen des Baumes Bei Erreichen eines Blattknotens: Zusammenfügen der Entscheidungen des Blattknotens unter Verwendung der Gewichtung, die mit “durchgesickert” ist Oberseminar Datenbanken: Datamining, Severin, Sorgatz 6.1.3 Pruning 6.1.3.1 Postpruning: Nachträgliches Beschneiden des fertigen Baumes („zusammengehörige Attribute“) 6.1.3.2 Prepruning Beschneidung während der Baumbildung (Arbeitseinsparung) Oberseminar Datenbanken: Datamining, Severin, Sorgatz 6.1.4 Von Bäumen zu Regeln " " " " Pro Blatt eine Regel Alle Auswertungen von Wurzel zum Blatt werden UND-verknüpft Löschen von Bedingungen, die keinen, oder schlechten, Einfluß auf Regel haben Entfernen von Regelduplikaten Oberseminar Datenbanken: Datamining, Severin, Sorgatz 6.2 Clustering " " Ziel: Einteilung der Instanzen in natürliche Gruppen Arten von Clustern: – Ausschliessende – Überlappende – Wahrscheinlichkeitsverteilte – Hierarchisch (Vererbungsebenen) Oberseminar Datenbanken: Datamining, Severin, Sorgatz 6.2.1 k-Mittelwert Clustering " " " " Bildung von k Clustern in numerischen Domänen, durch Aufteilung der Instanzen in disjunkte (elementefremd) Cluster Wahl von Zentren und Zuweisung der Instanzen zum nächstliegenden Zentrum Mittelwertbildung aller Instanzen-neues Zentrum Wiederholung bis keine neuen Zentren entstehen Oberseminar Datenbanken: Datamining, Severin, Sorgatz 6.2.2 inkrementelles Clustering " Hierarchische Gruppierung der Instanzen aufgrund eines „ uallitätsmasses Q “(auch Kategorienützlichkeit) für Cluster " Inkrementell (feinere Aufteilung Instanz für Instanz) Oberseminar Datenbanken: Datamining, Severin, Sorgatz 6.2.3 Statistisches Clustering " " " Mischmodell aus verschiedenen Wahrscheinlichkeitsverteilungen Eine Verteilung pro Cluster Jede Verteilung gibt Wahrscheinlichkeit für Clusterzugehörigkeit einer Instanz an (jede Instanz genau zu einem Cluster) Oberseminar Datenbanken: Datamining, Severin, Sorgatz Vielen Dank für die Aufmerksamkeit " " Wir wünschen ein allseits schönes Wochenende. Noch Fragen? (rhetorische Frage) Oberseminar Datenbanken: Datamining, Severin, Sorgatz Quellen " " " Titel: Data Mining Praktische Werkzeuge und Techniken für das maschinelles Lernen Autoren: Ian H. Witten, Eibe Frank Oberseminar Datenbanken: Datamining, Severin, Sorgatz