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
Rainy
Mild
Normal
False
Yes
…
If
If
If
If
If
…Outlook
…
Temperature
…Humidity
… Windy
Sunny
85
85
False
No
Sunny
80
90
True
No
Play
Overcast
83
86
False
Yes
outlook = sunnyRainy
and humidity
75= high then
80 play = no
False
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 65
Yes No
68 69 70 71
Yes Yes Yes No
72
No
72 75
Yes Yes
75 80
Yes No
81 83 85
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. MehrwegeAufteilung
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
Duration
(Number of years)
betrachtet,
nachdem
all
Wage increase first
year
Percentage
Wage increase second year
Percentage
seine
Teilbäume
behandelt
Wage increase third year
Percentage
Cost of livingsind
adjustment
{none,tcf,tc}
worden
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
(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
Hochziehen von Teilbäumen
Lösche Knoten
Verteile Instanzen neu
Aufwändiger als Ersetzen
von Teilbäumen
(Lohnt sich der Aufwand?)
17
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)
18
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
f
f2
z2
z2
e= f
z
−
/ 1
2
2N
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
19
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
20
Komplexität der BaumInduktion
Annahmen:
m Attribute
n Trainingsinstanzen
Baumtiefe O (log n)
Baumkonstruktion
Teilbaumersetzung
Hochziehen von Teilbäumen
O (m n log n)
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)
21
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
22
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)
23
Diskussion
TDIDT: Top-Down Induction of Decision Trees
Die am meisten untersuchte ML-Methode für Data
Mining
Verschiedene Kriterien für die Attribut/TestAuswahl 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
Einige TDITDT-Systeme können multivariate
Bäume erzeugen (z.B. CART)
24
Klassifikationsregeln
Einheitliches Vorgehen: trenne-undherrsche
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
25
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 PruningMechanismen
26
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
27
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
28
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
29
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
30
Hypergeometrische
Verteilung
Datenmenge enthält
T Instanzen
Klasse C enthält
P Beispiele
Zuf. Regel wählt
t Beispiele aus
p Beispiele
korrekt abgedeckt
Pr[ von t zufällig ausgewählten Beispielen,
gehören p zur Klasse C]
Wahrscheinlichkeit, dass eine zufällige
Regel mindestens genauso gut ist ?
∑
P T −P
p t− p
min t , P
m R=
i= p
Dies ist die statistische Signifikanz der Regel
T
t
P T −P
i t−i
T
t
31
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
t P
p T
p
P
1−
T
t− p
32
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
33
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
34
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ß? 35
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
36
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
37
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
38
Beispiel
39
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
40
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
length width
Petal
length
Petal
width
Type
5.1
2.6
0.2
Iris-setosa
3.5
Modifizierte Regel:
If petal-length ≥ 2.45 and petal-length < 4.45
then Iris-versicolor
EXCEPT if petal-width < 1.0 then Iris-setosa
41
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
42
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
43
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
44
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)
45
Beispiel zu den Iris-Daten
Exceptions are represented as
Dotted paths, alternatives as
solid ones.
46
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 13w 2 a 12 a 2 w 3 a 1 a 22 w 3 a 32
47
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)
48
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
49
Die Hyperebene mit
maximalem Abstand
Die Instanzen, die am nächsten zur Hyperebene mit
maximalem Abstand liegen, werden Supportvektoren
genannt
50
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
kann beschrieben werden als
x=w0w1 a1w 2 a2
x=b
∑
i is supp. vector
αi y i ai ⋅a
51
Berechnung der
Supportvektoren
x=b
∑
i is supp. vector
αi y i ai ⋅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)
52
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
53
Ein mathematischer Trick
Vermeide Berechnung der “Pseudo-Attribute”!
Berechne Skalarprodukt vor der nichtlinearen
Transformation
Beispiel: für
x=b ∑ αi y i ai ⋅a
i is supp. vector
berechne
x=b
∑
i is supp. vector
αi y i ai ⋅a n
Entspricht einer Abbildung in den
Instanzenraum, der durch alle Produkte der n
Attribute aufgespannt wird
54
Andere Kernel-Funktionen
Transformation wird “kernel function” genannt
Polynomieller Kernel
x=b ∑ αi y i ai ⋅a n
i is supp. vector
Andere Möglichkeiten: x=b
∑
i is supp. vector
Einzige Anforderung:
Beispiele:
αi y i K ai ⋅a
K x i , x j =φ x i ⋅φ x j
K x i , x j = x i⋅x j 1d
− x i − x j
K x i , x j =e
2
2σ2
K x i , x j =tanh βx i⋅x j b
55
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
C begrenzt den Einfluss einzelner
Trainingsinstanzen auf die Trennebene
Korrespondierende Nebenbedingung: 0 ≤ αi ≤ C
Immer noch ein quadratisches
Optimierungsproblem
C muss experimentell bestimmt werden
56
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
57
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
58
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
59
Lernen von Prototypen
Nur die an der Entscheidung beteiligten
Instanzen müssen gespeichert werden
Verrauschte Instanzen sollten ausgefiltert
werden
Idee: benutze nur prototypische Beispiele
60
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
1. Die Erfolgsquote der Instanz
2. Default-Präzision seiner Klasse
Akzeptanz/Zurückweisung von Instanzen
Akzeptiere, wenn die UG von 1 die OG von 2 überschreitet
Weise zurück, wenn die OG von 1 die UG von 2 unterschreitet
61
Gewichtete Attribute
IB5: gewichte jedes Attribut
(Gewichte können klassenspezifisch sein)
Gewichtete Euklidische Distanz:
w
1
2
x 1− y 1 2 . . .w 2 x n − y n 2
n
Ändere Gewichte basieren 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|
62
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
63
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?
64
Separierung
generalisierter Exemplare
Klasse 1
Klasse
2
Trennlinie
65
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
66
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
67
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
68
Regressionsbaum für die
CPU-Daten
69
Modellbaum für die CPUDaten
70
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
71
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
72
Modellbäume
Konstruiere einen Regressionsbaum
Jedes Blatt ⇒ lineare Regressionsfunktion
Glättung: berücksichtige Vorhersage des Elternknotens
npkq
Glättungsformel: p ' = nk
Gleicher Effekt kann erreicht werden durch
Einbeziehung der Vorfahr-Modelle 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
73
Aufbau des Baumes
Aufteilung: Reduktion der Standardabweichung
Abbruch:
∣T i∣
SDR=sd T −∑
×sd T i
∣T∣
i
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
×average_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
74
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
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
75
Fehlende Werte
Modifiziertes Aufteilungskriterium:
[
∣T i∣
m
SDR= × sd T −∑
×sd T i
∣T∣
i ∣T∣
Um zu bestimmen, zu welcher Teilmenge
eine Instanz gehört, benutze SurrogatSplitting
]
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
Testmenge: ersetze fehlenden Wert durch
den Mittelwert
76
Surrogat-Splitting
basierend auf der Klasse
Wähle Aufteilungspunkt basierend auf Instanzen
mit bekannten Werten
Aufteilungspunkt teilt Instanzen in 2 Teilmengen auf
L (kleinerer Klasse-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
77
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
78
MakeModelTree
MakeModelTree (Instanzen)
{
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)
}
79
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)
}
80
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
}
81
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)
}
82
Modellbaum für ServoResult
Daten
of merging
83
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
84
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)
85
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
86
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
87
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
88
Der k-means-Algorithmus
Zum Clustern der Daten in k Gruppen:
(k vorgegeben)
2. Wähle k Zentroiden
z.B. zufällig
3. Ordne Instanzen den Clustern zu
anhand des Abstands zu den Zentroiden
4. Neuberechnung der Zentroiden
5. Gehe zu 1
bis Konvergenz erreicht wurde
89
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
90
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
Klassen-Nützlichkeit
91
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
92
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 besten Knoten
geteilt werden, wenn Mischen
nicht hilft
93
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
94
Beispiel: Iris-Daten
(Teilmenge)
Clustern mit Schwellenwert
96
Klassen-Nützlichkeit
Klassen-Nützlichkeit (Category utility):
quadratische Verlustfunktion, definiert über
bedingte Wahrscheinlichkeiten:
∑ Pr [C l ] ∑ ∑ Pr [ ai=vij∣C l ] −Pr [ ai=vij ]
2
CUC 1, C 2,. .. ,C k =
l
i
2
j
k
Jede Instanz in einer anderen Klasse ⇒
Zähler wird zu
2
m−Pr [ a i =v ij ]
maximal
Anzahl Attribute
97
Nummerische Attribute
1
f a =
e
2 π σ
Nehme Normalverteilung an
Dann:
∑ Pr [ a i =v ij ]2 ⇔∫ f ai 2 da i =
j
Damit wird
CU =
a− μ 2
2σ2
1
2 π σi
2
2
Pr
[
C
]
Pr
[
a
=v
∣C
]
−Pr
[
a
=v
]
∑ l ∑∑
i
ij
l
i
ij
l
i
j
k
zu
∑ Pr [ C l ]
CU =
l
1
2π
k
∑
i
1 1
−
σ il σ i
Vorgegebene minimale Varianz
Schärfe(acuity)-Parameter
98
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
Klassen-Nützlichkeit?
Probabilistischer Ansatz ⇒
suche die wahrscheinlichsten Cluster für die Daten
Instanz gehört mit einer gewissen
Wahrscheinlichkeit zu einem bestimmten Cluster
99
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
100
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
101
Anwendung des
Mischungsmodells
Wahrscheinlichkeit, dass Instanz x zu Cluster A
gehört:
Pr [ x∣A] Pr [ A] f x ; A , A p A
Pr [ A∣x ]=
=
Pr [ x ]
Pr [ x ]
mit
1
f x ; μ , σ =
e
2 π σ
x− μ 2
2σ2
Wahrscheinlichkeit einer Instanz bei gegebenem
Cluster:
Pr [ x∣the distributions ]=∑ Pr [ x∣cluster i ]Pr [ cluster i ]
i
102
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
103
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
104
Mehr zu EM
Schätze Parameter aus gewichteten
Instanzen
w x w x ...w x
μ A=
1 1
2 2
n n
w 1w 2 ...w n
w 1 x 1− μ 2 w 2 x 2 − μ 2 . ..w n x n − μ 2
σ 2=
A
w 1 w 2 ...w n
Stopp, wenn log-likelihood konvergiert
Log-likelihood:
∑ log p A Pr [ x i∣A ] p B Pr [ x i∣B ]
i
105
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
106
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 !
107
Bayes'sches Clustern
Problem: viele Parameter ⇒ EM führt zu
Überadaption
Bayes'scher Ansatz: gebe jedem Parameter eine
a-priori-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
Man kann auch einen a-priori-Wert für die Anzahl
Cluster vorgeben!
Implementierung: AUTOCLASS (NASA)
108
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
109