Title: Maschinelles Lernen
1Kapitel 5 Der praktische Umgang mit komplexen
Lernern
2Neuronale 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)
3Overfitting
- Bei zu wenigen Trainingsdaten Das NN versucht,
das Rauschen mitzumodellieren - Überanpassung (Overfitting) schlechtere
Performanz auf neuen Daten (quadratischer Abstand
wird größer)
4Vermeidung 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
5Überbestimmung des Modells
- Wenn weniger Daten (Beispiele) als
GewichteModell 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 gt 10nGewichte - Beispiel 9 Inputs, 500 Beispiele, 1 Output
nGewichte nHU(91), max. 50 Gewichte ? max. 5
Hidden Units - Auch wenn benötigtes Modell komplexer ist es
lässt sich mit diesem Datenmaterial nicht
ausnutzen
6Der 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
7Die 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
8Schritt 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
9Hauptkomponentenanalyse
- 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
10Schritt 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)
11Schritt 3 Merkmalsselektion
- 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
Merkmale
Klasse
- 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
12Verfahren zur feature selection
- Filtersbetrachten einfache Auswahlmodelle
(z.B. linear) - WrappersBetrachten das Zielmodell (siehe
Modellselektion) - Suchverfahren
- inkrementelles Hinzunehmen
- inkrementelles Wegnehmen
- branch and bound
- Bayessche Evidenz
- Optimale Selektion nur, wenn alle Kombinationen
betrachtet!
13Schritt 4 Modellselektion
- Ziel optimale Modellkomplexität(Anzahl der
Hidden Units) - Da optimales Modell unbekanntausprobieren 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!
14Die 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)
15Statistisches 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)
16Signifikanztests Allgemeines
- P-Wert sollte maximal 5 sein plt0.05
- Je niedriger, desto signifikanter
- Wenn keine Signifikanz erreichtmehr
Beobachtungen Erhöhung von n - Abstand wird geringer werden
- Multiples Testenbei plt0.05 Unter 20 Tests ist
im Durchschnitt einer dabei, der
fälschlicherweise Signifikanz vorhersagt - ? korrigieren (z.B. plt0.05/k, k Anzahl der
Tests)
17Modellselektion
- 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(Durchschnittsbi
ldung) - zu viele Hidden Units ? zu große Varianz ? keine
Signifikanz - Idealerweise ganze Strategie kreuzvalidieren
(inklusive Feature Selection) - Danach beste Strategie auf alle Daten anwenden
18Schritt 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!
19Schritt 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 Neu geschätztes Modell auf
allen Trainingsdaten - Alternative alle n Netze mit Durchschnittsbildung
( Komitee) - Jetzt nochmalige n-fache Kreuzvalidierung mit
besten Modell? Schätzung der Routineperformanz
Konfidenzintervall
20Schritt 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
21Auswertung 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 Sens0, Spez100, Durchschnitt
50 - Guter Klassifizierer Sens80, Spez80,
Durchschnitt 80
22Die 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
23Zusammenfassung
- 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)