Browsing around a digital library seminar

Werbung
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 = w0w1 a1w 2 a 2
kann beschrieben werden als
x=b
∑
i is supp . vector
αi y i ai⋅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 ai⋅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 1d
− 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 ai⋅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 1d
− 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 '=
npkq
nk
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 dT − ∑
×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
ha
=
f
f ab
 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
Herunterladen