Von schwachen zu starken Lernern

Ähnliche Dokumente
Computer Vision: AdaBoost. D. Schlesinger () Computer Vision: AdaBoost 1 / 10

Herzlich willkommen!!!

Alle bislang betrachteten Sortieralgorithmen hatten (worst-case) Laufzeit Ω(nlog(n)).

Streaming Data: Das Modell

Randomisierte Algorithmen 2. Erste Beispiele

Computational Intelligence 1 / 20. Computational Intelligence Künstliche Neuronale Netze Perzeptron 3 / 20

4. Lernen von Entscheidungsbäumen. Klassifikation mit Entscheidungsbäumen. Entscheidungsbaum

Vorlesung Wissensentdeckung

Exkurs Modelle und Algorithmen

1. Welche Eigenschaften sollte ein Pseudo-Random Generator haben?

R. Brinkmann Seite

Einführung in die (induktive) Statistik

Allgemeines zu Tests. Statistische Hypothesentests

Zahlentheorie I - Tipps & Lösungen. Aktualisiert: 15. Oktober 2016 vers Teilbarkeit

Künstliche Intelligenz Maschinelles Lernen

(a)... ein Spieler eine Entscheidung treffen muss... (b)... der andere Spieler (Experte) über private...

Bayes sches Lernen: Übersicht

Seminar: Multi-Core Architectures and Programming. Viola-Jones Gesichtsdetektor

Hannah Wester Juan Jose Gonzalez

7. Die Brownsche Bewegung

Analysis 1, Woche 2. Reelle Zahlen. 2.1 Anordnung. Definition 2.1 Man nennt eine Anordnung für K, wenn: 1. Für jeden a K gilt a a (Reflexivität).

Scheinklausur Stochastik 1 für Studierende des Lehramts und der Diplom-Pädagogik

Mögliche Fehler beim Testen

Ferienkurs Analysis 1, SoSe Unendliche Reihen. Florian Beye August 15, 2008

Phillips Kurve. Einführung in die Makroökonomie. 10. Mai 2012 SS Einführung in die Makroökonomie (SS 2012) Phillips Kurve 10.

κ Κα π Κ α α Κ Α

Object recognition with Boosting

Der Primzahlsatz. Es gibt eine Konstante A, so daß f(x) g(x) Ah(x) für alle genügend großen x.

Beispiel: Bestimmung des Werts 3 2 ( 2 1, 4142) Es gilt 3 1,41 = 3 141/100 = , 707. Es gilt 3 1,42 = 3 142/100 = , 759.

Aufgabe 1 Probabilistische Inferenz

x 2 x 1 x Lernen mit Entscheidungsbäumen

Schriftlicher Test Teilklausur 2

2. Lernen von Entscheidungsbäumen

Lösung 04 Klassische Theoretische Physik I WS 15/16. c n = 1 T. c n,u e inωt + c n,u e inωt] c n e inωt = c 0 +

Projekt Maschinelles Lernen WS 06/07

Kapitel 5: Ensemble Techniken

Probabilistische Primzahltests

Lernalgorithmen SoSe 2008 in Trier. Henning Fernau Universität Trier

Trennende Markov Ketten

Reranking. Parse Reranking. Helmut Schmid. Institut für maschinelle Sprachverarbeitung Universität Stuttgart

4.4.1 Statisches perfektes Hashing. des Bildbereichs {0, 1,..., n 1} der Hashfunktionen und S U, S = m n, eine Menge von Schlüsseln.

Motivation. Themenblock: Klassifikation. Binäre Entscheidungsbäume. Ansätze. Praktikum: Data Warehousing und Data Mining.

2 Aufgaben aus [Teschl, Band 2]

Übersicht. Allgemeines Modell lernender Agenten. Lernende Agenten (1) Lernende Agenten (2)

Suchen und Sortieren

Die Hamming-Distanz definiert eine Metrik.

Statistische Tests. Kapitel Grundbegriffe. Wir betrachten wieder ein parametrisches Modell {P θ : θ Θ} und eine zugehörige Zufallsstichprobe

