620 likes | 759 Views
Lernen als probabilistische Inferenz – in anderen Worten Statistisches Lernen. Entscheidungsbäume Lernaufgabe Begriffslernen Stützvektormethode Lernaufgabe Funktionsapproximation Klassifikation (binäre Funktion) Regression (reellwertige Funktion). Was kommt jetzt?. Entscheidungsbaum.
E N D
Lernen als probabilistische Inferenz – in anderen Worten Statistisches Lernen. Entscheidungsbäume Lernaufgabe Begriffslernen Stützvektormethode Lernaufgabe Funktionsapproximation Klassifikation (binäre Funktion) Regression (reellwertige Funktion) Was kommt jetzt?
Entscheidungsbaum Feuchte =trocken =feucht Säure Temp 7,5 >9 =basisch =neutral =alkalisch N W Temp Temp W Die Rotbuche kann gut wachsen (W) oder nicht wachsen (N). 3,5 > 3,5 7,5 >7,5 N W W N Dank an Stefan Wrobel!
Ein Entscheidungsbaum dient der Klassifikation von Beispielen. Ausgehend von der Wurzel des Baums werden die Attribute, deren Werte von einem Knoten zum Nachfolgeknoten führen, mit den Attributwerten des Beispiels verglichen und der entsprechende Pfad verfolgt. Wenn ein Blatt des Baums erreicht wird, gibt es die Klassifikation des Beispiels an. Entscheidungsbäume
Beispiel Feuchte =trocken =feucht Säure Temp 7,5 >9 =basisch =neutral =alkalisch N W Temp Temp W Beispiel: E1: Feuchte = trocken 3,5 > 3,5 7,5 >7,5 Säure = basisch Temp = 7 N W W N
Gegeben: LE: Beispiele in Form von Attributen und Werten, wobei ein binäres Attribut die Klasse des Beispiels angibt. LH: Alle aus den gegebenen Attributen mit ihren Werten konstruierbare Entscheidungsbäume. Ziel: Ein Entscheidungsbaum, der Beispiele mit minimalem Fehler klassifiziert. Lernen von Entscheidungsbäumen
ID Feuchte Säure Temp Klasse 1 trocken basisch 7 W 2 feucht neutral 8 N 3 trocken neutral 7 W 4 feucht alkalisch 5 N 5 trocken neutral 8 N 6 trocken neutral 6 W 7 trocken neutral 11 N 8 trocken neutral 9 N 9 trocken alkalisch 9 W ID Feuchte Säure Temp Klasse 10 trocken alkalisch 8 W 11 feucht basisch 7 N 12 feucht neutral 10 W 13 trocken basisch 6 W 14 feucht alkalisch 7 N 15 trocken basisch 3 N 16 trocken basisch 4 W Beispiele
Feuchte: trocken 1 W 3 W 5 N 6 W 7 N 8 N 9 W 10 W 13 W 15 N 16 W W:7, N: 4 Total: 11 Feuchte: feucht 2 N 4 N 11 N 12 W 14 N W: 1, N: 4 Total: 5 Beispiele nach Attributen sortiert • Säure: • basisch • 1 W • 11 N • 13 W • 15 N • 16 W • W:3,N:2 • Total: 5 • Säure: • alkalisch • 4 N • 9 W • 10 W • N • W:2, N:2 • Total: 4 Säure: neutral 2 N 3 W 5 N 6 W 7 N 8 N 12 W W:3,N:4 Total: 7 Temp: >6,5 1 W 2 N 3 W 5 N 10 W 11 N 12 W 14 N W:4, N:4 Total: 8 Temp: 6,5 4 N 6 W 13 W 15 N 16 W W: 3, N:2 Total: 5
Die Klasse, die am häufigsten bei einem Attributwert vorkommt, wird vorausgesagt, wenn der Attributwert im Beispiel vorkommt. Es wird das Attribut mit dem kleinsten Fehler auf den Beispielen gewählt. Rekursiver Ansatz Test Feuchte =trocken =feucht Test Feuchte = trocken {1,3,5,6,7,8,9,10,13,15,16} Test Feuchte = feucht{2,4,11,12,14} N W 4/11 Fehler 1/5 Fehler • Die Knoten werden wieder nach Attributen aufgeteilt, wenn es noch einen Fehler auf den Beispielen gibt.
Beispiel Feuchte =trocken =feucht {2,4,11,12,14} {1,3,5,6,7,8,9,10,13,15,16} Säure Temp 9 >9 =basisch =neutral =alkalisch N W {1,13,15,16} {3,5,6,7,8} {9,10} {2,4,11,14} {12} Temp Temp W 3,5 > 3,5 7,5 >7,5 0 Fehler auf den Beispielen. N W W N {15} {1,13,16} {3,6} {5,7,8}
TDIDT (E, Tests) Falls E nur Beispiele einer Klase enthält, liefere einen Blattknoten mit dieser Klasse zurück. Sonst Für jeden Test in Tests, berechne Qualität (Test, E). Wähle den Test mit der höchsten Qualität für den aktuellen Knoten aus. Teile E anhand des Testes gemäß der Attributwerte in Mengen E1, ..., Ek auf. Für i = 1, ..., k rufe rekursiv auf: TDIDT(Ei, Tests\{Test}). Liefere den aktuellen Knoten mit den darunter liegenden Teilbäumen zurück. TDIDT - Algorithmus
Information: wie viele ja-/nein-Fragen braucht man, um ein Element einer Menge zu identifizieren? Bits Je nach Wahrscheinlichkeit pides Elements sind es weniger oder mehr Fragen. Informationsgehalt einer Menge mit m Elementen(Entropie): wie viele Fragen braucht man durchschnittlich, um jedes Element zu identifizieren. Qualitätsmaß
Hier sind die zu identifizierenden Elemente die Klassen. Als Annäherung an die Wahrscheinlichkeit nehmen wir die Häufigkeiten in den Beispielen. Wir wollen den Test auswählen, der den Informationsgehalt der durch ihn entstehenden Beispielmengen am meisten reduziert. Informationsgewinn
Test: Säure =basisch =neutral =alkalisch {11} {2, 12} {4,14} Test: Temp 9 >9 N W {2,4,11,14} {12} Beispiel Feuchte = feucht {2,4,11,12,14} Der Gewinn ist bei Temp größer als bei Säure. Es wird der Test nach dem Attribut Temp gewählt.
Überanpassung (overfitting): Da der Trainingsfehler minimiert wird, kann sich der Entscheidungsbaum zu stark an die Beispiele anpassen, so dass er auf den Testdaten falsch entscheidet. Ausweg: einen Teil der Traininsdaten zum Test des vorläufigen Ergebnisses beiseite legen (Kreuvalidierung). Den Baum zur Optimierung auf den Validierungsdaten stutzen. Identische Testfolgen können an verschiedenen Stellen des Baumes auftreten. Probleme
TDIDT ist ein effektiver und effizienter Algorithmus. Sie kennen seine Arbeitsweise, wissen, dass Tests an den Knoten Beispielmengen zurückliefern dass die Tests nach einem Qualitätskriterium ausgewählt werden (automatische Merkmalsselektion) und dass meist der Informationsgewinn als Kriterium gewählt wird. C4.5 (bei weka J48) ist das am häufigsten verwendete Lernverfahren. Was wissen Sie jetzt?
Gegeben: Beispiele X in LE die anhand einer Wahrscheinlichkeitsverteilung P auf X erzeugt wurden und mit einem Funktionswert Y = t(X) versehen sind (alternativ: Eine Wahrscheinlichkeitsverteilung P(Y|X) der möglichen Funktionswerte - verrauschte Daten). H die Menge von Funktionen in LH. Ziel: Eine Hypothese h(X) H, die das erwartete Fehlerrisiko R(h) minimiert. Risiko: Erinnerung: Funktionslernen
1 2 3 Beispiel: Funktionenlernen 0% 50% 5% 25% 0% 20% • H = { fa | fa(x) = 1, für x a, fa(x) = -1 sonst, a} • R(f0) = 0,25 + 0 + 0,20 = 0,45 • R(f1,5) = 0 + 0 + 0,20 = 0,20 • R(f3,5) = 0 + 0,5 + 0,05 = 0,55 Dank an Stefan Rüping!
Klassifikation: Q(x,h) = 0, falls t(x) = h(x), 1 sonst Textklassifikation (x = Worthäufigkeiten) Handschriftenerkennung (x = Pixel in Bild) Vibrationsanalyse in Triebwerken (x = Frequenzen) Intensivmedizinische Alarmfunktion (x = Vitalzeichen) Regression: Q(x,h) = (t(x)-h(x)))2 Zeitreihenprognose (x = Zeitreihe, t(x) = nächster Wert) Reale Beispiele
Funktionslernaufgabe nicht direkt lösbar. Problem: Die tatsächliche Funktion t(X) ist unbekannt. Die zugrunde liegende Wahrscheinlichkeit ist unbekannt. Ansatz: eine hinreichend große Lernmenge nehmen und für diese den Fehler minimieren. Empirical Risk Minimization Erinnerung: Minimierung des beobachteten Fehlers
Aufgabe ist nicht eindeutig beschrieben: Mehrere Funktionen mit minimalem Fehler existieren. Welche wählen? Overfitting: Verrauschte Daten und zu wenig Beispiele führen zu falschen Ergebnissen. Probleme der ERM
Beispiele heißen linear trennbar, wenn es eine Hyperebene H gibt, die die positiven und negativen Beispiele voneinander trennt. H heißt optimale Hyperebene, wenn ihr Abstand d zum nächsten positiven und zum nächsten negativen Beispiel maximal ist. Satz: Es existiert eine eindeutig bestimmte optimale Hyperebene. Die optimale Hyperebene d d H
Hyperebene H = {x | w*x+b = 0} H trennt (xi,yi), yi{±1} H ist optimale Hyperebene Entscheidungsfunktion f(x) = w*x+b f(xi) > 0 yi > 0 ||w|| minimal und f(xi) 1, wenn yi = 1f(xi) -1, wenn yi = -1 +1 f -1 Berechnung der opt. Hyperebene H
Minimiere ||w||2 so dass für alle i gilt: f(xi) = w*xi+b 1 für yi = 1 und f(xi) = w*xi+b -1 für yi = -1 Äquivalente Nebenbedingung: yi*f(xi) 1 Konvexes, quadratisches Optimierungs-problem eindeutig in O(n3) lösbar. Satz: ||w|| = 1/d, d = Abstand der optimalen Hyperebene zu den Beispielen. Optimierungsaufgabe der SVM
In der Praxis sind linear trennbare Daten selten. 1. Ansatz: Entferne eine minimale Menge von Datenpunkten, so dass die Daten linear trennbar werden (minimale Fehlklassifikation). Problem: Algorithmus wird exponentiell. Nicht linear trennbare Daten ?
Wähle C>0 und minimiere so dass für alle i gilt: f(xi) = w*xi+b 1-i für yi = 1 und f(xi) = w*xi+b -1+i für yi = -1 Äquivalent: yi*f(xi) 1- i Weich trennende Hyperebene +1 f
Umformung mit Lagrange-Multiplikatoren liefert einfacheres Optimierungsproblem: Maximiere unter 0 i C für alle i und iyi = 0 Es gilt w = iyixi, also f(x) = iyi(xi*x)+b Duales Optimierungsproblem
Bedeutung von und =0, =0 =0, 0<C 0<<1, 0<<C >1, =C f(x)=-1 f(x)=0 f(x)=1 Beispiele xi mit i>0 heißen Stützvektoren SVM
s = Gradient von W() // si = j(xj*xi) while(nicht konvergiert(s)) // auf genau WS = working_set(s) // suche k „gute“ Variablen ‘ = optimiere(WS) // k neue -Werte s = update(s, ‘) // s = Gradient von W(‘) Gradientensuchverfahren Trick: Stützvektoren allein definieren Lösung Weitere Tricks: Shrinking, Caching von xi*xj Optimierungsalgorithmus
Funktionslernen als allgemeine Lernaufgabe Minimierung des empirischen Risikos als Lösungsstrategie Optimale Hyperebene präzisiert die ERM Praxis: weich trennende Hyperebene Berechnung mittels SVM und dualem Problem Offene Fragen: Generelles Prinzip hinter der optimalen Hyperebene? Nicht lineare Daten? Was wissen wir jetzt?
1 astonishing3 free2 in⋮2 pictures1 porn0 SVM5 to0 university2 XXX1 astonishing3 free2 in⋮2 pictures1 porn0 SVM5 to0 university2 XXX Beispiel: Textklassifikation To: rueping@ls8.cs.uni- dortmund.de Subject: Astonishing Guaranteed XXX Pictures FREE! Gao In the next 2 minutes you are going to learn how to get access to totally FREExxxpictures. Let me show you the secrets I have learned to get FREEporn passwords. Indeed, with this in mind lets take a quick look below to see what you get, ok? 0.10.40.0⋮0.21.1-0.60.0-0.40.9 * > 0 SVM
Typische Dimension: 10.000 – 100.000 SVM lernt ohne Vorauswahl von Wörtern! Text-Categorisierungs-Model: TCat-Modell positive Dokumente negative Dokumente
Vitalzeichen von Intensivpatienten Alarm geben oder nicht? Hohe Genauigkeit Verständlichkeit? Beispiel: Intensivmedizin
Zu kleiner Hypothesenraum: Zielfunktion nicht gut genug approximierbar (Bias) Zu großer Hypothesenraum: Zuviel Einfluß zufälliger Abweichungen (Varianz) Lösung: Minimiere obere Schranke des Fehlers:R(h) Remp(h) + Var(h) Bias-Varianz-Problem
Ordne die Hypothesen in Teilmenge gemäß ihrer Komplexität Wähle in jeder Teil-menge die Hypothese mit dem geringsten empirischen Fehler Wähle insgesamt die Hypothese mit minimaler Risikoschranke Strukturelle Risikominimierung Schranke(h) = Remp(h) + Var(h) Komplexität
Definition: Eine Menge H von Hypothesen zerschmettert eine Menge E von Beispielen, wenn jede Teilmenge von E durch ein hH abgetrennt werden kann. Definition: Die VC-Dimension einer Menge von HypothesenH ist die maximale Anzahl von Beispielen E, die von H zerschmettert wird. Vapnik-Chervonenkis-Dimension
Satz: Die VC-Dimension der Hyperebenen im Rn ist n+1. Beweis: VCdim(Rn) n+1: Wähle x0 = 0 und xi = (0,...,0,1,0,...0). Für eine beliebige Teilmenge A von (x0,...,xn) setze yi = 1, falls xi A und yi = –1 sonst. Definiere w = ykxk und b = y0/2. Dann gilt wx0+b = y0/2 und wxi+b = yi+y0/2. Also: wx+b trennt A. VCdim(Rn) n+1: Zurückführen auf die beiden Fälle rechts. VC-Dimension von Hyperebenen
Setze f(x) = cos(x) und xi = 10-i, i=1...l. Wähle yi{-1,1}. Dann gilt für =(1/2(1-yi)10i): VC-Dim. und Anzahl der Parameter Vielfaches von 2 0 10-1+10-2+ =1/9 (geometrische Reihe)
cos(xk)=cos(z) mit z[0,1/9] für yk=1 und z[1,10/9] für yk=-1 cos(x) zerschmettert x1,...xl cos(x) hat unendliche VC-Dimension Die VC-Dimension ist unabhängig von der Anzahl der Parameter! VC-Dim. und Anzahl der Parameter cos 1/9 2 3
Gegeben seien Beispiele x1,...,xln mit ||xi|| < D für alle i. Für die VC-Dimension der durch den Vektor w gegebenen optimalen Hyperebene h gilt: VCdim(h) min{D2 ||w||2, n}+1 Die Komplexität einer SVM ist nicht nur durch die Dimension der Daten beschränkt (Fluch der hohen Dimension), sondern auch durch die Struktur der Lösung! VC-Dimension der SVM
Empirisches Risiko Remp(h) h fest n Erwartetes Risiko R(h) ERMh : Remp(h) = minh‘ Remp(h‘) Optimale Hypotheseh : R(h) = minh‘ R(h‘) n Wozu die ganze Theorie? Löse ich überhaupt das Lernproblem? SRM garantiert dies! SRMh : Rsrm(h) = minh‘ Rsrm(h‘) Optimale Hypotheseh : R(h) = minh‘ R(h‘) n
Idee der strukturellen Risikominimierung: obere Schranke für das Risiko Schrittweise Steigerung der Komplexität Formalisierung der Komplexität: VC-Dimension SRM als Prinzip der SVM Garantie für die Korrektheit der Lernstrategie Offene Frage: Nützlichkeit für die Praxis? Was wissen wir jetzt?
Welches erwartete Risiko R(h) erreicht SVM? R(h) selbst nicht berechenbar Trainingsfehler (zu optimistisch – Overfitting) Obere Schranke mittels VC-Dimension (zu locker) Kreuzvalidierung / Leave-One-Out-Schätzer (ineffizient) Performanzschätzer
Satz: Der Leave-One-Out-Fehler einer SVM ist beschränkt durch Rl1o |SV| / n Beweis: Falsch klassifizierte Beispiele werden Stützvektoren. Also: Nicht-Stützvektoren werden korrekt klassifiziert. Weglassen eines Nicht-Stützvektors ändert die Hyperebene nicht, daher wird es auch beim l1o-Test richtig klassifiziert. Performanzschätzer II
Performanzschätzer III • Satz: Der Leave-One-Out-Fehler einer SVM ist beschränkt durch Rl1o |{i : (2iD2+i)1}| / n(D = Radius des Umkreises um die Beispiele). • Beweis: Betrachte folgende drei Fälle: =0, =0 0<<1, 0<<C >1, =C
Was tun? Neue SVM-Theorie entwickeln? (Neeee!) Lineare SVM benutzen? („If all you‘ve got is a hammer, every problem looks like a nail“) Transformation in lineares Problem! Nicht-lineare Daten x2 x2 (x1,x2) = (x12,x2) x1 (x1)2
Erinnerung: f(x) = iyi(xi*x)+b SVM hängt von x nur über Skalarprodukt x*x‘ ab. Ersetze Transformation und Skalarprodukt * durch Kernfunktion K(x1,x2) = (x1)*(x2) Kernfunktionen * X Z K
Angabe von nicht nötig, einzige Bedingung: Kernmatrix (K(xi,xj))i,j=1...n muss positiv definit sein. Radial-Basisfunktion: K(x,y) = exp(-||x-y||2) Polynom: K(x,y) = (x*y)d Neuronale Netze: K(x,y) = tanh(ax*y+b) Konstruktion von Spezialkernen durch Summen und Produkte von Kernfunktionen, Multiplikation mit positiver Zahl, Weglassen von Attributen Kernfunktionen II