1 / 24

Kapitel 5: Der praktische Umgang mit komplexen Lernern

Kapitel 5: Der praktische Umgang mit komplexen Lernern. Neuronale Netze als semiparametrische Verfahren. Neuronale Netze sind sehr flexibel, aber haben eine große Anzahl an Freiheitsgraden (Gewichten)  sie benötigen sehr viele Daten für eine vernünftige Modellschätzung

lavada
Download Presentation

Kapitel 5: Der praktische Umgang mit komplexen Lernern

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Kapitel 5: Der praktische Umgang mit komplexen Lernern Maschinelles Lernen und Neural Computation

  2. Neuronale Netze als semiparametrische Verfahren • Neuronale Netze sind sehr flexibel, aber haben eine große Anzahl an Freiheitsgraden (Gewichten) •  sie benötigen sehr viele Daten für eine vernünftige Modellschätzung • Modelle sollten möglichst klein gehalten werden • Occams Razor: wenn zwei Modelle das gleiche vorhersagen, bevorzuge das kleinere • Neuronale Netze unterliegen dem Fluch der Dimension (nicht beliebig viele Inputs) Maschinelles Lernen und Neural Computation

  3. 50 Bsp., 15 H.U. Overfitting • Bei zu wenigen Trainingsdaten: Das NN versucht, das Rauschen mitzumodellieren • „Überanpassung“ (Overfitting): schlechtere Performanz auf neuen Daten (quadratischer Abstand wird größer) Maschinelles Lernen und Neural Computation

  4. Vermeidung von Overfitting • So viel Daten wie möglich (gute Abdeckung der Verteilung!) • Modell (Netz) so klein wie möglich halten • Allgemein: Regularisierung (= Einschränken der effektiven Anzahl der Freiheitsgrade): • Mehrere Durchläufe, Durchschnitt bilden • Strafterm für große Netze, z.B.: • „Pruning“ (Entfernen von Verbindungen) • Early stopping Maschinelles Lernen und Neural Computation

  5. Überbestimmung des Modells • Wenn weniger Daten (Beispiele) als Gewichte:Modell ist unterbestimmt(Gewichte könnten frei gewählt werden) •  mindestens so viele Beispiele wie Gewichte • Da Probleme stochastisch: jedes Beispiel trägt nur einen kleinen Teil zum Modell bei (Rauschverteilung) •  ein Vielfaches an Beispielen notwendigHeuristik: nBeispiele > 10nGewichte • Beispiel: 9 Inputs, 500 Beispiele, 1 Output nGewichte = nHU*(9+1), max. 50 Gewichte  max. 5 Hidden Units • Auch wenn benötigtes Modell komplexer ist: es lässt sich mit diesem Datenmaterial nicht ausnutzen Maschinelles Lernen und Neural Computation

  6. Der Fluch der Dimension • Auch bei neuronalen Netzen steigt der Bedarf an Beispielen überlinear mit der Dimension (Inputs)(~ quadratisch) • Zahl der Inputmerkmale sollte so klein wie möglich sein • Obige Heuristik gilt eigentlich nur für kleine Inputanzahl (darüber noch größeres Vielfaches nehmen) •  Merkmalselektion Maschinelles Lernen und Neural Computation

  7. Die wesentlichen Schritte Aufgrund ihrer Eigenschaften erfordern neuronale Netze eine saubere Vorgangsweise: • Datensichtung • Datenvorverarbeitung • Merkmalsselektion • Modellschätzung und Modellselektion • Vergleich mit einfachen Verfahren • Testen auf unabhängigen Daten • Interpretation der Ergebnisse Maschinelles Lernen und Neural Computation

  8. Schritt 1: Datensichtung • Wichtig: sich ein Bild von den Daten machen • Z.B.: Plotten jedes einzelnen Inputmerkmals • Ausreißer identifizieren Fälle eliminieren oder auf Werte auf Maximalwert setzen • Attribute mit wenig Informationsgehalt eliminieren (z.B. wenn es fast immer den gleichen Wert hat) • Fehlende Werte identifizieren Fälle eliminieren oder auf Werte auf Durchschnitt setzen Maschinelles Lernen und Neural Computation

  9. PC2 PC1 Bsp: Pima Indian Daten Hauptkomponentenanalyse • Principal Component Analysis (PCA):finde die Achsen (Hauptkomponenten), die die größte Varianz abdecken (~ Koordinatentransformation) • Mathematisch: Eigenvektoren der Kovarianzmatrix • Ermöglicht (tw.) Visualisierung der Daten Maschinelles Lernen und Neural Computation

  10. Schritt 2: Vorverarbeitung • Frage: enthalten Inputmerkmale die richtige Information? Transformation (Differenzenbildung, Quotient, komplexere Merkmalsberechnung, etc.) • Sichtung der neuen Merkmale • Normalisierung (pro Merkmal):Mittelwert 0, Standardabweichung 1 • (sonst ist Modellschätzung schwierig) Maschinelles Lernen und Neural Computation

  11. Schritt 3: Merkmalsselektion Merkmale Klasse • So wenig Inputdimensionen wie möglich! • 1. Heuristik: Korrelationsanalyse: • Nur diejenigen, die hoch korrelieren • Merkmale weglassen, die mit anderen hoch korrelieren • Aber: nur “First order” Statistik, suboptimal • 2. Heuristik: PCA • Eigenwerte geben an, wieviel Varianz abgedeckt • z.B. Pima Indian: 2.1, 1.73, 1.03, 0.88, 0.76, 0.68, 0.42, 0.4 • Nimm Hauptkomponenten als Inputaber: keine Outputinformation; kann suboptimal sein Maschinelles Lernen und Neural Computation

  12. Verfahren zur „feature selection“ • „Filters“:betrachten einfache Auswahlmodelle (z.B. linear) • “Wrappers”:Betrachten das Zielmodell (siehe Modellselektion) • Suchverfahren: • inkrementelles Hinzunehmen • inkrementelles Wegnehmen • “branch and bound” • Bayes‘sche Evidenz • Optimale Selektion nur, wenn alle Kombinationen betrachtet! Maschinelles Lernen und Neural Computation

  13. Lokales Minimum Schritt 4a: Modellschätzung (Training) • Konj. Gradient oder Quasi-Newton • Fortschritt des Trainings: Lernkurve (Fehler über Lernzyklen) • 1 Zyklus („epoch“): ganzes Trainingsset (batch) • Mehrere Initialisierungen: lokale Minima erkennbar • Fehler auf unabhängigen Datenset beobachtbar: • Early Stopping: Abbrechen, wenn Validierungsfehler ansteigt (= overfitting) Maschinelles Lernen und Neural Computation

  14. Schritt 4b: Modellselektion • Ziel: optimale Modellkomplexität(Anzahl der Hidden Units) • Da optimales Modell unbekannt:“ausprobieren” und vergleichen • Immer auf unabhängigen Daten validieren • Ein einzelner Trainingsdurchlauf hat „Bias“(zu sehr vom Trainingsset abhängig  zu optimistisch/pessimistisch) • Mehrere Durchläufe (mit verschiedenen Trainingssets) notwendig! Maschinelles Lernen und Neural Computation

  15. ... n Teile n. Teil zum Testen (Validierung) n-1 Teile zum Training Die n-fache Kreuzvalidierung • Bei beschränkten Datensätzen: n-fache Kreuzvalidierung • Das ganze n mal (Validierungsset jeweils disjunkt, Trainingssets nicht) • n Durchläufe, n Netze, n Performanzen auf Validierungssets Durchschnitt (Schätzung ohne Bias), NICHT das beste Netz! Standardabweichung (Konfidenzintervall) Maschinelles Lernen und Neural Computation

  16. Anzahl Beobachtungen Varianz Freiheitsgrade Statistisches Testen • Vergleich zweier Modelle anhand des Durchschnitts • Frage: Ist der Unterschied signifikant (oder zufällig)? statistischer Signifikanztest notwendig • Z.B.: t-test (Test auf Gleichheit der Mittelwerte, setzt Normalverteilung voraus) • Nullhypothese: Mittelwerte sind gleich • T-Wert in Tabelle  p-Wert(1-Wahrscheinlichkeit, dass Nullhypothese abgelehnt werden kann) Maschinelles Lernen und Neural Computation

  17. Signifikanztests: Allgemeines • P-Wert sollte maximal 5% sein: p<0.05 • Je niedriger, desto signifikanter • Wenn keine Signifikanz erreicht:mehr Beobachtungen = Erhöhung von n • Abstand wird geringer werden • Multiples Testen:bei p<0.05: Unter 20 Tests ist im Durchschnitt einer dabei, der fälschlicherweise Signifikanz vorhersagt •  korrigieren oder höheres Niveau verlangen (z.B. p<0.01) Maschinelles Lernen und Neural Computation

  18. Modellselektion • Strategie zur optimalen Wahl der Modellkomplexität: • Klein beginnen (z.B. 1 oder 2 Hidden Units) • n-fache Kreuzvalidierung • Jeweils eine Hidden Unit hinzufügen • Akzeptieren, solange (signifikante) Verbesserung • Keine Regularisierung notwendigOverfitting wird durch Kreuzvalidierung abgefangen(Durchschnittsbildung) • zu viele Hidden Units  zu große Varianz  keine Signifikanz • Das gleiche Verfahren kann auch zur Merkmalsselektion verwendet werden (“wrapper”) Maschinelles Lernen und Neural Computation

  19. Schritt 5: Vergleich mit einfachen Verfahren • Neuronales Netz sollte immer auch mit einfacher Alternative verglichen werden • z.B.: lineares Verfahren, k-nearest neighbor • Wie bei Modelleslektion: • n-fache Kreuzvalidierung • Vergleich der Mittelwerte • Signifikanztest • Bei kleinen Datensätzen ist lineares Verfahren oft nicht unterlegen! Maschinelles Lernen und Neural Computation

  20. Schritt 6: Testen auf unabhängigen Daten • Ein Teil der Daten (zufällig gewählt) sollte bis jetzt aufgehoben worden sein • Testen des besten Modells auf diese Daten • Nach Kreuzvalidierung: am besten alle n Netze mit Durchschnittsbildung!(= „Komitee“) • Jetzt nochmalige n-fache Kreuzvalidierung mit besten Modell (Komitee) Schätzung der Routineperformanz + Konfidenzintervall Maschinelles Lernen und Neural Computation

  21. Schritt 7: Interpretation der Ergebnisse • Quadratischer Fehler alleine sagt oft wenig aus • Rückrechnen auf Originalwerte • Berechnen der Auswirkungen (z.B. Ersparnis) • Regressionsgerade,Scatter Plot: • Güte • Ausreißer Maschinelles Lernen und Neural Computation

  22. Auswertung von Klassifikationsergebnissen • Wenn Klassen ungleich verteilt (unterschiedliche a priori Wahrscheinlichkeiten):Gesamtperformanz ist nicht aussagekräftig • z.B.: p(c1)=0.2, p(c2)=0.8Immer “Klasse 2” sagen (“naïve rater”) bringt 80% korrekt •  Unterscheiden zwischen • Sensitivität (korrekt klassifizierte “Positive” – z.B. Klasse 1) • Spezifität (korrekt klassifizierte “Negative” – z.B. Klasse 2) • Wenn 1 Gesamtperformanz notwendig (z.B. zum Vergleich):Durchschnitt der beiden Werte • naïve rater: Sens=0%, Spez=100%, Durchschnitt: 50% • Guter Klassifizierer: Sens=80%, Spez=80%, Durchschnitt: 80% Maschinelles Lernen und Neural Computation

  23. Die ROC-Kurve • Ob höhere Sensitivität oder höhere Spezifität besser ist, entscheidet Anwendung •  Sens. vs. Spez. plotten • zeigt den gesamten Bereich des Klassifizierers an • naive rater: 45º Gerade • Je weiter davon entfernt, desto besser • Gesamtgüte: Fläche unter der ROC-Kurve „receiver operated characteristics“ Maschinelles Lernen und Neural Computation

  24. Zusammenfassung • Komplexe Lerner erfordern Sorgfalt und saubere Validierung • Viele Trainingsdurchgänge nötig • Komplexe Lerner sollten nie „blind“ auf Daten angewandt werden • Bei kleinen Datensätzen sind komplexe Lerner oft nicht überlegen (auch wenn das Problem theoretisch nichtlinear ist) Maschinelles Lernen und Neural Computation

More Related