INTELLIGENTE DATENANALYSE IN MATLAB · Gegeben: Trainingsdaten . Spezialfall von Cross Validation...

29
INTELLIGENTE DATENANALYSE IN MATLAB Evaluation & Exploitation von Modellen

Transcript of INTELLIGENTE DATENANALYSE IN MATLAB · Gegeben: Trainingsdaten . Spezialfall von Cross Validation...

Page 1: INTELLIGENTE DATENANALYSE IN MATLAB · Gegeben: Trainingsdaten . Spezialfall von Cross Validation mit . Wiederhole für i = 1…n Trainiere Modell h i auf Daten . Berechne empirisches

INTELLIGENTE DATENANALYSE

IN MATLAB

Evaluation & Exploitation von Modellen

Page 2: INTELLIGENTE DATENANALYSE IN MATLAB · Gegeben: Trainingsdaten . Spezialfall von Cross Validation mit . Wiederhole für i = 1…n Trainiere Modell h i auf Daten . Berechne empirisches

Schritte der Datenanalyse:

Überblick

2

Aggregation und

Selektion von

Daten.

Integration und

Säuberung der

Daten.

Feature-

Extraktion.

Daten-

vorverarbeitungProblemanalyse

Bestimmen von

gegeb./gesuchten

Größen.

Wahl des

Performanzmaß/

Zielkriteriums.

Modellraum und

Modellannahmen.

Algorithmen für

das Optimieren

des Zielkriteriums

finden.

Implementieren

der Algorithmen.

Problemlösung

Modell-Selektion

& -Anpassung.

Training &

Evaluation des

Modells auf

gegebenen Daten.

Vorhersage für

neue Daten.

Anwendung

der Lösung

Page 3: INTELLIGENTE DATENANALYSE IN MATLAB · Gegeben: Trainingsdaten . Spezialfall von Cross Validation mit . Wiederhole für i = 1…n Trainiere Modell h i auf Daten . Berechne empirisches

Evaluation von Lernverfahren.

Selektion und Anpassung von Modellen.

Evaluation von Klassifikatoren.

Exploitation von Modellen.

Überblick

3

Page 4: INTELLIGENTE DATENANALYSE IN MATLAB · Gegeben: Trainingsdaten . Spezialfall von Cross Validation mit . Wiederhole für i = 1…n Trainiere Modell h i auf Daten . Berechne empirisches

Ziel: Qualitätsbewertung der Modelle eines

Lernverfahrens.

Nachdem wir Problem analysiert haben und Verfahren

identifiziert & implementiert haben.

Qualität eines Modells: Wie gut sind die Vorhersagen

des Modells?

Was genau heißt „gut“?

Wie berechnet/schätzt man die Genauigkeit der

Vorhersagen auf zukünftigen Daten?

Evaluation von Lernverfahren

4

Page 5: INTELLIGENTE DATENANALYSE IN MATLAB · Gegeben: Trainingsdaten . Spezialfall von Cross Validation mit . Wiederhole für i = 1…n Trainiere Modell h i auf Daten . Berechne empirisches

Gegeben:

Repräsentative Evaluierungsdaten E

mit bekannter Zielgröße.

Bewertungsmaß (Verlustfunktion)

welche Qualität einer Vorhersage

misst, z.B.

Klassifikation: Anzahl falsch klassifizierter Beispiele (Fehlerrate).

Regression: Mittlerer quadratischer Fehler.

Ranking: Mittlerer Abstand zw. echter und vorhergesagter Position.

Evaluation von LernverfahrenProblemstellung

5

Muss nicht identisch sein

zur Verlustfunktion des

Lernverfahrens

( , )prediction predictionl y y y y

2( , ) ( )prediction predictionl y y y y

Page 6: INTELLIGENTE DATENANALYSE IN MATLAB · Gegeben: Trainingsdaten . Spezialfall von Cross Validation mit . Wiederhole für i = 1…n Trainiere Modell h i auf Daten . Berechne empirisches

Eingabe: Lernverfahren welches ein Modell h ausgibt.

Ziel: Bewertung der mittleren Qualität des

Lernverfahrens.

