Erste Schritte zur Einarbeitung in Machine Learning

einstieg in machine learning

Bei Google ist Machine Learning eine immer wichtigere Methode zur Verbesserung der User Experience und Entwicklung ganz neuartiger Funktionen. Letztes Jahr hat der Technologie-Konzern wichtige Teile seiner Lösungen zur Erstellung von Deep Learning Ansätzen in dem Produkt TensorFlow für jeden frei zugänglich gemacht. Dies war ein Schritt, um die Entwicklung im Bereich der künstlichen Intelligenz vorzutreiben.

Ein weiterer Schritt ist das Lehren dieser neuen Technologie. Dazu gibt es bei Youtube nun eine Reihe von Videos, die Deep Learning für Jedermann erklären sollen und anhand einfacher Beispiele näherbringen. Josh Gordon, ein Google Experte aus dem Bereich des maschinellen Lernens, zeigt in kurzen Videos, wie man einen Einstieg in die Materie der Big Data Verarbeitung findet.

Google Videos zur Einarbeitung in Machine Learning

Lektion 1: Kurzer Überblick und das erste ML Programm „Hello World“

Hier erklärt Josh an einem einfachen Problem, wann Machine Learning sinnvoll ist und wieso sie herkömmlichen (handgemachten) Algorithmen überlegen sein kann. Es wird hier ein Classifier diskutiert, der z.B. einen Apfel von einer Orange unterscheiden kann oder eine Spam-Mail von einer Nicht-Spam-Mail differenziert.

Als Entwicklungstool wird scikit learn in einer Anaconda-Umgebung empfohlen. Auf die Installation wird dabei nicht eingegangen – das geht nicht ganz so schnell, wie im Video erwähnt 😉

Lektion 2: Visualisierung eines Entscheidungsbaums – Vorreiter eines neuronalen Netzes

Um in das Thema Machine Learning mittels neuronalen Netzen einzusteigen, erklärt Josh die Grundlagen von lernenden Algorithmen anhand eines einfachen Entscheidungsbaums, mit dem sich jeder Rechen- und Entscheidungsschritt nachvollziehen lassen kann. In einem neuronalen Netzwerk ist dies definitiv nicht mehr der Fall – man bekommt die richtigen Ergebnisse, weiß aber gar nicht, was die Maschine im einzelnen eigentlich rechnet.

Als Problem wird die Klassifizierung von unterschiedlichen Blüten mittels des Iris Data Set anhand 4 Eigenschaften diskutiert. Dieses Beispiel ist bei scikit learn bereits enthalten und lässt sich somit einfach implementieren.

Es wird auf die Aufteilung der Daten in „Training Data“ – die Daten, mit denen das Algorithmus angelernt wird – und „Testing Data“ – die Daten, mit denen der Algorithmus bewertet wird – eingegangen.

Lektion 3: Identifikation von sinnvollen System-Eigenschaften – Grundlage für effektive Lern-Algorithmen

Für jedes Deep Learning Problem ist die Auswahl der richtigen Daten das A und O. Wenn die Daten nicht passen, wird die Lösung nicht das liefern, was tatsächlich erwartet wird.

In diesem Video erklärt Josh auf einfache Art und Weise, wie die richtigen Eigenschaften erkannt werden und welche Fehler dabei gemacht werden können. Mit wenigen Zeilen Code visualisiert Josh anhand einiger Diagramme wichtige Erkenntnisse über diesen Prozessschritt zum Entwickeln von Machine Learning Algorithmen.

Wichtigste Erkenntnisse: die Eigenschaften der Daten sollten …

  • Hohen Informationsgrad haben,
  • unabhängig von einander und
  • einfach zu verstehen sein.

Lektion 4: Erste Umsetzung eines Supervision-Learning Ansatzes

Jetzt wird es ernst: die erste Umsetzung einer Supervision-Learning Lösung. Das Problem: Immer noch das Klassifizieren von Blüten anhand 4 Eigenschaften (siehe Lektion 2).

In diesem Video wird neben der Darstellung der Umsetzung auch das Ergebnis dieser bewertet: Wie gut ist der Algorithmus tatsächlich?

Josh geht am Ende des Videos auf den Lernprozess selbst ein und erklärt den Classifier zunächst anhand eines einfachen mathematischen Zusammenhangs. Anschließend zeigt er, wie man mit dem Tool TensoFlow Playground das eigene Verständnis für diese neue Technologie erweitern kann: einfach durch Ausprobieren!

Lektion 5: Erstellung eines ersten Klassifizieres

Lektion 6: Trainieren einer Bild-Klassifizierung mit „TensorFlow for Poets“

Kommentar verfassen

%d Bloggern gefällt das: