Klassifikation A. Hinneburg, Web Data Mining MLU Halle-Wittenberg, SS 2007 0 Überblick • • • • • • • • • • Grundkonzepte Entscheidungsbäume Evaluierung von Klassifikatoren Lernen von Regeln Klassifikation mittels Assoziationsregeln Naïver Bayescher Klassifikator Naïve Bayes für Text Klassifikation Support Vektor Maschinen Ensemble-Methoden: Bagging und Boosting Zusammenfassung A. Hinneburg, Web Data Mining MLU Halle-Wittenberg, SS 2007 1 Bayesche Klassifikation • Probabilistische Sicht: Überwachtes Lernen kann auf elegante Weise probabilistisch formuliert werden. • Seien A1 bis Ak diskrete Attribute. Das Klassenattribut sei C. • Gegeben sei ein Testbeispiel d mit den beobachteten Attributwerten a1 bis ak. • Die Klassifikation besteht darin die folgende AposterioriWahrscheinlichkeit zu berechnen. Die Vorhersage ist die Klasse cj s.d. maximal wird A. Hinneburg, Web Data Mining MLU Halle-Wittenberg, SS 2007 2 Anwendung von Bayes’ Regel Pr(C = c j | A1 = a1 ,..., A| A| = a| A| ) = = Pr( A1 = a1 ,..., A| A| = a| A| | C = c j ) Pr(C = c j ) Pr( A1 = a1 ,..., A| A| = a| A| ) Pr( A1 = a1 ,..., A| A| = a| A| | C = c j ) Pr(C = c j ) |C | ∑ Pr( A = a ,..., A 1 1 | A| = a| A| | C = cr ) Pr(C = cr ) r =1 Pr(C=cj) ist die Klasse Prior-Wahrscheinlichkeit: leicht aus den Trainingsdaten zu schätzen. A. Hinneburg, Web Data Mining MLU Halle-Wittenberg, SS 2007 3 Berechnung der Wahrscheinlichkeiten • Der Nenner ist irrelevant für Entscheidung , da er für jede Klasse gleich ist. • Nur P(A1=a1,...,Ak=ak | C=ci) wird gebraucht, was umgeformt werden kann als Pr(A1=a1|A2=a2,...,Ak=ak, C=cj)* Pr(A2=a2,...,Ak=ak |C=cj) • Der zweite Faktor kann rekursiv auf die gleiche Weise weiter zerlegt werden. • Jetzt kommt noch eine Annahme. A. Hinneburg, Web Data Mining MLU Halle-Wittenberg, SS 2007 4 Bedingte Unabhängigkeitsannahme • Alle Attribute sind bedingt unabhängig bei gegebener Klasse C = cj. • Formal wird angenommen, Pr(A1=a1 | A2=a2, ..., A|A|=a|A|, C=cj) = Pr(A1=a1 | C=cj) und so weiter für A2 bis A|A|. d.h., | A| Pr( A1 = a1 ,..., A| A| = a| A| | C = ci ) = ∏ Pr( Ai = ai | C = c j ) i =1 A. Hinneburg, Web Data Mining MLU Halle-Wittenberg, SS 2007 5 Naïver Bayescher Klassifikator Pr(C = c j | A1 = a1 ,..., A| A| = a| A| ) | A| = Pr(C = c j )∏ Pr( Ai = ai | C = c j ) |C | i =1 | A| r =1 i =1 ∑ Pr(C = cr )∏ Pr( Ai = ai | C = cr ) • Wie wird P(Ai = ai| C=cj) geschätzt? A. Hinneburg, Web Data Mining MLU Halle-Wittenberg, SS 2007 6 Klassifikation einer Testinstanz • Wenn die wahrscheinlichsten Klasse vorhergesagt wird, braucht nur der Zähler berechnet werden, da der Nenner für alle Klassen gleich ist. • Für ein gegebenes Testbeispiel, wird das folgende berechnet | A| c = arg max Pr(c j )∏ Pr( Ai = ai | C = c j ) cj i =1 A. Hinneburg, Web Data Mining MLU Halle-Wittenberg, SS 2007 7 Beispiel Berechne alle benötigten Wahrscheinlichkeiten für die Klassifikation A. Hinneburg, Web Data Mining MLU Halle-Wittenberg, SS 2007 8 Beispiel, Fortsetzung • Für C = t, ergibt sich 2 1 2 2 2 Pr(C = t )∏ Pr( A j = a j | C = t ) = × × = 2 5 5 25 j =1 • Für Klasse C = f, ergibt sich 2 1 1 2 1 Pr(C = f ) Pr( A j = a j | C = f ) = × × = 2 5 5 25 j =1 ∏ • C = t ist wahrscheinlicher. t ist deshalb die Vorhersage. A. Hinneburg, Web Data Mining MLU Halle-Wittenberg, SS 2007 9 Probleme • Numerische Attribute: Naïves Bayesches Lernen nimmt an, dass alle Attribute kategorisch sind. Numerische Attribute müssen diskretisiert werden. • Anzahl=Null: Ein bestimmter Attributwert taucht unter Umständen nicht mit einer Klasse gemeinsam auf. Abhilfe durch Glättung. Pr( Ai = ai | C = c j ) = nij + λ n j + λni • Fehlende Werte: werden ignoriert A. Hinneburg, Web Data Mining MLU Halle-Wittenberg, SS 2007 10 Diskussion zum naïven Bayesches Klassifikator • Vorteile: – Leicht zu implementieren – Sehr effizient – Liefert gute Ergebnisse bei vielen Anwendungen • Nachteile – Annahme: Klassen sind bedingt unabhängig, deshalb geht Vorhersagegenauigkeit verloren, wenn diese Annahme stark verletzt wird. (z.B. bei stark korrellierten Daten) A. Hinneburg, Web Data Mining MLU Halle-Wittenberg, SS 2007 11 Überblick • • • • • • • • • • Grundkonzepte Entscheidungsbäume Evaluierung von Klassifikatoren Lernen von Regeln Klassifikation mittels Assoziationsregeln Naïver Bayescher Klassifikator Naïve Bayes für Text Klassifikation Support Vektor Maschinen Ensemble-Methoden: Bagging und Boosting Zusammenfassung A. Hinneburg, Web Data Mining MLU Halle-Wittenberg, SS 2007 12 Text Klassifikation/Kategorisierung • Weil die Anzahl elektronischer Dokumente stark steigt, wird automatische Dokumentklassifikation immer wichtiger. • Die bisher vorgestellten Techniken können zwar angewendet werden, sind aber nicht so effektiv wie die nachfolgenden Methoden. • Heute wird eine naïve Bayesche Methode diskutiert, die speziell für Texte zugeschnitten ist, und Text-spezifische Eigenschaften nutzt. • Die Ideen sind ähnlich zu naïve Bayes. A. Hinneburg, Web Data Mining MLU Halle-Wittenberg, SS 2007 13 Probabilistischer Rahmen • • Generatives Modell: Jedes Dokument wird durch eine parametrisierte Verteilung erzeugt, die von versteckten Parametern beeinflußt ist. Das generative Modell macht zwei Annahmen – Die Daten (oder Textdokumente) werden von einem Mischmodell erzeugt, – Zwischen den Komponenten der Mischverteilund und den Dokumentklassen gibt es eine eins-zu-eins Beziehung. A. Hinneburg, Web Data Mining MLU Halle-Wittenberg, SS 2007 14 Mischmodell • A Mischmodell beschreibt die Daten durch mehrere statistische Verteilungen. – Jede Verteilung korrespondiert zu einem Daten-Cluster und die Parameter der Verteilung sind eine Beschreibung des Clusters. – Jede Verteilung im Mischmodell wird auch Mischkomponente genannt. • Eine Verteilung/Komponente kann von beliebiger Art sein A. Hinneburg, Web Data Mining MLU Halle-Wittenberg, SS 2007 15 Beispiel • Die Abbildung zeigt eine Wahrscheinlichkeitsdichtefunktion einer 1-dimensionale Datenmenge (mit zwei Klassen) erzeugt durch – eine Mischung von zwei Gauss-Verteilungen, – eine pro Klasse, deren Parameter (beschrieben durch θi) der Durchschnitt (µi) und die Standardabweichung (σi), d.h., θi = (µi, σi). Klasse 1 A. Hinneburg, Web Data Mining MLU Halle-Wittenberg, SS 2007 Klasse 2 16 Mischmodell (Fortsetzung …) • Sei K die Anzahl der Mischkomponenten (oder Verteilungen) in einem Mischmodell. • Die jte Verteilung hat die Parameter θj. • Sei Θ die Menge der Parameters alle Komponenten, Θ = {ϕ1, ϕ2, …, ϕK, θ1, θ2, …, θK}, wobei ϕj das Mischgewicht (oder Prior Wahrscheinlichkeit) eine Mischekomponente j sei und θj die Parameter der Komponente j. • Wie erzeugt das Modell die Dokumente? A. Hinneburg, Web Data Mining MLU Halle-Wittenberg, SS 2007 17 Dokumenterzeugung • Wegen der eins-zu-eins Beziehung zwischen Klassen und Mischkomponenten sind die Mischgewichte die Klassen-Prior-Wahrscheinlichkeiten, d.h., ϕj = Pr(cj|Θ). • Das Mischmodell erzeugt ein Dokument di durch: – Auswahl der Mischkomponente (oder Klasse) bezüglich der Klassen-Prior.-Wahrscheinlichkeiten (d.h., der Mischgewichte), ϕj = Pr(cj|Θ). – Nachdem eine Komponente (cj) gewählt ist, wird ein Dokument di bezüglich der Parameter mit der Verteilung Pr(di|cj; Θ) erzeugt, oder genauer Pr(di|cj; θj). |C | Pr( d i | Θ ) = ∑ Pr( c j | Θ ) Pr( d i | c j ; Θ ) (23) j =1 A. Hinneburg, Web Data Mining MLU Halle-Wittenberg, SS 2007 18 Modellierung von Textdokumenten • Der naïve Bayes-Klassifikator behandelt jedes Dokument als “bag of words”. • Das erzeugende Modell macht weitere Annahmen: – Wörter werden bei gegebener Klasse unabhängig von einander erzeugt (wie beim naïven Bayes). – Die Wahrscheinlichkeit eines Wortes ist unabhänigi von seiner Position im Dokument. Die Dokumentlänge wird unabhängig von der Klasse gewählt. A. Hinneburg, Web Data Mining MLU Halle-Wittenberg, SS 2007 19 Multinomiale Verteilung • Wegen der bisherigen Annahmen, kann eine Dokument durch eine Multinomial-Verteilung erzeugt werden. • D.h. jedes Dokument wird aus einer MultinomialVerteilung von Worten gezogen, die Anzahl der Versuche entspricht der Dokumentlänge. • Die Worte sind aus einem gegeben Vokabular V = {w1, w2, …, w|V|}. A. Hinneburg, Web Data Mining MLU Halle-Wittenberg, SS 2007 20 Verteilungsfunktion einer Multinomial-Verteilung |V | ∏ Pr(di | cj; Θ) = Pr(| di |) | di |! t =1 Pr( wt | cj; Θ) Nti Nti! (24) wobei Nti ist die Anzahl des Auftretens von Wort wt in Dokument di und |V | |V | ∑ t =1 Nit =| di | ∑ Pr( wt | cj; Θ) = 1. (25) t =1 A. Hinneburg, Web Data Mining MLU Halle-Wittenberg, SS 2007 21 Parameter-Schätzung • Parameter werden durch empirische Anzahlen | D| geschätzt. N ti Pr(c j | d i ) ∑ = i 1 ˆ)= (26) Pr( wt | c j ; Θ . |V | | D| ∑s =1 ∑i =1 N si Pr(c j | di ) • Um 0 Anzahlen für seltene Worte, die nicht in der Trainingsmenge aber in der Testmenge auftauchen, wird die Wahrscheinlichkeitsschätzung geglättet. Lidstone Glättung, 0 ≤ λ ≤ 1 | D| λ + ∑i=1 Nti Pr(c j | di ) ˆ)= (27) Pr(wt | c j ; Θ . |V | |D| λ | V | +∑s=1 ∑i=1 Nsi Pr(c j | di ) A. Hinneburg, Web Data Mining MLU Halle-Wittenberg, SS 2007 22 Parameter-Schätzung (Fortsetzung…) • Klassen-Prior-Wahrscheinlichkeiten, welche die Mischgewichte ϕj sind können leicht aus den Trainingsdaten geschätzt werden | D| ∑ ˆ Pr(c | Θ) = j i =1 Pr(cj | di ) (28) |D| A. Hinneburg, Web Data Mining MLU Halle-Wittenberg, SS 2007 23 Klassifikation • Gegeben eine Test-Dokument di, mit den Gleichungen (23) (27) und (28) ˆ ˆ Pr( j | Θ) Pr( di | cj ; Θ) c ˆ)= Pr(cj | di; Θ ˆ) Pr(di | Θ = |d i | ˆ ˆ) Pr(cj | Θ)∏k =1 Pr( wd i ,k | cj; Θ |d i | ˆ ∑r =1 Pr(cr | Θ)∏k =1 Pr(wdi ,k | cr ; Θˆ ) |C | A. Hinneburg, Web Data Mining MLU Halle-Wittenberg, SS 2007 24 Diskussion • Die meisten Annahmen beim naïven BayesKlassifikator werden zu einem gewissen Grad in der Praxis verletzt. • Trotzdessen, ergibt der naïve Bayes Klassifikator brauchbare Modelle. – Die Hauptannahme ist die der Mischverteilung. Wenn diese Annahme stark verletzt wird, kann die Klassifikationsgenauigkeit rapide sinken. • Der naïve Bayes-Klassifikator ist sehr effizient. A. Hinneburg, Web Data Mining MLU Halle-Wittenberg, SS 2007 25