Institut für Programmstrukturen und Datenorganisation (IPD) Lehrstuhl für Systeme der Informationsverwaltung, Prof. Böhm Ü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 Institut für Programmstrukturen und Datenorganisation (IPD) Lehrstuhl für Systeme der Informationsverwaltung, Prof. Böhm Künstliche Neuronale Netze Praktikum Data Warehousing und Mining, Sommersemester 2009 Institut für Programmstrukturen und Datenorganisation (IPD) Lehrstuhl für Systeme der Informationsverwaltung, Prof. Böhm Künstliche Neuronale Netze – Idee • Ausgangssituation • Eingabegrößen: gabeg öße Mehrere e e e be beliebige eb ge Attribute tt bute • 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 Institut für Programmstrukturen und Datenorganisation (IPD) Lehrstuhl für Systeme der Informationsverwaltung, Prof. Böhm Struktur des Neurons in der Biologie B irol St u ct ogi u r cal e of B a ack p r otgr ot ou y p in cal d b i ol ogi I nt roduct cal ionn eu t o Neural r onNet works Christ ian B orgelt 5 Endplatte Synapse Dendriten Zellkörper Zellkern Axon Myelinscheide Praktikum Data Warehousing und Mining, Sommersemester 2009 4 Institut für Programmstrukturen und Datenorganisation (IPD) Lehrstuhl für Systeme der Informationsverwaltung, Prof. Böhm Arbeitsweise von Neuronen • Die Synapsen an den Enden der Axone senden chemische Stoffe aus aus, sog sog. Neuro Neuro-Transmitter. Transmitter • Diese wirken auf die Rezeptoren der Dendriten, deren Spannungspotential p g p ändert sich. • Man unterscheidet zwischen • exzitatorischen (erregenden) Synapsen • inhibitorischen i hibit i h (h (hemmenden) d )S Synapsen • Bei genügend exzitatorischen Reizen (netto, über gewisse Zeitspanne) g p ) wird das Neuron aktiv. • Aktive Neuronen senden selbst wieder Signale zu benachbarten Neuronen… Praktikum Data Warehousing und Mining, Sommersemester 2009 5 Institut für Programmstrukturen und Datenorganisation (IPD) Lehrstuhl für Systeme der Informationsverwaltung, Prof. Böhm Das einfache Perzeptron (künstliches Neuron) x0 w0 x1 w1 xn ∑ μk Weiteres Gewicht (Bias) f Ausgabe y wn Zum Beispiel : EingabeV kt X Vektor • GewichtsV kt W Vektor Gewichtete S Summe AktivierungsF kti Funktion n y = sign(∑ wi xi + μ k ) i 0 i= Der n-dimensionale Eingabe-Vektor X wird durch ein Sk l Skalarprodukt d kt und d eine i nichtlineare i htli F Funktion kti auff y abgebildet. b bild t Praktikum Data Warehousing und Mining, Sommersemester 2009 6 Institut für Programmstrukturen und Datenorganisation (IPD) Lehrstuhl für Systeme der Informationsverwaltung, Prof. Böhm Neuronale Netze - Multilayer-Perceptron 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 Praktikum Data Warehousing und Mining, Sommersemester 2009 Ausgabeschicht 7 Institut für Programmstrukturen und Datenorganisation (IPD) Lehrstuhl für Systeme der Informationsverwaltung, Prof. Böhm Künstliche Neuronale Netze – Arbeitsweise • Vorgehen Klassifikation/Regression • Gegeben: Gegebe Netzwerk et e aus Neuronen eu o e • Alle Neuronen inaktiv, senden keine Signale • Eingabeneuronen gemäß Eingabegrößen gereizt ⇒ Gereizte Neuronen senden Signale • Signale Si l werden d üb über N Netzwerk t k zum Ausgabeneuron A b weitergeleitet • Regression: • Ausgabeneuron liefert kontinuierlichen Wert 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 Institut für Programmstrukturen und Datenorganisation (IPD) Lehrstuhl für Systeme der Informationsverwaltung, Prof. Böhm Lernen von neuronalen Netzen • Zunächst: Definition der Netzstruktur • Trial and Error… Error • Dann: Lernen der Gewichte 1. 2. 3 3. 4. • Initialisiere Gewichte und Bias mit zufälligen Werten Propagiere die Werte eines Lerntupels durch das Netz B Berechne h d den F Fehler, hl A Anpassen von G Gewichten i ht und d Bi Bias 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 Institut für Programmstrukturen und Datenorganisation (IPD) Lehrstuhl für Systeme der Informationsverwaltung, Prof. Böhm Lernen der Gewichte – einfaches Perzeptron • Anpassen erfolgt durch Delta-Regel: • • • • • • • • wi‘ = wi + Δwi μ‘ = μ + Δμ wi: μ: (x1, x2, …, xn): y: yp: σ: ⎧ 0 ⎪ Δwi = ⎨+ σxi ⎪− σx i ⎩ ⎧ 0 ⎪ Δμ = ⎨− σ ⎪+ σ ⎩ wenn wenn yp = y yp = 0 ∧ y = 1 wenn yp = 1∧ y = 0 wenn yp = y wenn yp = 0 ∧ y = 1 wenn yp = 1∧ y = 0 Ein Gewicht des Perzeptrons Bias des Perzeptrons Ein Eingabemuster Zugehöriger Zielwert Berechneter Ausgabewert g Lernrate (Benutzerdefiniert) Praktikum Data Warehousing und Mining, Sommersemester 2009 10 Institut für Programmstrukturen und Datenorganisation (IPD) Lehrstuhl für Systeme der Informationsverwaltung, Prof. Böhm Lernen der Gewichte – MLP • Generalisierung der Delta-Regel: Backpropagation • Ziel: Zi l Mi Minimierung i i d des F Fehlers hl und dF Festlegen tl d 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 Institut für Programmstrukturen und Datenorganisation (IPD) Lehrstuhl für Systeme der Informationsverwaltung, Prof. Böhm Neuronale Netze - Bewertung • Herausforderungen • Aufbereiten u be e te de der Daten ate • Üblich: Normalisierung auf 0…1 • Bei kategorischen Daten: ggf. ein Eingabeneuron pro Attribut-Ausprägung • Aufbau A fb d des N Netzes t • 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 g aufwändig g • Ergebnis schwer zu interpretieren Praktikum Data Warehousing und Mining, Sommersemester 2009 12 Institut für Programmstrukturen und Datenorganisation (IPD) Lehrstuhl für Systeme der Informationsverwaltung, Prof. Böhm Support-Vektor-Maschinen Support Vektor Maschinen (SVMs) Praktikum Data Warehousing und Mining, Sommersemester 2009 Institut für Programmstrukturen und Datenorganisation (IPD) Lehrstuhl für Systeme der Informationsverwaltung, Prof. Böhm Support Vektor Maschinen - Motivation Support-Vektor-Maschinen • Relativ neue Klassifikationstechnik • Nativ für binäre Probleme • Gesucht ist eine Hyperebene, die optimal zwei Klassen separiert • • • • 1D: G 1D Grenzwertt 2D: Gerade 3D: Ebene 4D etc.: Hyperebene • Auch nicht linear separierbare Fälle lösbar lösbar… x x x x x x x x x ooo o o o o x o o o o o o Linear separierbares Beispiel für den 2D-Fall Praktikum Data Warehousing und Mining, Sommersemester 2009 14 Institut für Programmstrukturen und Datenorganisation (IPD) Lehrstuhl für Systeme der Informationsverwaltung, Prof. Böhm SVMs - Finden von Hyperebenen (linear separierbar) Small Margin Large Margin • Ziel: Finden einer Hyperebene mit max. Margin. • So entsteht ein g generalisierender Klassifikator. Praktikum Data Warehousing und Mining, Sommersemester 2009 15 Institut für Programmstrukturen und Datenorganisation (IPD) Lehrstuhl für Systeme der Informationsverwaltung, Prof. Böhm Finden einer separierenden Hyperebene Eine Hyperebene kann wie folgt beschrieben werden: W ● X + w0 = 0 W = {w1, w2, …, wn} ist Vektor von gesuchten Gewichten X ist Lerndatensatz Im 2D-Fall z.B.: w0 + w1 x1 + w2 x2 = 0 Fü di Für die R Randd Hyperebenen H b gilt il d dann: H1: w0 + w1 x1 + w2 x2 ≥ 1 für yi = +1, und H2: w0 + w1 x1 + w2 x2 ≤ – 1 für yi = –1 H1 H2 Die Tupel des Lerndatensatzes auf H1 und H2 heißen Stützvektoren (support vectors) Praktikum Data Warehousing und Mining, Sommersemester 2009 16 Institut für Programmstrukturen und Datenorganisation (IPD) Lehrstuhl für Systeme der Informationsverwaltung, Prof. Böhm Berechnung der Hyperebene Das Bestimmen von W = {w1, w2, …, wn} ist ein quadratisches d ti h O Optimierungsproblem ti i bl mit it Constraints. C t i t Lösbar mit der Lagrange-Multiplikatorenregel. S. Bücher von V. Vapnik. p Die Komplexität hängt von der Anzahl der Stützvektoren ab ab, nicht von der Dimension der Daten Daten. Auch mit wenigen Vektoren können gute Ergebnisse erzielt werden,, auch im hochdimensionalen Raum. Praktikum Data Warehousing und Mining, Sommersemester 2009 17 Institut für Programmstrukturen und Datenorganisation (IPD) Lehrstuhl für Systeme der Informationsverwaltung, Prof. Böhm SVMs – Nicht linear separierbare Probleme • Trainingsdaten werden nichtlinear in einen höh di höherdimensionalen i l Raum R abgebildet. b bild t • Dort wird nach linear separierender Hyperebene gesucht. gesucht • Viele Mapping-Techniken (Kernels) verfügbar • Z.B.: Aus ((x,, y, z)) wird (x, ( , y, z,, x²,, xy, y, 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 Institut für Programmstrukturen und Datenorganisation (IPD) Lehrstuhl für Systeme der Informationsverwaltung, Prof. Böhm SVMs zur Klassifikation - Bewertung • Herausforderungen • Anwendung e du g au auf a allgemeine ge e e Klassifikationsprobleme ass at o sp ob e e (allgemeine kategorische Zielgröße, nicht binäre): Lernen mehrerer SVMs und Zusammenführung der Ergebnisse. • Wahl von Kernel-Funktion und Dimensionalität. • Vorteile V t il • Oft hervorragende Ergebnisse. • Oft Bessere Generalisierung als neuronales Netzwerk. • Nachteile N ht il • Skaliert schlecht für viele Lerndatensätze (Dimensionalität nicht problematisch). • Ergebnis im extrem hochdimensionalen Raum schwer zu interpretieren. • Häufige Anwendungen: • Handschrifterkennung Handschrifterkennung, Objekterkennung, Objekterkennung Sprechererkennung Praktikum Data Warehousing und Mining, Sommersemester 2009 19 Institut für Programmstrukturen und Datenorganisation (IPD) Lehrstuhl für Systeme der Informationsverwaltung, Prof. Böhm SVMs zur Regression – Idee • Die Idee von Support-Vektoren und KernelFunktionen kann übertragen werden werden. • Ähnlich wie lineare Regression, aber: • Fehler kleiner als ε werden ignoriert. g ε ist benutzerdefinierter Parameter, der „Schlauch“ um Regressionsfunktion definiert. • Meist wird absolutes Fehlermaß in y-Richtung verwendet. • Gleichzeitig werden „Flache Funktionen“ Funktionen angestrebt. ε=1 Praktikum Data Warehousing und Mining, Sommersemester 2009 ε=2 20 Institut für Programmstrukturen und Datenorganisation (IPD) Lehrstuhl für Systeme der Informationsverwaltung, Prof. Böhm SVMs zur Regression – Berechnung • Stützvektoren sind die Lerndatensatz-Punkte, die außerhalb des Schlauchs liegen liegen. • Im allgemeinen kann kein Schlauch bei gegebenem ε gefunden werden, der alle Punkte umschließt. g • Es existieren zwei konkurrierende Optimierungsziele: • Minimierung des Fehlers der Stützvektoren. • Erreichen E i h einer i fl flachen h F Funktion. kti • Parameter C kontrolliert Tradeoff. • C: max. Wert der Regressionskoeffizienten. g • Hohes C: Gut auf Trainingsdaten, da keine Wertbegrenzung. • Niedriges C: Bessere Generalisierung Generalisierung. ε=0,5 Praktikum Data Warehousing und Mining, Sommersemester 2009 21 Institut für Programmstrukturen und Datenorganisation (IPD) Lehrstuhl für Systeme der Informationsverwaltung, Prof. Böhm Wiederholung: Evaluationstechniken Praktikum Data Warehousing und Mining, Sommersemester 2009 Institut für Programmstrukturen und Datenorganisation (IPD) Lehrstuhl für Systeme der Informationsverwaltung, Prof. Böhm Überwachtes Lernen – Vorgehen Trainingsdaten Klassifikator lernen Klassifikationsregeln modell Testdaten Klassifikator testen Produktivdaten Praktikum Data Warehousing und Mining, Sommersemester 2009 optimiertes Klassifikationsregeln modell Klassifikator anwenden 23 Institut für Programmstrukturen und Datenorganisation (IPD) Lehrstuhl für Systeme der Informationsverwaltung, Prof. Böhm Sampling bzw bzw. Holdout • Die Leistung eines Klassifikators kann nicht mit dem Lerndatensatz beurteilt werden! • Overfitting! Vgl. Motivation Pruning. • Deshalb: Unterteilung der Ausgangsdaten in • Training g 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 jjeder Klasse wird ein p 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: t h • 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 Institut für Programmstrukturen und Datenorganisation (IPD) Lehrstuhl für Systeme der Informationsverwaltung, Prof. Böhm Cross Validation Cross-Validation • Unterteilung der Ausgangsdaten in k Partitionen • T Typischerweise pischer eise wird ird k=10 k 10 gewählt ge ä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 b i kl bei kleinen i D Datensätzen. t ät • Achtung: Cross-Validation ist sehr Rechenaufwändig • „Leave-One-Out Leave One Out“ ist Spezialfall für k=n Praktikum Data Warehousing und Mining, Sommersemester 2009 25 Institut für Programmstrukturen und Datenorganisation (IPD) Lehrstuhl für Systeme der Informationsverwaltung, Prof. Böhm Quellen • • • • • • • • • • J. Han und M. Kamber: „Data Mining: Concepts and q Morgan g Kaufmann, 2006. Techniques“, 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 S SS C SPSS: Clementine 12 12.0 0 Algorithms Guide. G 2007. 200 http://isl.ira.uka.de/neuralNetCourse/2006/Vorlesung_2006-0509/applet-perceptron/Perceptron.html htt //fbi fh http://fbim.fh-regensburg.de/~saj39122/wabrpi/ b d / j39122/ b i/ Praktikum Data Warehousing und Mining, Sommersemester 2009 26 Institut für Programmstrukturen und Datenorganisation (IPD) Lehrstuhl für Systeme der Informationsverwaltung, Prof. Böhm Organisatorisches zum Data-Mining-Cup Data Mining Cup Praktikum Data Warehousing und Mining, Sommersemester 2009 Institut für Programmstrukturen und Datenorganisation (IPD) Lehrstuhl für Systeme der Informationsverwaltung, Prof. Böhm Zwischenpräsentation am 11 11.05.2009 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 gg p Verfahren (evtl. erste Punktzahlen) nächste geplante Schritte Praktikum Data Warehousing und Mining, Sommersemester 2009 28 Institut für Programmstrukturen und Datenorganisation (IPD) Lehrstuhl für Systeme der Informationsverwaltung, Prof. Böhm Weiteres Vorgehen • 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