Im Falle einer zweimal differenzierbaren Funktion lässt sich das Krümmungsverhalten anhand der zweiten Ableitung feststellen.

Dynamisches Huffman-Verfahren

Effiziente Algorithmen. Sommersemester Welcome, Herzlich willkommen!

Algorithms for Regression and Classification

Mathematik II für Studierende der Informatik. Wirtschaftsinformatik (Analysis und lineare Algebra) im Sommersemester 2015

Stochastik I. Vorlesungsmitschrift

Dem Anschein nach werden diese Zahlen kleiner und kleiner und streben gegen Null. Was sollen sie sonst auch tun? Aber der Begriff

Höhere Mathematik I für die Fachrichtung Informatik. Lösungsvorschläge zum 10. Übungsblatt. < 0 für alle t > 1. tan(x) tan(0) x 0

Erinnerung Blockchiffre

Das Postsche Korrespondenzproblem





n=1 a n mit reellen Zahlen a n einen

Die (Un-)Sicherheit von DES

K8 Stetige Zufallsvariablen Theorie und Praxis

Kapitel VIII - Tests zum Niveau α

Lösungen zu Übungsblatt 9

Algorithmen II Vorlesung am

KAPITEL 4 FLÜSSE IN NETZWERKEN

Lösung zur Übung für Analysis einer Variablen WS 2016/17

Übungen zu Partielle Differentialgleichungen, WS 2016

Lernen von Entscheidungsbäumen. Volker Tresp Summer 2014

14. Rot-Schwarz-Bäume

Universität Potsdam Institut für Informatik Lehrstuhl Maschinelles Lernen. Clusteranalyse. Tobias Scheffer Thomas Vanck

31 Polynomringe Motivation Definition: Polynomringe

Überblick Hypothesentests bei Binomialverteilungen (Ac)

Reinforcement Learning

Grundlagen des Maschinellen Lernens Kap. 4: Lernmodelle Teil II

3: Zahlentheorie / Primzahlen

Übung zu Grundbegriffe der Informatik. Simon Wacker. 15. November 2013

Lernalgorithmen SoSe 2008 in Trier. Henning Fernau Universität Trier

Temporal Difference Learning

Die allgemeine Sinusfunktion

3 Markov-Eigenschaft der Brownschen Bewegung

ε δ Definition der Stetigkeit.

Um zu entscheiden, welchen Inhalt die Urne hat, werden der Urne nacheinander 5 Kugeln mit Zurücklegen entnommen und ihre Farben notiert.

Data Mining und Maschinelles Lernen Wintersemester 2015/2016 Lösungsvorschlag für das 3. Übungsblatt

Übungen zu Oberflächenintegralen Lösungen zu Übung 17

Übersicht über Informatik und Softwaresystemtechnik WS 99/00, Prof. Dr. Andreas Schwill

1 Grundlagen der Numerik

Funktionen mehrerer Variabler

kurze Wiederholung der letzten Stunde: Neuronale Netze Dipl.-Inform. Martin Lösch (0721) Dipl.-Inform.

Kapitel 7: Ensemble Methoden. Maschinelles Lernen und Neural Computation

7.2 Moment und Varianz

18.4 Das Newton-Verfahren

Vorlesung: Statistik II für Wirtschaftswissenschaft

kontextfreie Grammatiken Theoretische Informatik kontextfreie Grammatiken kontextfreie Grammatiken Rainer Schrader 14. Juli 2009 Gliederung

Fakultät für Informatik Übung zu Kognitive Systeme Sommersemester 2016

Online-Algorithmen. Proseminar von Prof. Dr. Rolf Klein, Dr. Elmar Langetepe, Dipl. Inform. Thomas Kamphans im Wintersemester 00/01

Die Gamma-Funktion, das Produkt von Wallis und die Stirling sche Formel. dt = lim. = lim = Weiters erhalten wir durch partielle Integration, dass

5. Vorlesung Wintersemester

Transkript:

