MASCHINELLES LERNEN VISUALISIERT
Neuronales Netz
Die Grundlagen
Kurz erklärt
Neuronale Netze sind wohl die berühmt-berüchtigtsten unter den maschinellen Lernverfahren. Hier sehen wir eines in Aktion, wie es auf Basis vorgegebener Datenpunkte (farbige Punkte), insbesondere deren x- und y-Positionen sowie Klassen (Farben), trainiert wird (geht sehr schnell). Anschließend teilt es die Fläche in blaue und rote Bereiche ein. Neue Datenpunkte würden somit je nach Position die entsprechende Farbe erhalten (Klassifizierung). Das neuronale Netz besteht hier aus drei Schichten: der Input-Schicht, bestehend aus zwei Neuronen (für x- und y-Wert), dem „hidden layer“, dessen Neuronenzahl verändert werden kann, sowie der Output-Schicht, bestehend aus nur einem Neuron. Der Wert des letzteren entscheidet, ob ein Punkt blau oder rot eingefärbt wird.
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). Bei jeder solchen Veränderung wird das neuronale Netz neu trainiert, wodurch sich die Einfärbung der Fläche ändert: (Neuen) Punkten in blauen Bereichen weist das neuronale Netz die Kategorie „blau“, Punkten in roten Gebieten die Kategorie „rot“ zu. Mit dem oberen Schieberegler können Sie einstellen, wie viele Neuronen die mittlere Schicht („hidden layer“) umfasst.
Beachten Sie, dass das Training eines neuronalen Netzes von zufälligen Startwerten für die internen Parameter ausgeht, weswegen die Ergebnisse auch bei gleichbleibenden Trainingsdaten leicht verschieden ausfallen können. Dies erklärt das „Flattern“ der erzeugten Entscheidungsgrenze, wenn ein Punkt für längere Zeit angeklickt wird, da währenddessen das Training immer wieder erneut durchgeführt wird.
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.
Support Vector Machines
Support Vector Machines stellen eine der leistungsfähigsten und am weitesten verbreiteten Kategorien von maschinellen Lernverfahren dar.