24
SS 2009 Maschinelles Lernen und Neural Computation 1 Kapitel 5: Der praktische Umgang mit komplexen Lernern

SS 2009Maschinelles Lernen und Neural Computation 83 Kapitel 5: Der praktische Umgang mit komplexen Lernern

Embed Size (px)

Citation preview

Page 1: SS 2009Maschinelles Lernen und Neural Computation 83 Kapitel 5: Der praktische Umgang mit komplexen Lernern

SS 2009 Maschinelles Lernen und Neural Computation

1

Kapitel 5: Der praktische Umgang mit komplexen Lernern

Page 2: SS 2009Maschinelles Lernen und Neural Computation 83 Kapitel 5: Der praktische Umgang mit komplexen Lernern

SS 2009 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)

Page 3: SS 2009Maschinelles Lernen und Neural Computation 83 Kapitel 5: Der praktische Umgang mit komplexen Lernern

SS 2009 Maschinelles Lernen und Neural Computation

3

Overfitting

• Bei zu wenigen Trainingsdaten: Das NN versucht, das Rauschen mitzumodellieren

• „Überanpassung“ (Overfitting): schlechtere Performanz auf neuen Daten (quadratischer Abstand wird größer)

50 Bsp., 15 H.U.

Page 4: SS 2009Maschinelles Lernen und Neural Computation 83 Kapitel 5: Der praktische Umgang mit komplexen Lernern

SS 2009 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

N

iiwEE

1

2'

Page 5: SS 2009Maschinelles Lernen und Neural Computation 83 Kapitel 5: Der praktische Umgang mit komplexen Lernern

SS 2009 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

Page 6: SS 2009Maschinelles Lernen und Neural Computation 83 Kapitel 5: Der praktische Umgang mit komplexen Lernern

SS 2009 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

Page 7: SS 2009Maschinelles Lernen und Neural Computation 83 Kapitel 5: Der praktische Umgang mit komplexen Lernern

SS 2009 Maschinelles Lernen und Neural Computation

7

Die wesentlichen Schritte

Aufgrund ihrer Eigenschaften erfordern neuronale Netze eine saubere Vorgangsweise:

1. Datensichtung

2. Datenvorverarbeitung

3. Merkmalsselektion

4. Modellschätzung und Modellselektion

5. Vergleich mit einfachen Verfahren

6. Testen auf unabhängigen Daten

7. Interpretation der Ergebnisse

Page 8: SS 2009Maschinelles Lernen und Neural Computation 83 Kapitel 5: Der praktische Umgang mit komplexen Lernern

SS 2009 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

Page 9: SS 2009Maschinelles Lernen und Neural Computation 83 Kapitel 5: Der praktische Umgang mit komplexen Lernern

SS 2009 Maschinelles Lernen und Neural Computation

9

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

PC1PC2

Bsp: Pima Indian Daten

Page 10: SS 2009Maschinelles Lernen und Neural Computation 83 Kapitel 5: Der praktische Umgang mit komplexen Lernern

SS 2009 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)

x

xxx

std

mean

Page 11: SS 2009Maschinelles Lernen und Neural Computation 83 Kapitel 5: Der praktische Umgang mit komplexen Lernern

SS 2009 Maschinelles Lernen und Neural Computation

11

Schritt 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

KlasseMerkmale

• 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 Input

aber: keine Outputinformation; kann suboptimal sein

Page 12: SS 2009Maschinelles Lernen und Neural Computation 83 Kapitel 5: Der praktische Umgang mit komplexen Lernern

SS 2009 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!

Page 13: SS 2009Maschinelles Lernen und Neural Computation 83 Kapitel 5: Der praktische Umgang mit komplexen Lernern

SS 2009 Maschinelles Lernen und Neural Computation

13

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)

Lokales Minimum

Page 14: SS 2009Maschinelles Lernen und Neural Computation 83 Kapitel 5: Der praktische Umgang mit komplexen Lernern

SS 2009 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!

Page 15: SS 2009Maschinelles Lernen und Neural Computation 83 Kapitel 5: Der praktische Umgang mit komplexen Lernern

SS 2009 Maschinelles Lernen und Neural Computation

15

• 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)

Die n-fache Kreuzvalidierung

...

n-1 Teile zum Training n. Teil zum Testen (Validierung)

n Teile

Page 16: SS 2009Maschinelles Lernen und Neural Computation 83 Kapitel 5: Der praktische Umgang mit komplexen Lernern

SS 2009 Maschinelles Lernen und Neural Computation

16

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)

2

varvar

,11

,

21

22112pop

21pop

__

nnf

f

xnxn

nn

xt E

E

21

_

,0 x

Freiheitsgrade

Anzahl Beobachtungen

Varianz

Page 17: SS 2009Maschinelles Lernen und Neural Computation 83 Kapitel 5: Der praktische Umgang mit komplexen Lernern

SS 2009 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)

Page 18: SS 2009Maschinelles Lernen und Neural Computation 83 Kapitel 5: Der praktische Umgang mit komplexen Lernern

SS 2009 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”)

Page 19: SS 2009Maschinelles Lernen und Neural Computation 83 Kapitel 5: Der praktische Umgang mit komplexen Lernern

SS 2009 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!

Page 20: SS 2009Maschinelles Lernen und Neural Computation 83 Kapitel 5: Der praktische Umgang mit komplexen Lernern

SS 2009 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

Page 21: SS 2009Maschinelles Lernen und Neural Computation 83 Kapitel 5: Der praktische Umgang mit komplexen Lernern

SS 2009 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

Page 22: SS 2009Maschinelles Lernen und Neural Computation 83 Kapitel 5: Der praktische Umgang mit komplexen Lernern

SS 2009 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%

Page 23: SS 2009Maschinelles Lernen und Neural Computation 83 Kapitel 5: Der praktische Umgang mit komplexen Lernern

SS 2009 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“

Page 24: SS 2009Maschinelles Lernen und Neural Computation 83 Kapitel 5: Der praktische Umgang mit komplexen Lernern

SS 2009 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)