Theoretischer Mittelwert des Verlusts auf der Testverteilung:

Aber: Testverteilung unbekannt!

Evaluierungsdaten sind repräsentativ

aus gezogen theoretischen Mittelwert durch

empirischen Mittelwert (empirisches Risiko) schätzen:

Evaluation von LernverfahrenProblemstellung

6

E[ ( ( ), )] ( , ) ( ( ), )d( , )theoR l h X Y p x y l h x y x y

( , )p X Y

1 1{( , ), , ( , )}n nE x y x y

( , )p X Y

1

1( ( ), )

n

emp i i

i

R l h x yn

Page 7: INTELLIGENTE DATENANALYSE IN MATLAB · Gegeben: Trainingsdaten . Spezialfall von Cross Validation mit . Wiederhole für i = 1…n Trainiere Modell h i auf Daten . Berechne empirisches

Welche Daten für Evaluation verwenden:

Daten auf welchen das Modell trainiert wurde?

Nein! Empirischer Verlust auf diesen Daten meist 0.

Daten auf welche das Modell angewendet werden soll?

Nein! Zielgröße für diese Daten unbekannt.

Idee:

Gelabelte Trainingsdaten aufteilen in

Lerndaten zum Lernen eines Modells, und

Evaluierungsdaten zum Evaluieren des Modells.

Evaluation von LernverfahrenProblemstellung

7

Page 8: INTELLIGENTE DATENANALYSE IN MATLAB · Gegeben: Trainingsdaten . Spezialfall von Cross Validation mit . Wiederhole für i = 1…n Trainiere Modell h i auf Daten . Berechne empirisches

Gegeben: Trainingsdaten .

Aufteilen der Daten in Lerndaten

und Evaluierungsdaten .

Lerne Modell auf Daten L und bestimme empirisches

Risiko auf Daten E:

Lerne Modell h auf Daten D.

Ausgabe: Modell h mit Risiko-Schätzer .

Evaluation von LernverfahrenAufteilung der Trainingsdaten: Holdout Validation

8

1 1{( , ), , ( , )}n nD x y x y

1 1{( , ), , ( , )}k kL x y x y

1 1{( , ), , ( , )}k k n nE x y x y

1

1( ) ( ( ), )

n

emp i i

i k

R h l h x yn k

h

ˆ ( ) ( )emp empR h R h

Pessimistische Schätzung

Page 9: INTELLIGENTE DATENANALYSE IN MATLAB · Gegeben: Trainingsdaten . Spezialfall von Cross Validation mit . Wiederhole für i = 1…n Trainiere Modell h i auf Daten . Berechne empirisches

Gegeben: Trainingsdaten .

Aufteilen der Daten in p Blöcke

mit und für 2 verschiedene Blöcke.

Wiederhole für i = 1…p

Trainiere Modell hi auf Daten D\Di.

Berechne empirisches Risiko auf Di:

Lerne Modell h auf Daten D.

Ausgabe: Modell h mit mittlerem Risiko

Evaluation von LernverfahrenAufteilung der Trainingsdaten: Cross Validation

9

1 1{( , ), , ( , )}n nD x y x y

1 1{( , ), , ( , )}

k ki i i i iD x y x y

1

1( ) ( ( ), )

j j

k

emp i i i i

j

R h l h x yk

1

1ˆ ( ) ( ).p

emp emp i

i

R h R hp

iiD D i jD D

Page 10: INTELLIGENTE DATENANALYSE IN MATLAB · Gegeben: Trainingsdaten . Spezialfall von Cross Validation mit . Wiederhole für i = 1…n Trainiere Modell h i auf Daten . Berechne empirisches

Gegeben: Trainingsdaten .

Spezialfall von Cross Validation mit .

Wiederhole für i = 1…n

Trainiere Modell hi auf Daten .

Berechne empirisches Risiko für :

Lerne Modell h auf Daten D.

Ausgabe: Modell h mit Loo-Fehler .

I.d.R. aufwendig zu berechnen.

Für einige Probleme existiert analyt. Lösung für Loo-Fehler.

Evaluation von Lernverfahren Aufteilung der Trainingsdaten: Leave-One-Out Validation