Von schwachen zu starken Lernern Wir nehmen an, dass ein schwacher Lernalgorithmus L mit vielen Beispielen, aber großem Fehler ε = 1 2 θ gegeben ist. - Wie lässt sich der Verallgemeinerungsfehler ε von L signifikant senken, ohne dass neue Beispiele angefordert werden? Allgemeine Lernverfahren lassen sich nicht mit Garantie verbessern, PAC-Algorithmen aber lassen sich stets verbessern. - Wir besprechen zwei Verfahren Bagging and Boosting, die durch Neugewichtung der Beispiele neue Hypothesen h 1,..., h k erzeugen. - Eine endgültige Hypothese wird dann nach Mehrheitsbildung ausgegeben. Boosting 1 / 15

Bagging Eingabe: Ein Lernalgorithmus L und eine Menge B von s klassifizierten Beispielen. k sei eine ungerade Zahl. (1) For t = 1 to k do (1a) Wähle s klassifizierte Beispiele, mit Ersetzung, aus der Menge B. /* Ein gewähltes Beispiel ist zurückzulegen. Es können also Beispiele mehrfach gezogen werden. Im Durchschnitt werden 63.2% der Beispiele aus B gewählt. */ (1b) Wende den Algorithmus L auf die gewählten Beispiele an, um die Hypothese h t zu erhalten. (2) Gib die Mehrheitshypothese h aus: Es ist h(x) = 1 (bzw h(x) = 0) genau dann, wenn eine Mehrheit der Hypothesen h 1,... h k auf x die Klassifizierung 1 (bzw. 0) liefert. Boosting Bagging 2 / 15

Verbesserungsleistung von Bagging (1) Bagging hilft, wenn der Lernalgorithmus instabil ist, also auf kleine Änderungen in der Beispielsmenge mit stark modifizierten Hypothesen reagiert: Entscheidungsbaum-Algorithmen und neuronale Netzwerke sind Beispiele solch instabiler Lernverfahren. (2) Überraschende Erkenntnis: Oft droht sogar für grosse Werte von k kein Overfitting. Wir werden dasselbe Phänomen auch für Boosting antreffen und dort erklären. Boosting Bagging 3 / 15

Das Setup - Ein PAC-Algorithmus L löst ein binäres Klassifikationsproblem mit der nur sehr schwachen Fehlerschranke ε = 1 2 θ. - Die Hypothesen von L klassifizieren die Beispiele mit 1 und 1. (1) Zuerst wird eine entsprechend große Menge S = {(x 1, b 1 ),..., (x s, b s )} klassifizierter Beispiele angefordert. (2) Wenn L eine konsistente Hypothese h 1 bestimmt, sind wir fertig. Sonst: Wir erhöhen das Gewicht falsch klassifizierter Beispiele auf 50% und fordern L auf, eine neue Hypothese h 2 zu liefern. Ist h2 inkonsistent, setze Beispielgewichte neu: Falsch klassifizierter Beispiele erhalten wiederum das Gewicht 50%. Wir wiederholen dieses Vorgehen genügend oft. (3) Wir geben so etwas wie eine Mehrheitshypothese aus. Boosting AdaBoost 4 / 15

AdaBoost: Adaptive Boosting Eingabe: Ein Lernalgorithmus L und s klassifizierte Beispiele (x 1, b 1 ),..., (x s, b s ). (1) Sei D 1 die Gleichverteilung: Setze w i = 1 für i = 1,..., s. (2) For t = 1 to T do (2a) L bestimmt eine Hypothese h t mit Trainingsfehler ε t = prob Dt [ h t (x i ) b i ]. (2b) Setze β t = εt 1 ε t und aktualisiere w i = w i β t für alle durch h t richtig klassifizierten Beispiele (x i, b i ). /* Das Gewicht richtig klassifizierten Beispiele ist (1 ε t ) β t = ε t und gleich dem Gewicht falsch klassifizierten Beispiele. */ (2c) Die neue Verteilung D t+1 wird durch prob[x i ] = w i definiert. s i=1 w i (3) Setze α t = ln( 1 β t ) und gib die Hypothese sign( T t=1 α th t ) aus. /* Je größer α t, je kleiner ist der Trainingsfehler ε t von h t. */ Boosting AdaBoost 5 / 15

