Überwachtes Lernen II: Klassifikation und Regression - Neuronale Netze und Support-Vektor-Maschinen Praktikum: Data Warehousing und Data Mining Praktikum Data Warehousing und Mining, Sommersemester 2009
Künstliche Neuronale Netze Praktikum Data Warehousing und Mining, Sommersemester 2009
Künstliche Neuronale Netze Idee Ausgangssituation Eingabegrößen: Mehrere e e beliebige eb Attribute Zielgröße: Vorhersage einer binären, kategorischen oder numerischen Variablen Idee: Nachbildung der kognitiven Fähigkeiten des menschlichen Gehirns Netzwerk aus Neuronen (Nervenzellen) verknüpft Eingabegröße mit Zielgröße Beispiel: Auge sieht Bier, Gehirn meldet Durst Definition Neuron Binäres Schaltelement mit zwei Zuständen (aktiv, inaktiv) Praktikum Data Warehousing und Mining, Sommersemester 2009 3
Struktur des Neurons in der Biologie BSt Christi rol uian ct ogical Borgelt u r e of Ba ack p r otgr ou y p incal d b i ol ogi Int roduct cal ionn eu t o Neural r onnetworks 5 Endplatte Synapse Dendriten Zellkern Zellkörper Axon Myelinscheide Praktikum Data Warehousing und Mining, Sommersemester 2009 4
Arbeitsweise von Neuronen Die Synapsen an den Enden der Axone senden chemische Stoffe aus, sog. Neuro-Transmitter. Diese wirken auf die Rezeptoren der Dendriten, deren Spannungspotential p ändert sich. Man unterscheidet zwischen exzitatorischen (erregenden) Synapsen inhibitorischen i h (hemmenden) Synapsen Bei genügend exzitatorischen Reizen (netto, über gewisse Zeitspanne) wird das Neuron aktiv. Aktive Neuronen senden selbst wieder Signale zu benachbarten Neuronen Praktikum Data Warehousing und Mining, Sommersemester 2009 5
Das einfache Perzeptron (künstliches Neuron) x 0 w 0 - μ Weiteres k Gewicht (Bias) x 1 x n w 1 w n f Ausgabe y Zum Beispiel : Eingabe- Vkt Vektor X Gewichts- Gewichtete Aktivierungs- y = sign( w x i i Vkt Vektor W Summe Funktion i= 0 n + μ ) k Der n-dimensionale Eingabe-Vektor X wird durch ein Skalarprodukt kt und eine nichtlineare Funktion auf y abgebildet. bild Praktikum Data Warehousing und Mining, Sommersemester 2009 6
Neuronale Netze - Multilayer-Perceptron (MLP) Eingabe-Neuron Verstecktes oder inneres Neuron Verbindungen (Gewichte) Ausgabe-Neuron Es kann mehr als nur eine versteckte Schicht geben! Eingabeschicht Versteckte Schicht Ausgabeschicht Praktikum Data Warehousing und Mining, Sommersemester 2009 7
Künstliche Neuronale Netze Arbeitsweise Vorgehen Klassifikation/Regression Gegeben: Netzwerk e aus Neuronen e Alle Neuronen inaktiv, senden keine Signale Eingabeneuronen gemäß Eingabegrößen gereizt Gereizte Neuronen senden Signale Signale werden über Netzwerk zum Ausgabeneuron weitergeleitet Regression: Ausgabeneuron liefert kontinuierlichen Wert. Klassifikation (binär): Schwellwertsetzung am Ausgabeneuron. Klassifikation (allgemein) Ausgabeneuron mit höchstem Reiz definiert Klasse. Anwendung auf verschiedene Datensätze Einfaches Perzeptron: Linearer Klassifikator MLP: kann auch nicht linear separierbare Probleme lösen Praktikum Data Warehousing und Mining, Sommersemester 2009 8
Lernen von neuronalen Netzen Zunächst: Definition der Netzstruktur Trial and Error Dann: Lernen der Gewichte 1. Initialisiere Gewichte und Bias mit zufälligen Werten 2. Propagiere die Werte eines Lerntupels durch das Netz 3. Berechne den Fehler, Anpassen von Gewichten und Bias 4. Wiederhole 2 und 3 bis Stoppkriterium erreicht (z.b. Fehler hinreichend klein oder Zeitüberschreitung) Anpassung findet entweder nach jedem Tupel statt oder nach jeder Epoche (ganzer Lerndatensatz) Variante: Eine Epoche besteht aus n zufälligen Lerndatensätzen. Praktikum Data Warehousing und Mining, Sommersemester 2009 9
Lernen der Gewichte einfaches Perzeptron Anpassen erfolgt durch Delta-Regel: w i = w i + Δw i Δwi = μ = μ + Δμ 0 + σx σx 0 Δμ = σ + σ i i wenn wenn wenn wenn wenn y wenn p y p y y p p y y p = y = 0 y = 1 = 1 y = 0 p = y = 0 y = 1 = 1 y = 0 w i : Ein Gewicht des Perzeptrons μ: Bias des Perzeptrons (x 1, x 2,, x n ): Ein Eingabemuster y: Zugehöriger Zielwert y p : Berechneter Ausgabewert p σ: Lernrate (Benutzerdefiniert) Praktikum Data Warehousing und Mining, Sommersemester 2009 10
Lernen der Gewichte MLP Generalisierung der Delta-Regel: Backpropagation Ziel: Minimierung i i des Fehlers und Festlegen der Gewichte/Bias-Werte; Netzwerk ist vorgegeben. Lösung: Gradientenverfahren Aktivierungsfunktion muss differenzierbar sein: Sigmoidfunktion statt sign: sig(x) = 1 / (1 + e -x ) Mit Bias und Steilheit α: sig(x) = 1 / (1 + e -α(x-μ) ) Fehlerfunktion muss differenzierbar sein: Fehlerquadrate Funktioniert auch bei mehreren versteckten Ebenen und mehreren Ausgabeneuronen. Gradientenverfahren liefert lokales Minimum σ ändern oder initiale Gewichte bzw. Bias variieren. Praktikum Data Warehousing und Mining, Sommersemester 2009 11
Neuronale Netze - Bewertung Herausforderungen Aufbereiten e der Daten Üblich: Normalisierung auf 0 1 Bei kategorischen Daten: ggf. ein Eingabeneuron pro Attribut-Ausprägung Aufbau des Netzes Erfahrungswerte oder Trial and Error. Verhinderung von Overfitting Evaluation mit neuen Daten Voraussagewert bei Regressionsproblemen Lineare Funktion an Ausgabeneuron und Skalieren des Wertes Vorteile Gutes Verhalten bei neuen und verrauschten Daten Nachteile Lernen oft vergleichsweise aufwändig Ergebnis schwer zu interpretieren Praktikum Data Warehousing und Mining, Sommersemester 2009 12
Support-Vektor-Maschinen (SVMs) Praktikum Data Warehousing und Mining, Sommersemester 2009
Support-Vektor-Maschinen - Motivation Relativ neue Klassifikationstechnik Nativ für binäre Probleme Gesucht ist eine Hyperebene, die optimal zwei Klassen separiert 1D: Grenzwert 2D: Gerade 3D: Ebene 4D etc.: Hyperebene Auch nicht linear separierbare Fälle lösbar x x x x o x x x o o x x o o o o o Linear separierbares Beispiel für den 2D-Fall x o o o o o Praktikum Data Warehousing und Mining, Sommersemester 2009 14
SVMs - Finden von Hyperebenen (linear separierbar) Small Margin Large Margin Ziel: Finden einer Hyperebene mit max. Margin. So entsteht ein generalisierender Klassifikator. Praktikum Data Warehousing und Mining, Sommersemester 2009 15
Finden einer separierenden Hyperebene Eine Hyperebene kann wie folgt beschrieben werden: W X + w 0 = 0 W = {w 1, w 2,, w n } ist Vektor von gesuchten Gewichten X ist Lerndatensatz H 2 H 1 Im 2D-Fall z.b.: w 0 + w 1 x 1 + w 2 x 2 = 0 Für die Rand- Hyperebenen gilt dann: H 1 : w 0 + w 1 x 1 + w 2 x 2 1 für y i = +1, und H 2 : w 0 + w 1 x 1 + w 2 x 2 1 für y i = 1 Die Tupel des Lerndatensatzes auf H 1 und H 2 heißen Stützvektoren (support vectors) Praktikum Data Warehousing und Mining, Sommersemester 2009 16
Berechnung der Hyperebene Das Bestimmen von W = {w 1, w 2,, w n } ist ein quadratisches Optimierungsproblem i mit Constraints. t Lösbar mit der Lagrange-Multiplikatorenregel. S. Bücher von V. Vapnik. Die Komplexität hängt von der Anzahl der Stützvektoren ab, nicht von der Dimension der Daten. Auch mit wenigen Vektoren können gute Ergebnisse erzielt werden, auch im hochdimensionalen Raum. Praktikum Data Warehousing und Mining, Sommersemester 2009 17
SVMs Nicht linear separierbare Probleme Trainingsdaten werden nichtlinear in einen höherdimensionalen i Raum abgebildet. bild Dort wird nach linear separierender Hyperebene gesucht. Viele Mapping-Techniken (Kernels) verfügbar Z.B.: Aus (x, y, z) wird (x, y, z, x², xy, xz) Mit geeigneten Mapping-Techniken und hinreichend hohen Dimensionen kann meist eine separierende Hyperebene gefunden werden. Theorem von Cover (1965): Die Wahrscheinlichkeit dass Klassen linear separierbar sind steigt wenn die Features nichtlinear in einen höheren Raum abgebildet werden. Praktikum Data Warehousing und Mining, Sommersemester 2009 18
SVMs zur Klassifikation - Bewertung Herausforderungen Anwendung auf allgemeine e e Klassifikationsprobleme at sp ob e (allgemeine kategorische Zielgröße, nicht binäre): Lernen mehrerer SVMs und Zusammenführung der Ergebnisse. Wahl von Kernel-Funktion und Dimensionalität. Vorteile Oft hervorragende Ergebnisse. Oft Bessere Generalisierung als neuronales Netzwerk. Nachteile Skaliert schlecht für viele Lerndatensätze (Dimensionalität nicht problematisch). Ergebnis im extrem hochdimensionalen Raum schwer zu interpretieren. Häufige Anwendungen: Handschrifterkennung, Objekterkennung, Sprechererkennung Praktikum Data Warehousing und Mining, Sommersemester 2009 19
SVMs zur Regression Idee Die Idee von Support-Vektoren und Kernel- Funktionen kann übertragen werden. Ähnlich wie lineare Regression, aber: Fehler kleiner als ε werden ignoriert. ε ist benutzerdefinierter Parameter, der Schlauch um Regressionsfunktion definiert. Meist wird absolutes Fehlermaß in y-richtung verwendet. Gleichzeitig werden Flache Funktionen angestrebt. ε=1 ε=2 Praktikum Data Warehousing und Mining, Sommersemester 2009 20
SVMs zur Regression Berechnung Stützvektoren sind die Lerndatensatz-Punkte, die außerhalb des Schlauchs liegen. Im allgemeinen kann kein Schlauch bei gegebenem ε gefunden werden, der alle Punkte umschließt. Es existieren zwei konkurrierende Optimierungsziele: Minimierung des Fehlers der Stützvektoren. Erreichen einer flachen Funktion. Parameter C kontrolliert Tradeoff. C: max. Wert der Regressionskoeffizienten. Hohes C: Gut auf Trainingsdaten, da keine Wertbegrenzung. Niedriges C: Bessere Generalisierung. Praktikum Data Warehousing und Mining, Sommersemester 2009 21 ε=0,5
Wiederholung: Evaluationstechniken Praktikum Data Warehousing und Mining, Sommersemester 2009
Überwachtes Lernen Vorgehen Trainingsdaten Klassifikator lernen Klassifikationsregeln modell Testdaten Klassifikator testen optimiertes Klassifikationsregeln modell Produktivdaten Klassifikator anwenden Praktikum Data Warehousing und Mining, Sommersemester 2009 23
Sampling bzw. Holdout Institut für Programmstrukturen und Datenorganisation (IPD) Die Leistung eines Klassifikators kann nicht mit dem Lerndatensatz beurteilt werden! Overfitting! Vgl. Motivation Pruning. Deshalb: Unterteilung der Ausgangsdaten in Training Set zum Lernen des Klassifikators (oft zwei Drittel) Test Set zur Evaluation des Klassifikators (oft ein Drittel) Beide Mengen sollten möglichst repräsentativ sein: Stratifikation: Aus jeder Klasse wird ein proportionaler p Anteil in das Training- und Test Set übernommen. Eine Unterteilung in Training- und Test Set ist oft nicht möglich, wenn nicht genug Daten zur Verfügung stehen: Ein kleines Test Set ist ggf. nicht mehr repräsentativ. Ein kleines Training Set bietet ggf. zu wenig zum Lernen. Praktikum Data Warehousing und Mining, Sommersemester 2009 24
Cross-Validation Institut für Programmstrukturen und Datenorganisation (IPD) Unterteilung der Ausgangsdaten in k Partitionen Typischerweise eise wird k=10 gewählt Eine Partition bildet Test Set k 1 Partitionen bilden Training Set Berechnung und Evaluation von k Klassifikatoren: In k Runden wird jedes Datentupel k-1 mal zum Lernen verwendet und genau ein mal klassifiziert. Stratifizierte Cross-Validation ist in vielen Fällen die zu empfehlende Evaluationstechnik, besonders aber bei kleinen Datensätzen. Achtung: Cross-Validation ist sehr Rechenaufwändig Leave-One-Out Out ist Spezialfall für k=n Praktikum Data Warehousing und Mining, Sommersemester 2009 25
Quellen Institut für Programmstrukturen und Datenorganisation (IPD) J. Han und M. Kamber: Data Mining: Concepts and Techniques, Morgan Kaufmann, 2006. I.H. Witten und E. Frank: "Data Mining - Practical Machine Learning Tools and Techniques", Morgan Kaufmann, 2005. Vladimir N. Vapnik : The Nature of Statistical Learning Theory, Springer, 1995. Vladimir N. Vapnik : Statistical Learning Theory, Wiley, 1998. T. M. Mitchell: Machine Learning, Mc Graw Hill, 1997. F. Klawonn: Folien zur Vorlesung Data Mining, 2006. C. Borgelt: Folien zur Vorlesung Introduction to Neural Networks, 2009 SPSS: SS Clementine 12.0 Algorithms Guide. 2007. http://isl.ira.uka.de/neuralnetcourse/2006/vorlesung_2006-05- 09/applet-perceptron/Perceptron.html http://fbim.fh-regensburg.de/~saj39122/wabrpi/ fh b / b i/ Praktikum Data Warehousing und Mining, Sommersemester 2009 26
Organisatorisches zum Data-Mining-Cup Praktikum Data Warehousing und Mining, Sommersemester 2009
Zwischenpräsentation am 11.05.2009 pro Gruppe 10 Minuten Vortrag, 5 Minuten Diskussion Status Quo beim Data-Mining-Cup: Ergebnisse der Analyse der Daten statistische Auffälligkeiten? resultierende Vorverarbeitungsschritte ggf. ausprobierte Verfahren (evtl. erste Punktzahlen) nächste geplante Schritte Praktikum Data Warehousing und Mining, Sommersemester 2009 28
Weiteres Vorgehen Institut für Programmstrukturen und Datenorganisation (IPD) 18. Mai: Vorstellung von Punktzahlen im Tutorium keine Vorlesungssitzung genaues Evaluationsverfahren wird am 11.05. spezifiziert Punktzahl ist Grundlage für Gewichtung unserer gemeinsamen Einreichung 25. Mai: Abgabe DMC Gruppenergebnis per E-Mail bis 9:30 Uhr an uns wir berechnen dann Gesamtlösung Praktikum Data Warehousing und Mining, Sommersemester 2009 29