10

1 1{( , ), , ( , )}n nD x y x y

( , )i i iD x y

( ) ( ( ), )emp i i i iR h l h x y

1

1ˆ ( ) ( )n

emp emp i

i

R h R hn

\( , )i iD x y

( , )i ix y

Page 11: INTELLIGENTE DATENANALYSE IN MATLAB · Gegeben: Trainingsdaten . Spezialfall von Cross Validation mit . Wiederhole für i = 1…n Trainiere Modell h i auf Daten . Berechne empirisches

Wie gut ist der Schätzer für das echte

Risiko ?

Idee: m-malige Validation ergibt m Schätzwerte für

empirisches Risiko mit Mittelwert R.

Standardfehler (Standardabw. des Schätzers):

Test der Hypothese :

Evaluation von Lernverfahren Signifikanz des empirischen Risikos

11

ˆ ( )empR h

( )theoR h

1

1

R R

Rm

ˆ( ) ( )theo empR h R h

2

ˆ ˆ ˆ( ) ( ) 1 ( ( ( ) ( ) ) ( ( ) ( ) ))

1 2

theo emp theo emp emp theo

R

p R h R h p R h R h p R h R h

Inverse der Normalverteilung: 21

21

2

xz

x e dz

Page 12: INTELLIGENTE DATENANALYSE IN MATLAB · Gegeben: Trainingsdaten . Spezialfall von Cross Validation mit . Wiederhole für i = 1…n Trainiere Modell h i auf Daten . Berechne empirisches

Test der Hypothese mit Signifikanz-

niverau 5% (signifikantes Ereignis).

Beispiel: 10-malige Wiederholung einer Leave-One-

Out-Validation (auf 10 verschiedenen Datensätzen).

10 Schätzwerte mit Mittelwert R = 8% R = 0,09.

Gesucht ist mit Konfidenzintervall 1 – und = 5%:

Evaluation von Lernverfahren Signifikanz des empirischen Risikos

12

ˆ( ) ( )theo empR h R h

2

ˆ( ) ( ) 0,950

1 2 ( 0,09 ) 0,950

(123,3 ) 0,975

theo empp R h R h

( ) 0,975

0,835

0,68%123,3

z

z

z

8,0 0,68%R

Page 13: INTELLIGENTE DATENANALYSE IN MATLAB · Gegeben: Trainingsdaten . Spezialfall von Cross Validation mit . Wiederhole für i = 1…n Trainiere Modell h i auf Daten . Berechne empirisches

Ziel: Hohe Qualität des Modells durch Selektion/

Anpassung des Modells bzw. Lernverfahrens.

Anpassen von

Modellkomponenten (z.B. Verlustfunktion/Regularisierung,

Splitting-Kriterium).

Parameter des Lernverfahrens (z.B. maximale Anzahl Iterationen).

Parameter der Verlustfunktion (z.B. Klassen-Kosten).

Parameter des Regularisierers (z.B. des 2-Regularsierers).

Parameter der Daten-Transformation bzw. des Kernels

(z.B. des RBF-Kernels).

Selektion und Anpassung von Modellen

13

Page 14: INTELLIGENTE DATENANALYSE IN MATLAB · Gegeben: Trainingsdaten . Spezialfall von Cross Validation mit . Wiederhole für i = 1…n Trainiere Modell h i auf Daten . Berechne empirisches

Idee:

Stichprobenartig aus der Menge aller möglichen Parameter

bzw. Parameterkombinationen ziehen.

Für jede gezogene Kombination mittels Cross-Validation (CV)

Schätzer für bestimmen.

Parameter wählen mit minimalem Risiko.

Beispiel für Parameter-Auswahl: Grid-Suche

Selektion und Anpassung von ModellenGrid-Suche

14

( )theoR h

210 010 210

12

02

12

Für jeden Grid-Punkt

Schätzer für das Risiko

berechnen mittels CV.

Page 15: INTELLIGENTE DATENANALYSE IN MATLAB · Gegeben: Trainingsdaten . Spezialfall von Cross Validation mit . Wiederhole für i = 1…n Trainiere Modell h i auf Daten . Berechne empirisches

