Theoretische Informatik 1 Teil 12 Bernhard Nessler Institut für Grundlagen der Informationsverabeitung TU Graz SS 2007
Übersicht 1 Maschinelles Lernen Definition Lernen 2 agnostic -learning
Definition Lernen Was ist Lernen? durch Erfahrung besser werden Auswendig lernen vs. Verstehen Wissen sammeln (Datenbank?) Wissen verstehen: Verallgemeinern Modell bilden (Codierung?) Gelerntes Modell sinnvoll einsetzen Modellfehler erkennen und Modell korrigieren Es ist klug, aus den eigenen Fehlern zu lernen. Es ist klüger, aus den Fehlern der anderen zu lernen!
Definition Lernen Was kann gelernt werden? krabbeln, radfahren, gehen, artikulieren... Fertigkeiten Gedicht, Vokabeln, Telefonnummern, Gesichter auswendig lernen sich zurechtfinden, Umgebung, Stadt Landkarte lernen jagen, Schach, Go, Diplomatie Strategie lernen Modelle überprüfen, Zusammenhänge erkennen, log. Schließen Verständnis lernen, Erkenntnis gewinnen Gibt es ein Grundkonzept?
Definition Lernen Lernen einer Funktion Kontinuierliche Funktionswerte Lineare, nichtlineare regression, u.v.a.m.? Grad der polynomfunktion, Anzahl der Beispiele gut geeignet für kontinuierliche Modelle. Schlecht geeignet für Entscheidungen. Entscheidungsfunktionen sind unstetig. Klassifikation als Grundkonzept sample complexity computational complexity mistake bound Theorie des (masch.) Lernens ist noch nicht so weit wie die Berechenbarkeitstheorie oder Theorie der Algorithmen. (siehe Church-Turing-These)
Definition Lernen X: Menge der möglichen Instanzen (Schiffe versenken) x 1,..., x n Menge aller Trainigsbeispiele X: Menge aller Gesichter, Menge aller 3-Klänge X: Codierung? Vektor von Attributen. target concept: c : X {0, 1} : c(x) = { 1 0 (unbekannt) C: set of all possible target concepts, Konzeptklasse x i sind i.i.d. in X, Wahrscheinlichkeitsverteilung D AUFGABE: finde eine Funktion h, sodaß h(x) c(x) H Hypothesenklasse, h H. Beachte: Konzeptklasse C und Hypothesenklasse H müssen nicht gleich sein.
Maschinelles Lernen agnostic -learning Ein (supervised) ist ein Algorithmus, der als Eingabe eine Menge von Trainingsbeispielen erhält. Das ist auf eine bestimmte Hyptothesenklasse H beschränkt, aus der er, aufgrund der gesehenen Beispiele, eine Hypothese h auswählt. Die Qualität der Hypothese wird nicht auf den Trainigsbeispielen evaluiert, sondern anhand von neu, also unabhängig, aber basierend auf der gleichen Verteilung, gezogenen Testbeispielen.
Fehler einer Hypothese agnostic -learning Definition (error D (h)) Der wahre Fehler einer Hypothese h im Hinblick auf ein bestimmtes target concept und eine bestimmte Verteilung D ist gleich der Wahrscheinlichkeit, daß h ein entsprechend D gezogenes Beispiel falsch klassifizieren wird. error D (h) = Pr x D [c(x) h(x)] Wir wollen also wissen, welche Fehlerrate wir zu erwarten haben. Da sowohl D als auch c(x) NICHT bekannt sind, ist die Ermittlung des wahren Fehlers von h normalerweise gar nicht möglich.
agnostic -learning Definition (-lernbar) Sei C eine Konzeptklasse über X und L ein auf der Hypothesenklasse H. C ist -lernbar von L auf H, wenn für alle c C, Verteilungen D über X, ɛ : 0 < ɛ < 1 2, δ : 0 < δ < 1 2, eine notwendige Anzahl n von Beispielen bestimmt werden kann, sodaß L mit Wahrscheinlichkeit > (1 δ)eine Hypothese mit Fehler < ɛ lernt, und außerdem die Laufzeit polynomiell in n, 1 ɛ, 1 δ und size(c) ist.
agnostic Learning Maschinelles Lernen agnostic -learning Wir wissen nicht, ob H und C die gleichen Konzepte umfassen. Wir kennen auch D nicht. Wir bestimmen h so, daß der Trainigserror minimal wird. Wir testen h auf einem zufälligen Test-Set D und benützen die Chernoff-Bounds (Hoeffding). Pr[error D (h) > error D (h) + ɛ] e 2mɛ2 m 1 2epsilon 2 (ln H + ln(1 δ ))
agnostic -learning conjunktion of boolean literals ist H = 3 n