MASCHINELLES LERNEN VISUALISIERT

Handschrifterkennung mit neuronalem Netz

Die Grundlagen

Kurz erklärt

 

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.

Das Training erfolgt in der App ebenfalls live in Form von iterativen Lernzykeln. In diesen wird sukzessive der Gesamtfehler verringert, der sich aus dem Vergleich der zehn Trainingsziffern in Pixeldarstellung und der zugehörigen erkannten Ziffer ergibt. Hierbei wird das sogenannte Gradientenverfahren verwendet, welches die Parameter des neuronalen Netzes in jedem Schritt so anpasst, dass der verbleibende Gesamtfehler in jedem Schritt möglichst stark verringert wird („Schritt in Richtung des steilsten Abstiegs im Fehlergebirge“).  Das Gradientenverfahren wird effizient durch den „Backpropagation-Algorithmus“ umgesetzt, ein fast magisches Konzept, welches die Leistungsfähigkeit neuronaler Netze begründet.

Was kann ich tun?

Anleitung

 

Sie können hier vieles tun – müssen aber nicht. Zunächst können Sie beobachten, wie das neuronale Netz lernt. Während die Anzahl der Lernzykeln (learning cycles) hochzählt, verringert sich der Gesamtfehler (error), den das Netz bei seinen Vorhersagen macht, immer weiter. Dadurch erhöht sich allmählich die Ziffernerkennungsleistung des Netzes. Sie können diese testen, indem Sie ins Zeichenfeld links mit der Maus eine Ziffer schreiben (rot auf blauem Hintergrund) und beobachten, welche Ziffer das Netz erkennt (blaues Feld rechts). Die gesamthafte Erkennungsleistung des Netzes können Sie auch anhand der tabellarischen Balkendarstellung unten verfolgen: das Netz ist umso bessert trainiert, je größer die Balken in der Diagonale und je kleiner alle anderen Balken sind. Die Lerngeschwindigkeit kann durch die Learning Rate eingestellt werden, die der Schrittweite im Gradientenverfahren in Richtung des stärksten Abstiegs im Fehlergebirge entspricht. Aber Vorsicht: zu große Learning Rates können zu Instabilitäten („Zittern“) führen.

Sie können verfolgen, wie sich die Gewichtungen der einzelnen Verbindungen zwischen den Neuronen über den Trainingsprozess herausbilden: von sehr negativ (blau) über Null (transparent) bis zu stark positiv (rot). Sie können dies weiter untersuchen, wenn Sie die Maus über die einzelnen Neuronen bewegen.

Sie können zudem verschiedene Formen neuronaler Netze ausprobieren, in dem Sie im Bereich „Einstellungen“ die Anzahl der „hidden layers“, also der Schichten zwischen Eingabeschicht (ganz links) und der Ausgabeschicht (ganz rechts) und deren jeweilige Neuronenanzahl verändern. Dabei beginnt der Lernprozess nach jeder Anpassung von vorn.

ROC-Kurve und Gini-Koeffizient

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.

mehr lesen
Stein, Schere, Papier mit kNN

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.

mehr lesen
Naive Bayes

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:

mehr lesen
Entscheidungsbaum

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.

mehr lesen
Random Forest

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.

mehr lesen
Lineare Regression

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.

mehr lesen
Der kNN-Algorithmus

Der kNN-Algorithmus

Der K-Nearest-Neighbours-Algorithmus ist ein einfacher und intuitiver Machine-Learning-Algorithmus, den wir mittels einer interaktiven VisuApp veranschaulichen.

mehr lesen
Support Vector Machines

Support Vector Machines

Support Vector Machines stellen eine der leistungsfähigsten und am weitesten verbreiteten Kategorien von maschinellen Lernverfahren dar.

mehr lesen