Welche Daten für Modell-Anpassung verwenden:

Daten auf welchen das Modell evaluiert wird?

Nein! Evaluierung des Modells wäre zu optimistisch.

Idee:

Lerndaten aufteilen in Daten für …

Learning: zum Lernen eines Modells mit festen Parametern und

Tuning: zum Anpassen der Modellparameter.

Art der Aufteilung:

Holdout-Validation.

Cross-Validation.

Loo-Validation.

Selektion und Anpassung von ModellenAufteilung der Lerndaten

15

Page 16: INTELLIGENTE DATENANALYSE IN MATLAB · Gegeben: Trainingsdaten . Spezialfall von Cross Validation mit . Wiederhole für i = 1…n Trainiere Modell h i auf Daten . Berechne empirisches

Beispiel: Geschachtelte Cross-Validation.

Aufteilen der Trainingsdaten D in p Blöcke Di.

Wiederhole für i = 1…p

Aufteilen der Lerndaten L=D\Di in q Blöcke Lj.

Wiederhole für alle Modell-Parameterkombinationen

Wiederhole für j = 1…q

Trainiere für aktuelle Parameterkombination ein Modell auf L\Lj.

Berechne empirisches Risiko auf Lj.

Bestimme mittleres empirisches Risiko für aktuelle Parameterkombination.

Trainiere für beste Parameterkombination Modell hi auf D\Di.

Berechne empirisches Risiko auf Di.

Trainiere für beste Parameterkombination Modell h auf D.

Selektion und Anpassung von ModellenAufteilung der Lerndaten

16

Page 17: INTELLIGENTE DATENANALYSE IN MATLAB · Gegeben: Trainingsdaten . Spezialfall von Cross Validation mit . Wiederhole für i = 1…n Trainiere Modell h i auf Daten . Berechne empirisches

Ziel: Bewertung eines konkreten Modells für binäre

Klassifikation.

Nachdem wir Problem analysiert haben, Verfahren

identifiziert & implementiert haben, und Klassifikations-

Modell (Klassifikator) trainiert haben.

Qualität eines Klassifikators:

Precision/Recall-Analyse.

ROC-Analyse.

Evaluation von Klassifikatoren

17

Page 18: INTELLIGENTE DATENANALYSE IN MATLAB · Gegeben: Trainingsdaten . Spezialfall von Cross Validation mit . Wiederhole für i = 1…n Trainiere Modell h i auf Daten . Berechne empirisches

Entscheidungsfunktion: Ordnet einer Eingabe x

einen numerischen Wert zu, .

Beispiel:

Klassifikationsfunktion: Ordnet einem Entscheidungs-

funktionswert ein Klassenlabel zu, .

Beispiel:

Kontingenztabelle:

Evaluation von KlassifikatorenDefinitionen (für binäre Klassifikation)

18

: mf

( )f x :g Y

( )f Tx x w

( ( )) ( ( ) )g f sign f x x

Tatsächlich positiv Tatsächlich negativ

Positiv vorhergesagt TP (true positives) FP (false positives)

Negativ vorhergesagt FN (false negatives) TN (true negatives)

Klassifikations-Schwellwert

Page 19: INTELLIGENTE DATENANALYSE IN MATLAB · Gegeben: Trainingsdaten . Spezialfall von Cross Validation mit . Wiederhole für i = 1…n Trainiere Modell h i auf Daten . Berechne empirisches

Beispiel HIV-Erkrankungen in Deutschland:

In Deutschland leben 82.099.232 Menschen.

Davon sind 63.554 Menschen an HIV erkrankt.

Ein HIV-Test ergab (hochgerechnet auf alle Menschen):

Evaluation von KlassifikatorenDefinitionen (für binäre Klassifikation)

19

Tatsächlich positiv Tatsächlich negativ Summe

Positiv vorhergesagt 63.487 114.276 177.763

Negativ vorhergesagt 67 81.921.402 81.921.469

Summe 63.554 82.035.678 82.099.232

False Negatives:

fälschlicherweise als

HIV-negativ klassifiziert

False Positives:

fälschlicherweise als

