Klassische Klassifikationsalgorithmen
Klassische Klassifikationsalgorithmen
Klassische Klassifikationsalgorithmen
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
<strong>Klassische</strong><br />
<strong>Klassifikationsalgorithmen</strong> Forts..<br />
Computational Intelligence<br />
2 VO 442.070 + 1 UE 708.070<br />
SS 2013<br />
Institut für Signalverarbeitung und Sprachkommunikation<br />
TU Graz<br />
Inffeldgasse 12/1<br />
www.spsc.tugraz.at<br />
Institute for Theoretical Computer Science<br />
TU Graz<br />
Inffeldgasse 16b/1<br />
www.igi.tugraz.at<br />
Computational Intelligence SS 2013 (VO 442.070)
Lehrveranstaltungsübersicht<br />
IGI<br />
Kapitel 1<br />
Grundbegriffe des maschinellen Lernens<br />
Kapitel 2<br />
Neuronale Netze<br />
Kapitel 3<br />
<strong>Klassische</strong> <strong>Klassifikationsalgorithmen</strong><br />
Kapitel 4<br />
Modellselektion<br />
Computational Intelligence SS 2013 (VO 442.070) 2
Plan für heute: Kapitel 3<br />
Lernalgorithmus für veränderliche Lerndaten<br />
Lernalgorithmus für nominale Attribute<br />
State-of-the-art bei Klassifikation ohne Vorwissen<br />
Computational Intelligence SS 2013 (VO 442.070) 3
Anwendungsbereiche<br />
Voraussetzungen:<br />
Nicht mehr als ca. 10000 Lernbeispiele (für derzeitige Computer), da das<br />
Trainieren sehr rechenaufwendig ist..<br />
Beispiele:<br />
Spracherkennung<br />
Bilderkennung<br />
Bio- und Neuroinformatik<br />
etc.<br />
Computational Intelligence SS 2013 (VO 442.070) 4
Wiederholung: Erweiterung von linearen<br />
Klassifikatoren auf nichtlineare Probleme<br />
Lernbeispiel Bilderkennung:<br />
Lineare Klassifikatoren liefern für dieses XOR Problem einen zero-one Fehler von<br />
mindestens 0.25:<br />
y = signw T x =sign w 0<br />
w 1<br />
x 1<br />
... w d<br />
x d<br />
<br />
Computational Intelligence SS 2013 (VO 442.070) 5
Grundlegende Ideen von SVM<br />
1. Nichtlineare Projektion (Ansatz 1).<br />
2. Maximum margin Hyperebene.<br />
3. Rechnerische Effizienz durch den kernel Trick.<br />
Computational Intelligence SS 2013 (VO 442.070) 6
Bsp.: XOR Problem<br />
Projektion in den feature Raum<br />
x = 1, 2 x 1,<br />
2 x 2<br />
, 2 x 1<br />
x 2<br />
, x 1 2 , x 2 2, <br />
ermöglicht lineare Trennung der projizierten Daten.<br />
Computational Intelligence SS 2013 (VO 442.070) 7
Erzeugte Hypothesen<br />
Lineare Separierung im feature - Raum<br />
Nichtlineare Separierung im Eingabe - Raum<br />
Computational Intelligence SS 2013 (VO 442.070) 8
Bsp.: Nichtlineare Separierung<br />
Projektion in den feature Raum<br />
x = 1, 2 x 1,<br />
2 x 2<br />
, 2 x 1<br />
x 2<br />
, x 1 2 , x 2 2, <br />
Abkürzung:<br />
f = 2 x 1<br />
x 2<br />
f = -1 f = +1<br />
f = +1<br />
f = 0 f = 0<br />
f = +1<br />
f = -1<br />
f = -1<br />
Computational Intelligence SS 2013 (VO 442.070) 9
Grundlegende Ideen von SVM<br />
1. Nichtlineare Projektion (Ansatz 1).<br />
2. Maximum margin Hyperebene.<br />
3. Rechnerische Effizienz durch den kernel Trick.<br />
Computational Intelligence SS 2013 (VO 442.070) 10
Annahme: Linear separierbare Daten<br />
Linearer Klassifikator<br />
y i<br />
= signw 0<br />
w T x i<br />
<br />
w , x i<br />
∈ R D−1<br />
Im linear separierbaren Fall gilt y i<br />
w 0<br />
w T x i<br />
0 i = 1,... ,l<br />
x 2<br />
x 1<br />
Computational Intelligence SS 2013 (VO 442.070) 11
Maximum margin Hypothese<br />
Wir erwarten, dass wir einen besseren Klassifikator finden, welcher robuster<br />
hinsichtlich noise ist, wenn wir verlangen, dass der margin möglichst groß ist.<br />
Margin: Abstand zwischen Trainingsbeispielen und der Klassifikationsebene des<br />
linearen Klassifikators.<br />
Computational Intelligence SS 2013 (VO 442.070) 12
Wie wird gelernt?<br />
Minimierungsproblem<br />
1<br />
2 ∥w∥2 = 1 ∑ D<br />
2<br />
d =1<br />
w d<br />
2<br />
mit Nebenbedingungen<br />
y i<br />
w 0<br />
w T x i<br />
− 1 ≥ 0 i = 1,... ,l<br />
Computational Intelligence SS 2013 (VO 442.070) 13
Illustration der Optimierung<br />
Wir betrachten ein 1 dimensionales Beispiel<br />
y=signw 0<br />
w x<br />
f =w 0<br />
w⋅ x<br />
1w 0<br />
w x − 1 ≥ 0<br />
∣x −x − ∣/ 2<br />
−1w 0<br />
w x − − 1 ≥ 0<br />
Computational Intelligence SS 2013 (VO 442.070) 14
Illustration der Optimierung<br />
Wir betrachten ein 1 dimensionales Beispiel<br />
y=signw 0<br />
w x<br />
f =w 0<br />
w⋅ x<br />
1w 0<br />
w x − 1 = 0<br />
∣x 1<br />
−x − 1−<br />
∣/ 2<br />
1 1<br />
1<br />
−1w 0<br />
w x − − 1 = 0<br />
∣w ∗ ∣= 2/∣x − x − ∣<br />
(Steigung = 1/margin)<br />
Computational Intelligence SS 2013 (VO 442.070) 15
Illustration: Mehrdimensionaler Fall<br />
1<br />
2 ∥w∥2 = 1 ∑ D<br />
2<br />
d =1<br />
w d<br />
2<br />
y i<br />
w 0<br />
w T x i<br />
− 1 ≥ 0<br />
i = 1,... ,l<br />
Computational Intelligence SS 2013 (VO 442.070) 16
Illustration: Mehrdimensionaler Fall<br />
margin=2 / ∥w∥<br />
f =w 0<br />
w T x<br />
w<br />
w<br />
∣w ∗ ∣= 2/margin<br />
Computational Intelligence SS 2013 (VO 442.070) 17
Transformation des Problems in die<br />
duale Repräsentation<br />
Äquivalent zur Maximierung der Parameter<br />
{ i }<br />
in der dualen Repräsentation<br />
l<br />
∑ i=1<br />
i − 1 2 ∑ i , j=1<br />
l<br />
y i y j i j x i T x j <br />
Mit den Nebenbedingungen<br />
i ≥ 0 ∑ i<br />
i<br />
y i<br />
= 0<br />
Wird gelöst mittels quadratischen Programmierens<br />
Computational Intelligence SS 2013 (VO 442.070) 18
Lösung in der dualen Repräsentation<br />
Optimalen Gewichte w sind Funktionen von { i } .<br />
w = ∑ i=1<br />
l<br />
i y i x i<br />
w 0<br />
Berechnung von über die Nebenbedingung für beliebige support Vektoren i.<br />
y i<br />
w 0<br />
w T x i<br />
− 1 = 0<br />
Nur von support Vektoren (SV) sind ungleich 0.<br />
i<br />
Computational Intelligence SS 2013 (VO 442.070) 19
Support Vektoren<br />
Def.:<br />
Support Vektoren sind jene Datenpunkte mit dem kürzesten Abstand zur<br />
maximum margin Klassifikationshyperebene, welche diese festlegen.<br />
maximaler margin<br />
Computational Intelligence SS 2013 (VO 442.070) 20
Support Vektoren<br />
Allgemeim gilt:<br />
SV müssen nicht nahe an den Entscheidungsgrenzen im input Raum sein, sie<br />
müssen nur nahe an den Entscheidungsgrenzen im feature Raum sein.<br />
Computational Intelligence SS 2013 (VO 442.070) 21
Bsp.: XOR Problem<br />
Abbildung in den feature Raum<br />
x = 1, 2 x 1,<br />
2 x 2<br />
, 2 x 1<br />
x 2<br />
, x 1 2 , x 2 2, <br />
f = 2 x 1<br />
x 2<br />
f = -1 f = +1<br />
f = +1<br />
margin=2<br />
f = 0<br />
f = +1<br />
f = -1<br />
f = -1<br />
Computational Intelligence SS 2013 (VO 442.070) 22
Grundlegende Ideen von SVM<br />
1. Nichtlineare Projektion (Ansatz 1).<br />
2. Maximum margin Hyperebene.<br />
3. Rechnerische Effizienz durch den kernel Trick.<br />
Computational Intelligence SS 2013 (VO 442.070) 23
Kernels<br />
Für die Maximierung in der sogenannten dualen Repräsentation benötigt man die<br />
Berechnung des Skalarprodukts der Trainingsbeispiele<br />
l<br />
∑ i=1<br />
i − 1 2 ∑ i , j=1<br />
l<br />
y i y j i j x T 1 i x 1 j <br />
wobei 0 ≤ i<br />
und ∑ i<br />
i<br />
y i<br />
= 0.<br />
Kernel-Funktionen K berechnen das Skalarprodukt im feature Raum direkt aus<br />
den nicht-projizierten Lernbeispielen ohne die Projektion in den feature Raum<br />
explizit durchzuführen.<br />
x T 1 i<br />
x 1 j<br />
x 1 i<br />
T x 1 j<br />
K x 1i<br />
, x 1 j<br />
<br />
Computational Intelligence SS 2013 (VO 442.070) 24
Overfitting<br />
Die Dimensionalität des feature Raumes bestimmt die Anzahl der zu<br />
bestimmenden Parameter.<br />
Warum kann dieser Lernalgorithmus generalisieren?<br />
Computational Intelligence SS 2013 (VO 442.070) 25
Anmerkung<br />
Für SVM hängt die Anzahl der zu lernenden Parameter nicht von der<br />
Dimensionalität des feature Raumes ab, sondern von der Anzahl der SV<br />
Computational Intelligence SS 2013 (VO 442.070) 26
Zusammenfassung<br />
1. Nichtlineare Projektion der Attribut-Vektoren in einen hochdimensionalen<br />
Raum, um die Trennbarkeit der Klassen durch lineare Hyperebenen zu<br />
verbessern (Ansatz 1).<br />
2. Vermeidung des dadurch verursachten Overfitting Problems durch reduktion<br />
der Freiheitsgrade: Die gesuchte Hyperebene soll einen maximalen margin<br />
besitzen.<br />
3. Vermeidung der durch Verwendung eines hochdimensionalen Raums zu<br />
erwartenden rechnerischen Probleme durch den kernel Trick, welcher die<br />
Berechnung der maximal margin Hyperebene im hochdimensionalen Raum<br />
auf eine Berechnung im Raum der ursprünglichen Attributvektoren reduziert.<br />
Computational Intelligence SS 2013 (VO 442.070) 27
Auswahlkriterien für Lernalgorithmen<br />
Qualität des Lernalgorithmus (siehe Kapitel 1)<br />
Generell sehr gute Performance<br />
Zur Verfügung stehende Rechenzeit beim Trainieren und Testen, sowie<br />
Benötigt sehr viel Rechenzeit um zu lernen<br />
Benötigt wenig Rechenzeit um zu testen<br />
Speicherbedarf<br />
Gering.<br />
Intuitive Interpretierbarkeit<br />
Sehr schlecht<br />
Computational Intelligence SS 2013 (VO 442.070) 28