350 likes | 511 Views
Präsentation der Diplomarbeit Large margin Kernel Machines for binary Classification. Michael Brückner brum@hrz.tu-chemnitz.de www.tu-chemnitz.de/~brum Chemnitz, den 24. Juni 2005. Überblick über die Arbeit. Einleitung Grundlagen der Kernel-Verfahren Kernel-Perceptron
E N D
Präsentation der DiplomarbeitLarge margin Kernel Machines for binary Classification Michael Brückner brum@hrz.tu-chemnitz.de www.tu-chemnitz.de/~brum Chemnitz, den 24. Juni 2005
Überblick über die Arbeit • Einleitung • Grundlagen der Kernel-Verfahren • Kernel-Perceptron • Support-Vektor-Verfahren • Analytic Center Machine • Bayes-Point-Klassifikatoren • p-Center Machine • Experimenteller Vergleich der Verfahren
Einleitung • Klassifikation ist die Zuordnung von Daten zu einer begrenzte Anzahl von Klassen mit Hilfe eines Klassifikators, z.B. Email → {Spam, Ham} • Zwei Klassen → Binäre Klassifikation • Finden eines Klassifikators durch überwachtes Lernen • empirisch & simulativ (Neuronales Netz) • induktiv (Regelsystem/Entscheidungsbaum) • analytisch (Kernel Machine) Einleitung
Grundlagen der Kernel-Verfahren • Feature MappingFunktion welche Eingabedaten aus dem Eingaberaum X in einen (höher-dimensionalen) Raum abbildet. • Feature SpaceFRaum in den die Eingabedaten abgebildet werden. • Kernel-Funktion k(x1,x2)Entfernung zweier Punkte x1 und x2 im Feature Space. • Kernel-MatrixGEntfernungsmatrix mit den Abständen aller Eingabe-datenpunkte im Feature Space. Grundlagen der Kernel-Verfahren
Exemplarische Darstellung des Feature Mapping ,Feature Space F, und der Kernel-Funktion k Grundlagen der Kernel-Verfahren
Binärer Klassifikator hBerechnet für einen Eingabedatenpunkt x mit Hilfe einer Klassifikationsfunktion den Klassifikationswert. Das Vorzeichen dieses Wertes entspricht der zu x zugeordneten Klasse y. • Lineare KlassifikationsfunktionLineare Funktion welche durch einen Gewichtsvektorw und einen Biasb gegeben ist: f(x) = <x,w> + b. • Kernel-KlassifikationsfunktionIm Feature Space lineare Funktion welche durch ein Feature Mapping, einen Gewichtsvektorw und einen Biasb gegeben ist: f(x) = <(x),w> + b. Grundlagen der Kernel-Verfahren
Kernel-Funktion enthält alle notwendigen Informationen über Feature Mapping Feature Mapping muss nicht explizit gegeben sein. • Eigenschaften allgemeiner Kernel-Funktionen durch Mercer-Bedingungen festgelegt. • Lernverfahren welche Kernel-Funktionen nutzen werden als Kernel Machines bezeichnet. • Large margin Kernel Machines sind Verfahren, welche unter Verwendung nicht-statistischer Ansätze eine (möglichst) optimale Kernel-Klassifikationsfunktion suchen. Grundlagen der Kernel-Verfahren
Kernel-Klassifikationsfunktion kann als Trenn-gerade bzw. Trennebene im Feature Space aufgefasst werden. • Abbildung zeigt nahezu optimale Trenngerade (links) und beliebige Trenngerade (rechts). Grundlagen der Kernel-Verfahren
Version Space VMenge aller möglichen Gewichtsvektoren. Curved Version Space und Bounded Version Space sind Teilmengen von V. Grundlagen der Kernel-Verfahren
Gewichtsvektor der optimalen Trenngerade/Trennebene ist Schwerpunkt des Version Space= Bayes-Klassifikator. • Schwerpunkt schlecht berechenbar. Jedoch, Vektoren nahe des Schwerpunktes (z.B. Inkreismittelpunkt, Analytic Center, p-Center) bilden ebenfalls sehr gute Klassifikatorenzahlreiche Large margin Kernel Machines. • „Aufweichen“ der Version Space-Bedingungen mittels Verlust-Funktionen wirkt verrauschten Daten entgegen verbesserter Klassifikator. Grundlagen der Kernel-Verfahren
Kernel-Perceptron • Idee: Verwende Perceptron-Lernen im Feature Space. • Beginne mit beliebigen Startvektor w und prüfe sukzessive ob alle Eingabedatenpunkte xi richtig klassifiziert werden, d.h. sign(<xi,w>) = yi. • Wird Vektor xi falsch klassifiziert addiere xi für yi = +1 bzw. subtrahiere xi für yi = -1. • Wird Vektor xi richtig klassifiziert belasse w. • Wiederhole diese Schritte bis w alle xi korrekt klassifiziert. Kernel-Perceptron
Kernelization des Perceptron-Algorithmus (1) • Satt Gewichtsvektor w wird dualer Gewichtsvektor verwendet welcher wie folgt definiert ist . • Die Überprüfung sign(<xi,w>) = yi wird ersetzt durchwobei der (i,j)-te Eintrag der Kernel-Matrix G ist. Kernel-Perceptron
Kernelization des Perceptron-Algorithmus (2) • Satt Addition/Subtraktion von xi wird (xi) zu w addiert bzw. von w subtrahiert, d.h. • Lediglich i-te Komponente des dualen Gewichts-vektors wird verändert Kernel-Perceptron
Soft Perceptron • Kernel-Perceptron mit abgeschwächten/verstärkten Version Space-Bedingungen • Idee: Update-Bedingung zunächst strenger aus-legen (kleinerer Version Space) und den Version Space danach sukzessive vergrößern, z.B. durchwobei k der Iterationsschritt und gi der i-te Spalten-vektor der Kernel Matrix G ist. Kernel-Perceptron
Existieren zahlreiche Modifikationen des Perceptron-Algorithmus, z.B. • Perceptron mit L2-Verlustfunktion • Perceptron Algorithm with Margin (PAM) • Pocket Perceptron • Competitive Perceptron • Voted Perceptron • Bayes Perceptron • Kombination mehrerer Ideen kann zu sehr guten Kernel Machines führen wie zum Beispiel dem Soft Bayes Perceptron. Kernel-Perceptron
Support-Vektor-Verfahren • Idee: Maximiere Abstand zwischen Trennebene und allen Punkten. • Dieser Abstand heißt minimal geometrical margin und wird oft verkürzt margin genannt Ergebnis der Support Vector Machine (SVM) ist der „Maximal Margin“-Klassifikator. • Der minimal geometrical margin ist indirekt proportional zur Länge des Gewichtsvektors Minimierung dieser Länge. Support-Vektor-Verfahren
„Maximal Margin“-Klassifikator entspricht dem Inkreismittelpunkt des (curved) Version Space. wi wi Support-Vektor-Verfahren
Optimierungsproblem der SVMwird mit Hilfe des Lagrange-Ansatz in ein quadratisches Optimierungsproblem (QP) umgewandelt und durch QP-Solver gelöst. • Durch Hinzufügen einer Verlust-Funktion erhält man die Soft margin SVM. Support-Vektor-Verfahren
Abhängig von der verwendeten Verlust-Funktion unterscheidet man • hard margin SVM (total loss= keine Verlust-Funktion) • L1-SVM (hinge loss) • L2-SVM (squared hinge loss) • R1-SVM (-insenstive loss, modulus loss für = 0) • R2-SVM (squared -insenstive loss, (least) square loss für = 0) • Verfahren die „Maximal Margin“-Klassifikator approximieren, z.B. Sparse SVM. Support-Vektor-Verfahren
Analytic Center Machine • Idee: Anstelle des Inkreismittelpunktes bestimmt Analytic Center Machine (ACM) den Mittelpunkt der größten, in VS einbeschreibaren Ellipse. • Dieser Punkt heißt Analytic Center und ist definiert durchwobei VS der curved Version Space ist. Analytic Center Machine
Daraus ergibt sich das Optimierungsproblemwelches mit Hilfe des Lagrange-Ansatzes in ein Nullstellenproblem überführt werden kann. Analytic Center Machine
Dieses Nullstellenproblem wird mit Hilfe des Newton-Verfahrens gelöst, d.h.und werden so gewählt, dassim k-ten Iterationsschritt. Unter Vorgabe einer gültigen Startlösung konvergiert das Verfahren i.d.R. nach 10 – 30 Iterationen. Analytic Center Machine
Bayes-Point-Klassifikatoren • Bayes Point Machines (BPM) approximieren den Bayes-Klassifikator, d.h. sie bestimmen den Schwerpunkt des Version Space. • Schwerpunkt wird auch mit Masse-Schwerpunkt, Centroid oder Bayes Point bezeichnet. • Genau Berechnung des Schwerpunktes in O(n!) Näherungsverfahren wie Direct BPM, Balancing Board Machine, Billiard BPM usw. Bayes-Point-Klassifikatoren
Direct Bayes Point Machine • Idee: Berechnung aller Eckpunkte des curved Version Space Mittelwert dieser Eckpunkte liegt nahe des Schwerpunktes. wobei . • Berechnung nur möglich wenn Dimension des Feature Space groß genug, so dass Kernel Matrix G invertierbar ist. Bayes-Point-Klassifikatoren
Balancing Board Machine (1) • Gekrümmte Fläche des curved Version Space wird durch Polygon (Board) approximiert. Bayes-Point-Klassifikatoren
Balancing Board Machine (2) • Idee: Wenn Board im Gleichgewicht liegt, ist der Auflagepunkt des Boards nahe dem gesuchten Schwerpunkt des Version Space. • Board im Gleichgewicht wenn Board-Schwerpunkt = Auflagepunkt Balancing Board Machine (BBM). • Beginne mit beliebiger Startlösung w und berechne Schwerpunkt des durch w und V definierten Boards. • Drehe Vektor w in Richtung dieses Schwerpunktes. • Wiederhole diese Schritte bis Konvergenz erreicht. • Berechnung des Board-Schwerpunktes aufwendig Abschätzen der Randpolygone durch Kegel, somitBoard von Ellipsoiden begrenzt (leicht berechenbar). Bayes-Point-Klassifikatoren
Billiard Bayes Point Machine • Idee: Punkte einer (hinreichend langen) Flugbahn eines Billardballs im Raum repräsentieren diesen Raum, d.h. Mittelwert all dieser Punkte entspricht Schwerpunkt des Raumes Billiard BPM. • Beginne mit beliebiger Startlösung w (Anfangsposition des Billardballs) und beliebiger Flugrichtung v. • Lasse Billardball in Richtung v „fliegen“, und „reflektiere“ ihn an der ersten Wand (Rand des bounded Version Space) die er berührt, d.h. neue Position des Balls ist Berührungspunkt mit der Wand und neue Richtung ist reflektierte Richtung. • Wiederhole letzen Schritt hinreichend oft und mittle über die gesamt Flugbahn. • Mehrfache Wiederholung stabileres Ergebnis. Bayes-Point-Klassifikatoren
p-Center Machine • Idee: Verwendung des p-Center als Gewichtsvektor, da dieses • i.d.R. näher am Schwerpunkt von VS als Inkreismittelpunkt oder Analytic Center • Schneller zu berechnen als Schwerpunkt, weil p-Center-Algorithmus leicht parallelisierbar • Zwei Implementierungen möglich: • p-Center des bounded Version Space berechnen • p-Center des curved Version Space bestimmen p-Center Machine
p-Center eines konvexen Bereiches • Beginne mit einer beliebigen Startlösung wund projiziere diesen Punkt auf alle Randflächen des Bereiches. • Bestimme zusätzlich die,diesen Projektions-punkten, gegen-überliegendenPunkte und bildeden Mittelwert alldieser Randpunkte. • Wiederhole diese Schritte bis Konvergenz erreicht. p-Center Machine
p-Center des bounded Version Space • Version Space ist unbegrenzt, sodass „gegenüberliegender Punkt“ nicht immer existiert begrenzen des Version Space durch Kugel. • Berechnung des p-Centers für diesen Bereich genauso wie zuvor, jedoch Kugeloberfläche als zusätzliche Projektions- und Randfläche. • Kernelization des p-Center-Algorithmus für den bounded Version Space ergibt approximated p-Center Machine (approx. PCM). p-Center Machine
p-Center des curved Version Space • Curved Version Space ist gekrümmtes Polygon Berechnung des p-Centers dieses Polygons. • Wegen Krümmung keine Mittelung der Randpunkte, sondern Berechnung des mittleren Winkel bezüglich jeder Projektion und Drehung des Vektors w um den mittleren Winkel. • Berechnung der Winkel effizient möglich da diese wiederum unabhängig von einander parallelisierbar. • Kernelization des Ansatzes ergibt exact p-Center Machine (exact PCM). p-Center Machine
Experimenteller Vergleich der Verfahren und Zusammenfassung • Qualität der Verfahren stark abhängig von verwendetem Kernel, Kernel-Parametern, Anzahl Datenpunkte usw. Vergleich und Bewertung der Kernel Machines schwierig. • Für „saubere“ Daten sind Billiard BPM, ACM, und Bayes Perceptron am geeignetsten. • Bei verrauschten Daten sind Direct BPM, PCM, und SVM i.d.R. besser. Experimenteller Vergleich der Verfahren
Qualität der Verfahren für Datensatz „Heart“ Experimenteller Vergleich der Verfahren
Konvergenz-Eigenschaften für Datensatz „Heart“ Winkel Wiederholungen Experimenteller Vergleich der Verfahren
Zusammenfassung • Zahlreiche verschiedene Kernel Machines. • Qualitätsunterschiede oft gering bzw. abhängig von Daten und Parametern theoretisch bessere Verfahren müssen nicht besser in der Praxis sein! • Entscheidender ist effizienter Umgang mit Ressourcen (Speicher, Laufzeit, …) und Robustheit eines Verfahrens, d.h. Unabhängigkeit von Parametern. Zukünftige Verfahren müssten Wahl der Kernel-parameter mit zum Gegenstand des Lernens machen – ähnlich Neuronaler Netze. Experimenteller Vergleich der Verfahren