Data Mining WS 05/06 Prof. Dr. N. Fuhr Zusammenfassung von Simon Scheidegg Die Gliederung richtet sich nach den Beispielfragen von Prof. Dr. N. Fuhr. Als Quellen wurden die Folien aus der Vorlesung und die deutsche Übersetzung des Buchs „Data Mining – Pratical Machine Learning Tools and Techniques with Java Implementations“ verwendet. Disclaimer: Ich übernehme keine Garantie für die Richtigkeit des Textes... Zur Prüfung: Es herrschte ein sehr angenehmes Klima. Man konnte bei „Listenauswendiglernerei“ auch gerne mal sagen „das kann ich jetzt aber nicht alles auswendig“. Es kam sinngemäß die Antwort „müssen Sie auch nicht“. Man sollte den Stoff verstanden haben und die Beispielfragen gut beantworten können. Ein Anfangsthema durfte ich mir nicht auswählen, was mir aber sogar lieber war, denn so musste ich „nur“ auf Fragen antworten ;-) Einführende Fragen: Erzählen sie 3-5 Minuten etwas zu folgendem Thema. Was sind die wesentlichen Problemstellungen des Data Mining (Klassifikation, Assoziationsregeln, Numerische Vorhersagen, Clustering)? (Kapitel1) DM ist die Gewinnung impliziter, bislang unbekannter und potentiell nützlicher Informationen aus Daten. Dabei bezeichnen Daten die aufgezeichneten Fakten. Beim DM geht es oft darum Wissen zu sammeln und nicht nur Vorhersagen zu treffen. Starke Muster vorhandener Daten lassen sich oft verallgemeinern und für Vorhersagen neuer Daten nutzen. Eine Verallgemeinerung ist notwendig, damit die ermittelte Konzeptbeschreibung nicht an die Testdaten überangepasst ist. In Data Mining-Anwendungen herrschen vier grundsätzlich verschiedene Arten des Lernens vor. Beim klassifizierenden Lernen nimmt ein Lernverfahren eine Menge klassifizierter Beispiele entgegen, aus denen es lernen soll, unbekannte Beispiele zu klassifizieren. Beim assoziierenden Lernen werden alle Assoziationen zwischen den Attributen berücksichtigt, nicht nur diejenigen, die einen bestimmten Klassenwert vorhersagen. Beim Clustering werden Gruppen von zusammengehörigen Beispielen gesucht. Bei der numerischen Vorhersage ist das vorhersagte Ergebnis keine diskrete Klasse, sondern eine numerische Größe. Unabhängig davon, welche Art des Lernens angewandt wird, bezeichnen wir das, was gelernt werden soll, als das Konzept, und die Ausgabe, die ein Lernverfahren erzeugt, als Konzeptbeschreibung. (S. 42) Es geht im Wesentlichen um Lernen aus Beispielen. Eingabe-Aufbereitung für DM? (Kapitel 2) Normalerweise ist der größte Aufwand bei einem Data Mining-Verfahren die Aufbereitung der Eingaben für eine Untersuchung. Die Daten kommen zum Teil aus unterschiedlichen Abteilungen und unterliegen anderen Konventionen. Hier besteht die Idee einer unternehmensweiten Datenbankintegration, dem Data Warehousing. Das Data Warehouse stellt einen einzigen, konsistenten Zugriffspunkt für Unternehmens – oder Organisationsdaten bereit. 1/17 Data Mining WS 05/06 Prof. Dr. N. Fuhr Zusammenfassung von Simon Scheidegg Oft werden zusätzliche Daten benötigt. Diese Daten werden als Overlay-Daten bezeichnet. (S. 52) Die Eingabe für ein Data Mining-Verfahren ist eine Instanzenmenge (vereinfacht; im Buch werden komplexere Beispiele nicht behandelt) und wird im Allgemeinen als Tabelle dargestellt. Jede Instanz ist ein einzelnes, unabhängiges Beispiel für das zu erlernende Konzept (S. 45) Sie wird durch eine feste, vordefinierte Menge von Merkmalen beschrieben, seinen Attributen (Nominal-, Ordinal-, Intervall-, Verhältnis-Skala). Es kann sinnvoll sein, dass ein Experte durch geschickte Attributauswahl, redundante und damit abhängige Attribute eliminiert (S. 91, S, 252) Die meisten Verfahren berücksichtigen fehlende Werte nicht, daher sollte „fehlt“ als spezieller Wert codiert werden. Wenn verrauschte Attribute ein Problem sind, ist es kein guter Gedanke , das Training auf einer sauberen Menge durchzuführen, wenn die Leistung auf einer unreinen Datenmenge gestestet wird. Lernverfahren können lernen, mit verrauschten Attributen umzugehen. (S. 270) Einzelne Ausreißer können aber von einem Experten erkannt und aus der Beispielmenge entfernt/korrigiert werden! Wissensdarstellung für die Ausgabe beim DM? (Kapitel 3) Entscheidungstabellen: Wie die Eingabe; evtl. können Attribute weggelassen werden, die für die Entscheidung irrelevant sind. (S. 61) Entscheidungsbäume: „Teile und herrsche“-Ansatz produziert Baum. Unbekannte Instanz durchläuft den Baum von der Wurzel bis zu einem Blatt. Jeder Knoten testet Attribute (jeweils mindestens ein Attribut, es können aber auch mehrere gleichzeitig getestet werden) der Instanz.. Blätter weisen den Instanzen Klassen, Mengen von Klassen oder Wahrscheinlichkeitsverteilungen zu. Klassifikationsregeln: Regel besteht aus einer Vorbedingung und einer Folgerung. Die Vorb. enthält Reihe von Tests, die logisch miteinander verknüpft sind. Ist die Vorb. erfüllt, so weist die Regel Klasse, Menge von Klassen oder Wahrscheinlichkeitsverteilungen zu. Einzelne Regeln werden oft mit ODER verküpft, was zu Konflikten führen kann, wenn für eine Instanz unterschiedliche Folgerungen möglich sind. Dieses Problem tritt nicht bei einer Entscheidungsliste, die sequentiell abgearbeitet wird, auf. (S. 63) Assoziationsregeln: ... können jedes Attribut und jede Attributkombination vorhersagen. Das Problem besteht darin, dass es wesentlich mehr Assoziations -als Klassifikationsregeln gibt: Ausgabe muss beschränkt werden, um nur die stärksten Assoziationen auszugeben; nur die Regeln mit der größten Unterstützung und der höchsten Konfidenz/Genauigkeit. (S. 67) Regeln mit Ausnahmen: default...excpet if...then... ist logisch äquivalent zu if...then...else... . Regeln können inkrementell erweitert werden (neue Daten, Hintergrundwissen); Menschen denken oft in Ausnahmen. Ausnahmen behandeln 2/17 Data Mining WS 05/06 Prof. Dr. N. Fuhr Zusammenfassung von Simon Scheidegg Spezialfälle. (S. 69) Relationale Regeln: Vergleich zwischen Attributwerten einer Instanz. Das erzeugt aber größeren Aufwand. Eine einfach Lösung besteht darin, neue Attribute zu erzeugen (z.B. binäres Attribut für die Relation „<“). (S. 72) Erweiterungen: Regeln mit Variablen/Funktionen, induktive logische Programmierung Bäume für numerische Vorhersagen: Regression ist der Prozess zur Berechnung eines Ausdrucks, der eine numerische Größe vorhersagt. Es gibt zwei Typen. Erstens den Regressionsbaum: er ist ein Entscheidungsbaum, bei dem jedes Blatt eine numerische Größe vorhersagt. Der Vorhersagewert ist der Mittelwert aller Trainingsinstanzen, die dieses Blatt erreicht. Zweitens den Modellbaum: er ist ein Entscheidungsbaum mit linearen Regressionsmodellen in den Blattknoten. (S. 74) Instanzbasierte Repräsentation: Die Instanzen selbst repräsentieren das Wissen. Methoden: nächster Nachbar, k-nächste Nachbarn. Die Abstandsmetrik: Normalisierung, Gewichtung, Euklidische Distanz; Bei nominalen Attributen z.B.: Distanz = 0 oder 1. (S. 76) Repräsentation von Clustern: Einfache 2-D Repräsentation, Venn-Diagramm, Probabilistische Zuordnung, Dendrogramm (Abbildung 3.8, S. 80) Kapitel 4 Gewinnung von Entscheidungsbäumen 1R: lernt einen einstufigen Entscheidungsbaum, d.h. alle Regeln testen das gleiche Attribut. Jedes Attribut erzeugt eine andere Regelmenge - eine Regel für jeden Wert des Attributs. Die Prozedur ist ganz einfach: man wertet die Fehlerrate für die Regelmengen jedes Attributs aus und wählt die beste aus. Missing wird wie jeder andere Attributwert behandelt. Numerische Attribute werden mit Hilfe eines einfachen Diskretisierungsverfahrens in nominale Attribute umgewandelt. Um Overfitting zu reduzieren: Mindestanzahl von Beispielen in der Mehrheitsklasse jeder Partition (S. 84) ID3: Top-down Generierung von Entscheidungsbäumen. Es handelt sich um einen rekursiven teile-und-herrsche Ansatz: 1. Wahl eines Attributs im Wurzelknoten; Ein Zweig je möglichem Attributwert 2. Instanzen in Teilmengen aufteilen, eine für jeden Zweig 3. Schritte eins und zwei wiederholen; stoppen wenn alle Instanzen zur selben Klasse gehören Kriterien für die Informationsauswahl: Informationsgewinn oder Gewinnverhältnis. Noch besser Gewinnverhältnis mit Standardkorrektur: Nur Attribute berücksichtigen, deren Informationsgewinn größer als der Durchschnitt ist. (S. 95) info([2,3,4]) = entropy(2/9, 3/9, 4/9) = -(2/9)log(2/9)– (3/9)log(3/9) – 4/9)log(4/9) Konstruktion von Regeln 3/17 Data Mining WS 05/06 Prof. Dr. N. Fuhr Zusammenfassung von Simon Scheidegg Statistische Modellierung/Naiver Bayes: Es werden alle Attribute benutzt. Es wird angenommen, dass alle Attribute gleich wichtig und voneinander unabhängig sind, wenn die Klasse vorgegeben ist. Redundante Attribute sollten somit zuvor von einem Experten eliminiert werden. Neue Instanz mit unbekannter Klasse. Berechnung der Wahrscheinlichkeiten für jede Klasse. Größtes Ergebnis wählen.(S. 88) Abdeckungs-Algorithmen: Es handelt sich um trenne-und-herrsche-Algorithmen. In jedem Schritt wird eine sinnvolle Regel erstellt und die dadurch abgedeckten Instanzen müssen nicht weiter betrachtet werden (trenne). Anschließend Regeln für die restlichen Instanzen erzeugen (herrschen) bis keine Instanzen mehr vorhanden sind. PRISM ist ein solcher Abdeckungs-Algorithmus. Er ergänzt Regeln solange, bis sie perfekt sind. Erstes Kriterium bei der Wahl neuer Bedingungen ist die Konzentration (richtige Vorhersagen/abgedeckte Regeln). Bei gleicher Konzentration entscheidet die größere Abdeckung. Es wird für jede Klasse eine Regelmenge generiert, wobei die Instanzmenge für jede Klasse neue initialisiert wird. (S. 104) Erzeugen von Assoziationsregeln Assoziationsregeln können beliebige Attribute und Attributkombinationen vorhersagen. Das Problem besteht darin, dass die Anzahl der möglichen Assoziationen sehr groß ist. Daher muss sich die Ausgabe auf die aussagekräftigsten Assoziationen beschränken. Wir suchen also nach Regeln mit einer großen Unterstützung (Anzahl Instanzen, die korrekt vorhergesagt werden) und einer hohen Konfidenz (Anzahl korrekter Vorhersagen, im Verhältnis zu allen Instanzen, auf die die Regel anwendbar ist). Der vorgestellte Algorithmus umfasst zwei Phasen: Zuerst werden Gegenstandsmengen (oder Itemsets) mit der geforderten Mindestabdeckung erzeugt, danach werden aus jeder Gegenstandsmenge die Regeln mit der geforderten Mindestgenauigkeit herausgefiltert. In der ersten Phase werden zu erst die Ein-Gegenstand-Mengen mit der angegebenen Mindestabdeckung erzeugt und daraus potentielle Zwei-GegenstandMengen usw. Damit ein k-Itemset die nötige Unterstützung hat, müssen auch alle Teilmengen die nötige Unterstützung haben (durch eine zusätzliche mit UND verknüpfte Bedingung, wird die Unterstützung wenn überhaupt kleiner, aber niemals größer). Die zweite Phase des Verfahrens nimmt sich jede Gegenstandsmenge vor und erzeugt Regeln daraus, wobei sichergestellt wird, dass die Regeln die geforderte Mindestgenauigkeit aufweisen. Es werden (n+1)-Schluss-Regeln aus vorhandenen n-Schluss-Regeln gebildet... (S. 112) Instanzbasiertes Lernen Zu einer neuen Instanz werden die dazu ähnlichsten in den Trainingsinstanzen gesucht. Die Ähnlichkeit wird anhand der Distanzfuntkion ermittelt. Bei mehreren Attributen ist evtl. Normalisierung erforderlich; Gewichtung?; Nominale Attribute (Z.B.: 1 bei verschiedenen Werten, 0 bei Gleichheit); Fehlende Werte: maximale Distanz; Rauschen: Mehrheitsvotum über die k nächsten Nachbarn. (S. 123) 4/17 Data Mining WS 05/06 Prof. Dr. N. Fuhr Zusammenfassung von Simon Scheidegg Numerische Vorhersage Die Standardtechnik zur numerischen Vorhersage ist die lineare Regression. Ergebnis ist eine Linearkombination von Attributwerten. Die Gewichte werden aus den Trainingsdaten berechnet, so dass die Summe der Quadrate der Differenzen über alle Trainingsinstanzen minimiert wird. Das Verfahren kann nicht angewendet werden, wenn nichtlineare Zusammenhänge in den Daten existieren. Es kann dann aber als Teil komplexerer Verfahren eingesetzt werden (z.B. Modellbäume).(S. 120) Clustering Clustering-Methoden werden eingesetzt, wenn es nicht darum geht, eine Klasse vorherzusagen, sondern die Instanzen in natürliche Gruppen einzuteilen. Man könnte annehmen, dass dies nur ein Spezialfall des klassifizierenden Lernens sei, bei dem „Gruppe“ ein diskretes Attribut ist. Dies ist jedoch nicht der Fall, denn der große Unterschied liegt darin, dass beim Clustering die Trainingsdaten nicht klassifiziert sind, also kein Attribut vorhanden ist, dass deren Gruppenzugehörigkeiten ausdrückt! Der Erfolg des Clustering wird häufig danach gemessen, wie nützlich es dem menschlichen Benutzer erscheint. Dem Clustering kein ein zweiter Schritt klassifizierenden Lernens folgen, der Regeln erzeugt, die eine leicht verständliche Beschreibung bieten, wie neue Instanzen in die Cluster eingeordnet werden. (S. 43, S. 229) Evaluierung von DM-Verfahren (Kapitel 5) Testen, wie gut die Vorhersagen des Gelernten sind. Fehler auf den Trainingsdaten sind dafür ein schlechter Indikator. Deswegen ist Überanpassung auch ein Problem. Resubtitutionsfehler bezeichnet die Fehlerrate auf den Trainingsdaten. Diese ist extrem optimistisch. Wenn ausreichend Beispiele vorhanden sind, kann man die Daten in eine Trainings- und eine Testmenge aufteilen. Hierbei kommt oft Stratifikation zum Einsatz, d.h. in beiden Mengen ist jeweils die gleiche Klasse verhältnismäßig gleichstark vertreten. Man kann auch mit drei disjunkten Mengen arbeiten: Trainingsdaten, Validierungsdaten (Parameteroptimierung) und Testdaten. Nach der Evaluierung können alle Daten zum Lernen des endgültigen Klassifikators genutzt werden. Je mehr Trainingsdaten, desto besser der Klassifikator. Je umfangreicher die Testdaten, desto genauer die Schätzung der Fehlerrate. Andere Aspekte: Wahl des Qualitätsmaßes (Anzahl korrekter Klassifikationen, Genauigkeit der Wahrscheinlichkeitsschätzungen, Fehler in numerischen Vorhersagen) und Kosten für verschiedene Arten von Fehlern 5/17 Data Mining WS 05/06 Prof. Dr. N. Fuhr Zusammenfassung von Simon Scheidegg Evaluierung: Wie kann man von der Erfolgsrate auf einer Teststichprobe auf die Qualität bei zukünftigen Anwendungen schließen (Vertrauensintervall)? Die wahre Erfolgsrate befindet sich innerhalb eines bestimmten Intervalls mit einer bestimmten Wahrscheinlichkeit. Das Intervall nennt man auch Vertrauensintervall. Je größer die Testmenge ist, desto kleiner wird das Vertrauensintervall bei gleicher Wahrscheinlichkeit. Die Standardabweichung sinkt bei steigender Anzahl N.(S. 131) Welche Methoden gibt es, um eine begrenzte Datenmenge optimal für Trainings- und Teststichproben zu nutzen? (Kreuzvalidierung, leave one out, bootstrap) Bei der Kreuzvalidierung legt man eine bestimmte Anzahl von Partitionen fest. Es wird jeweils eine Partition für das Testen und die restlichen für das Training verwendet. Jede Partition wird einmal für das Testen verwendet. Am Ende werden die Fehlerschätzungen gemittelt, um die Gesamtfehlerschätzung zu erhalten. Die zufällige Variation bei der Auswahl der Partitionen führt zu unterschiedliche Ergebnissen-> zehn zehnfache Kreuzvalidierungen. Leave-One-Out hält jeweils eine Instanz zum Testen fest, die restlichen Instanzen werden für das Training benutzt. Es wird nach der korrekten Vorhersage für die ausgelassene Instanz beurteilt, also 1 für Erfolg und 0 für Misserfolg; Nutzt die Daten optimal aus; Keine zufällige Stichprobenwahl (mathematisch gesehen korrekte Aussage, aber DM-technisch betrachtet haben die meisten Lernverfahren eine Ausgabe, die abhängig von der Reihenfolge in der Eingabetabelle ist); Aber großer Rechenaufwand und es wird eine nicht-stratifizierte Stichprobe garantiert. 0.632-Bootstrap zieht n Instanzen aus einer Beispielmenge der Größe n mit Ersetzen. Die Wahrscheinlichkeit, dass eine Instanz nicht gezogen wird beträgt 0.368. Alle Instanzen, die nicht gezogen wurden, bilden die Testmenge. Die Fehlereinschätzung aus den Testdaten ist sehr pessimistisch (trainiert wurde auf nur ~63% aller Instanzen). Daher wird die Fehlerquote mit dem optimistischen Resubititionsfehler verrechnet, wobei der Resubtitutionsfehler ein geringeres Gewicht bekommt. Der Vorgang wird mehrfach wiederholt und der Mittelwert der Fehlerrate berechnet. Wahrscheinlich handelt es sich um die beste Methode, um die Qualität bei sehr kleinen Datenmengen zu schätzen. Aber es gibt auch Probleme, so ist z.B. der Resubtitionsfehler bei instanzbasiertem Lernen 0%. Wie kann man DM-Verfahren bzgl. ihrer Qualität vergleichen? Welches von zwei Lernverfahren besser ist, kann man z.B. testen, indem man mit beiden eine zehn zehnfachen KV durchführt und das Ergebnis vergleicht. Jedoch ist anschließend nicht bekannt, ob die unterschiedlichen Ergebnisse statistisch signifikant sind. Wir bilden die Differenz der beiden Ergebnisse und testen, ob diese innerhalb der Vertrauensgrenzen für die Student-Verteilung mit neun (weil Mittelwerte von 10 KV) Freihatsgraden liegt. Je größer das Signifikanzniveau ist, desto größer ist das 6/17 Data Mining WS 05/06 Prof. Dr. N. Fuhr Zusammenfassung von Simon Scheidegg Vertrauensintervall. Liegt die Differenz außerhalb des Vertrauensintervalls, so wird eine statistische Signifikanz gefolgert. (S. 138) Ein gutes Modell ist ein einfaches Modell, das eine hohe Genauigkeit auf den vorhandenen Daten erzielt (Axiom). Das Prinzip der MDL (Minimum Description Length) geht davon aus, dass die beste Theorie diejenige ist, die die Daten am stärksten komprimiert. Welche anderen Qualitätskriterien für Klassifikationsverfahren gibt es, und wie kann man diese messen? (Vorhersage von Wahrsch., Kosten) Bei der Vorhersage von Wahrscheinlichkeiten gibt es die Quadratische Verlustfunktion und die Informatorische Verlustfunktion. Die Quadratische Verlustfunktion berechnet sich mit Sum ((pj – aj)²), wobei alle a's gleich 0 sind außer die tatsächliche Klasse gleich 1 und die p's sind die vorausgesagten Wahrscheinlichkeiten. Es werden also alle vorausgesagten Wahrscheinlichkeiten berücksichtigt. Bei der Informatorischen Verlustfunktion wird nur die eingetretene Klasse berücksichtigt (-log2 pi). (S. 142) Problem mit unendlich: Schätzer. Sollen Kosten berücksichtigt werden, weil die Kosten von falschen Positiven ungleich der Kosten von falschen Negativen ist, so gibt es verschiedene Vorgehensweisen. Bei einem Steigerungsdiagramm werden die Instanzen de Testmenge zunächst nach der vorhergesagten Wahrscheinlichkeit (für den Fall positiv) absteigend sortiert. Dann wird zu jeder Instanz eingetragen, ob sie tatsächlich positiv ist. Trägt man das Ergebnis in ein Diagramm ein (x-Achse Stichprobengröße, y-Achse Anzahl Erfolgsfälle), erhält man einen Graphen ähnlich einer Wurzelfunktion (nach Glättung). ROC-Kurven sind ähnlich zu Steigerungsdiagrammen. In der y-Achse steht der Prozentsatz echter Positiver der Testmenge und auf der x-Achse wird der Prozentsatz falscher Positiver eingetragen. Durch Kreuzvalidierung erhält man eine glatte Kurve. Erzeugt man ROC-Kurven für zwei Verfahren, kann man eine gute Visualisierung ihrer Kostenunterschiede bei unterschiedlich großen Stichproben erhalten. D.h. z.B. dass man bei kleinen Mengen eine Methode A und bei größeren Mengen eine Methode B wählen würde. (S.146) Um Lernkosten zu berücksichtigen, können künstlich neue Instanzen in der Trainingsmenge erzeugt werden. Angenommen man erhöht die Anzahl der noInstanzen in einer Datenmenge künstlich um den Faktor 10, so erhält man eine Entscheidungsstruktur, die darauf spezialisiert ist, Fehler für no-Instanzen zu minimieren, da diese zehnfach bestraft werden. Testet man nun mit einer unveränderten Testmenge, so gibt es weniger falsche Positive als falsche Negative. (s. 154) 7/17 Data Mining WS 05/06 Prof. Dr. N. Fuhr Zusammenfassung von Simon Scheidegg Kapitel 6 Damit ein Algorithmus für ein breites Spektrum an Anwendungen einsetzbar ist, muss er numerische Attribute unterstützen, fehlende Werte erlauben, robust gegenüber verrauschten Daten sein und in der Lage sein, beliebige Konzeptbeschreibungen zu approximieren (zumindest im Prinzip). Die grundlegenden Verfahren müssen erweitert werden, um diese Anforderungen zu erfüllen. (S. 169) Entscheidungsbäume (von ID3 zu C4.5): Wie behandelt man numerische Attribute? Standardmethode ist die binäre Aufteilung. Es gibt aber viele mögliche Aufteilungspunkte. Den besten kann man z.B. anhand der Informationsgewinns ermitteln. Bei einer Mehrwegeaufteilung ist die Übersicht besser als bei einer binären Aufteilung (nominales Attribut kann höchstens einmal in jedem Pfad des Baums getestet werden). (S. 171) Mehrwegeaufteilung: Diskritisierung des numerischen Attributes. Wie behandelt man fehlende Werte? Zwei unterschiedliche Vorgehensweisen. Wenn das Fehlen eines Attributs in irgendeiner Weise von Bedeutung ist, kann man es als eigenen Wert betrachten (Missing). Andernfalls gibt es eine andere Möglichkeit: Die Instanz mit fehlendem Wert wird mit Hilfe einer Gewichtung zerlegt und ihre Teile werden durch alle Verzweigungen geschickt, proportional zu der Anzahl der Trainingsinstanzen, die diese Verzweigungen durchlaufen. (S. 173) Wie funktioniert Pruning? Das Ziel von Pruning ist die Vermeidung von Überadaption an verrauschte Daten oder generell die Reduzierung von Overfitting. Pruning führt aber auch zu Performance-Steigerungen, indem es die Größe des Baumes reduziert (Subtree Replacement) oder die Anzahl der „Abfragen“ verringert, indem es häufige Auswertungen näher an der Wurzel ansiedelt als seltene (Subtree-Raising). Beim Postpruning wird zunächst der vollständige Baum aufgebaut. Das Problem ist, dass einige Teilbäume aufgrund von Zufälligkeiten entstanden sein können. Es gibt zwei unterschiedliche pruning-Operationen: Ersetzen von Teilbäumen (Subtree replacement) und Hochziehen von Teilbäumen (Subtree raising). Möglich Strategien dabei sind Fehlerabschätzung, Signifikanztests und das MDLPrinzip. Es wird nur dann abgeschnitten, wenn der geschätzte Fehler reduziert wird. (S. 174) Wie kann man die Fehlerrate abschätzen? Zwei Ansätze: 1. Benutze zurückgelegte Datensätze zum Abschneiden („reduced-error-pruning“) 2. Die C4.5-Methode schätzt ein Vertrauensintervall aus den Trainingsdaten und benutzt daraus abgeleiteten heuristischen Schwellenwert zum Abschneiden. Ist die Fehlerabschätzung für einen Elternknoten geringer als die kombinierte 8/17 Data Mining WS 05/06 Prof. Dr. N. Fuhr Zusammenfassung von Simon Scheidegg Fehlerabschätzung für die Kinder, so wird abgeschnitten. (S. 177) Wie kann man einen Baum in Regeln überführen? Welche Probleme treten dabei auf? Erzeuge für jedes Blatt eine Regel. Zuerst werden für jede Regel solange Bedingungen, die die geschätzte Fehlerrate reduzieren, gelöscht, bis es keine solche Bedingung mehr gibt. Mögliche Duplikate werden gelöscht. Es ist nicht garantiert, dass dadurch die optimalsten Regeln gefunden werden, aber sonst wäre es praktisch nicht durchführbar (betrachte alle Teilmengen von Bedingungen). Trotzdem enormer Rechenaufwand: „Für jede Bedingung, die potentiell gelöscht werden kann, muss die Wirkung der Regel auf alle Trainingsinstanzen neu evaluiert werden.“ Anschließend wird jede Klasse für sich betrachtet. Es wird nach einer guten Teilmenge gesucht. Diese Teilmengen werden dann noch geordnet, um Konflikte zu vermeiden. Abschließend werden Regeln entfernt, wenn dies den Fehler auf den Trainingsdaten reduziert. (S. 181) 9/17 Data Mining WS 05/06 Prof. Dr. N. Fuhr Zusammenfassung von Simon Scheidegg Klassifikationsregeln Kriterien für die Auswahl von Auswertungen? Grundlegender Abdeckungsalgorithmus (Abschnitt 4.4) fügt Bedingungen zu einer Regeln, um die Präzision zu erhöhen. Wobei immer zuerst die Regel mit dem höchsten „Gewinn“ ausgewählt wird. Das ist abhängig von dem gewählten Maß. Bei der korrektheitsbasierten Methode wird die Bedingung ausgewählt, die das höchste Verhältnis positive Beispiele/negative Beispiele erzeugt. Dabei können Regeln mit sehr geringer Abdeckung entstehen (Spezialfälle oder Rauschen?). Bei der informationsbasierten Methode werden positive Instanzen stärker als die negativen Instanzen betont. (S. 185) Fehlende Werte und numerische Attribute? Abdeckungs-Algorithmen für Entscheidungslisten weisen in dieser Hinsicht einen klaren Vorteil gegenüber Entscheidungsbaumalgorithmen auf: Heikle Beispiele können fast bis zum Ende des Verfahrens hinausgeschoben werden, wo sie weniger heikel wirken. Alternativ können auch andere Bedingungen benutzt werden, um positive Instanzen zu selektieren. In einigen Fällen ist es jedoch besser, „fehlend“ als einen gesonderten Wert (Missing) zu behandeln. Numerische Attribute werden wie bei Entscheidungsbäumen behandelt. Für jedes numerische Attribut werden Instanzen nach dem Attributwert sortiert und an jeder möglichen Stelle wird eine binäre Auswertung in Betracht gezogen. (S. 186) Erzeugung "guter" Regeln und Entscheidungslisten Es geht nicht darum perfekte Regeln zu generieren, sondern es sollen lieber „sinnvolle“ Regeln gefunden werden, die Überanpassung an die Trainingsmenge vermeiden. Der Wert einer Regel lässt sich unter anderem durch die Überlegung quantifizieren, mit welcher Wahrscheinlichkeit eine völlig zufällig gewählte Regel die Genauigkeit genauso gut oder besser erhöht. Je höher diese Wahrscheinlichkeit, desto schlechter ist die Regel (Axiom). So kann sehr leicht geprüft werden, ob eine Regel durch das Hinzufügen einer Bedinung besser oder schlechter wird, indem man prüft ob die Wahrscheinlichkeit geringer bzw. höher wird. (S. 187) Um eine gute Regel für eine gegebene Klasse zu erzeugen, kann man folgendermaßen vorgehen: Zunächst entwickelt man die beste Regel nach dem elementaren Abdeckungsalgorithmus (Erstes Kriterium: Genauigkeit; Zweites Kriterium: Abdeckung; s. S. 106). Anschließend wird solange die letzte Bedingung dieser Regel entfernt, bis sich ihr Wahrscheinlichkeitswert nicht mehr verbessert. Dies kann man als einen Baustein zum Erzeugen von guten Entscheidungslisten verwenden. Hierbei geht man z.B. so vor, dass man solange Regeln erzeugt bis alle Instanzen abgedeckt sind. Sobald eine Regel endgültig festgeschrieben wurde (s.o.), werden alle durch diese Regel abgedeckten Instanzen entfernt. In jedem Durchlauf, wird für jede Klasse, für die noch Instanzen vorhanden sind, eine Regel erzeugt. Die beste dieser Regeln wird festgeschrieben und die durch diese Regeln abgedeckten Instanzen gelöscht. (S. 190) 10/17 Data Mining WS 05/06 Prof. Dr. N. Fuhr Zusammenfassung von Simon Scheidegg Wahrscheinlichkeitswert zur Regelevaluation Pruning von Regeln Ausnahme: Kein Pruning bei vollständigen und korrekten Datenmengen! Prepruning: Bedingungen solange hinzufügen, bis keine Bedingung mehr gefunden wird, die – beurteilt nach dem gewählten Maß (z.B. Der Wahrscheinlichkeitswert; Informationsgewinn; Erfolgrate etc.) - eine Verbesserung der Regel bewirkt. Postpruning: Erst die komplette Regel anhand des elementaren Abdeckungsalgorithmus erzeugen und anschließend beschneiden. Für statistische Validität muss das Maß auf Daten berechnet werden, die nicht zum Trainieren benutzt wurden: Aufteilung der Trainingsmenge in Wachstums- und Pruningmenge. Reduced-error pruning generiert volle Regelmenge und beschneidet sie dann. Incremental reduced-error pruning vereinfacht jede Regel, sobald sie generiert wurde. Nach der Ausgabe einer Regel und der Entfernung der abgedeckten Instanzen aus der Trainingsmenge können die Daten neu aufgeteilt werden. Stratifikation bringt Vorteile. (S. 193) 11/17 Data Mining WS 05/06 Prof. Dr. N. Fuhr Zusammenfassung von Simon Scheidegg Support-Vektor-Maschinen SVM sind Algorithmen zum Lernen linearer Klassifikatoren. Sie sind wenig anfällig gegen Überadaption, da sie eine spezielle lineare Entscheidungsgrenze lernen: maximal diskriminierende Hyperebene: geometirsche / mathematische Definition Man geht von einer Zwei-Klassen-Datenmenge aus, deren Klassen linear getrennt werden können (Anm.: Verallgemeinerung ist möglich (s. S. 209)). D.h. es gibt eine Hyperebene im Instanzraum, die alle Trainingsinstanzen korrekt klassifiziert. Die maximal diskriminierende Hyperebene ist die Hyperebene, die die größte Trennung zwischen den Klassen schafft. Alle Instanzen beider Klasse werden jeweils von einer konvexen Hülle umgeben. Die Konvexe Hülle ist das konvexe Polygon m dessen Umriss sichtbar wird, wenn man jeden Punkt der Menge (hier die Instanzen der jeweiligen Klasse) mit jedem anderen Punkt verbindet. Die konvexen Hüllen können sich nicht überlappen, da wir angenommen haben, dass die Klassen linear trennbar sind. Die MDH liegt orthogonal zur kürzesten Linie, die die beiden konvexen Hüllen verbindet und durchschreitet sie genau in der Mitte. Die Instanzen, die am nächsten an der MDH liegen, heißen Support-Vektoren. Die SupportVektoren definieren die MDH eindeutig. Alle anderen Instanzen können aus dem Modell entfernt werden. Daher vermeidet das Verfahren Überanpassung an die Trainingsdaten. Werden neue Instanzen hinzugefügt, muss die MDH nur neu ausgerichtet werden, wenn die neuen Instanzen Support-Vektoren sind. (S. 206) Erweiterung auf nichtlineare Klassengrenzen Es wird eine Attributtransformation durchgeführt. Dies führt jedoch auf den ersten Blick zu einer hohen Berechnungskomplexität. Dies wird durch einen mathematischen Trick gelöst. Glücklicherweise stellt sich heraus, dass das Skalarprodukt auf der ursprünglichen Attributmenge berechnet werden kann, bevor die nichtlineare Abbildung durchgeführt wird. (S. 208) Nochmal mit anderen Worten... Wir haben wie im linearen Fall die max. DH, die für Stabilität sorgt und somit vor Überanpassung schützt. Berechnungen der MDH erfolgt mit Hilfe von Skalarprodukten -> im hochdimensionalen Raum komplex. Aufgrund eines mathematischen Tricks können die Berechnungen aber im ursprünglichen niedrigdimensionalen Raum durchgeführt werden. 12/17 Data Mining WS 05/06 Prof. Dr. N. Fuhr Zusammenfassung von Simon Scheidegg Instanzbasiertes Lernen Wie kann man die Menge der gespeicherten Trainingsinstanzen reduzieren? IB2: Jedes Beispiel wird in Bezug zu den bereits gesichteten Exemplaren klassifiziert, und wird genau dann gespeichert, wenn es falsch klassifiziert wurde. Leider funktioniert diese Strategie bei verrauschten Daten weniger gut. (Anm.: Eine Standardlösung, um mit verrauschten Daten fertig zu werden ist k-NN). IB3: Zahl der gespeicherten Instanzen – insbesondere der verrauschten Exemplare – wird dramatisch reduziert. Neue Instanzen werden zunächst getestet. Dabei wird überprüft, wie gut ihre Vorhersageleistung wäre, wenn sie zur Vorhersage genutzt werden würden. Ab einer bestimmten Vorhersageleistung werden sie zur Vorhersage genutzt bzw. endgültig verworfen. Wahl einer geeigneten Distanzmetrik? s.o. ?? Generalisierung mit Prototypen (Rechtecke erzeugen, die Instanzen gleicher Klassen „umranden“) IB5: Die Relevanz jedes Attributs wird inkrementell durch eine dynamische Aktualisierung seiner Gewichtung angepasst. Alle Attributgewichtungen werden jedes mal aktualisiert, wenn eine neue Trainingsinstanz klassifiziert wird. Dabei wird das Ausmaß der Erhöhung oder Erniedrigung von der Größe der Differenz zum jeweiligen Attributwert des NN bestimmt. 13/17 Data Mining WS 05/06 Prof. Dr. N. Fuhr Zusammenfassung von Simon Scheidegg Numerische Vorhersage: Regressionsbäume vs. Modellbäume Bäume, die zur numerischen Vorhersage verwendet werden, sind wie normale Entscheidungsbäume. Mit einer Ausnahme: Sie speichern, bei jedem Blatt entweder einen Klassenwert, der den Durchschnittswert der Instanzen repräsentiert, die das Blatt erreichen (Regressionsbaum) oder ein lineares Regressionsmodell, das den Klassenwert der Instanzen vorhersagt, die das Blatt erreichen (Modellbaum). Welches Kriterium verwendet man zum Aufbau des Modellbaums? Wähle das Attribut, dass die Varianz innerhalb der entstehenden Teilmengen minimiert. Oder genauer: Reduktion der Standardabweichung. Abbruch, wenn Standardabweichung < 5% von der Standardabweichung der gesamten Trainingsmenge bzw. zu wenige Instanzen (z.B. < 4). Welches zum Pruning? Berechnung der Fehlerrate für einen Knoten: Als erstes wird die absolute Differenz zwischen dem vorhergesagten Wert und dem tatsächlichen Klassenwert über alle Trainingsinstanzen, die den Knoten erreichen, hinweg gemittelt. Da das zu optimistisch ist (Testen mit Trainingsdaten...), wird ein Faktor eingeführt: (n+v)/(n-v) mit n: Anzahl der Trainingsinstanzen, die diesen Knoten erreichen und v: Anzahl der Parameter in dem linearen Modell. Letztendlich erhält man ((n+v)/(n-v)) * average_absolute_error. Das Pruning erfolgt, sobald für jeden inneren Knoten ein lineares Modell vorhanden ist. Der Baum wird von den Blättern aus zurückgeschnitten, solange der geschätzte Fehler sinkt. Dabei werden auch jeweils von allen inneren Knoten möglichst viele Terme aus dem linearen Modell entfernt, um dessen geschätzte Fehlerrate zu minimieren (s. S. 224). Das Beschneiden kann stark ausfallen: ein einzelnes Modell kann einen größeren Teilbaum ersetzen. (S. 221) Glättung bei Modellbäumen Wenn ein Modellbaum verwendet wird, um der Wert einer Testinstanz vorherzusagen, so wird standardmäßig lediglich das lineare Modell des entsprechenden Blattknotens verwendet. Beim Einsatz von Glättung wird auch die Vorhersage des Elternknotens verwendet. Man kann das gleiche Resultat erzielen, wenn man die Vorfahr-Modell direkt mit in die Blätter einbezieht (hat den Nachteil, dass die Blattmodelle tendenziell größer werden). (S. 220) 14/17 Data Mining WS 05/06 Prof. Dr. N. Fuhr Zusammenfassung von Simon Scheidegg Wie funktioniert lokal gewichtete lineare Regression? Die lokal gewichtete Regression erzeugt lokale Modelle zur Vorhersagezeit, indem sie Instanzen in der Nachbarschaft der Testinstanz ein größeres Gewicht gibt. Es gibt einen Glättungsparameter, der zur Skalierung der Distanzfunktion verwendet wird. Wird für diesen Parameter ein kleiner Wert gewählt, erhalten nur Instanzen in unmittelbarer Umgebung zur Testinstanz eine signifikante Gewichtung; wird ein großer Wert gewählt, haben auch Instanzen in größerer Entfernung einen merkbaren Einfluss auf den Vorhersagewert. Je mehr Verrauschtheit vorhanden ist, desto größer sollte der Parameter sein. Im Allgemeinen wird ein geeigneter Glättungsparameter mit Kreuzvalidierung gefunden (welch' Wunder!). (S. 227) 15/17 Data Mining WS 05/06 Prof. Dr. N. Fuhr Zusammenfassung von Simon Scheidegg Clustering Clustering-Methoden werden angewendet, wenn es nicht darum geht, eine Klasse vorherzusagen, sondern die Instanzen in natürliche Gruppen einzuteilen. Wie funktioniert k-means-Clustering? Zum Clustern der Daten in k Gruppen (k vorgegeben): 1. Wähle k Zentroiden (z.B. zufällig) 2. Ordne Instanzen den Clustern zu, anhand des Abstands zu Zentroiden 3. Berechne Zentroiden neu 4. Wiederhole die Schritte 2 und 3 bis Konvergenz erreicht wurde Das Ergebnis ist abhängig von den initialen Zentroiden -> Wiederholungen, Expertenwissen...(S. 230) Wie funktioniert inkrementelles Clustering? Das inkrementelle Clustering gruppiert Instanzen hierarchisch. Es stützt sich auf ein Qualitäts-Maß für Cluster, das als Kategorienützlichkeit bezeichnet wird. Sie misst die Gesamtqualität einer Aufteilung von Instanzen in Cluster. Am Anfang besteht der Baum aus der Wurzel alleine. Eine Instanz nach der anderen wird hinzugefügt, und der Baum wird in jeder Phase entsprechend aktualisiert. Bei der Entscheidung, wie und wann eine Aktualisierung durchgeführt wird, spielt die Kategorienützlichkeit eine große Rolle. Es wird nach einem passenden Gastgeber für die neue Instanz gesucht. Bester und zweitbester Gastgeber werden festgehalten. Es wird erwogen diese beiden Knoten zu verschmelzen (Kriterium: Kategorienützlichkeit). Falls die keine Verschmelzung stattfindet, wird erwogen den Gastgeberknoten aufzulösen und ihn durch seine Kinder zu ersetzen. Anschließend wird die neue Instanz entweder seinem Gastgeber zugeordnet (falls Gastgeber ein Blatt ist: neues Cluster erstellen; ansonsten rekursiver Aufruf...) oder die neue Instanz bildet ein neues Cluster alleine. Paramter: • Schärfe: Bei der Abschätzung der Standardabweichung eines Attributs für einen bestimmten Knoten kann das Ergebnis Null sein (z.B. nur eine Instanz im Knoten). Null-Varianzen erzeugen bei der Berechnung der Kategorienützlichkeit unendlich große Werte. Daher wird jedes Attribut mit einer Mindestvarianz versehen, der Schärfe. • Cutoff: Dieser Parameter legt einen Schwellwert fest: Wenn sich durch das hinzufügen eines neuen Knotens ein entsprechend geringer Anstieg der Kategorienützlichkeit ergibt, so wird der neue Knoten abgeschnitten und seine Instanzen seinem Elternknoten zugewiesen. (S. 231) 16/17 Data Mining WS 05/06 Prof. Dr. N. Fuhr Zusammenfassung von Simon Scheidegg Wie kann man beim inkrementellen Clustering die Kategorienützlichkeit messen? Division durch k vermeidet Überanpassung, ansonsten erhielte man die beste Kategorienützlichkeit, wenn man jede Instanz in ein eigenes Cluster setzen würde. Wie funktioniert probabilistisches Clustering? Suche die wahrscheinlichsten Cluster für die Daten. Eine Instanz gehört mit einer gewissen Wahrscheinlichkeit zu einem bestimmten Cluster. Endliche Mischungen: Anzahl der Cluster wird vorgegeben. Jedes Cluster hat eine Wahrscheinlichkeitsverteilung, die die Wahrscheinlichkeit von Attributwerten in diesem Cluster liefert. Beim Lernen der Cluster wird für jedes Cluster der Mittelwert und die Standardabweichung bestimmt (im Fall einer Normalverteilung). Als Gütekriterium wird die Wahrscheinlichkeit der Trainingsdaten benutzt. (S. 238) Der EM-Algorithmus findet ein lokales Maximum dieser Wahrscheinlichkeiten. Solange eine Verbesserung stattfindet werden zwei Schritte wiederholt: 1. E „Erwartungs“-Schritt: Berechne Cluster-Wahrscheinlichkeit für jede Instanz 2. M „Maximierungs“-Schritt: Verwende die Wahrscheinlichkeiten, um die Parameter der Verteilungen neu abzuschätzen. (S. 241) 17/17