Folien zu “Data Mining” von I. H. Witten und E. Frank übersetzt von N. Fuhr 5 Zuverlässigkeit: Evaluierung des Gelernten Aspekte: Training, Testen, Tuning Vorhersage der Qualität: Vertrauensintervalle Holdout, Kreuzvalidierung, Bootstrap Vergleich von Verfahren: der t-Test Schätzung von Wahrscheinlichkeiten: Kostenfunktionen Kosten-basierte Maße Evaluierung nummerischer Vorhersagen Das Prinzip der minimalen Beschreibungslänge ‹#› Evaluierung: der Schlüssel zum Erfolg Wie gut sind die Vorhersagen des Gelernten? Fehler in den Trainingsdaten ist kein guter Indikator für die Qualität bei neuen Daten Sonst wäre 1-NN der optimale Klassifikator! Einfache Lösung, wenn ausreichend viele Lerndaten (mit Klassenzugehörigkeit) verfügbar: Aufteilung der Daten in Trainings- und Testmenge Aber: meist nur begrenzte Lerndatenmenge verfügbar Ausgefeiltere Techniken müssen angewendet werden ‹#› Aspekte der Evaluierung Statistische Zuverlässigkeit von beobachteten Qualitätsunterschieden ( Signifikanztests) Wahl des Qualitätsmaßes: Anzahl korrekter Klassifikationen Genauigkeit der Wahrscheinlichkeitsschätzungen Fehler in nummerischen Vorhersagen Kosten für verschiedene Arten von Fehlern Für viele praktische Anwendungen sind die Kosten relevant ‹#› Training und Testen I Naheliegendes Qualitätsmaß für Klassifikationsprobleme: Fehlerrate Erfolg: Die Klasse einer Instanz wird korrekt vorhergesagt Fehler: Die Klasse wird falsch vorhergesagt Fehlerrate: Anteil der Fehler an den Entscheidungen für eine Menge von Instanzen Resubstitutions-Fehler: Fehlerrate auf den Trainingsdaten Resubstitutions-Fehler ist extrem optimistisch! ‹#› Training und Testen II Testmenge: unabhängige Instanzen, die nicht zum Erlernen des Klassifikators benutzt wurden Annahme: Sowohl Trainings- als auch Testmenge sind repräsentative Stichproben für das zugrundeliegende Problem Test- und Trainingsmenge können sich grundsätzlich unterscheiden Beispiel: Klassifikator, der mit Kundendaten von zwei verschiedenen Städten A und B entwickelt wurde Um die Qualität eines Klassifikators aus A für eine neue Stadt zu schätzen, teste ihn mit Daten aus B ‹#› Anmerkung zum ParameterTuning Die Testdaten dürfen in keiner Weise zum Lernen des Klassifikators benutzt werden! Einige Lernverfahren arbeiten mit 2 Stufen: Stufe 1: Aufbau der grundlegenden Struktur Stufe 2: Optimierung der Parameter Die Testdaten dürfen nicht zum ParameterTuning benutzt werden! Ordentliches Vorgehen arbeitet mit drei Mengen: Trainingsdaten, Validierungsdaten, Testdaten Validierungsdaten werden zur Parameteroptimierung benutzt ‹#› Optimale Ausnutzung der Daten Nach der Evaluierung können alle Daten zum Lernen des endgültigen Klassifikators benutzt werden Allgemein: je mehr Trainingsdaten, desto besser der Klassifikator (aber der Qualitätszuwachs nimmt ab) Je umfangreicher die Testdaten, desto genauer die Schätzung der Fehlerrate Holdout-Prozedur: Methode zum Aufteilen der Originaldaten in Lern- und Testdaten Dilemma: idealerweise sollten sowohl Trainings- als auch Testmenge möglichst groß sein! ‹#› Vorhersage der Qualität Angenommen, die Fehlerrate beträgt 25%. Wie nahe ist dieser Wert an der wahren Fehlerrate? Hängt von der Größe der Testmenge ab Vorhersage ist wie der Wurf einer (unfairen!) Münze “Kopf” ist ein “Erfolg”, “Zahl” ist ein “Fehler” In der Statistik wird eine Folge solcher unabhängiger Ereignisse als Bernoulli- Prozess bezeichnet Statistik-Theorie liefert Vertrauensintervalle für den wahren zugrundeliegenden Fehleranteil ‹#› Vertrauensintervalle Man kann sagen: p liegt innerhalb eines bestimmten Intervalls mit einer gewissen vorgegebenen Konfidenz Beispiel: S=750 Erfolge bei N=1000 Versuchen Geschätzte Erfolgsquote: 75% Wie nahe ist dies an der wahren Erfolgswahrscheinlichkeit p? Antwort: mit 80%iger Wahrscheinlichkeit ist p[73.2,76.7] Anderes Beispiel: S=75 und N=100 Geschätzte Erfolgsquote: 75% Mit 80%iger Konfidenz p[69.1,80.1] ‹#› Mittelwert und Varianz Mittelwert und Varianz für einen Bernoulli-Prozess: p, p (1–p) Erwartete Erfolgsquote f=S/N Mittelwert und Varianz für f : p, p (1–p)/N Für ausreichend große N folgt f einer Normalverteilung c%-Vertrauensintervall [–z X z] für Zufallsvariable mit Mittelwert 0: Pr[–z X z]=c Mit einer symmetrischen Verteilung: Pr[–z X z]=1-2xPr[ X ≥ z] ‹#› Vertrauensintervalle Vertrauensintervalle für die Normalverteilung mit Mittelwert 0 und Varianz 1: Pr[X z] z –1 0 1 1.65 0.1% 3.09 0.5% 2.58 1% 2.33 5% 1.65 10% 1.28 20% 0.84 40% 0.25 Also gilt z.B.: Pr[–1.65 X 1.65]=90% Um diese Beziehung anzuwenden, müssen wir die Zufallsvariable f so transformieren, dass sie Mittelwert 0 und Varianz 1 hat ‹#› Transformation von f • Transformierter Wert von f : f p p(1 p) / N (d.h. subtrahiere den Mittelwert und dividiere durch die Standardabweichung) • Resultierende Gleichung: Pr z f p z c p(1 p) / N • Auflösen nach p : z2 f f2 z2 z2 1 p f z 2 2N N N 4N N ‹#› Beispiele • f = 75%, N = 1000, c = 80% (so dass z = 1.28): p [0.732 ,0.767 ] • f = 75%, N = 100, c = 80% (so dass z = 1.28): p [0.691,0.801] • Anm.: Die Annahme einer Normalverteilung gilt nur für große N (d.h. N > 100) • f = 75%, N = 10, c = 80% (so dass z = 1.28): p [0.549 ,0.881] (nur grobe Näherung) ‹#› Holdout-Schätzung Was tun, wenn nur wenige Lerndaten zur Verfügung stehen? Die holdout-Methode reserviert eine Teilmenge zum Testen und nutzt den Rest zum Trainieren Meist: ein Drittel zum Testen, der Rest für das Training Problem: die Stichproben sind evtl. nicht repräsentativ Beispiel: eine Klasse kommt in den Testdaten nicht vor Fortgeschrittene Version nutzt Stratifikation Stellt sicher, dass jede Klasse mit annähernd gleicher relativer Häufigkeit in beiden Teilmengen vorkommt ‹#› Wiederholte holdout-Methode Holdout-Schätzung kann zuverlässiger gemacht werden, indem der Prozess mit verschiedenen Teilstichproben wiederholt wird In jeder Iteration wird ein bestimmter Anteil der Daten zufällig zum Trainieren ausgewählt (evtl. mit Stratifikation) Die Fehlerquoten der verschiedenen Iterationen werden gemittelt, um eine Gesamt-Fehlerquote zu berechnen Dies wird repeated holdout-Methode genannt Immer noch nicht optimal: die verschiedenen Testmengen überlappen sich Können Überlappungen ganz vermieden werden? ‹#› Kreuzvalidierung Kreuzvalidierung vermeidet überlappende Testmengen 1. Teile Daten in k Teilmengen gleicher Größe auf 2. Benuze reihum jede Teilmenge zum Testen, den Rest jeweils zum Trainieren Wird k-fache Kreuzvalidierung genannt Oft sind die Teilmengen stratifiziert, bevor die Kreuzvalidierung durchgeführt wird Die Fehlerquoten werden gemittelt, um die Gesamt-Fehlerrate zu berechnen ‹#› Mehr zu Kreuzvalidierung Standard-Methode zur Evaluierung: stratifizierte 10fache Kreuzvalidierung Warum 10? Umfangreiche Experiments haben gezeigt, dass dies die beste Wahl ist, um zuverlässige Schätzungen zu bekommen Ferner gibt es theoretische Begründungen hierzu Stratifikation reduziert die Varianz der Schätzungen Noch besser: wiederholte stratifizierte Kreuzvalidierung Z.B.: 10fache Kreuzvalidierung wird 10mal wiederholt und die Ergebnisse gemittelt (reduziert die Varianz) ‹#› Leave-One-Out Kreuzvalidierung Leave-One-Out: spezielle Form der Kreuzvalidierung: Anzahl der Durchführungen = Anzahl der Trainingsinstanzen D.h., für n Trainingsinstanzen wird der Klassifikator n-mal gelernt Nutzt die Daten optimal aus Keine zufällige Stichprobenauswahl! Aber: großer Rechenaufwand (Ausnahme: NN) ‹#› Leave-One-Out-KV und Stratifikation Nachteil von Leave-One-Out-KV: Stratifikation ist nicht möglich Verfahren garantiert eine nicht-stratifizierte Stichprobe, da die Testmenge nur eine einzige Instanz enthält! Extrembeispiel: Datenmenge, in der zwei Klassen gleich häufig auftreten Einfacher Lerner sagt jeweils die Mehrheitsklasse voraus 50% Genauigkeit auf frischen Daten Leave-One-Out-KV würde aber 100% Fehlerquote liefern ‹#› Die Bootstrap-Methode KV zieht Stichproben ohne Ersetzung Eine Instanz, die einmal ausgewählt wurde, kann nicht nochmals für eine spezielle Trainings- oder testmenge ausgewählt werden Bootstrap zieht Stichproben mit Ersetzen, um die Trainingsmenge zu bilden Ziehe n-mal mit Ersetzung aus einer Datenmenge mit n Instanzen, um eine Stichprobe mit n Instanzen zu bilden Benutze diese Daten als Trainingsmenge Die Instanzen aus der ursprünglichen Datenmenge, die nicht in der Trainingsmenge vorkommen, werden als Testmenge verwendet ‹#› Der 0.632-Bootstrap • Verfahren wird auch 0.632-Bootstrap genannt – Die Wahrscheinlichkeit, dass eine bestimmte Instanz beim einmaligen Ziehen nicht ausgewählt wird, ist 1–1/n – Daraus ergibt sich die Wahrscheinlichkeit, dass die Instanz in den Testdaten landet: n 1 1 1 e 0.368 n – Somit wird die Trainingsmenge ungefähr 63.2% aller Instanzen enthalten ‹#› Schätzung der Fehlerquote beim Bootstrap Die Fehlerschätzung aus den Testdaten ist sehr pessimistisch Trainiert wurde auf nur ~63% aller Instanzen Daher wird die Fehlerquote mit dem Resubstitutions-Fehler verrechnet: err=0.632 e test instances 0. 368 e training instances Der Resubstitutions-Fehler bekommt ein geringeres Gewicht als der Fehler auf den Testdaten Der Vorgang wird mehrfach wiederholt und der Mittelwert der Fehlerraten berechnet ‹#› Mehr zu Bootstrap Wahrscheinlich die beste Methode, um die Qualität bei sehr kleinen Datenmengen zu schätzen Allerdings gibt es einige Probleme Betrachte die zufällige Datenmenge von vorhin Ein perfekter Lerner erzielt 0% Resubstitutionsfehler und ~50% Fehler auf den Testdaten Bootstrap-Schätzung für diesen Klassifikator: err= 0 . 632 50 0 . 368 0 31 .6 Tatsächlich erwarteter Fehler: 50% ‹#› Vergleich von DataMining-Verfahren Häufige Frage: Welches von zwei Lernverfahren ist besser? Anm.: Dies ist anwendungsabhängig! Naheliegende Mathode: Vergleich der 10fach-KV-Schätzungen Problem: Varianz in der Schätzung Varianz kann durch wiederholte KV reduziert werden Aber: Wir wissen immer noch nicht, ob die Ergebnisse statistisch signifikant sind ‹#› Signifikanztests Signifikanztests sagen uns, wie sicher wir sein können, dass ein Unterschied wirklich existiert Nullhypothese: es gibt keinen “wirklichen” Unterschied Alternative Hypothese: Es gibt einen Unterschied Ein Signifikanztest misst, wieviel Evidenz es dafür gibt, die Nullhypothese zu verwerfen Beispiel: Wir benutzen 10fache KV Frage: ist die Differenz bei den Mittelwerten der zwei 10KV-Schätzer signifikant? ‹#› Paarweiser t-Test Der Student- oder t-Test sagt aus, ob die Mittelwerte zweier Stichproben signifikant differieren Nehme individuelle Stichproben bei der Kreuzvalidierung Benutzung von paarweisem t-Test, da die einzelnen Stichprobenelemente paarweise auftreten Dieselbe KV wird zweimal angewendet William Gosset Born: 1876 in Canterbury; Died: 1937 in Beaconsfield, England Obtained a post as a chemist in the Guinness brewery in Dublin in 1899. Invented the t-test to handle small samples for quality control in brewing. Wrote under the name "Student". ‹#› Verteilung der Mittelwerte • x1 x2 … xk und y1 y2 … yk sind die 2k Stichprobenwerte für k-fache KV • mx und my sind die Mittelwerte • Mit ausreichend vielen Werten ist der Mittelwert der unabhängigen Stichprobenwerte normalverteilt • Schätzungen für die Varianzen der Mittelwerte sind x2/k und y2/k • Wenn x und y die wahren Mittelwerte sind, dann sind mx x my y x2 / k y2 / k annähernd normalverteilt mit Mittelwert 0 und Varianz 1 ‹#› Die Student-Verteilung Bei kleinen Stichproben (k < 100) folgt der Mittelwert der Student-Verteilung mit k–1 Freiheitsgraden Vertrauensintervalle: 9 Freiheitsgrade Normalverteilung Pr[X z] z Pr[X z] z 0.1% 4.30 0.1% 3.09 0.5% 3.25 0.5% 2.58 1% 2.82 1% 2.33 5% 1.83 5% 1.65 10% 1.38 10% 1.28 20% 0.88 20% 0.84 ‹#› Verteilung der Differenzen • Sei md = mx – my • Die Differenzen der Mittelwerte (md) folgen ebenfalls der Student-Verteilung mit k–1 Freiheitsgraden • Sei d2 die Varianz der Differenzen • Die standardisierte Version von md wird t-Statistik genannt: t md d2 / k • Wir benutzen t zur Durchführung des t-Tests ‹#› Test-Durchführung • Lege ein Signifikanzniveau fest • • Dividiere das Signifikanz-Niveau durch zwei, da der Test zweiseitig ist • • • Wenn die Differenz signifikant ist auf dem % Niveau, dann beträgt die Wahrscheinlichkeit, dass tatsächlich ein Unterschied vorliegt (100-)% D.h. Die wahre Differenz ist entweder +ve oder – ve Schlage den Wert für z nach, der zu /2 gehört Falls t –z oder t z, dann ist der Unterschied signifikant • D.h., die Nullhypothese kann verworfen werden ‹#› Unabhängige Stichproben • Falls die KV-Schätzungen zu verschiedenen Randomisierungen gehören, sind sie nicht verbunden, sondern unabhängig • (oder wie benutzten k -fache KV für ein Verfahren und j -fache KV für das andere) • Dann müssen wir den t-Test für unabhängige Stichproben mit min(k , j) – 1 Freiheitsgraden anwenden • Die t-Statistik wird dann zu: mx m y md t t d2 / k 2 x k y2 j ‹#› Interpretation des Ergebnisses All unsere KV-Schätzer basieren auf der gleichen Datenmenge Die Stichproben sind nicht unabhängig Besser wäre es, für jeden der k Schätzwerte eine andere Datenmenge zu benutzen, um die Qualität für andere Datenbestände vorhersagen zu können Oder: Benutze heuristischen Test, z.B. korrigierten t-Test mit neu gebildeten Stichproben ‹#› Vorhersage von Wahrscheinlichkeiten • Bisheriges Qualitätsmaß: Erfolgsquote • Wird auch als 0-1 loss function bezeichnet : i 0 if prediction is correct 1 if prediction is incorrect • Die meisten Klassifikatoren liefern KlassenWahrscheinlichkeiten • Bei manchen Anwendungen möchte man die Genauigkeit der Wahrscheinlichkeitsschätzungen messen • 0-1 loss ist nicht das passende Maß hierfür ‹#› Quadratische Verlustfunktion • p1 … pk sind die Wahrscheinlichkeitsschätzungen für eine Instanz • c ist der Klassenindex der aktuellen Instanz • ac=1, sonst a1 … ak = 0 • Quadratischer Fehler ist: • Wir wollen minimieren: 2 2 2 ( p a ) p ( 1 p ) j j j c j j c 2 E ( p j a j ) j • Man kann zeigen, dass dies minimal ist wenn jeweils pj = pj*, der wahren Wahrscheinlichkeit ‹#› Informationelle Verlustfunktion Die informationelle Verlustfunktion ist –log(pc), wobei c den Index der aktuellen Klasse bezeichnet Anzahl der erforderlichen Bits, um die aktuelle Klasse mitzuteilen Seien p1* … pk* die wahren Klassenwahrscheinlichkeiten Dann ist der Erwartungswert der Verlustfunktion: p1 log 2 p1 ... p k log 2 p k Rechtfertigung: minimal wenn pj = pj* Problem: Klassen mit Häufigkeit 0 ‹#› Diskussion • Welche Verlustfunktion wählen? – Beide belohnen gute Schätzungen – Quadratische Verlustfunktion berücksichtigt alle Schätzungen von Klassenwahrscheinlichkeiten für eine Instanz – Informationelle Verlustfunktion betrachtet nur die Wahrscheinlichkeitsschätzung für die tatsächliche Klasse – Quadratischer Verlust ist beschränkt: 1 p 2j er kann nicht größer als 2 werden j – Informationeller Verlust kann beliebig groß werden • Informationeller Verlust ist verwandt mit dem MDL- Prinzip [später] ‹#› Berücksichtigung der Kosten Bei praktischen Anwendungen führen verschiedene Arten von Fehlern oft zu unterschiedlichen Kosten Beispiele: Aufspüren von Terroristen “Kein Terrorist” korrekt bei 99.99% aller Fälle Kredit-Entscheidungen Erkennen von Ölflecken Fehlerdiagnosen Werbesendungen ‹#› Berücksichtigung der Kosten Die Fall-Matrix: Predicted class Actual class Yes No Yes True positive False negative No False positive True negative Es kann noch weitere Arten von Kosten geben! Z.B.: Kosten zum Sammeln der Trainingsdaten ‹#› Steigerungsdiagramm In der Praxis sind die Kosten oft unbekannt Entscheidungen werden gefällt, indem verschiedene mögliche Szenarien verglichen werden Beispiel: Werbesendung an 1.000.000 Haushalte • • Versand an alle; 0.1% antworten (1000) Data mining Tool identifiziert Teilmenge von 100,000 Aussichtsreichen, 0.4% davon antworten (400) 40% der Antworten für 10% der Kosten kann sich lohnen • Identifiziere Teilmenge von 400,000 Aussichtsreichen, 0.2% davon antworten (800) Ein Steigerungsdiagramm erlaubt den visuellen Vergleich ‹#› Generierung eines Steigerungsdiagramms Sortiere Instanzen nach der geschätzten Erfolgswahrscheinlichkeit : Predicted probability Actual class 1 0.95 Yes 2 0.93 Yes 3 0.93 No 4 0.88 Yes … … … x-Achse: Stichprobengröße y-Achse: Anzahl Erfolgsfälle ‹#› Eine hypothetisches Steigerungsdiagramm 40% der Antworten für 10% der Kosten 80% der Antworten für 40% der Kosten ‹#› ROC-Kurven ROC-Kurven sind ähnlich zu Steigerungsdiagrammen Steht für “receiver operating characteristic” Wird in der Signaltheorie benutzt, um den Tradeoff zwischen Erfolgsquote und Fehlerrate in einem verrauschten Übertragungskanal darzustellen Unterschiede zu Steigerungsdiagramm: y-Achse zeigt den Prozentsatz positiver Elemente in der Stichprobe im Gegensatz zur deren absoluter Anzahl x –Achse zeigt den Prozentsatz von falschen positiven in der Stichprobe im Gegensatz zur Stichprobengröße ‹#› Beispiel einer ROC-Kurve Gezackte Kurve: eine Testdatenmenge Glatte Kurve: Resultat von Kreuzvalidierung ‹#› Kreuzvalidierung und ROC-Kurven Einfache Methode zur Erstellung einer ROC-Kurve mittels Kreuzvalidierung: Sammle Wahrscheinlichkeiten für die Instanzen in den Testmengen Sortiere Instanzen nach Wahrscheinlichkeiten Methode ist in WEKA implementiert Es gibt aber noch andere Möglichkeiten Die im Buch beschriebene Methode generiert eine ROC-Kurve für jede Testmenge und mittelt dann ‹#› ROC-Kurven für zwei Verfahren Für eine kleine, ausgewählte Menge, benutze Methode A Für größere Mengen, benutze Methode B Dazwischen: wähle zwischen A und B mit geeigneten Wahrscheinlichkeiten ‹#› Die konvexe Hülle Für zwei Verfahren kann man jeden Punkt auf der konvexen Hülle errreichen! TP und FP-Quoten für Verfahren 1: t1 und f1 TP und FP-Quoten für Verfahren 2: t2 und f2 Wenn Methode 1 für 100q % der Fälle benutzt wird und Methode 2 für den rest, dann TP-Rate für das kombinierte Verfahren: q t1+(1-q) t2 FP-Rate für das kombinierte Verfahren: q f2+(1-q) f2 ‹#› Kosten-sensitives Lernen Die meisten Lernverfahren unterstützen kein Kosten-sensitives Lernen Sie generieren denselben Klassifikator unabhängig davon, welche Kosten den einzelnen Klassen zugeordnet werden Beispiel: Standard-Lerner für Entscheidungsbäume Einfache Methoden für Kosten-sensitives Lernen: Resampling der Instanzen entsprechend den Kosten Gewichtung der Instanzen entsprechend den Kosten Einige Verfahren können Kosten berücksichtigen, indem sie bestimmte Parameter variieren, z.B. naiver Bayes ‹#› Maße im Information Retrieval Anteil der gefundenen Dokumente, die relevant sind: Precision=TP/(TP+FP) Anteil der relevanten Dokumente, die gefunden wurden: Recall =TP/(TP+FN) Precision/Recall-Kurven sind meist ähnlich zu hyperbolischen Kurven Globale Maße: Mittelwert der Precision bei 20%, 50% und 80% Recall (three-point average recall) F-Maß=(2RecallPrecision)/(Recall+Precision) ‹#› Zusammenfassung der Maße Domäne Steigerungs Marketing diagramm ROC-Kurve Signaltheorie RecallPrecisionKurve Information retrieval Achsen Erklärung TP Größe d. Teilm. TP-Quote FP-Quote TP Recall Precision TP/(TP+FN) TP/(TP+FP) (TP+FP)/(TP+FP+TN+FN) TP/(TP+FN) FP/(FP+TN) ‹#› Evaluierung nummerischer Vorhersagen • Gleiche Strategien: unabhängige Testmenge, Kreuzvalidierung, Signifikanztests, usw. • Unterschied: Fehlermaße • Tatsächliche Werte: a1 a2 …an • Vorhergesagte Werte: p1 p2 … pn • Populärstes Maß: mittlerer quadratischer Fehler ( p1 a1 ) 2 ... ( pn an ) 2 n – Einfache mathematische Manipulation ‹#› Andere Maße Die Wurzel aus dem mittleren quadratischen Fehler : ( p1 a1 ) 2 ... ( pn an ) 2 n Der mittlere absolute Fehler ist weniger sensitiv gegenüber Ausreißern als der mittlere quadratische Fehler: | p1 a1 | ... | pn an | n Manchmal ist der relative Fehler angemessener (z.B. 10% für einen Fehler von 50 beim Vorhersagewert 500) ‹#› Verbesserung des Mittelwerts Wie stark verbessert sich ein Verfahren, wenn es den Mittelwert korrekt vorhersagt? Der relative quadratische Fehler ist ( a is the average ): 2 ( p1 a1 ) ... ( pn an ) 2 (a a1 ) 2 ... (a an ) 2 Der relative absolute Fehler ist: | p1 a1 | ... | pn an | | a a1 | ... | a an | ‹#› Korrelationskoeffizient Misst die statistische Korrelation zwischen den Vorhersagewerten und den tatsächlichen Werten S PA SP S A S PA i ( pi p )(ai a ) n 1 SP i ( pi p ) 2 n 1 SA i (ai a ) 2 n 1 Skalierungs-unabhängig, zwischen –1 and +1 Gute Qualität drückt sich in größeren Werten aus! ‹#› Welches Maß verwenden? Am besten alle betrachten Oft ist es egal Beispiel: A B C D Wurzel d. quadr. Fehlers 67.8 91.7 63.3 57.4 Mittlere absoluter Fehler 41.3 38.5 33.4 29.2 Wurzel d. rel. quadr. Fehlers 42.2% 57.2% 39.4% 35.8% Relativer absoluter Fehler 43.1% 40.1% 34.8% 30.4% Korrelationskoefficient 0.88 0.88 0.89 0.91 D am besten C zweiter A, B hängt vom Standpunkt ab ‹#› Das MDL-Prinzip MDL steht für minimum description length Die Beschreibungslänge ist definiert als: Speicherplatz zur Beschreibung einer Theorie + Speicherplatz zur Beschreibung der Fehler der Theorie In unserem Fall ist die Theorie der Klassifikator und die Fehler die auf den Trainingsdaten Gesucht: Klassifikator mit minimaler MDL MDL-Prinzip ist ein Kriterium zur Modellauswahl ‹#› Modellauswahl-Kriterien Modellauswahl-Kriterien versuchen, einen guten Kompromiss zu finden zwischen: • • Der Komplexität eines Modells Seiner Vorhersagequalität auf den Trainingsdaten Idee: Ein gutes Modell ist ein einfaches Modell, das eine hohe Genauigkeit auf den vorhandenen Daten erzielt Auch bekannt als Occam’s Razor : die beste Theorie ist die kleinste, die alle Fakten beschreibt William of Ockham, born in the village of Ockham in Surrey (England) about 1285, was the most influential philosopher of the 14th century and a controversial theologian. ‹#› Eleganz vs. Fehler Theorie 1: sehr einfache, elegante Theorie die die Daten beinahe perfekt beschreibt Theorie 2: deutlich komplexere Theorie, die die Daten fehlerfrei reproduziert Theorie 1 ist zu bevorzugen Klassisches Beispiel: Keplers drei Gesetze zu der Planetenbewegung Weniger genau als Kopernikus’ letzte Verfeinerung der Ptolemäischen Theorie der Epizyklen ‹#› MDL und Komprimierung Das MDL-Prinzip hängt mit der Datenkomprimierung zusammen: Die beste Theorie ist diejenige, die die Daten am stärksten komprimiert D.h. um eine Datenmenge zu komprimieren, generieren wir ein Modell und speichern dann das Modell und seine Fehler Dazu müssen wir berechnen (a) die Größe des Modells, und (b) den Speicherplatz für die Fehler (b) einfach: benutze den Informationsverlust (a) erfordert eine Methode zur Codierung des Modells‹#› MDL und Bayes’ Theorem L[T]=“Länge” einer Theorie L[E|T]=Codierung der Trainingsmenge in Bezug auf die Theorie Beschreibungslänge= L[T] + L[E|T] Bayes’ Theorem schätzt die a-posteriori Wahrscheinlichkeit einer Theorie bei gegebenen Daten: Pr[ E | T ] Pr[T ] Pr[T | E ] Pr[ E ] Äquivalent zu: log Pr[T | E ] log Pr[ E | T ] log Pr[T ] log Pr[ E ] konstant ‹#› MDL und MAP MAP steht für maximum a posteriori probability Finden der MAP-Theorie korrespondiert zum Finden der MDL Theorie Schwierigkeit bei der Anwendung des MAP-Prinzips: Bestimmung der a-priori-Wahrscheinlichkeit Pr[T] der Theorie Korrespondiert zum schwierigen Teil bei der Anwendung des MDL-Prinzips: Codierungsschema für die Theorie D.h. wenn wir vorher wissen, dass eine bestimmte Theorie wahrscheinlicher ist, dann benötigen wir weniger Bits, um sie zu codieren ‹#› Diskussion des MDL-Prinzips Vorteil: nutzt die Trainigsdaten voll aus bei der Auswahl eines Modells Nachteil 1: passendes Codierungsschema/a-prioriWahrscheinlichkeiten sind entscheidend Nachteil 2: es gibt keine Garantie, dass die MDLTheorie den erwarteten Fehler minimiert Anmerkung: Occam’s Razor ist ein Axiom! Epicurus’ Prinzip der multiplen Erklärungen: behalte alle Theorien, die konsistent mit den Daten sind ‹#› Bayes’sche Modell-Mittelung Basiert auf Epicurus’ Prinzip: alle Theorien werden zur Vorhersage genutzt, entsprechend P[T|E] Sei I eine neue Instanz, deren Klasse vorhergesagt werden soll Sei C die Zufallsvariable für die Klasse Dann Schätzt BMM die Wahrscheinlichkeit von C unter Berücksichtigung von I den Trainingsdaten E den möglichen Theorien Tj Pr[ C | I , E ] Pr[C | I ,T ] Pr[T j j j | E] ‹#› MDL und Clustering Beschreibungslänge einer Theorie: Benötigte Bits zur Codierung der Cluster z.B. Zentroiden Beschreibungslänge der Daten bei gegebener Theorie: codiere Clusterzugehörigkeit und relative Position im Cluster z.B. Distanz zum Zentroiden Funktioniert, wenn das Codierungsschema für kleine Zahlen weniger Bits benötigt als für große Bei nominalen Attributen müssen die Wahrscheinlichkeitsverteilungen für jedes Cluster codiert werden ‹#›