Universität Potsdam Institut für Informatik Lehrstuhl Maschinelles Lernen Hypothesenbewertung Christoph Sawade/Niels Landwehr Dominik Lahmann Tobias Scheffer Überblick Hypothesenbewertung, Risikoschätzung Anwendungen/Beispiele Sawade/Landwehr/Scheffer, Maschinelles Lernen 2 Überblick Hypothesenbewertung, Risikoschätzung Anwendungen/Beispiele Sawade/Landwehr/Scheffer, Maschinelles Lernen 3 Lernen und Vorhersage Klassifikation, Regression: Lernproblem Eingabe: Trainingsdaten L (x1 , y1 ),..., (x m , ym ) Ausgabe: Hypothese (Modell) f : X Y Modell wird verwendet, um Vorhersagen für neue Testbeispiele zu treffen f (x) ? x Sawade/Landwehr/Scheffer, Maschinelles Lernen Testbeispiel Verschiedene Verfahren kennengelernt Lineare Modelle, Entscheidungsbäume, Naive Bayes… 4 Hypothesenbewertung Sawade/Landwehr/Scheffer, Maschinelles Lernen Frage: Nachdem wir Verfahren implementiert, Hypothese trainiert haben etc.: wie gut sind die Vorhersagen? Was genau heißt „gut“? Wie berechnet / misst / schätzt man es? „Gute Vorhersagen“: in der Zukunft, wenn die gelernte Hypothese eingesetzt wird (auf Testdaten) „Hypothesenbewertung“: Verfahren zur Abschätzung der Genauigkeit/Güte von Vorhersagen gelernter Modelle 5 Hypothesenbewertung Um Hypothesenbewertung formal zu untersuchen, müssen wir Annahmen über die Eigenschaften von Trainings- und Testdaten machen Zentrale Annahme: dem Lernproblem liegt eine (unbekannte) Verteilung p(x,y) zugrunde Verteilung über Instanzen Sawade/Landwehr/Scheffer, Maschinelles Lernen Verteilung für Label gegeben Instanz p(x, y) p(x) p( y | x) Beispiel Spam-Filterung p(x) Wahrscheinlichkeit dass wir Email x sehen p(y|x) Wahrscheinlichkeit dass Mensch Email x als y ∈ {Spam/Ok} klassifiziert 6 Hypothesenbewertung „i.i.d.“-Annahme: Beispiele sind „independent and identically distributed“. Trainingsdaten werden unabhängig aus der Verteilung p(x,y) gezogen: (xi , yi ) ~ p(x, y) Trainingsbeispiele Testdaten ebenfalls i.i.d. aus dieser Verteilung gezogen (x, y) ~ p(x, y) Sawade/Landwehr/Scheffer, Maschinelles Lernen Testbeispiel (Anwendung des Modells) Immer realistisch? Wir nehmen im Folgenden immer i.i.d. Daten an 7 Verlustfunktionen Wir haben Annahmen darüber gemacht, welche Instanzen (x,y) auftauchen werden Testbeispiel (x,y), Hypothese sagt f(x). Verlustfunktion definiert, wie schlecht das ist: ( y, f (x)) Sawade/Landwehr/Scheffer, Maschinelles Lernen Verlust der Vorhersage f(x) auf Instanz (x,y) Nicht-negativ: y, y ': ( y, y ') 0 Problem-spezifisch, gegeben. Verlustfunktionen für Klassifikation ( y, y ') 0, wenn y y '; 1, sonst Zero-one loss: Klassenabhängige Kostenmatrix Verlustfunktionen für Regression ( y, y ') ( y y ')2 Squared loss: 8 Hypothesenbewertung: Risiko Zentraler Begriff der Hypothesenbewertung: Risiko Risiko einer Hypothese: erwarteter Verlust für eine neue Instanz (x, y) ~ p(x, y) ( y, f (x)) Testbeispiel x mit Label y (Zufallsvariable) Verlust auf Testbeispiel (Zufallsvariable) R( f ) E[ ( y, f (x))] ( y, f (x)) p(x, y)dxdy Für Zero-One-Loss heisst Risiko auch Fehlerrate. Für Squared Loss heisst Risiko auch Mean Squared Error. Hauptziel der Hypothesenbewertung: Risikobestimmung Nicht möglich, das Risiko exakt zu bestimmen, weil p(x,y) unbekannt ist → Schätzproblem 9 Sawade/Landwehr/Scheffer, Maschinelles Lernen Einschub: Begriff „Schätzer“ Wir wollen das Risiko einer Hypothese aus Daten schätzen Formalisierung: ein Schätzer ist ein Verfahren, das Beobachtungen L auf einen Schätzwert abbildet. Beispiel Münzwurf: Sawade/Landwehr/Scheffer, Maschinelles Lernen Beobachtung Nk, Nz: wie oft Kopf/Zahl gesehen schätze Münzparameter (Wahrscheinlichkeit, dass Kopf fällt) Notation: Schätzer für (unbekannten) Wert wird mit ˆ bezeichnet 10 Hypothesenbewertung:Risikoschätzung Risikoschätzung aus Daten Wenn aus p(x,y) gezogene Daten T (x1 , y1 ),...,(xm , ym ) Sawade/Landwehr/Scheffer, Maschinelles Lernen (xi , yi ) ~ p(x, y) gegeben sind, kann das Risiko geschätzt werden: 1 Rˆ ( f ) m m j 1 ( y j , f ( x j )) "Empirisches Risiko" Wichtig: Wo kommt T her? Trainingsdaten (T=L)? Verfügbare Daten in disjunkte L und T aufteilen. Cross-Validation. 11 Bias eines Schätzers Schätzer Rˆ ( f ) Instanzen in T zufällig gezogen (x j , y j ) ~ p(x, y) ( y j , f (x j )) Schätzer ist Zufallsvariable: 1 m j 1 m Sawade/Landwehr/Scheffer, Maschinelles Lernen Welche (x j , y j ) werden gezogen? Wert des Schätzers hängt von zufällig gezogenen Instanzen ab, ist also Produkt eines Zufallsprozesses Schätzer hat einen Erwartungswert Schätzer ist erwartungstreu, genau dann wenn: Erwartungswert des empirischen Risikos = echtes Risiko. 12 Bias eines Schätzers Schätzer Rˆ ( f ) einen Bias: Bias E[ Rˆ ( f )] R( f ) Bias < 0. Schätzer ist pessimistisch, wenn E[ Rˆ ( f )] R( f ) Schätzer ist optimistisch, wenn ist erwartungstreu, genau dann wenn: Ansonsten hat Rˆ ( f ) Sawade/Landwehr/Scheffer, Maschinelles Lernen Bias > 0. Schätzer ist erwartungstreu, wenn Bias = 0. 13 Varianz eines Schätzers Schätzer Rˆ ( f ) hat eine Varianz Sawade/Landwehr/Scheffer, Maschinelles Lernen Var[ Rˆ ( f )] E[ Rˆ ( f )2 ] E[ Rˆ ( f )]2 Je größer die Stichprobe ist, die zum Schätzen verwendet wird, desto geringer ist die Varianz. Varianz vs. Bias: Hohe Varianz: großer „Zufallsanteil“ bei der Bestimmung des empirischen Risikos. Großer Bias: systematischer Fehler bei der Bestimmung des empirischen Risikos. 14 Varianz eines Schätzers Wert Rˆ ( f ) Sawade/Landwehr/Scheffer, Maschinelles Lernen Bias dominiert R R Varianz dominiert Erwarteter (quadratischer) Fehler des Schätzers: E[( Rˆ ( f ) R)2 ] Lässt sich zerlegen in Bias und Varianz E[( Rˆ ( f ) R) 2 ] E[ Rˆ ( f ) 2 2 RRˆ ( f ) R 2 ] E[ Rˆ ( f ) 2 ] 2 RE[ Rˆ ( f )] R 2 Linearität Erwartungswert Verschiebungssatz E[ Rˆ ( f )]2 2 RE[ Rˆ ( f )] R 2 E[ Rˆ ( f ) 2 ] E[ Rˆ ( f )]2 ( E[ Rˆ ( f )] R) 2 Var[ Rˆ ( f )] Bias[ Rˆ ( f )]2 Var[ Rˆ ( f )] 15 Risikoschätzer auf den Trainingsdaten Hypothese f, trainiert auf L (x1 , y1 ),...,(xm , ym ) Empirisches Risiko gemessen auf Trainingsdaten Sawade/Landwehr/Scheffer, Maschinelles Lernen Welche Menge T verwenden? 1. Versuch: Trainingsdaten L 1 m Rˆ L ( f ) j 1 ( y j , f (x j )) m Ist dieses empirische Risiko ein erwartungstreuer optimistischer pessimistischer Schätzer für das echte Risiko und warum? 16 Risikoschätzer auf den Trainingsdaten Empirisches Risiko auf den Trainingsdaten ist ein optimistischer Schätzer des echten Risikos Empirisches Risiko aller möglichen Hypothesen für ein festes L? Aufgrund von Zufallseffekten gilt für einige Hypothesen f , dass Rˆ L ( f ) R( f ) und für andere Hypothesen f , dass Rˆ L ( f ) R( f ) . Lernalgorithmus wählt eine Hypothese f L mit kleinem empirischen Risiko Rˆ L ( f L ) Sawade/Landwehr/Scheffer, Maschinelles Lernen Wahrscheinlich, dass Rˆ L ( f L ) R( f L ) (Risiko unterschätzt) 17 Risikoschätzer auf den Trainingsdaten Sawade/Landwehr/Scheffer, Maschinelles Lernen Empirisches Risiko der vom Lerner gewählten Hypothese auf den Trainingsdaten („Trainingsfehler“) ist ein optimistischer Schätzer des echten Risikos: E[ Rˆ L ( f L )] R( f L ) Problem ist die Abhängigkeit von gewählter Hypothese und zur Fehlerschätzung verwendeten Daten Ansatz: Testdaten verwenden, die von den Trainingsdaten unabhängig sind. 18 Holdout-Testing Idee: Fehlerschätzung auf unabhängigen Testdaten Gegeben: Daten D (x1 , y1 ),...,(xd , yd ) Teile Daten auf in Sawade/Landwehr/Scheffer, Maschinelles Lernen Trainingsdaten L (x1 , y1 ),...,(xm , ym ) und Testdaten T (xm1 , ym1 ),...,(xd , yd ) L T 19 Holdout-Testing Starte Lernalgorithmus mit Daten L, gewinne so Hypothese f L . Ermittle empirisches Risiko RˆT ( f L ) auf Daten T. Starte Lernalgorithmus auf Daten D, gewinne so Hypothese f D . Ausgabe: Hypothese f D , benutze RˆT ( f L ) als Schätzer für das Risiko von f D L T Sawade/Landwehr/Scheffer, Maschinelles Lernen 20 Holdout-Testing: Analyse Ist der Schätzer RˆT ( f L ) für Risiko der Hypothese Sawade/Landwehr/Scheffer, Maschinelles Lernen fD erwartungstreu, optimistisch, pessimistisch? 21 Holdout-Testing: Analyse Schätzer RˆT ( f L ) RˆT ( f L ) ist pessimistisch für R( f D ) : Sawade/Landwehr/Scheffer, Maschinelles Lernen ist erwartungstreu für f L fL wurde mit weniger Trainingsdaten gelernt als f D und hat daher im Erwartungswert ein höheres Risiko Aber Schätzer RˆT ( f L ) ist in der Praxis brauchbar, während Rˆ L ( f L ) meist 0 (oder nahe 0) ist. 22 Holdout-Testing: Analyse Warum wird Hypothese f D trainiert und zurückgeliefert? Rückgegebene Hypothese f D und nicht f L , weil ein geringeres Risiko hat, also besser ist. Sawade/Landwehr/Scheffer, Maschinelles Lernen fD 23 Holdout-Testing: Analyse Was sind die Vorteile/Nachteile wenn Testmenge T Sawade/Landwehr/Scheffer, Maschinelles Lernen möglichst groß möglichst klein gewählt wird? T möglichst groß, damit Risikoschätzer RˆT ( f L ) geringe Varianz hat. T möglichst klein, damit Risikoschätzer RˆT ( f L ) geringen Bias hat, also nicht so stark pessimistisch ist. Braucht viele Daten, um gute Schätzungen zu bekommen Wird praktisch nur verwendet, wenn sehr viele Daten zur Verfügung stehen. Cross-Validation meist besser (siehe unten) 24 Cross-Validation Gegeben: Daten D (x1 , y1 ),..., (xd , yd ) Teile D in n gleich große Abschnitte D1,..., Dn n D mit i1 Di und Di D j 0 Wiederhole für i=1..n Sawade/Landwehr/Scheffer, Maschinelles Lernen Trainiere fi mit Li =D \ Di. Bestimme empirisches Risiko Rˆ D ( f i ) auf Di. i D1 D2 D3 D4 Training examples 25 Cross-Validation Mittle empirische Risikoschätzungen auf den jeweiligen Testmengen Di : R 1 n Sawade/Landwehr/Scheffer, Maschinelles Lernen ˆ (f ) R i i 1 Di n Trainiere fD auf allen Daten D. Liefere Hypothese fD und Schätzer R . Training examples 26 Leave-One-Out Cross-Validation Spezialfall n=d heisst auch leave-one-out Fehlerschätzung Sawade/Landwehr/Scheffer, Maschinelles Lernen d 27 Cross-Validation: Analyse Ist der Schätzer Sawade/Landwehr/Scheffer, Maschinelles Lernen Optimistisch / pessimistisch / erwartungstreu? 28 Cross-Validation: Analyse Ist der Schätzer Sawade/Landwehr/Scheffer, Maschinelles Lernen Optimistisch / pessimistisch / erwartungstreu? Schätzer ist pessimistisch: Hypothesen fi werden auf Anteil (n-1)/n der verfügbaren Daten trainiert. Hypothese fD wird auf den gesamten Daten trainiert Holdout Cross-Validation Training examples 29 Cross-Validation: Analyse Bias/Varianz der Risikoschätzung im Vergleich zu HoldoutTesting? Varianz ist geringer als beim Holdout-Testing Mittelung über mehrere Holdout-Experimente, das reduziert die Varianz Alle Daten fließen in den Schätzer ein Bias ähnlich wie beim Holdout-Testing, je nach SplitVerhältnissen. Sawade/Landwehr/Scheffer, Maschinelles Lernen Holdout Cross-Validation Training examples 30 Überblick Hypothesenbewertung, Risikoschätzung Anwendungen/Beispiele Sawade/Landwehr/Scheffer, Maschinelles Lernen 31 Anwendungen/Beispiele Hypothesenevaluierung Wir wollen/müssen aus Anwendungsgründen wissen, wie gut Hypothese ist Sawade/Landwehr/Scheffer, Maschinelles Lernen Macht es überhaupt Sinn, maschinelles Lernen in der Anwendung zu verwenden? Mit wie vielen falschen Vorhersagen müssen wir rechnen? Wir wollen mehrere verschiedene Lernansätze vergleichen Sollte man Entscheidungsbäume verwenden? SVMs? Logistische Regression? Naive Bayes? 32 Anwendungen Hypothesenevaluierung Verfahren hat einen Parameter, den wir einstellen müssen Regularisierungsparameter f w* arg min fw ( f w (xi ), yi ) || w ||2 i Sawade/Landwehr/Scheffer, Maschinelles Lernen =? (Hyper)Parameter, der Modellklasse bestimmt, z.B. Polynomgrad bei polynomieller Regression M f w ( x) wi x i M=? i 0 In allen diesen Fällen ist der Trainingsfehler kein geeignetes Entscheidungskriterium! Fehlerschätzung mit Holdout-Menge oder CrossValidation 33 Beispiel: Polynomgrad bei polynomieller Regression M Polynommodell vom Grad M: f w ( x) wi xi i 0 Wir lernen Modell durch Minimierung des quadratischen Verlustes (unregularisiert – schlecht) m w* arg min w ( f w ( xi ) yi ) i 1 2 Trainingsdaten L ( x1 , y1 ),...,( xm , ym ) Polynomgrad M=3 Gelerntes Modell Echtes Modell Datenpunkte = echtes Modell plus Gaußsches Rauschen 34 Sawade/Landwehr/Scheffer, Maschinelles Lernen Beispiel polynomielle Regression: Training vs. Testfehler Erfolg des Lernens hängt vom gewählten Polynomgrad M ab, der Komplexität des Modells kontrolliert Sawade/Landwehr/Scheffer, Maschinelles Lernen 35 Beispiel polynomielle Regression: Training vs. Testfehler Trainingsfehler vs. Testfehler für unterschiedliche Polynomgrade Testfehler z.B. mit grosser Holdout-Menge gemessen Phänomen der Überanpassung („Overfitting“): Trainingsfehler sinkt monoton mit M, aber Testfehler steigt für große M wieder 36 Sawade/Landwehr/Scheffer, Maschinelles Lernen Beispiel polynomielle Regression: Training vs. Testfehler Problem der Überanpassung (Overfitting) wird geringer, wenn mehr Daten verfügbar 10 Beispiele, M = 9 Sawade/Landwehr/Scheffer, Maschinelles Lernen 100 Beispiele, M = 9 In der Praxis verfügbare Daten begrenzt Modell muss regularisiert werden 37 Regularisierte Polynomielle Regression M i Polynommodell vom Grad M=9: f ( x) wi x Sawade/Landwehr/Scheffer, Maschinelles Lernen i 0 Lerne Modell durch Minimierung des regularisierten quadratischen Verlustes M w* arg min w ( f w ( xi ) yi ) w 2 i 1 M 9, Gelerntes Modell Echtes Modell Trainingsdaten 2 L ( x1 , y1 ),...,( xm , ym ) ln 18 Regularisiertes Modell vom Grad M=9 verhält sich wie Polynom niedrigerer Ordnung. Regularisierer verhindert Overfitting 38 Regularisierte Polynomielle Regression Jetzt müssen wir einstellen Regularisierungsparameter kontrolliert Komplexität ähnlich wie Polynomgrad M M 9 M 9 ln ln 18 Sawade/Landwehr/Scheffer, Maschinelles Lernen M 9 ln 0 39 Regularisierte Polynomielle Regression Trainingsfehler vs. Testfehler für unterschiedliche Werte des Regularisierungsparameters Testfehler z.B. mit grosser Holdout-Menge gemessen Trainingsfehler minimal ohne Regularisierung, aber Testfehler besser für regularisiertes Modell Umgekehrtes Verhalten wie für unterschiedliche Polynomgrade 0 40 Sawade/Landwehr/Scheffer, Maschinelles Lernen Regularisierte Polynomielle Regression Regularisierer wirkt wie eine Begrenzung der Modellkomplexität und verhindert Überanpassung In der Praxis am besten, Modellkomplexität durch Regularisierung zu kontrollieren (direkter Parameter wie bei Polynomen oft nicht verfügbar) Regularisierer kann durch Fehlerschätzung (HoldoutTesting oder Cross-Validation) eingestellt werden. Sawade/Landwehr/Scheffer, Maschinelles Lernen 41