Maschinelles Lernen und Neural Computation 840.042, VO, 1 Std. WS 2015/16 Georg Dorffner Inst. f. Artificial Intelligence Zentrum für Med. Statistik, Informatik und Intelligente Systeme Medizinische Universität Wien www.meduniwien.ac.at/user/georg.dorffner/lv/mlnc.html Maschinelles Lernen und Neural Computation
und Neural Computation Überblick Grundlagen – ML/NC Überwachtes Lernen: Klassifikation Überwachtes Lernen: Regression Lernen als Optimierung Komplexe Lerner in der Praxis Unüberwachtes Lernen Ensemble Methoden Kernel Methoden Maschinelles Lernen und Neural Computation
Begleitende Literatur Duda R., Hart P.E., Stork D.G.: Pattern Classification, 2nd edition, New York: Wiley, 2001. Bishop C.M.: Pattern Recognition and Machine Learning, New York: Springer, 2006. Maschinelles Lernen und Neural Computation
und Neural Computation Kapitel1: Grundlagen Maschinelles Lernen und Neural Computation
Maschinelles Lernen – mögliche Definitionen Computerprogramme, die sich mit Erfahrung verbessern (Mitchell 1997) (Artificial Intelligence) Auf der Basis von Beispielen nichttriviale Strukturen in Daten finden (Mustererkennung, Data Mining) Ein Modell der Daten schätzen, die diese beschreiben (Statistische Datenanalyse) Maschinelles Lernen und Neural Computation
Einige Vorausetzungen Merkmale (Features) Beschreiben die Fälle des Problems Messungen, Daten Lerner (Version Space) Eine Klasse von Modellen Lernverfahren Ein Algorithmus, der das beste Modell findet Generalisierung Struktur/Datenmodell soll neue Daten beschreiben können Maschinelles Lernen und Neural Computation
und Neural Computation Features Qualitativ, nominal z.B.: [Student, Arbeiter, Angestellter] Qualitativ, ordinal (enthält Ordnung) z.B.: [schlecht, mittelmäßig, gut] Numerisch, metrisch Intervallskala: kein natürlicher Nullpunkt, nur Differenzen bedeutungsvoll (z.B. Temp in °C) Verhältnisskala: natürlicher Nullpunkt, auch verhältnisse bedeutungsvoll (z.B. Größe in m) Diskret: nur endlich viele Werte (z.B. Anzahl) Stetig: theoretisch unendlich viele Werte (z.B. Länge) Maschinelles Lernen und Neural Computation
Beispiellerner: Perceptron Features: 2 numerische Werte (gezeichnet in Ebene) Aufgabe: Teile in zwei Klassen (weiß und schwarz) Lerner (version space): Trenngerade durch den Ursprung Lernregel: Nimm Normalvektor Addiere den Punktvektor eines falsch klassifizierten Beispiels Drehe Gerade, sodass neuer Vektor der Normalverktor wird Solange bis alles richtig klassifiziert Generalisierung: neue Punkte richtig klassifiziert Konvergenz garantiert, wenn Problem lösbar(Rosenblatt 1962) Maschinelles Lernen und Neural Computation
und Neural Computation Arten des Lernens Überwachtes Lernen (supervised learning) Zuordnung der Daten („Label“) bekannt Finde Zusammenhänge mit Input Beispiele: medizinische Diagnose, Temperaturvorhersage Unüberwachtes Lernen (unsupervised learning) Finde Struktur in den Daten Beispiele: Marktsegmentierung, Visualisierung Reinforcement Learning Finde Zusammenhänge anhand von globalem Feedback Beispiele: Steuerung einer Roboterhand, Lernen von Spielen Maschinelles Lernen und Neural Computation
und Neural Computation Ursprünglich biologisch motiviert (daher der Name) Lerner als Netzwerk einfacher Einheiten beschreibbar Stärke: beliebige nichtlineare Modelle (z.B. nicht nur Geraden) Voraussetzung: numerische Features Qualitative Features: als Binärcode (z.B. 1-aus-n) Maschinelles Lernen und Neural Computation
Das einfache mathematische Modell Aktivierung, Output Gewicht Propagierungsregel: Gewichtete Summe Euklidischer Abstand (später) Transferfunktion f: Schwellwertfkt. (McCulloch & Pitts) Lineare Fkt. Sigmoide Fkt. w1 Unit (Neuron) yj f w2 xj … (Netto-) Input wi Maschinelles Lernen und Neural Computation
Perceptron als neuronales Netz Inputs sind zufällige „Featuredetektoren“ Binär kodiert Perceptron lernt Klassifikation Modell der Wahrnehmung / Objekterkennung Neuron.eng.wayne.edu Maschinelles Lernen und Neural Computation
Perceptron Learning Rule als Gewichtsadaption Target: Rosenblatt (1962) Zielvorgabe (target) notwendig = Lehrer Input wird dazugezählt (abgezogen), wenn Output falsch Verwendung: Klassifikation (Original: Input = visuelle Vorverarbeitung) Nach dem Lernschritt: Maschinelles Lernen und Neural Computation
und Neural Computation Bias Gewichtete Summe nicht vollständig Trenngerade geht immer durch Ursprung Konstante notwendig Realisierung: zusätzliche Unit, immer auf 1 gesetzt (Bias Unit) w0 Maschinelles Lernen und Neural Computation
Vektor- und Matrixnotation Lineares Perceptron ist Multiplikation des Input-Vektors mit der Gewichtsmatrix Kompakte Schreibweise Hilfsmittel aus Vektoralgebra Maschinelles Lernen und Neural Computation
Einschub: Matrixmulitplikation Multiplikation zweier Matrizen: elementweise multiplizieren und addieren Spaltenzahl der 1.Matrix = Zeilenzahl der 2. Resultat: Zeilen der 1. X Spalten der 2. Matrix Vektoren als Matrizen: inneres Produkt äußeres Produkt T ... Transpose (um Diagonale kippen) Maschinelles Lernen und Neural Computation
Sigmoide Transferfunktion Immer wahrscheinlicher Outputs begrenzt auf [0,1] Quasi-linear um 0 Mögliche Interpretation: Wahrscheinlichkeit Maschinelles Lernen und Neural Computation
Mehrebenen-Perceptron (MLP) 2 (oder mehrere) Schichten (= Verbindungen) Output Units (typisch linear) Hidden Units (typisch sigmoid) Input Units Maschinelles Lernen und Neural Computation
Gewichtsadaption: Backpropagation Verallgemeinerte Delta-Regel yout, xout Wout yhid, xhid Whid Fehler wird rückpropagiert „Pseudofehler“ an den Hidden Units Maschinelles Lernen und Neural Computation
Backpropagation als Gradientenverfahren Definiere (quadratischen) Fehler (für Muster l): Minimiere Fehler Ändere Gewichte in Richtung des Gradienten Kettenregel ergibt Backpropagation (partielle Ableitung nach dem Gewicht) Maschinelles Lernen und Neural Computation
Einschub: Kettenregel Differenzieren von verschachtelten Funktionen: Äußere Ableitung x innere Ableitung nur 1 Summand abh. M Wege um Gewicht zu erreichen nur 1 Summand: usf.: Maschinelles Lernen und Neural Computation
Geometrische Interpretation Fehler bildet (hochdimensionale) Fläche Gradient entspricht der Richtung des steilsten Abstiegs Folge dieser Richtung bis zum Minimum Maschinelles Lernen und Neural Computation
Grenzen der Backpropagation Gradientenverfahren kann in lokalem Minimum hängenbleiben (abhängig von der Initialisierung) Es ist nicht garantiert, daß Backpropagation eine existierende Lösung auch findet Weitere Probleme: langsam, kann zu oszillieren beginnen (siehe später) Maschinelles Lernen und Neural Computation
Praxis der Backpropagation Beginne mit zufälligen Gewichten Wähle kleine Lernrate (da sonst kein Gradientenverfahren) Nehme Satz von Trainingsmustern, die gelernt werden sollen Wähle jeweils zufällig ein Musterpaar: 1 Vorwärtsschritt, 1 Backpropagation-Schritt („online learning“) Eigentlich: definiere Fehler als (über alle M Musterpaare) berechne Gewichtsänderungen für alle Musterpaare des Trainingssatzes, summiere und ändere erst dann („batch learning“) Maschinelles Lernen und Neural Computation
Beispiel: Medizinische Diagnose Vienet2>uebung3.exe Beispiel: Medizinische Diagnose Bsp: Pima Indian Diabetes ftp://ftp.ics.uci.edu/pub/machine-learning-databases/pima-indians-diabetes Output: Diabetes ja/nein 768 Fälle, aufgeteilt auf Training- und Testsatz Input: 1. Number of times pregnant 2. Plasma glucose concentration at 2 hours in an oral glucose tolerance test 3. Diastolic blood pressure (mm Hg) 4. Triceps skin fold thickness (mm) 5. 2-Hour serum insulin (mu U/ml) 6. Body mass index (weight in kg/(height in m)^2) 7. Diabetes pedigree function 8. Age (years) Normalisiert auf Mittelwert 0 und Varianz 1 Performanz nach Training auf Testsatz: ca. 70-80% Fehler geht nicht auf 0! (siehe später) Maschinelles Lernen und Neural Computation
Einige wichtige Prinzipien Occam‘s Razor Wenn zwei Modelle die Daten gleich gut beschreiben, dann wähle das einfachere → komplexer (mächtiger) ist nicht automatisch besser Fluch der Dimension Für komplexe Lerner steigt der Bedarf an Beispielen überlinear (exponentiell) mit der Zahl der Features → nimm nur Features, die notwendig sind No free lunch Es gibt keinen Lerner, der für alle Probleme die beste Lösung liefert → wende komplexen Lerner nie blind ohne Wissen über die Daten an Maschinelles Lernen und Neural Computation
Die stochastische Sicht des überwachten Lernens Realdaten sind „stochastisch“ (von Natur aus mit Rauschen/Streuungen versehen) 2 Typen von Problemen: Regression, Klassifikation Lernen muss mathematisches Modell finden Maschinelles Lernen und Neural Computation