Folien zu “Data Mining”
von
I. H. Witten and E. Frank
übersetzt von N. Fuhr
6
Implementierung:
Reale ML-Verfahren
Entscheidungsbäume: von ID3 zu C4.5
Pruning, fehlende Werte, nummerische Attribute, Effizienz
Entscheidungsregeln: von PRISM zu Induct und PART
Fehlende Werte, nummerische Attribute, Berechnung der
Signifikanz, Regeln mit Ausnahmen
Erweiterte lineare Klassifikation: Support-Vektoren
Nichtlineare Grenzen, Hyperebenen mit maximalem Abstand,
Kernel-Funktionen
Instanz-basiertes Lernen
Beschleunigung, Rauschunterdrückung, Attributgewichtung,
Generalisierung von Exemplaren
Nummerische Vorhersage
Regressions-/Modell-Bäume, lokal gewichtete Regression
Clustern: hierarchisch, inkrementell, probabilistisch
K-means, heuristisch, Mischungs-Modell, EM, Bayes'sches Cl.
2
Algorithmen für praktische
Anwendungen
Damit ein Algorithmus für ein breites Spektrum an
Anwendungen einsetzbar ist, muss er:
Nummerische Attribute unterstützen
Fehlende Werte erlauben
Robust gegenüber verrauschten Daten sein
In der Lage sein, beliebige Konzeptbeschreibungen zu
approximieren (zumindest im Prinzip)
Die grundlegenden Verfahren müssen erweitert
werden, um diese Anforderungen zu erfüllen
3
Entscheidungsbäume
Erweiterung von ID3:
Unterstützung nummerischer Attribute: einfach
Mit fehlenden Werten angemessen umgehen: schwieriger
Stabilität bei verrauschten Daten:
erfordert Pruning-Mechanismus
Endergebnis: C4.5 (Quinlan)
Bekanntester und (wahrscheinlich) meistbenutzter LernAlgorithmus
Kommerzieller Nachfolger: C5.0
4
Nummerische Attribute
Standardmethode: binäre Aufteilung
z.B. temp < 45
Im Gegensatz zu nominalen Attributen hat jedes
Attribut viele mögliche Aufteilungspunkte
Lösung besteht in einfacher Erweiterung:
Berechne den Informationsgewinn (oder ein anderes
Maß)
für jeden möglichen Aufteilungspunkt des Attributs
Wähle “besten” Aufteilungspunkt
Informationsgewinn für den besten Aufteilungspunkt =
Informationsgewinn des Attributs
Höherer Berechnungsaufwand
5
Wetterdaten
Outlook
Temperature
Humidity
Windy
Play
Sunny
Hot
High
False
No
Sunny
Hot
High
True
No
Overcast
Hot
High
False
Yes
Mild
Normal
False
Yes
…
Outlook
…
Temperature
…
Humidity
…
Windy
Play
Sunny
85
85
False
No
Sunny
80
90
True
No
Rainy
…
If
If
If
If
If
Overcast
83
86
False
Yes
outlook =Rainy
sunny and humidity
= high 80
then play =False
no
75
Yes
outlook = rainy and windy = true then play = no
…
…
…
…
…
outlook = overcast then play = yes
humidity = normal then play = yes
none of the If
above
then =
play
= yes
outlook
sunny
and humidity > 83 then play = no
If outlook = rainy and windy = true then play = no
If outlook = overcast then play = yes
If humidity < 85 then play = yes
If none of the above then play = yes
6
Beispiel
Aufteilung nach dem Attribut temperature:
64
Yes
65
No
68
Yes
69
70
71
72
72
75
75
80
81
83
85
Yes Yes No
No Yes Yes Yes No Yes Yes
No
Z.B. temperature < 71.5: yes/4, no/2
temperature ≥ 71.5: yes/5, no/3
Info([4,2],[5,3])
= 6/14 info([4,2]) + 8/14 info([5,3])
= 0.939 Bits
Platziere die Aufteilungspunkte in der Mitte
zwischen den Werten
Kann alle Aufteilungspunkte in einem Durchlauf
evaluieren!
7
Vermeide wiederholtes
Sortieren!
Sortiere Instanzen nach den Werten des
nummerischen Attributs
Zeitkomplexität für das Sortieren O (n log n)
Muss dies für jeden Knoten des Baums wiederholt
werden?
Nein! Sortierreihenfolge der Kinder kann aus der
Sortierreihenfolge der Eltern abgeleitet werden
Zeitkomplexität für die Ableitung: O (n)
Nachteil: für jedes nummerische Attribut muss ein
Vektor von Sortierindices verwaltet werden.
8
Binäre vs. Mehrwege-Aufteilung
Aufteilung (Mehrwege-) eines nominalen Attributs
nutzt die Information des Attributs vollständig aus
Nominales Attribut wird höchstens einmal in jedem Pfad
des Baums getestet
Im Gegensatz zu binären Aufteilungen von
nummerischen Attributen!
nummerische Attribute können mehrfach entlang eines
Pfades im Baum getestet werden
Nachteil: Baum ist schwer zu verstehen
Abhilfe:
nummerische Attribute vorher diskretisieren, oder
Mehrwege-Aufteilung (anstelle binärer)
9
Berechnung von
Mehrwege-Aufteilungen
Einfache und effiziente Methode zur Generierung
von Mehrwege-Aufteilungen: Greedy-Algorithmus
Dynamische Programmierung findet eine optimale
Mehrwege-Aufteilungen in O (n2) Schritten
imp (k, l, m ) ist die Unreinheit (impurity) der besten
Aufteilung der Werte xl … xm in k Teilintervalle
imp (k, 1, i ) =
min0<j <i imp (k–1, 1, j ) + imp (1, j+1, i )
imp (k, 1, N ) liefert die beste k-Wege-Aufteilung
In der Praxis funktioniert der Greedy-Algorithmus
genauso gut
10
Fehlende Werte
Teile Instanzen mit fehlenden Werten auf
Jeder Teil, der einen Zweig entlang läuft, erhält ein
Gewicht proportional zur relativen Häufigkeit des
Zweiges
Die Gewichte summieren sich zu 1
Der Informationsgewinn kann auch für Anteile von
Instanzen berechnet werden
Benutze Summe der Gewichte anstelle von Anzahlen
Bei der Klassifikation wird die Instanz in gleicher
Weise aufgeteilt
Mische die Wahrscheinlichkeitsverteilung entsprechend
den Gewichten
11
Pruning
Vermeide Überadaption an verrauschte Daten
Beschneide (prune) den Entscheidungsbaum
Zwei Strategien:
•
•
Postpruning
nehme einen vollständigen Entscheidungsbaum und
entferne unzuverlässige Teile
Prepruning
es wird nicht weiter verzweigt, wenn die Informationen
unzuverlässig werden
Postpruning wird in der Praxis bevorzugt—
Prepruning kann nicht “früh genug stoppen”
12
Prepruning
Basiert auf einen Signifikanztest
Der Baum wird nicht mehr erweitert, wenn es keinen
statistisch signifikanten Zusammenhang zwischen
irgendeinem Attribut und der Klasse an einem
bestimmten Knoten gibt
Populärster Test: Chi-Quadrat-Test
ID3 benutzt Chi-Quadrat-Test zusätzlich zum
Informationsgewinn
Nur statistisch signifikante Attribute werden bei der
Auswahl nach dem Informationsgewinn
berücksichtigt
13
Früher Abbruch
a
b
class
1
0
0
0
2
0
1
1
3
1
0
1
4
1
1
0
Prepruning kann die Expansion des Baums zu früh
stoppen
Klassisches Beispiel: EXOR/Paritäts-Problem
Kein einzelnes Attribut korreliert statistisch signifikant
mit einer Klasse
Die Struktur ist nur im voll expandierten Baum sichtbar
Prepruning würde den Wurzelknoten nicht expandieren
Aber: EXOR-Probleme treten selten in der Praxis
auf
Und: Prepruning ist schneller als Postpruning
14
Postpruning
Erst wird der vollständige Baum aufgebaut
Dann wird er beschnitten
Der vollständige Baum zeigt alle Zusammenhänge
zwischen den Attributen
Problem: einige Teilbäume können aufgrund von
Zufälligkeiten entstanden sein
Zwei pruning-Operationen:
Ersetzen von Teilbäumen (Subtree replacement)
Hochziehen von Teilbäumen (Subtree raising)
Mögliche Strategien:
Fehlerabschätzung
Signifikanztests
MDL-Prinzip
15
Ersetzen von
Teilbäumen
Bottom-up
Attribute
Type
Ein Baum wird nur betrachtet,
Duration
(Number of years)
Wage increase first year
Percentage
nachdem
all
seine
Teilbäume
Wage increase second year
Percentage
Wage behandelt
increase third year
Percentage
worden sind
Cost of living adjustment
Working hours per week
Pension
Standby pay
Shift-work supplement
Education allowance
Statutory holidays
Vacation
Long-term disability assistance
Dental plan contribution
Bereavement assistance
Health plan contribution
Acceptability of contract
{none,tcf,tc}
(Number of hours)
{none,ret-allw, empl-cntr}
Percentage
Percentage
{yes,no}
(Number of days)
{below-avg,avg,gen}
{yes,no}
{none,half,full}
{yes,no}
{none,half,full}
{good,bad}
1
2
3
1
2%
?
?
none
28
none
?
?
yes
11
avg
no
none
no
none
bad
2
4%
5%
?
tcf
35
?
13%
5%
?
15
gen
?
?
?
?
good
3
4.3%
4.4%
?
?
38
?
?
4%
?
12
gen
?
full
?
full
good
…
40
2
4.5
4.0
?
none
40
?
?
4
?
12
avg
yes
full
yes
half
good
16
Ersetzen von
Teilbäumen
Bottom-up
Ein Baum wird nur betrachtet,
nachdem all seine Teilbäume
behandelt worden sind
17
Hochziehen von Teilbäumen
Lösche Knoten
Verteile Instanzen neu
Aufwändiger als Ersetzen
von Teilbäumen
(Lohnt sich der Aufwand?)
18
Schätzung der Fehlerquote
Nur abschneiden, wenn der (geschätzte) Fehler
reduziert wird
Fehler auf den Trainingsdaten ist KEIN guter
Schätzer
(würde fast nie zum Abschneiden führen)
Benutze zurückgelegte Datensätze zum
Abschneiden
(“reduced-error pruning”)
Die C4.5-Methode
Schätze Vertrauensintervall aus den Trainingsdaten
Benutze daraus abgeleiteten heuristischen
Schwellenwert zum Abschneiden
Methode basiert auf Standard-Bernoulli-Prozess
Fragwürdige statistische Annahmen (bzgl. der
Trainingsdaten)
19
Die C4.5-Methode
Fehlerschätzung für einen Teilbaum als
gewichtete Summe der Fehlerschätzungen seiner
Blätter
Fehlerschätzung für einen Knoten:
z2
e= f
z
2N
f
f2
z2
z2
−
/ 1
2
N
N 4N
N
Für c = 25% ist z = 0.69 (aus der
Normalverteilung)
f ist der Fehler auf den Trainingsdaten
N ist die Anzahl der durch ein Blatt abgedeckten
Instanzen
20
Beispiel Beispiel
f = 5/14
e = 0.46
e < 0.51
abschneiden!
f=0.33
e=0.47
f=0.5
e=0.72
f=0.33
e=0.47
Kombination im Verhältnis 6:2:6 ergibt 0.51
21
Komplexität der Baum-Induktion
Annahmen:
m Attribute
n Trainingsinstanzen
Baumtiefe O (log n)
Baumkonstruktion
O (m n log n)
(log n-mal alle Instanzen bzgl. aller Attr. betr.)
Teilbaumersetzung
Hochziehen von Teilbäumen
O (n)
O (n (log n)2)
Jede Instanz kann neu zugeordnet werden zu jedem
Knoten zwischen ihrem Blatt und der Wurzel
Kosten für die Umordnung (im Mittel): O (log n)
Totale Kosten: O (m n log n) + O (n (log n)2)
22
Von Bäumen zu Regeln
Einfache Methode: eine Regel pro Blatt
C4.5-Regeln: „Gieriges“ Entfernen von Bedingungen aus
Regeln, wenn dadurch der geschätzte Fehler reduziert wird
Kann zu Regel-Duplikaten führen
Wird abschließend überprüft
Dann
behandle jede Klasse einzeln
betrachte die Regeln für diese Klasse
finde eine “gute” Teilmenge (anhand der MDL)
Dann: ordne die Teilmengen, um Konflikte zu vermeiden
Abschließend: „Gieriges“ Entfernen von Regeln, wenn dies
den Fehler auf den Trainingsdaten reduziert
23
C4.5: Auswahl und Optionen
C4.5-Regeln sind langsam für große und
verrauschte Datenmengen
Kommerzielle Version C5.0 benutzt eine
andere Technik
Wesentlich schneller und etwas genauer
C4.5 hat zwei Parameter
Konfidenzniveau (Default 25%):
kleinere Werte führen zu stärkerem
Beschneiden
Minimale Anzahl Instanzen in den beiden
häufigsten Zweigen (Default 2)
24
Diskussion
TDIDT: Top-Down Induction of Decision Trees
Die am meisten untersuchte ML-Methode für Data
Mining
Verschiedene Kriterien für die Attribut/Test-Auswahl
führen nur zu leicht unterschiedlichen Resultaten
Verschiedene Pruning-Methoden verändern i. w. die
Größe des resultierenden (beschnittenen) Baumes
C4.5 erzeugt univariate Entscheidungsbäume
(disjunkte Klassen, 1 Klasse/Blatt)
Einige TDITDT-Systeme können multivariate Bäume
erzeugen (z.B. CART)
25
Klassifikationsregeln
Einheitliches Vorgehen: trenne-und-herrsche
Unterschiede:
Suchmethode (z.B. greedy, beam search, ...)
Auswahlkriterien (z.B. Präzision, ...)
Pruning-Methode (z.B. MDL, zurückgelegte
Daten, ...)
Abbruchkriterium (z.B. minimale Präzision)
Nachbearbeitung der Regeln
Außerdem: Entscheidungsliste
vs.
eine Regel pro Klasse
26
Auswahlkriterien für Bedingungen
Grundlegender Abdeckungsalgorithmus:
Füge Bedingung zu Regel, um die Präzision zu erhöhen
Wähle Bedingung mit der höchsten Präzision
Maß 1: p/t
t Anzahl Instanzen, die durch die Regel abgedeckt werden
p Anzahl der positiven Fälle darunter
Generiert schnell Regeln, die keine negativen Instanzen abdecken
Kann Regeln mit sehr geringer Abdeckung erzeugen
—Spezialfälle oder Rauschen?
Maß 2: Informationsgewinn p (log(p/t) – log(P/T))
P und T: positive/alle Instanzen, bevor die neue Bedingung
hinzugefügt wurde
Informationsgewinn betont die positiven Instanzen stärker als die
negativen
Die Maße interagieren mit den benutzten Pruning- Mechanismen
27
Fehlende Werte,
nummerische Attribute
Einheitliche Behandlung fehlender Werte:
sie erfüllen keine Bedingung
Algorithmus muss entweder
Andere Bedingungen benutzen, um positive Instanzen zu
selektieren, oder
sie unberücksichtigt lassen, um sie dann später gesondert
zu behandeln
In einigen Fällen ist es besser, “fehlend” als
einen gesonderten Wert zu behandeln
nummerische Attribute werden wie in
Entscheidungsbäumen behandelt
28
Pruning von Regeln
Zwei Hauptstrategien:
Inkrementelles Beschneiden
Globales Beschneiden
Weiterer Unterschied: Pruning-Kriterium
Fehler auf den zurückgelegten Daten
(reduced-error pruning)
Statistische Signifikanz
MDL-Prinzip
Außerdem: Post-Pruning vs. Pre-Pruning
29
INDUCT
Initialize E to the instance set
Until E is empty do
For each class C for which E contains an instance
Use basic covering algorithm to create best perfect
rule for C
Calculate m(R): significance for rule
and m(R-): significance for rule with final
condition omitted
If m(R-) < m(R), prune rule and repeat previous step
From the rules for the different classes, select the most
significant one (i.e. with smallest m(R))
Print the rule
Remove the instances covered by rule from E
Continue
Benutzt inkrementelles Pruning
30
Berechnung der
Signifikanz
INDUCTs Signifikanzmaß für eine Regel:
Wahrscheinlichkeit, dass eine zufällige Regel mit
derselben Abdeckung mindestens genausogut ist
Zufällige Regel R wählt t Fälle zufällig aus den
Daten aus
Wie wahrscheinlich ist es, dass p davon zur
korrekten Klasse gehören?
Diese Wahrscheinlichkeit ist durch die
hypergeometrische Verteilung gegeben
31
Hypergeometrische
Verteilung
Zuf. Regel wählt
t Beispiele aus
Datenmenge enthält
T Instanzen
Klasse C enthält
P Beispiele
p Beispiele
korrekt abgedeckt
Pr[ von t zufällig ausgewählten Beispielen
gehören p zur Klasse C]
∑
P T −P
p t −p
T
t
Wahrscheinlichkeit, dass eine zufällige
P T −P
m i n t , P
Regel mindestens genauso gut ist ?
i t −i
m R =
(mindestens p positive)
Dies ist die statistische Signifikanz der Regel
i=p
T
t
32
Binomialverteilung
Datenmenge enthält
T Instanzen
Zuf. Regel wählt
t Beispiele aus
Klasse C enthält
P Beispiele
p Beispiele
korrekt abgedeckt
Hypergeometrische V.
aufwändig zu berechnen
Approximation: Stichprobe
mit Ersetzung
statt
ohne Ersetzung
p
t −p
t P
p T
P
1−
T
33
Benutzung einer PruningMenge
Für statistische Validität muss das Maß auf Daten
berechnet werden, die nicht zum Trainieren
benutzt wurden:
Dies erfordert eine Wachstumsmenge und eine
Pruning-Menge
Reduced-error pruning: generiere volle
Regelmenge und beschneide sie dann
Incremental reduced-error pruning: vereinfache
jede Regel, sobald sie generiert wurde
Daten können neu aufgeteilt werden, nachdem die
Regel beschnitten wurde
Stratifikation bringt Vorteile
34
Incremental reduced-error
pruning
Initialize E to the instance set
Until E is empty do
Split E into Grow and Prune in the ratio 2:1
For each class C for which Grow contains an instance
Use basic covering algorithm to create best perfect rule
for C
Calculate w(R): worth of rule on Prune
and w(R-): worth of rule with final condition
omitted
If w(R-) < w(R), prune rule and repeat previous step
From the rules for the different classes, select the one
that’s worth most (i.e. with largest w(R))
Print the rule
Remove the instances covered by rule from E
Continue
35
Maße beim incremental
reduced-error pruning
[p + (N – n)] / T
(N - # negative Beispiele, n - # abgedeckte neg. Bs.)
Widerspricht der Intuition:
p = 2000 und n = 1000 vs. p = 1000 und n = 1
Erfolgsquote p / t
Problem: p = 1 und t = 1
vs. p = 1000 und t = 1001
(p – n) / t
Gleicher Effekt wie bei der Erfolgsquote, da äquivalent zu
2p/t – 1
Problem einfaches Maß für den Nutzen einer Regel zu
finden, das der Intuition entspricht
Benutze hypergeometrisches/binomisches Maß?
36
Variationen
Generiere Regeln für geordnete Klassen
Beginne mit der kleinsten Klasse
Größte Klasse wird durch die Default-Regel
behandelt
Abbruchkriterium
Stoppe Regelproduktion, wenn die Genauigkeit zu
klein wird
Regel-Lerner RIPPER:
Benutzt MDL-basiertes Abbruchkriterium
Verwendet Post-Prozessierung, um die Regel
entsprechend dem MDL-Kriterium zu modifizieren
37
PART
Vermeidet globalen Optimierungsschritt, der in
C4.5rules und RIPPER benutzt wird
Generiert Entscheidungsliste basierend auf einer
trenne-und-herrsche-Prozedur
Erzeugt einen partiellen Entscheidungsbaum, um
eine Regel zu gewinnen
Eine Regel wird nur beschnitten, wenn all ihre
Implikationen bekannt sind
Vermeidet übereilte Generalisierung
Benutzt die C4.5-Prozedur zur Baumgenerierung
38
Generierung eines
partiellen Baums
Expand-subset (S):
Choose test T and use it to split set of examples
into subsets
Sort subsets into increasing order of average
entropy
while
there is a subset X not yet been expanded
AND
all subsets expanded so far are leaves
expand-subset(X)
if
all subsets expanded are leaves
AND estimated error for subtree
≥ estimated error for node
undo expansion into subsets and make node a leaf
39
Beispiel
40
Anmerkungen zu PART
Konvertiere Blatt mit maximaler Abdeckung in
eine Regel
Fehlende Werte werden wie bei C4.5 behandelt
D.h., teile Instanz auf
Zeitaufwand zur Generierung einer Regel:
Worst case: gleicher Aufwand wie bei einem
beschnittenen Baum
Tritt bei verrauschten Daten auf
Best case: gleicher Aufwand wie bei der
Generierung einzelner Regel
Tritt bei unverrauschten Daten auf
41
Regeln mit Ausnahmen
Idee: erlaube Ausnahmen bei Regeln
Beispiel: Regel für die Iris-Daten
If petal-length ≥ 2.45 and petal-length < 4.45
then Iris-versicolor
Neue Instanz:
Sepal
Sepal
Petal
Petal
length width
length width
5.1
2.6
3.5
0.2
Type
Iris-setosa
Modifizierte Regel:
If petal-length ≥ 2.45 and petal-length < 4.45
then Iris-versicolor
EXCEPT if petal-width < 1.0 then Iris-setosa
42
Ein komplexeres Beispiel
Ausnahmen zu Ausnahmen zu Ausnahmen
default: Iris-setosa
except if petal-length ≥ 2.45 and petal-length < 5.355
and petal-width < 1.75
then Iris-versicolor
except if petal-length ≥ 4.95
and petal-width < 1.55
then Iris-virginica
else if sepal-length < 4.95
and sepal-width ≥ 2.45
then Iris-virginica
else if petal-length ≥ 3.35
then Iris-virginica
except if petal-length < 4.85
and sepal-length < 5.95
then Iris-versicolor
43
Vorteile von Ausnahmen
Regeln können inkrementell geändert werden
Einfache Berücksichtigung neuer Daten
Einfache Berücksichtigung von Domänenwissen
Menschen denken oft in Ausnahmen
Jede Konklusion kann in dem Kontext von Regeln
und Ausnahmen betrachtet werden, die zu ihr
geführt haben
Lokalitätseigenschaft ist wichtig zum Verständnis
großer Regelmengen
“Normale” Regelmenge bieten diesen Vorteil nicht
44
Mehr zu Ausnahmen
Default...except if...then...
ist logisch äquivalent zu
if...then...else
(wobei else den Default-Fall spezifiziert)
Aber: Ausnahmen bieten einen
psychologischen Vorteil
Annahme: Defaults und frühe Tests werden
häufiger angewendet als spätere Ausnahmen
Ausnahmen stehen für Spezialfälle
45
Regeln mit Ausnahmen
Gegeben: eine Methode zur Generierung einer
einzelnen guten Regel
Dann können Regeln mit Ausnahmen einfach
generiert werden:
1. Wähle Default-Klasse für die oberste Regel
2. Generiere eine gute Regel für eine der übrigen
Klassen
3. Wende diese Methode rekursiv auf die beiden
durch die Regel erzeugten Teilmengen an
(D.h. abgedeckte/nicht abgedeckte Instanzen)
46
Beispiel zu den Iris-Daten
Exceptions are represented as
Dotted paths, alternatives as
solid ones.
except
else
47
Erweiterung der linearen
Klassifikation
Lineare Klassifikatoren können keine
nichlinearen Klassengrenzen modellieren
Einfacher Trick:
Transformiere die Attribute in einen neuen
Merkmalsraum, der aus Kombinationen der
Attributwerte besteht
Z.B..: alle Produkte von n Faktoren, die aus den
Attributen konstruiert werden können
Beispiel mit zwei Attributen und n = 3:
x =w 1 a 31 w 2 a 21 a 2 w 3 a 1 a 22 w 3 a 32
48
Probleme mit diesem
Ansatz
1. Problem: Geschwindigkeit
10 Attribute, und n = 5 ⇒ >2000 Koeffizienten
Benutze lineare Regression mit Attributselektion
Laufzeit wächst kubisch mit der Anzahl der Attribute
2. Problem: Überadaption
Anzahl der Koeffizienten ist groß im Verhältnis zur
Anzahl Trainingsinstanzen
Fluch der Dimensionalität! (Curse of dimensionality)
49
Supportvektor-Maschinen
Supportvektor-Maschinen sind Algorithmen zum
Lernen linearer Klassifikatoren
Wenig anfällig gegen Überadaption, da sie eine
spezielle lineare Entscheidungsgrenze lernen:
Die Hyperebene mit maximalem Abstand (maximum
margin hyperplane)
Schnell im nichtlinearen Fall
Benutzt mathematischen Trick, um die Generierung
von “Pseudo-Attributen” zu vermeiden
Der nichtlineare Raum wird implizit generiert
50
Die Hyperebene mit
maximalem Abstand
Die Instanzen, die am nächsten zur Hyperebene mit maximalem
Abstand liegen, werden Supportvektoren genannt
51
Supportvektoren
Die Supportvektoren definieren die Hyperebene mit maximalem
Abstand!
Alle anderen Instanzen können gelöscht werden, ohne dass ihre Position
oder Richtung sich ändert
D.h., die Hyperebene
x = w0w1 a1w 2 a 2
kann beschrieben werden als
x=b
∑
i is supp . vector
αi y i ai⋅a
52
53
Berechnung der
Supportvektoren
x=b
∑
i is supp. vector
α i y i a i⋅a
Supportvektor: Trainingsinstanz mit αi > 0
Berechnung von αi und b ?—
Quadratisches Optimierungsproblem mit
Nebenbedingungen
Standardsoftware zur Lösung dieser Probleme
Aber: spezifische Algorithmen sind schneller
Beispiel: Platts sequential minimal optimization Algorithmus
(implementiert in WEKA)
Anmerkung: diese Verfahren setzen separierbare Daten
voraus! (d.h. Trennebene existiert)
54
Nichtlineare SVMs
“Pseudo-Attribute” repräsentieren
Attributkombinationen
Überadaption ist kein Problem, da die Hyperebene
mit maximalem Abstand stabil ist
Es gibt meist wenige Supportvektoren
(relativ zur Größe der Trainingsmenge)
Berechnungsaufwand ist aber weiterhin ein
Problem
Bei jeder Berechnung des Skalarprodukts müssen alle
“Pseudo-Attribute” berücksichtigt werden
55
Ein mathematischer Trick
Vermeide Berechnung der “Pseudo-Attribute”!
Berechne Skalarprodukt vor der nichtlinearen
Transformation
Beispiel: für
x =b
berechne
∑
α i y i a i ⋅a
∑
α i y i a i ⋅a n
i is supp. vector
x =b
i is supp. vector
Entspricht einer Abbildung in den
Instanzenraum, der durch alle Produkte der n
Attribute aufgespannt wird
56
Andere Kernel-Funktionen
Transformation wird “kernel function” genannt
Polynomieller Kernel
x =b
∑
α i y i a i ⋅a n
∑
α i y i K ai⋅a
i is supp. vector
Andere Möglichkeiten:
Einzige Anforderung:
Beispiele:
x =b
i is supp. vector
K x i , x j =φ x i ⋅φ x j
K x i , x j = x i⋅x j 1d
− x i− x j 2
K x i , x j =e
2σ 2
K x i , x j =t a n h β x i⋅x j b
57
Andere Kernel-Funktionen
Transformation wird “kernel function” genannt
Polynomieller Kernel
x =b
∑
α i y i a i ⋅a n
∑
α i y i K ai⋅a
i is supp. vector
Andere Möglichkeiten:
Einzige Anforderung:
Beispiele:
x =b
i is supp. vector
K x i , x j =φ x i ⋅φ x j
K x i , x j = x i⋅x j 1d
− x i− x j 2
K x i , x j =e
2σ 2
K x i , x j =t a n h β x i⋅x j b
58
Rauschen
Bisher: Annahme separierbarer Daten (im originalen
oder dem transformierten Raum)
Man kann SVMs auf verrauschte Daten anwenden,
indem man einen “Rausch-Parameter” C einführt
(auch sloppy-Variable genannt)
C begrenzt den Einfluss einzelner
Trainingsinstanzen auf die Trennebene
Korrespondierende Nebenbedingung: 0 ≤ αi ≤ C
Immer noch ein quadratisches Optimierungsproblem
C muss experimentell bestimmt werden
59
Spärliche Daten
SVM-Algorithmus wird wesentlich schneller bei
spärlichen Daten (d.h. viele Werte sind 0)
Warum? Weil sehr viele Skalarprodukte
berechnet werden
Spärliche Daten ⇒ effiziente Berechnung des
Skalarprodukts
Iteration über die von Null verschiedenen Werte
SVMs können spärliche Datenmengen mit
10.000en von Attributen berechnen
60
Anwendungen
Bildverarbeitung: z.B. Gesichtererkennung
Besser als alternative Ansätze (1.5% Fehler)
Handschrifterkennung von Postleitzahlen
Vergleichbar mit den besten Alternativen (0.8%
Fehler)
Bioinformatik: z.B. Vorhersage der Struktur von
Proteinen
Textklassifikation
Modifizierte SVM-Verfahren können auch für die
nummerische Vorhersage eingesetzt werden
61
Instanz-basiertes Lernen
Praktische Probleme des 1-NN-Verfahrens:
Langsam (aber: es gibt schnelle Varianten mit
baumartigen Zugriffsstrukturen)
Abhilfe: entferne irrelevante Daten
Rauschen (aber: k -NN hat kaum Probleme mit
verrauschten Daten)
Abhilfe: entferne verrauschte Instanzen
Alle Attribute werden als gleich wichtig angesehen
Abhilfe: gewichte Attribute (oder wähle einfach aus)
Führt keine explizite Generalisierung durch
Abhilfe: Regel-basierter NN-Ansatz
62
Lernen von Prototypen
Nur die an der Entscheidung beteiligten
Instanzen müssen gespeichert werden
Verrauschte Instanzen sollten ausgefiltert
werden
Idee: benutze nur prototypische Beispiele
63
Beschleunige, bekämpfe Rauschen
IB2: spart Speicher, beschleunigt die Klassifikation
Arbeitet inkrementell
Speichert nur fehlklassifizierte Instanzen
Problem: verrauschte Daten werden festgehalten
IB3: behandelt Rauschen
Entfernt Instanzen, die zu schlechten Entscheidungen führen
Berechne Vertrauensintervalle für
p
p
i
C
1. Die Erfolgsquote der Instanz: pi
pC
2. Default-Präzision seiner Klasse: pC
pi
pC
pi
Akzeptanz/Zurückweisung von Instanzen
Akzeptiere, wenn die UG von pi die OG von pC überschreitet
Weise zurück, wenn die OG von pi die UG von pC unterschreitet:
pi
pC
64
Gewichtete Attribute
IB5: gewichte jedes Attribut
(Gewichte können klassenspezifisch sein)
Gewichtete Euklidische Distanz:
w21 x 1− y 1 2. . .w2n x n− y n 2
Ändere Gewichte basierend auf dem
nächsten Nachbarn
Klasse korrekt: erhöhe Gewicht
Klasse falsch: reduziere Gewicht
Betrag der Änderung für das i te Attribut hängt
ab von |xi- yi|
65
Rechteckige
Generalisierungen
Nächster-Nachbar-Regel wird außerhalb der
Rechtecke benutzt
Rechtecke sind Regeln! (Aber sie können
konservativer sein als “normale” Regeln.)
Geschachtelte Rechtecke sind Regeln mit
Ausnahmen
66
Generalisierte Beispiele
Generalisiere Instanzen zu Hyper-Rechtecken
Online: inkrementelle Modifikation von Rechtecken
Offline-Version: suche kleine Menge von Rechtecken,
die die Instanzen abdeckt
Wichtige Design-Entscheidungen:
Erlaube überlappende Rechtecke?
Erfordert die Auflösung von Konflikten
erlaube geschachtelte Rechtecke?
Behandlung nicht abgedeckter Instanzen?
67
Separierung
generalisierter Exemplare
Klasse 1
Klasse
2
Trennlinie
68
Generalisierte DistanzFunktionen
Gegeben: einige Transformationsoperationen auf
Attributen
K*: Distanz = Wahrscheinlichkeit, dass Instanz A zufällig
in Instanz B transformiert wird
Mittelwert über alle Transformationspfade
Gewichte Pfade entsprechend ihrer Wahrscheinlichkeit
(hierzu wird geeignete Metrik benötigt)
Einheitliche Methode, um verschiedene Attributtypen zu
behandeln
Einfach generalisierbar auf Distanzen zwischen Mengen
von Instanzen
69
Bäume für die
nummerische Vorhersage
Regression: die Berechnung eines Ausdrucks, der
eine nummerische Größe vorhersagt
Regressionsbaum: “Entscheidungsbaum”, bei dem
jedes Blatt eine nummerische Größe vorhersagt
Vorhersagewert ist der Mittelwert der Trainingsinstanzen,
die dieses Blatt erreichen
Modellbaum: “Regressionsbaum” mit linearen
Regressionsmodellen in den Blattknoten
Lineare Stücke approximieren eine stetige Funktion
70
Lineare Regression für die
CPU-Daten
PRP =
+
+
+
+
+
56.1
0.049
0.015
0.006
0.630
0.270
1.460
MYCT
MMIN
MMAX
CACH
CHMIN
CHMAX
71
Regressionsbaum für die
CPU-Daten
72
Modellbaum für die CPUDaten
73
Nummerische Vorhersage
Entsprechende Varianten existieren für alle bislang
behandelten Verfahren
Entscheidungsbäume, Regel-Lerner, SVMs, usw..
Alle Klassifikationsverfahren können auf
Regressionsprobleme mittels Diskretisierung
angewendet werden
Diskretisiere die Klasse in Intervalle
Vorhersagewert = gewichtetes Mittel der IntervallMittelpunkte
Gewichtung entsprechend den Klassenwahrscheinlichkeiten
74
Regressionsbäume
Wie Entscheidungsbäume, aber:
Aufteilungskriterium: minimiere Varianz
innerhalb der Teilmenge
Abbruchkriterium:
Varianz wird klein
Pruning-Kriterium:
basierend auf einem
nummerischen Fehlermaß
Vorhersage:
Blatt sagt Mittelwert der
Klassenwerte der Instanzen voraus
Stückweise konstante Funktionen
Einfach zu interpretieren
Raffiniertere Version: Modellbäume
75
Modellbäume
Konstruiere einen Regressionsbaum
Jedes Blatt ⇒ lineare Regressionsfunktion
Glättung: berücksichtige Vorhersage des Elternknotens
Glättungsformel:
p '=
npkq
nk
p': geglättete Vorhersage
p: Vorhersage des Kindknotens q: Vorhersage des Elternknotens
n: # Trainingsinst. im Knoten k: Glättungskonstante
Gleicher Effekt kann erreicht werden durch Einbeziehung der VorfahrModelle in die Blätter
Erfordert Regressionsfunktion in jedem Knoten
In jedem Knoten wird nur Teilmenge der Attribute benutzt
Diejenigen Attribute, die im Teilbaum vorkommen
(+evtl. die, die im Pfad zur Wurzel auftreten)
Schnell: Baum benutzt meist nur kleine Teilmenge aller Attribute
76
Aufbau des Baumes
Aufteilung: Reduktion der Standardabweichung (SDR)
T: Menge aller Trainingsinstanzen
Ti : Menge der Instanzen im Zweig i
S D R=s d T − ∑
i
∣T i∣
∣T ∣
×s d T i
Abbruch:
Standardabweichung < 5% seines Wertes auf der vollen Trainingsmenge
Zu wenige Instanzen (z.B. < 4)
Pruning:
Heuristische Schätzung des absoluten Fehlers von LR-Modellen:
n: # Trainingsinstanzen im Knoten
ν: # Parameter des linearen Modells
n
×avg_absolute_error
n−
Gierige Entfernung von Termen des LR-Modells, um den Schätzfehler zu
minimieren
Starkes Beschneiden: einzelnes Modell kann den ganzen Teilbaum ersetzen
Gehe bottom-up vor: vergleiche Fehler des LR-Modells eines internen
Knotens mit dem Fehler des ganzen Teilbaums
77
Nominale Attribute
Konvertiere nominale Attribute in binäre
Sortiere Attribut nach mittlerem Klassenwert
Für Attribut mit k Werten,
generiere k – 1 binäre Attribute
i tes ist 0 für Werte innerhalb der ersten i , sonst 1
Beispiel:
rot
0,33
0 0
grün
0,51
1 0
blau
0,62
1 1
Behandle binäre Attribute wie nummerische
Man kann zeigen: die beste Aufteilung nach einem der
neuen Attribute entspricht der besten (binären)
Aufteilung des originalen Attributs
78
Fehlende Werte
Modifiziertes Aufteilungskriterium:
m: # Trainingsinstanzen mit
Werten für dieses Attribut
[
∣T i∣
m
S D R= × s dT − ∑
×s d T i
∣T ∣
∣T
∣
i
]
Um zu bestimmen, zu welcher Teilmenge eine Instanz
gehört, benutze Surrogat- Splitting
Teile nach dem Attribut auf, dessen Korrelation zu dem
originalen am größten ist
Problem: komplex und zeitaufwändig
Einfache Lösung: benutze immer die Klasse → nächste Folie
Testmenge: ersetze fehlenden Wert durch den Mittelwert
79
Surrogat-Splitting basierend
auf der Klasse
Wähle Aufteilungspunkt basierend auf Instanzen mit
bekannten Werten
Aufteilungspunkt teilt Instanzen in 2 Teilmengen auf
L (kleinerer Klassen-Mittelwert)
R (größerer Wert)
m ist das Mittel der beiden Mittelwerte
Für eine Instanz mit einem fehlenden Wert:
Wähle L, falls Klassenwert < m
Sonst wähle R
Wenn der Baum voll konstruiert ist, ersetze fehlenden
Werte durch Mittelwerte der zugehörigen Blattknoten
80
Pseudo-Code für M5'
Vier Methoden:
Hauptmethode: MakeModelTree
Methode zum Aufteilen: split
Methode zum Beschneiden: prune
Methode zur Fehlerberechnung: subtreeError
Methoden werden kurz vorgestellt
Nehme an, dass die lineare Regressionsmethode die
Attribut-Teilmengen basierend auf dem Fehler auswählt
81
MakeModelTree
MakeModelTree (instances)
{
SD = sd(instances)
for each k-valued nominal attribute
convert into k-1 synthetic binary attributs
root = newNode
root.instances = instances
split(root)
prune(root)
printTree(root)
}
82
split
split(node)
{
if sizeof(node.instances) < 4 or
sd(node.instances) < 0.05*SD
node.type = LEAF
else
node.type = INTERIOR
for each attribute
for all possible split positions of attribute
calculate the attribute's SDR
node.attribute = attribute with maximum SDR
split(node.left)
split(node.right)
}
83
prune
prune(node)
{
if node = INTERIOR then
prune(node.leftChild)
prune(node.rightChild)
node.model = linearRegression(node)
if subtreeError(node) > error(node) then
node.type = LEAF
}
84
subtreeError
subtreeError(node)
{
l = node.left; r = node.right
if node = INTERIOR then
return (sizeof(l.instances)*subtreeError(l)
+ sizeof(r.instances)*subtreeError(r))
/sizeof(node.instances)
else return error(node)
}
85
Modellbaum für Servo-Daten
Result
of merging
86
Lokal gewichtete Regression
nummerische Vorhersage zur Kombination von
Instanz-basiertem Lernen
linearer Regression
“Lazy”:
Berechnet Regressionsfunktion zum Vorhersagezeitpunkt
arbeitet inkrementell
Gewichtet Trainingsinstanzen
entsprechend Distanz zur Testinstanz
benötigt gewichtete Version der linearen Regression
Vorteil: nichtlineare Approximation
Aber: langsam
87
Entwurfsentscheidungen
Gewichtungsfunktion:
Inverse Euklidische Distanz
Gauss'scher Kernel angewendet auf Euklidische Distanz
Triangularer Kernel analog
usw.
Glättungsparameter zur Skalierung der Distanzfunktion
Multipliziere Distanz mit dem Kehrwert dieses Parameters
Mögliche Variante: Distanz der k-nächsten Trainingsinstanz
(macht ihn datenabhängig)
88
Diskussion
Regressionsbäume wurden als CART eingeführt
Modellbäume wurden von Quinlan vorgeschlagen
(M5)
M5’: geringfügig verbessert, frei verfügbar
Quinlan untersuchte auch die Kombination von
Instanz-basiertem Lernen mit M5
CUBIST: Quinlan’s kommerzieller Regellerner für
nummerische Vorhersage
Interessanter Vergleich: Neuronale Netze vs. M5
89
Clustern
Unüberwachtes Lernen: kein Zielwert vorgegeben
Unterschiede zwischen Modellen/Algorithmen:
Exklusiv vs. überlappend
Deterministisch vs. probabilistisch
Hierarchisch vs. flach
Inkrementell vs. Batch-Lernen
Problem:
Evaluierung?—meist durch Betrachtung des
Ergebnisses
Aber: Wenn als Problem der Dichte-Schätzung
aufgefasst, kann man die Cluster auf den Testdaten
evaluieren
90
Hierarchisches Clustern
Bottom up
Start: jede Instanz = 1 Cluster
In jedem Schritt: vereinige die beiden Cluster mit der
kleinsten Distanz
Entwurfsentscheidung: Distanz zwischen Clustern
z.B. kleinster Abstand zwischen zwei Instanzen aus verschiedenen
Clustern vs. Distanz der Zentroiden
Top down
Start: alle Instanzen in einem Cluster
Aufteilung in zwei Cluster
Rekursive Prozessierung jedes erzeugten Clusters
Sehr effizient
Beide Methoden erzeugen
Dendrogramm
g a c i
e d k b j
f
h
91
Flaches Clustering:
Der k-means-Algorithmus
Zum Clustern der Daten in k Gruppen:
(k vorgegeben)
0. Wähle k Zentroiden
z.B. zufällig
1. Ordne Instanzen den Clustern zu
anhand des Abstands zu den Zentroiden
2. Neuberechnung der Zentroiden
3. Gehe zu 1
bis Konvergenz erreicht wurde
92
Diskussion
Ergebnisse können stark schwanken
abhängig von den initialen Zentroiden
Kann in lokalem Minimum enden
Beispiel:
initiale
ClusterZentren
Instanzen
Chance auf Erreichen des globalen Optimums kann
erhöht werden durch Wiederholung mit verschiedenen
Startwerten
Wähle Clustering mit minimalem mittleren Abstand zum
Zentroiden
93
Inkrementelles Clustern
Heuristischer Ansatz (COBWEB/ClassIT)
Bildet eine inkrementelle Hierarchie von Clustern
Start:
Baum besteht aus einem leeren Wurzelknoten
Danach:
füge sukzessiv Instanzen ein
aktualisiere den Baum in jedem Schritt
hierzu muss das passende Blatt für die jeweilige Instanz
gefunden werden
evtl. muss hierzu der Baum restrukturiert werden
Änderungsentscheidungen basieren auf der KlassenNützlichkeit
94
Clustern der Wetterdaten
ID
Outlook
Temp.
Humidity
Windy
A
Sunny
Hot
High
False
B
Sunny
Hot
High
True
C
Overcast
Hot
High
False
D
Rainy
Mild
High
False
E
Rainy
Cool
Normal
False
F
Rainy
Cool
Normal
True
G
Overcast
Cool
Normal
True
H
Sunny
Mild
High
False
I
Sunny
Cool
Normal
False
J
Rainy
Mild
Normal
False
K
Sunny
Mild
Normal
True
L
Overcast
Mild
High
True
M
Overcast
Hot
Normal
False
N
Rainy
Mild
High
True
1
2
3
95
Clustern der Wetterdaten
ID
Outlook
Temp.
Humidity
Windy
A
Sunny
Hot
High
False
B
Sunny
Hot
High
True
C
Overcast
Hot
High
False
D
Rainy
Mild
High
False
E
Rainy
Cool
Normal
False
F
Rainy
Cool
Normal
True
G
Overcast
Cool
Normal
True
H
Sunny
Mild
High
False
I
Sunny
Cool
Normal
False
J
Rainy
Mild
Normal
False
K
Sunny
Mild
Normal
True
L
Overcast
Mild
High
True
M
Overcast
Hot
Normal
False
N
Rainy
Mild
High
True
4
5
Mische besten
und zweitbesten
Knoten
3
Evtl. muss der beste Knoten
geteilt werden, wenn
Mischen nicht hilft
96
Resultierende Hierarchie
ID
Outlook
Temp.
Humidity
Windy
A
Sunny
Hot
High
False
B
Sunny
Hot
High
True
C
Overcast
Hot
High
False
D
Rainy
Mild
High
False
Ups! a und b sind sehr
ähnlich
97
Beispiel: Iris-Daten
(Teilmenge)
Clustern mit Schwellenwert
99
Klassen-Nützlichkeit
Klassen-Nützlichkeit (Category utility):
quadratische
Verlustfunktion, definiert über bedingte Wahrscheinlichkeiten:
2
2
∑ P r [ C l ] ∑ ∑ P r [a i =v ij∣C l ] −P r [a i=v ij ]
C U C 1 , C 2,. . ., C k =
l
i
j
ai : Attribut, vij : Wert für ai , Cl: Cluster
k
Jede Instanz in einer anderen Klasse ⇒
Zähler wird zu
m −P r [a i =v ij ]2
maximal
Anzahl Attribute
100
Nummerische Attribute
2
f a =
1
e
2 π σ
∑ P r [ a i =v ij ]2 ⇔∫ f a i 2 d ai =
1
2 π σ i
Nehme Normalverteilung an
Dann:
j
Damit wird
zu
a−μ
2 σ2
2
2
P
r
[
C
]
P
r
[
a
=v
∣C
]
−P
r
[
a
=v
]
∑
l ∑∑
i
ij
l
i
ij
C U=
l
i
j
k
∑ Pr [C l ]
C U=
l
1
2 π
∑
i
1
1
−
σ il σ i
k
Vorgegebene minimale Varianz für |Cl |=1
Schärfe(acuity)-Parameter
101
Wahrscheinlichkeitsbasiertes Clustern
Probleme mit dem heuristischen Ansatz:
Division durch k?
Reihenfolge der Beispiele?
Reichen Restrukturierungs-Operationen aus?
Ist das Ergebnis zumindest ein lokales Minimum der KlassenNützlichkeit?
Probabilistischer Ansatz ⇒
suche die wahrscheinlichsten Cluster für die Daten
Instanz gehört mit einer gewissen Wahrscheinlichkeit zu
einem bestimmten Cluster
102
Endliche Mischungen
Modelliere Daten über Mischung von Verteilungen
Eine Verteilung pro Cluster
liefert die Wahrscheinlichkeit von Attributwerten in diesem
Cluster
Endliche Mischungen: endliche Anzahl von Clustern
Einzelne Verteilungen sind Normalverteilungen
(üblicherweise)
Kombiniere Verteilungen durch Gewichtung der
Cluster
103
Mischungsmodell für 2 Klassen
Daten
A
A
B
B
A
A
A
A
A
51
43
62
64
45
42
46
45
45
B
A
A
B
A
B
A
A
A
62
47
52
64
51
65
48
49
46
B
A
A
B
A
A
B
A
A
64
51
52
62
49
48
62
43
40
A
B
A
B
A
B
B
B
A
48
64
51
63
43
65
66
65
46
A
B
B
A
B
B
A
B
A
39
62
64
52
63
64
48
64
48
A
A
B
A
A
A
51
48
64
42
48
41
Modell
µA=50, σA =5, pA=0.6
µB=65, σB =2, pB=0.4
104
Anwendung des Mischungsmodells
Wahrscheinlichkeit, dass Instanz x zu Cluster A gehört:
mit
P r [ x ∣A ]P r [ A ] f x ; A , A p A
P r [ A ∣x ]=
=
Pr [x ]
Pr[x ]
2
f x ; μ , σ =
1
e
2 π σ
x −μ
2 σ2
Wahrscheinlichkeit einer Instanz bei gegebenem
Cluster:
P r [ x∣the distributions ]=∑ P r [ x ∣cl ust er i ] P r [cl ust er i ]
i
105
Lernen der Cluster
Annahme:
wir wissen, dass es k Cluster gibt
Lernen der Cluster ⇒
Bestimme ihre Parameter
D.h. Mittelwerte und Standardabweichungen
Gütekriterium:
Wahrscheinlichkeit der Trainingsdaten bei gegebenen
Clustern
EM-Algorithmus
findet lokales Maximum dieser Wahrscheinlichkeit
106
EM-Algorithmus
EM = Expectation-Maximization
Generalisiere k-means zu probabilistischem Modell
Iterative Prozedur:
E “Erwartungs”-Schritt:
Berechne Cluster-Wahrscheinlichkeit für jede Instanz
M “Maximierungs”-Schritt:
Schätze Verteilungsparameter aus den ClusterWahrscheinlichkeiten
Speichere Cluster-Wahrscheinlichkeiten als
Instanzgewichte
Stopp, wenn kaum noch Verbesserung
107
Mehr zu EM
Schätze Parameter aus gewichteten Instanzen
μ A=
w 1 x 1 w 2 x 2 . . .w n x n
w 1 w 2 . . .w n
2
2
2
w1 ( x 1− μ ) + w2 ( x 2 −μ ) + . . .+ wn ( x n − μ )
2
σ A=
w1 + w 2 + . . .+ wn
Stopp, wenn log-likelihood konvergiert
Log-likelihood:
∑ log( p A Pr [ x i∣A ]+ p B Pr [ x i∣B ])
i
108
EM-Beispiel
109
EM-Beispiel 2
110
Erweiterung des
Mischungsmodells
Mehr als zwei Verteilungen: einfach
Mehrere Attribute: einfach—
Unabhängigkeitsannahme!
Korrelierte Attribute: schwierig
Gemeinsames Modell: bivariate Normalverteilung
mit einer (symmetrischen) Kovarianzmatrix
n Attribute: Schätzung von n + n (n+1)/2
Parametern
111
Mehr Erweiterungen des
Mischungsmodells
Nominale Attribute: einfach, wenn unabhängig
Korrelierte nominale Attribute: schwierig
Zwei korrelierte Attribute ⇒ v1 v2 Parameter
Fehlende Werte: einfach
Auch andere als die Normalverteilung können benutzt
werden:
“log-normal” wenn Minimum vorgegeben ist
“log-odds” wenn nach unten und oben beschränkt
Poisson für Attribute mit ganzzahligen Werten
Benutze Kreuzvalidierung zur Schätzung von k !
112
Bayes'sches Clustern
Problem: viele Parameter ⇒ EM führt zu Überadaption
Bayes'scher Ansatz: gebe jedem Parameter eine apriori-Wahrscheinlichkeitsverteilung
Berücksichtige a-priori-Verteilung bei der
Wahrscheinlichkeitsschätzung
Bestraft die Einführung zusätzlicher Parameter
Z.B.: Laplace-Schätzer für nominale Attribute
Pr
h
ha
=
f
f ab
Man kann auch einen a-priori-Wert für die Anzahl
Cluster vorgeben!
Implementierung: AUTOCLASS (NASA)
113
Diskussion
Interpretation der Cluster durch überwachtes Lernen
Post-Prozessierungs-Schritt
Reduziere Abhängigkeit zwischen Attributen?
Prä-Prozessierungs-Schritt
Z.B. Benutzung von principal component analysis
Kann benutzt werden, um fehlende Werte zu schätzen
Hauptvorteil von probabilistischem Clustern:
Kann die Wahrscheinlichkeit der Daten schätzen
Objektiver Vergleich verschiedener Modelle möglich
114