HIV-positiv klassifiziert

Page 20: INTELLIGENTE DATENANALYSE IN MATLAB · Gegeben: Trainingsdaten . Spezialfall von Cross Validation mit . Wiederhole für i = 1…n Trainiere Modell h i auf Daten . Berechne empirisches

Gegeben:

Repräsentative Evaluierungsdaten E mit bekannter

Zielgröße.

Entscheidungs- und Klassifikationsfunktion.

Gesucht:

Bewertung der Entscheidungsfunktion.

Beispiele: Precision/Recall-Kurve, ROC-Kurve.

Bewertung der Klassifikationsfunktion

(Entscheidungsfunktion für einen konkreten Schwellwert).

Beispiele: Fehlerrate, F-Maß.

Evaluation von KlassifikatorenQualität eines Klassifikators

20

Page 21: INTELLIGENTE DATENANALYSE IN MATLAB · Gegeben: Trainingsdaten . Spezialfall von Cross Validation mit . Wiederhole für i = 1…n Trainiere Modell h i auf Daten . Berechne empirisches

Für jeden Klassifikations-Schwellwert ergibt sich eine

Kontigenztabelle, d.h. Werte für TP, FP, TN und FN.

Unterschiedliche Bewertungsmaße für einen

Klassifikator (für einen konkreten Schwellwert):

Trefferquote (Recall):

Genauigkeit (Precision):

Ausfallquote (Fallout):

Evaluation von KlassifikatorenQualität eines Klassifikators

21

63.48799,89%

63.487 67

TP

TP FN

63.48735,71%

63.487 114.276

TP

TP FP

114.2760,14%

81.921.402 114.276

FP

TN FP

Page 22: INTELLIGENTE DATENANALYSE IN MATLAB · Gegeben: Trainingsdaten . Spezialfall von Cross Validation mit . Wiederhole für i = 1…n Trainiere Modell h i auf Daten . Berechne empirisches

Trefferquote (Recall):

Genauigkeit (Precision):

Ausfallquote (Fallout):

Evaluation von KlassifikatorenQualität eines Klassifikators

22

63.48799,89%

63.487 67

TP

TP FN

63.48735,71%

63.487 114.276

TP

TP FP

114.2760,14%

81.921.402 114.276

FP

TN FP

Tatsächlich positiv Tatsächlich negativ Summe

Positiv vorhergesagt 63.487 114.276 177.763

Negativ vorhergesagt 67 81.921.402 81.921.469

Summe 63.554 82.035.678 82.099.232

Page 23: INTELLIGENTE DATENANALYSE IN MATLAB · Gegeben: Trainingsdaten . Spezialfall von Cross Validation mit . Wiederhole für i = 1…n Trainiere Modell h i auf Daten . Berechne empirisches

Kombinierte Bewertungsmaße aus Recall und Precision:

Sensitivität (Sensitivity): Recall bzgl. positiver Beispiele.

Spezifität (Specificity): Recall bzgl. negativer Beispiele.

F-Maß (F-score): Harmonisches Mittel aus Precision & Recall.

Spezielle Schwellwerte :

Gewinnschwelle (Break-Even-Point): Schwellwert für welchen Precision = Recall.

F-Schwellwert (Maximal F-score): Schwellwert für welchen F-score maximal ist.

Evaluation von KlassifikatorenRecall versus Precision

23

Precision Recall 35,71% 99,89%F-score 2 2 52,61%

Precision Recall 35,71% 99,89%

Page 24: INTELLIGENTE DATENANALYSE IN MATLAB · Gegeben: Trainingsdaten . Spezialfall von Cross Validation mit . Wiederhole für i = 1…n Trainiere Modell h i auf Daten . Berechne empirisches

Precision/Recall-Kurve: Precision vs. Recall für

unterschiedliche Schwellwerte .

Evaluation von KlassifikatorenRecall versus Precision

24

1,00

0,75

0,50

0,25

0,00 0,25 0,50 0,75 1,00

Pre

cisi

on

Recall

Vorheriges

Beispiel

Recall = 99,89%

Precision = 35,71%

Maximal F-score

Break-Even-Point

