270 likes | 436 Views
Maschinelles Lernen und Neural Computation. 840.042, VO, 1 Std. SS 2011 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. Überblick.
E N D
Maschinelles Lernen undNeural Computation 840.042, VO, 1 Std. SS 2011 Georg Dorffner Inst. f. Artificial IntelligenceZentrum 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
Ü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
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
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
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
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 xj w2 … (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
Target: Nach dem Lernschritt: Perceptron Learning Rule als Gewichtsadaption • Rosenblatt (1962) • Zielvorgabe (target) notwendig = Lehrer • Input wird dazugezählt (abgezogen), wenn Output falsch • Verwendung: Klassifikation (Original: Input = visuelle Vorverarbeitung) Maschinelles Lernen 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 • Outputs begrenzt auf [0,1] • Quasi-linear um 0 • Mögliche Interpretation: Wahrscheinlichkeit Immer wahrscheinlicher 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
Vienet2>uebung3.exe Beispiel: Medizinische Diagnose Output: Diabetes ja/nein 768 Fälle, aufgeteilt auf Training- und Testsatz • Bsp: Pima Indian Diabetes ftp://ftp.ics.uci.edu/pub/machine-learning-databases/pima-indians-diabetes 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