Experimentelle Ergebnisse In typischen Anwendungen liegen aber keine PAC-Algorithmen vor! (1) Wie Bagging erreicht AdaBoost häufig eine Verbesserung, wenn das Lernverfahren auf relativ kleine Veränderungen der Beispielmenge mit einer stark veränderten Hypothese reagiert. (2) Overfitting tritt nicht auf: Es gibt sogar Fälle, in denen der Verallgemeinerungsfehler weiter fällt, obwohl der Trainingsfehler bereits auf Null gesenkt wurde. (3) AdaBoost scheint durchweg bessere Ergebnisse als Bagging zu liefern. Boosting AdaBoost 6 / 15

Boosting für neuronale Netzwerke: LeNet4 LeNet3 ist ein neuronales Netz zur Ziffernerkennung mit einer Fehlerrate von 1%. LeNet4 führt eine Boosting Variante mit T = 3 durch. (1) Ein erstes neuronales Netz wird konventionell trainiert. (2) Ein zweites Netz erhält zur Hälfte vom ersten Netz falsch klassifizierte und zur anderen Hälfte richtig klassifizierte Ziffern. (3) Das dritte Netz erhält als Trainingsmenge alle von den ersten beiden Netzen falsch klassifizierten Ziffern. (4) Das erste Netz ist sehr gut: Um genügend viele falsch klassifizierte Beispiele zu erhalten, vergrößere die Trainingsmenge durch affine Transformationen und Änderungen der Schriftbreite. Das 3-er Ensemble erreichte eine Fehlerrate von ungefähr 0.7%. Boosting AdaBoost 7 / 15

Analyse von AdaBoost: Ein Überblick Die Analyse wird in zwei Schritten durchgeführt: (1) Zuerst zeigen wir, dass die Mehrheits-Hypothese sign(h) einen sehr kleinen Trainingsfehler besitzt, wenn der von AdaBoost benutzte Lernalgorithmus L auf jeder Verteilung D t einen nicht zu grossen Fehler ε t besitzt. (2) Dann weisen wir nach, dass ein kleiner Trainingsfehler zu einem kleinen Verallgemeinerungsfehler führt. Insbesondere erhalten wir, dass Overfitting selbst für eine relativ große Zahl T von Hypothesen nicht eintritt. Boosting AdaBoost 8 / 15

AdaBoost und Weighted Majority AdaBoost kann als eine randomisierte Version von Weighted Majority angesehen werden: - Die Beispiele x i übernehmen die Rolle der Experten. - Die Gewichtssetzung favorisiert informative Beispiele, also Beispiele, die häufig falsch klassifiziert werden. Wir übernehmen deshalb auch Ideen aus der Analyse von Weighted Majority: Wir bestimmen untere und obere Schranken für das Gesamtgewicht W t zum Zeitpunkt t. W 1 = s. Nach jedem Zeitpunkt t: Das Gesamtgewicht richtig klassifizierten Beispiele ist gleich ε t W t und stimmt mit dem Gewicht falsch klassifizierten Beispiele überein. Als Konsequenz: W t+1 = 2ε t W t. Boosting AdaBoost 9 / 15

AdaBoost: Der Trainingserfolg I Wann klassifiziert AdaBoost das Beispiel x i falsch? - x i werde zu Zeitpunkten in I r {1,..., T } richtig und zu Zeitpunkten in I f {1,..., T } falsch klassifiziert. - Es gilt für β t = ε t 1 ε t : - Wir exponentieren beide Seiten ln( 1 ) ln( 1 ) β t β t t I r t I f 1 Π t Ir = e t Ir ln( 1 ) β t e t I ln( 1 ) 1 f β t = Πt If. β t β t Wenn AdaBoost x i falsch klassifiziert, dann ist Π t If β t Π t Ir β t, bzw. Π T t=1 βt Π t Ir β t. Boosting AdaBoost 10 / 15

