MASCHINELLES LERNEN VISUALISIERT
Support Vector Machines
Die Grundlagen
Kurz erklärt
Support Vector Machines sind leistungsfähige, überwachte („supervised“) maschinelle Lernverfahren, die in den neunziger Jahren den künstlichen neuronalen Netzwerken große Konkurrenz machten (z. B. bei der Erkennung handgeschriebener Ziffern). Sie helfen dabei, auf Basis von vorhandenen Trainingsdaten (hier: blaue und rote Punkte) neue Datenpunkte auf Basis ihrer Merkmalsausprägungen (hier: x- und y-Position) einer Kategorie (hier: blau oder rot) zuzuordnen. Dies tun sie besonders effektiv, indem sie bei der Entscheidung nur diejenigen Trainingsdatenpunkte berücksichtigen, die in der Nähe der Entscheidungsgrenze (decision boundary) liegen. Diese Punkte werden Stützvektoren (support vectors) genannt.
Support Vector Machines gibt es in der klassischen linearen Form (geradlinige Entscheidungsgrenze) oder in Verbindung mit so genannten Kernel-Funktionen, die auch kurvenförmige Entscheidungsgrenzen erlauben (hier: RBF Kernel, kurz für Radial Basis Function Kernel).
Was kann ich tun?
Anleitung
Sie können Datenpunkte mit der Maus verschieben, löschen (nach unten links aus dem Bild ziehen) oder neu hinzufügen (Buttons oben rechts). Beobachten Sie dabei, wie sich die Einfärbung der Fläche ändert: Punkten in blauen Bereichen weist die Support Vector Machine (SVM) die Kategorie „blau“, Punkten in orangefarbenen Gebieten die Kategorie „orange“ zu. Mit dem Schieberegler können Sie zwischen einer linearen SVM („Linear Kernel“) und einer SVM mit einem RBF (Radial Basis Function) Kernel wählen. Im ersten Fall versucht die SVM, eine geradlinige Trennung vorzunehmen (klappt nicht immer), im zweiten Fall ist sie deutlich flexibler und packt Punkte gleicher Farbe zu Gruppen zusammen.
ROC-Kurve und Gini-Koeffizient
Die Prognosekraft oder Trennschärfe eines maschinellen Lernverfahrens kann mit der ROC-Kurve und dem daraus abgeleiteten Gini-Koeffizienten gemessen werden.
Handschrifterkennung mit Neuronalen Netzen
Die App visualisiert ein einfaches neuronales Netz – wie es lernt und wie es arbeitet – am Beispiel der Erkennung handgeschriebener Ziffern. Diese können mit der Maus live auf ein einfaches Zeichenfeld bestehend aus 5 x 3 Pixeln geschrieben werden. Die geschriebene Ziffer wird vom neuronalen Netz dabei unmittelbar in die erkannte Ziffer übersetzt. Wie gut das gelingt, hängt davon ab, wie gut das neuronale Netz trainiert ist.
kNN dreidimensional
Der kNN-Algorithmus in drei Dimensionen als „künstlerische“ Darstellung zum Drehen, Zoomen und Verstehen.
Stein, Schere, Papier mit kNN
Der kNN-Algorithmus ist ein einfacher und wirkungsvoller Machine-Learning-Algorithmus für Klassifikations- und Regressionsaufgaben. Hier im Beispiel kann man ihn live erleben, wie er Handpositionen als Stein, Schere oder Papier klassifiziert, nachdem man ihn mit entsprechenden Schnappschüssen trainiert hat.
Naive Bayes
Der Naive-Bayes-Algorithmus ist ein Machine-Learning-Algorithmus. Er wird zum Beispiel in Spam-Filtern von E-Mail-Programmen verwendet. Die VisuApp illustriert die dahinterstehende Logik an einem Beispiel:
Entscheidungsbaum
Entscheidungsbäume sind maschinelle Lernverfahren, die sich durch besonders gute Verständlichkeit auszeichnen, da der Weg vom Input zum Ergebnis Schritt für Schritt nachvollzogen werden kann. In der VisuApp wird ein Entscheidungsbaum auf Basis von Trainingsdaten trainiert und grafisch dargestellt.
Random Forest
Random Forests sind maschinelle Lernverfahren, die auch als „Ensemble-Verfahren“ bezeichnet werden. Hierbei wird statt nur eines einzelnen Entscheidungsbaums eine ganze Gruppe solcher Bäume trainiert („Wald“). Zur Klassifikation einer Eingabe wird diese in jedem Baum ausgewertet. Diejenige Klasse, die am häufigsten gewählt wurde, ist die Ausgabe des Random Forest.
Lineare Regression
Die klassische lineare Regression kann wahrscheinlich als das einfachste maschinelle Lernverfahren betrachtet werden. Jedoch ist das Verfahren auch sehr „starr“ in dem Sinne, dass es nur lineare (d. h. geradlinige) Entscheidungsgrenzen zulässt.
Der kNN-Algorithmus
Der K-Nearest-Neighbours-Algorithmus ist ein einfacher und intuitiver Machine-Learning-Algorithmus, den wir mittels einer interaktiven VisuApp veranschaulichen.