Machine Learning

In diesem Blogpost berichte ich über Machine Learning. Ich bin auf dieses Thema gekommen, indem ich diesen Monat zufälligerweise YouTube Videos zu Machine Learning vorgeschlagen bekommen habe. In diesen Videos ging es mehr dazu, dass man Machine Learning für ein paar Fälle gebraucht hat und es wurde auch ein wenig erklärt, was Machine Learning macht. Ich interessiere mich gerade, mich ein bisschen genauer zu informieren und es in ein Blogpost zu umfassen.

Was ist Machine Learning?

Machine Learning ist grundsätzlich eine Applikation/ Anwendung der künstlichen Intelligenz (KI) (engl. artificial intelligence). Mit Machine Learning haben IT-Systeme die Fähigkeit, automatisch aus Erfahrungen zu lernen und sich zu verbessern, ohne explizit programmiert zu werden. Die Erfahrung, von die man hier redet, wird so interpretiert, dass man durch vorhandene Daten und Algorithmen das Muster und Schema/Struktur/Pattern erkennt und Lösungen dazu entwickelt. Machine Learning konzentriert sich also auf die Entwicklung von Computerprogrammen, die auf Daten zugreifen und diese nutzen können, um für sich selbst zu lernen. 

Der Prozess des Lernens beginnt mit relevante Daten (Beispiele, direkter Erfahrung oder Anweisungen), um nach Muster in den Daten zu suchen und in der Zukunft bessere Entscheidungen auf der grundlage der Beispiele zu treffen, die wir mitgeben. Für die Analyse der Daten und das Erkennen der Muster werden zudem auch Regeln aufgestellt.

Ziel ist es, dass die Computer ohne menschliches Eingreifen oder Hilfe automatisch lernen und zukünftige Ergebnisse vorhersagen können.

Ist dieser Prozess beendet (Daten vorhanden und Regeln definiert), kann man nun mit Machine Learning folgendes machen:  

  • Vorhersagen auf Basis der analysierten Daten treffen
  • Wahrscheinlichkeiten für bestimmte Ereignisse berechnen
  • Sich an Entwicklungen eigenständig anpassen
  • etc.

Verschiedene Arten des Machine Learnings

Die Algorithmen spielen bei Machine Learning eine wichtige Rolle. Sie sind für das erkennen von Muster und das Generieren von Lösungen verantwortlich. Sie werden in verschiedene kategorien eingeteilt.  (ML = Machine Learning)

Überwachtes Lernen

Überwachtes Lernen nutzt bekannte Daten (mit bekannte Input (x) und Output (y)), um daraus Muster und Zusammenhänge zu erkennen. Beim überwachten Lernen wird immer der Zusammenhang zu einer Zielvariable erlernt und versucht diese richtig vorherzusagen. Es gibt also eine Input Variable x und eine Output Variable yy = f(x). Die Ausgabe kann eine Klassifikation (kategorisiert, wie “spam” , “kein spam”, ”krank”, “nicht krank” etc.) oder eine Regression (numerisches Wert, wie “Alter einer Person”) sein. 

Beispiele für überwachtes Lernen:

  • Vorhersage von Stromverbrauch für einen Zeitraum X
  • Risikobewertung von Investitionen
  • Ist E-Mail Spam oder nicht

Unüberwachtes Lernen

Beim unüberwachtes Lernen bekommt der Algorithmus keine Beispieldaten wie beim überwachtes Lernen. Das Ergebnis steht also nicht von Anfang an fest. Stattdessen werden Daten mitgegeben, aus denen der Algorithmus eigenständig interessante, versteckte Gruppen und Muster erkennen soll. Es wird also nur die Input Variable x mitgegeben, aber keine Output Variable y.

Techniken für unüberwachtes Lernen können auch gruppiert werden in

  • Clustering: Es werden Daten nach einem Ähnlichkeitsmass in “Cluster” getrennt. “Kunden werden verschieden in Clusters getrennt, je nachdem was sie häufig einkaufen”
  • Association: Wird verwendet um interessante Regeln und Zusammenhänge zu finden, die in grossen Datensätzen vorkommen. Wer den Sportart X mag, interessiert sich auch für Sportart Y.

Verstärkendes Lernen

Verstärkendes Lernen ist eine besondere Form des Machine Learning. Im Gegensatz zu Überwachtes und Unüberwachtes Lernen, werden hier vorab keine Daten benötigt. Stattdessen werden diese in einer Simulationsumgebung in vielen Durchläufen mit Trial&Error während des Trainings generiert und gelabelt. Es geht also darum, durch Interaktionen mit einer Umgebung zu lernen. Wie ein Mensch muss auch die Maschine verschiedene Kausalitäten beobachten und davon lernen, um in Zukunft unbekannte Probleme zu lösen. Dem Algorithmus wird auch nicht gezeigt, welche Aktion oder Handlung in welcher Situation die richtige ist, sondern es erhält ein positives oder negatives Feedback.