Machine Learning

Machine Learning

Machine Learning (auf Deutsch: maschinelles Lernen) ist ein Teilgebiet der Künstlichen Intelligenz. Statt Modelle zu entwerfen und diese mithilfe statistischer Algorithmen durchzutesten, werden Modelle anhand von Beispielen gelernt. Es findet eine künstliche Erzeugung von Wissen statt. Das System ist nach der Lernphase in der Lage, die Beispiele zu verallgemeinern und auf unbekannte Daten anzuwenden. Aber auch beim maschinellen Lernen werden teilweise statistische Methoden eingesetzt.

Die Algorithmen des Machine Learning lassen sich in drei Gruppen einteilen:

  • Überwachtes Lernen
    Hier lernt ein System anhand von Beispielen. Man hat eine Menge an Datensätzen mit vielen Beobachtungen. Der Algorithmus lernt eine Funktion aus gegebenen Paaren von Ein- und Ausgaben. Dabei stellt während des Lernens zunächst ein Mensch den korrekten Funktionswert zu einer Eingabe bereit. Ziel beim überwachten Lernen ist es, dass dem System nach mehreren Rechengängen mit unterschiedlichen Ein- und Ausgaben die Fähigkeit antrainiert wird, Assoziationen herzustellen. Ein Teilgebiet des überwachten Lernens sind automatische Klassifikationsverfahren. Ein Anwendungsbeispiel ist die automatische Handschrifterkennung.
  • Bestärkendes Lernen
    Genaugenommen ist das bestärkende Lernen eine Unterkategorie des überwachten Lernens. Der Algorithmus lernt hier durch Belohnung und Bestrafung eine Taktik, wie in potenziell auftretenden Situationen zu handeln ist, um den Nutzen zu maximieren. Bestärkendes Lernen wird of bei Spielen eingesetzt, der Algorithmus lernt hier, ein Spiel zu gewinnen.
  • Unüberwachtes Lernen
    Der Algorithmus erzeugt hier für eine vorgegebene Menge von Eingaben ein statistisches Modell, das die Eingaben beschreibt und erkannte Kategorien und Zusammenhänge enthält und somit Vorhersagen ermöglicht. Dabei werden Clustering-Verfahren genutzt, die die Daten in mehrere Kategorien einteilen, die sich durch charakteristische Muster voneinander unterscheiden. Das System erstellt somit selbständig ein Klassifikationsverfahren, nach denen es die Eingabemuster einteilt.

Klassifikationsmodelle

Klassifikationsverfahren spielen eine wichtige Rolle beim maschinellen Lernen. Es werden daher einige dieser Modelle hier kurz vorgestellt:

  • k-Nearest-Neighbour-Algorithmus
    Der k-Nearest-Neighbor-Algorithmus ist ein Klassifikationsverfahren, bei dem eine Klassenzuordnung unter Berücksichtigung seiner k nächsten Nachbarn vorgenommen wird. Der Teil des Lernens besteht aus simplem Abspeichern der Trainingsbeispiele. Die Klassifikation eines Objekts erfolgt im einfachsten Fall durch Mehrheitsentscheidung. An der Mehrheitsentscheidung beteiligen sich die k nächsten bereits klassifizierten Objekte.
  • Support Vector Machines
    Eine Support Vector Machine unterteilt eine Menge von Objekten so in Klassen, dass um die Klassengrenzen herum ein möglichst breiter Bereich frei von Objekten bleibt. Support Vector Machines sind Verfahren für überwachtes Lernen, die hauptsächlich für binäre Klassifizierungen verwendet werden.
  • Entscheidungsbäume
    Entscheidungsbäume basieren auf einer Reihe von Entscheidungen, mit denen die Charakteristika einer Beobachtung festgelegt wird. Jeder Knoten im Baum entspricht der Beobachtung eines Merkmals (z.B. das Geschlecht einer Person), das in Kategorien eingeteilt werden kann (z.B. weiblich, männlich). Nachdem die Charakteristika eines Objekts bekannt sind und der Entscheidungsbaum durchlaufen wurde, steht am Ende die Gruppe fest, der das Objekt zugeordnet wird.