AdaBoost: Der Trainingserfolg II Als Konsequenz einer falschen Klassifizierung folgt Π T t=1 βt Π t Ir β t. (1) Das endgültige Gewicht w T +1 i von x i stimmt mit Π t Ir β t überein, da wir mit β t multiplizieren, wenn Hypothese h t richtig klassifiziert. (2) Wenn AdaBoost das Beispiel x i falsch klassifiziert, dann muss das endgültige Gewicht w T +1 i groß sein, denn w T +1 i = Π t Ir β t Π T t=1 βt. Wenn AdaBoost einen Fehler µ auf der Trainingsmenge S hat, dann folgt s i=1 w T +1 i w T +1 i µs Πt=1 T βt i,adaboost irrt auf x i Boosting AdaBoost 11 / 15

AdaBoost: Der Trainingserfolg III Je größer der Fehler µ auf der Trainingsmenge, umso größer ist die Gewichtssume W T +1 am Ende der Berechnung. Aber wie groß kann die Gewichtssumme W T +1 werden? (1) Wir haben bereits festgestellt, dass W t+1 = 2ε t W t gilt. Also folgt W T +1 = s Π T t=1 (2ε t), denn W 1 = s. (2) Bei einem großen Fehler µ auf der Trainingsmenge folgt: denn β t = µs Πt=1 T βt s Π T t=1 (2ε t), bzw. µ Π T 2ε t t=1 = Π T t=1 2 ε t (1 ε t ), βt ε t 1 ε t. Boosting AdaBoost 12 / 15

Der Trainingserfolg: Zusammenfassung Die Hypothesen h 1,..., h T mögen die Fehler ε 1,..., ε T haben. Dann hat AdaBoost einen Fehler von höchstens 2 T Π T t=1 εt (1 ε t ). (1) Falls ε t ε = 1/2 θ ist 2 T Π T t=1 εt (1 ε t ) 2 T ε (1 ε) T = 2 T [(1/2 θ) (1/2 + θ)] T /2 = [1 4 θ 2 ] T /2. (2) Der Fehler von AdaBoost konvergiert schnell gegen Null. (1) Nur richtig klassifizierte Beispiele werden herabgesetzt: W T +1 ist groß, wenn der endgültige Trainingsfehler groß ist. (2) Bei nicht zu großen individuellen Fehlern ε t ist W T +1 aber klein. Boosting AdaBoost 13 / 15

AdaBoost: Der Verallgemeinerungsfehler I Wir können bei genügend großem T sogar Konsistenz garantieren, aber unsere Hypothesenklasse ist komplexer geworden: Statt mit der ursprünglichen Hypothesenklasse H arbeiten wir jetzt mit H T = {sign( T α i h i ) h 1,..., h T H, α 0}. i=1 (1) Die VC-Dimension kann signifikant ansteigen! Warum gutartiges Verhalten in der Praxis? (2) Der Margin steigt mit wachsendem T! Boosting AdaBoost 14 / 15

AdaBoost: Der Verallgemeinerungsfehler II Die Klassifizierung f sei zu lernen. Für Beispiel x und Hypothese h=sign(g) definieren wir den Margin von x durch f (x) g(x). L liefere Hypothesen h 1,..., h T mit Fehlern ε 1,..., ε T. AdaBoost bestimme die Hypothese h = sign( T t=1 α t h t ). Dann gilt für jedes γ R und für die Gleichverteilung G auf der Beispielsmenge: h(x) prob G [ f (x) T t=1 α γ ] 2 T Π T t=1 ε 1 γ t (1 ε t ) 1+γ. t - Der Beweis ist sehr ähnlich zur Analyse des Trainingsfehlers. - Solange 0 γ < θ 1 2 ist 2T Π T t=1 ε 1 γ t (1 ε i ) 1+γ ( ) (1 2 θ) 1 γ (1 + 2 θ) 1+γ < 1. Π T t=1 - Hochwahrscheinlich Margin höchstens γ ( T t=1 α t). Boosting AdaBoost 15 / 15