0

F

BEP

AUCPR

(Area Under Curve:

Precision/Recall)

wenig

aussagekräftig

Page 25: INTELLIGENTE DATENANALYSE IN MATLAB · Gegeben: Trainingsdaten . Spezialfall von Cross Validation mit . Wiederhole für i = 1…n Trainiere Modell h i auf Daten . Berechne empirisches

Receiver-Operating-Characteristic (ROC):

Bewertung der Entscheidungsfunktion unabhängig vom

Schwellwert durch Fallout statt Precision.

Großer Schwellwert: Mehr positive Beispiel falsch

klassifiziert.

Kleiner Schwellwert: Mehr negative Beispiel falsch

klassifiziert.

Fläche unter der ROC-Kurve (AUCROC) bewertet

Entscheidungsfunktion.

Analog zur Fläche unter Precision/Recall-Kurve.

Evaluation von KlassifikatorenRecall versus Fallout

25

Page 26: INTELLIGENTE DATENANALYSE IN MATLAB · Gegeben: Trainingsdaten . Spezialfall von Cross Validation mit . Wiederhole für i = 1…n Trainiere Modell h i auf Daten . Berechne empirisches

ROC-Kurve bzw. Recall/Fallout-Kurve: Recall

(True Positives Rate) vs. Fallout (False Positives Rate).

Evaluation von KlassifikatorenRecall versus Fallout

26

Reca

ll

Fallout

Vorheriges

Beispiel

0

AUCROC

(Area Under Curve: ROC)

1,00

0,75

0,50

0,25

0,00 0,25 0,50 0,75 1,00

Recall = 99,89%

Fallout = 0,14%

Page 27: INTELLIGENTE DATENANALYSE IN MATLAB · Gegeben: Trainingsdaten . Spezialfall von Cross Validation mit . Wiederhole für i = 1…n Trainiere Modell h i auf Daten . Berechne empirisches

Algorithmus zur Bestimmung des AUCROC-Wertes.

AUC_ROC(f, y)

Sortiere Paare (fi , yi)

aufsteigend nach fi

Setze TN = 0, FN = 0, AUC = 0

FOR i = 1…n

IF yi > 0 THEN

FN = FN + 1

AUC = AUC + TN

ELSE

TN = TN + 1

AUC = AUC/(FN * TN)

RETURN AUC

Evaluation von KlassifikatorenRecall versus Fallout

27

f Vektor mit n Entscheidungsfunktionswerten

y Vektor mit zugehörigen Klassenlabels

Page 28: INTELLIGENTE DATENANALYSE IN MATLAB · Gegeben: Trainingsdaten . Spezialfall von Cross Validation mit . Wiederhole für i = 1…n Trainiere Modell h i auf Daten . Berechne empirisches

Anwenden von Modellen in der Praxis:

Einstellen von Modellparametern nach dem Lernen

(z.B. Schwellwerte, Default-Klasse).

Kombination mehrerer gelernter Modelle (z.B. Verwendung

mehrerer Spam-Filter).

Integration des Modells in bestehende Softwarearchitektur.

Monitoren der Qualität (Verteilung der Eingabedaten ändert

sich oft über die Zeit Qualität verringert sich).

Sammeln neuer Trainingsdaten zur Verbesserung des

Modells.

Exploitation von Modellen

28

Page 29: INTELLIGENTE DATENANALYSE IN MATLAB · Gegeben: Trainingsdaten . Spezialfall von Cross Validation mit . Wiederhole für i = 1…n Trainiere Modell h i auf Daten . Berechne empirisches

Qualität von Lernverfahren/Modellen messen…

Auf Evaluierungsdaten; nicht auf Trainingsdaten!

Signifikanz des Ergebnisses prüfen.

Modell-Selektion/-Anpassung…

Auf Tuningdaten; nicht auf Evaluierungsdaten!

Modellparameter z.B. durch Grid-Suche + Cross-Validation.

Bewertung eines Klassifikators durch Recall, Precision, Fallout, F-Maß usw.

Bewertung einer Entscheidungsfunktion durch Fläche unter der ROC-Kurve.

Zusammenfassung

29