Ensemble Learning

Ensemblemethoden werden für Machine Learning eingesetzt und nutzen eine Menge (ein Ensemble) von verschiedenen Lernalgorithmen, um bessere Ergebnisse zu erhalten als mit einem einzelnen Lernalgorithmus. Oft wird jeder einzelne Lernalgorithmus nur anhand eines Teils der gesamten Trainingsdaten eingeübt. Das sich daraus ergebende Gesamtverfahren wendet alle einzelnen Lernalgorithmen an und verarbeitet ihre Einzelstimmen zu einem Gesamtergebnis. Ensemblemethoden zeichnen sich insbesondere durch ihre Robustheit und ein sehr gutes Generalisierungsverhalten zu neuen Daten aus.

Die folgenden beiden Ensemblemethoden sind von großer Bedeutung für das maschinelle Lernen:

  • Random Forest
    Ein Random Forest ist ein Klassifikationsverfahren, das aus mehreren Entscheidungsbäumen besteht. Alle Entscheidungsbäume sind unter einer bestimmten Art von Randomisierung während des Lernprozesses entstanden. Für eine Klassifikation darf jeder Baum in diesem Wald eine Entscheidung treffen und die Gruppe mit den meisten Stimmen entscheidet über die die endgültige Klassifikation.
  • Neuronales Netz
    Ein künstliches neuronales Netz ist eine Ansammlung von einzelnen Informationsverarbeitungseinheiten (Neuronen), die in einer Netzarchitektur angeordnet sind. Die Neuronen eines künstlichen neuronalen Netzes sind in Schichten angeordnet und miteinander verbunden. Zwischen den Schichten ist jedes Neuron der einen Schicht mit allen Neuronen der nächsten Schicht verbunden. Eingangssignale werden von den Neuronen am Anfang der Eingangsschicht aufgenommen und gewichtet an die Neuronen der nächsten Schicht weitergegeben. Dieses Prinzip setzt sich über alle Schichten fort. Die Ausgabeschicht stellt den Endpunkt des Informationsflusses dar und enthält das Ergebnis der Informationsverarbeitung durch das künstliche neuronale Netz.
Deep Learning

Deep Learning

Deep Learning bezeichnet die Methode des maschinellen Lernens, die künstliche neuronale Netze mit zahlreichen Zwischenschichten zwischen Eingabe- und Ausgabeschicht einsetzt. Somit ist Deep Learning ein neuer Begriff für künstliche neuronale Netze. Mit Deep Learning werden Computer in die Lage versetzt, selbstständig und ohne menschliches Zutun ihre Fähigkeiten zu verbessern.

Das wird erreicht, indem aus vorhandenen Daten und Informationen Muster extrahiert und klassifiziert werden. Die gewonnenen Erkenntnisse lassen sich wiederum mit Daten korrelieren und in einem weiteren Kontext verknüpfen. Damit ist der Computer fähig, Entscheidungen auf Basis der Verknüpfungen zu treffen. Durch Überprüfung der Entscheidungen erhalten die Informationsverknüpfungen in dem künstlichen neuronalen Netz Gewichtungen. Bestätigen sich Entscheidungen, erhöht sich deren Gewichtung, werden sie revidiert, verringert sich die Gewichtung. Die Zwischenschichten und deren Verknüpfungen legen letztendlich den Output fest.

Deep Learning ist besonders gut geeignet, um große Datenmengen nach Mustern zu untersuchen. Deep Learning wird daher häufig für die Gesichts-, Objekt- oder Spracherkennung eingesetzt. Deep Learning wird für das autonome Fahren genutzt und zur Prognose des Kundenverhaltens verwendet.

Es gibt verschiedene Deep Learning Programmbibliotheken, die im Rahmen der Softwareentwicklung eingesetzt werden können. TensorFlow von Google ist eine der bekanntesten Programmbibliotheken und steht unter anderem für die Programmiersprachen C++ und Python zur Verfügung.