Machine Learning – Wie wir Maschinen das Lernen beibringen!

 

Der Begriff “Machine Learning” ist eine Unterkategorie der  Künstlichen Intelligenz (KI oder english AI), das Algorithmen aufbaut, die es Computern ermöglicht, Aufgaben aus Daten zu ermitteln, anstatt explizit programmiert zu werden.

Noch einmal! Wir können tatsächlich Maschinen beibringen, Dinge zu tun!
Das erste Mal, als ich das vor einigen Jahren hörte, verschlug es mir die Sprache. Das bedeutet im Klartext, dass wir Computer einmalig programmieren können, um Dinge dauerhaft selbstständig zu lernen!

Die Fähigkeit des Lernens ist einer der wichtigsten Aspekte der Intelligenz. Übersetzen wir diese Macht auf Maschinen, ist das ein großer Schritt, um sie intelligenter zu machen. Und in der Tat ist “Machine Learning” der Bereich in der KI, der aktuell die größten und aufregendsten Fortschritte in der Künstlichen Intelligenz macht.

Dieser Beitrag soll versuchen, einem Einsteiger eine kurze Einführung in Machine Learning zu geben. Ein allgemeiner Überblick über die wichtigsten Konzepte, Anwendungen und Herausforderungen bei der Arbeit mit Machine Learning.

Die Wahrheit über Mashine Learning

Okay, nicht alles ist so schön wie es klingt, Machine Learning hat auch seine Grenzen. Wir können noch keine intelligenten Maschinen wie “Data” von Star Trek oder “Hal 9000” von 2001 eine Space Odyssey bauen. Allerdings haben wir viele Beispiele für reale Anwendungen, bei denen Machine Learning verblüffende Arbeit leistet.. Es folgen einige der häufigsten Kategorien praktischer Anwendungen:

Bildverarbeitung (Image Processing)

Bei der Bildverarbeitung müssen Bilder analysiert werden um Daten zu erhalten oder eventuell Veränderungen herbeizuführen.
Einige Beispiele:

  • Bildmarkierung (Image tagging):
    Wie in Facebook, wenn der Algorithmus automatisch erkennt, dass dein Gesicht oder das Gesicht eines Freunde in einem Foto erscheint. Grundsätzlich lernt ein Lernalgorithmus von den Fotos, die du manuell markiert werden.
  • Optische Zeichenerkennung (Optical Character Recognition) (OCR):
    Wenn Algorithmen lernen, ein Manuskript oder gescanntes Textdokument in eine digitale Version zu verwandeln. Der Algorithmus muss lernen, ein Bild eines geschriebenen Zeichens in den entsprechenden digitalen Buchstaben zu verwandeln.
  • Selbstfahrende Autos:
    Ein Teil der Mechanismen, die Autos erlauben, selbst zu fahren, verwenden Bildverarbeitung. Ein Maschine Lernalgorithmus lernt, wo der Rand der Straße ist, wenn es ein Stoppschild gibt oder ein Auto sich nähert, indem es jeden Rahmen betrachtet, der von einer Videokamera aufgenommen wird.

Wie so etwas aussieht haben wir für unser Projekt “Computer Vision” gebaut und so sieht das ganze aus:

Erkennung des Fahrbahnrandes:

Erkennung von Schnee & Regen:

Text Analyse

Textanalyse ist ein Prozess, bei dem Informationen aus einem Text wie z.B.  Tweets, E-Mails, Chats, Dokumente usw. extrahiert und klassifizieren wird.  Einige populäre Beispiele sind:

  • Spam filtering
    Eine der bekanntesten und meist benutzten Textklassifizierungsanwendungen. Intelligente Spam-Filter, lernen  eine E-Mail als Spam je nach Inhalt und Thema zu klassifizieren.
  • Sentimentanalyse
    Ein anderes Anwendungsbeispiel der Textklassifikation ist das lernen eines Algorithmus, eine Meinung als positiv, neutral oder negativ zu klassifizieren, abhängig von der Stimmung des Verfassers.
  • Informationsextraktion
    Aus einem Text, lernen, eine bestimmte Information oder Daten zu extrahieren, zum Beispiel, Extrahieren von Adressen, Entitäten, Schlüsselwörtern usw.

Data Mining

Data Mining ist der Prozess der Entdeckung von Mustern oder Vorhersagen aus Daten. Die Definition ist ein bisschen generisch, aber grundsätzlich kann man sich das als hervorbringen oder extrahieren von nützliche Informationen aus einer riesigen Tabelle einer Datenbank vorstellen.

Jede Zeile dieser Datenbank wäre eine Trainingsinstanz und jede Spalte eine Funktion.  Nun könnte man beispielsweise eine neue Spalte in dieser Tabelle auf der Grundlage der restlichen Spalten vorhersagen  oder Muster erkennen, um die Zeilen zu gruppieren. Beispiele:

  • Anomalie-Erkennung:
    Erkennung von Sonderfällen, z. B. bei der Erkennung von Kreditkartenbetrug, kann erkannt werden, welche Transaktionen Ausreißer aus dem üblichen Einkaufsmuster eines Benutzers darstellen.
  • Assoziationsregeln:
    Zum Beispiel können in einem Supermarkt oder bei E-Commerce- Shops Kaufgewohnheiten erkannt werden indem man sich anschaut, welche Produkte zusammen gekauft werden. Diese Informationen können für Marketingzwecke verwendet werden.
  • Gruppierung:
    Zum Beispiel können bei einer SaaS-Plattform Gruppenbenutzer nach ihrem Verhalten oder ihrem Profil gruppiert werden.
  • Vorhersagen:
    Vorhersage einer Variablen (Spalte in einer Datenbank) aus dem Rest der Variablen. Zum Beispiel könnten man den Kredit-Score eines neuen Kunden einer Bank auf Basis der gelernten Profile anderer aktueller Kunden vorhersagen.

Ok Super, Ich habe verstanden was Mashine Learning ist aber wie funktioniert das genau?

Eines der ersten Bücher über das Thema habe ich vor vielen Jahren gelesen es heisst: Machine Learning von Tom Mitchell. Das Buch ist von 1997 aber das Konzept ist bis heute aktuell.

Aus diesem Buch kommt eine bekannte Definition:

Ein Computerprogramm soll lernen, eine Aufgabe T aus Erfahrung E durchzuführen, wenn seine Leistung bei Aufgabe T, gemessen durch eine Leistungsmetrik P, mit der Erfahrung E im Laufe der Zeit verbessert wird.

Zum Beispiel könnte eine künstliche Intelligenz die Schach spielen muss (Aufgabe T), durch das Betrachten früherer Schachspiele oder das Spielen gegen einen Tutor (Erfahrung E) lernen. Die Leistung P kann gemessen werden, indem man den Prozentsatz der gewonnenen Spiele gegen einen Menschen zählt.

Einige weitere Beispiele:

  • Beispiel 1:
    Ein System, das ein Bild bekommt, muss erkennen, wenn Donald Trumps Gesicht in diesem Bild vorkommt.
  • Beispiel 2:
    Ein System, dass einen Tweet ließt, muss erkennen ob der Verfasser gut oder schlecht gelaunt ist.

In Beispiel 1 ist die Aufgabe zu erkennen, wann Donald Trumps Gesicht in einem Bild erscheint. Die Erfahrung könnte ein Satz von Bildern sein, in denen Donald Trumps Gesicht erscheint und andere, wo es nicht erscheint. Die Leistung könnte als der Prozentsatz der neuen Bilder gemessen werden, die unser System korrekt markiert.

In Beispiel 2 ist die Aufgabe, das Gefühl eines Tweets zuzuordnen. Die Erfahrung könnte ein Satz Tweets und ihre entsprechende Stimmung sein. Die Leistung könnte als der Prozentsatz der neuen Tweets gemessen werden, die unser System korrekt klassifiziert.

Um dem Algorithmus zu erlauben, die Eingabe in die gewünschte Ausgabe zu verwandeln, muss man die sogenannten Trainingsinstanzen oder Trainingsbeispiele angeben, die in der Definition von Mitchell als Erfahrung E definiert sind. Ein Trainings-Set ist ein Satz von Instanzen, Arbeit als Beispiele, aus denen der Machine Learning Algorithmus lernen wird, die gewünschte Aufgabe durchzuführen. Ziemlich intuitiv, nicht wahr? Es ist so, als wenn du einem kleinen Baby zeigst, wie du einen Ball wirfst. Du wirst  den Ball ein paar Mal werfen, um ihm zu zeigen, wie es geht, und indem er diese Beispiele ansieht, beginnt er zu lernen, es selbst zu machen.

Jede Trainingsinstanz wird in der Regel als fester Satz von Attributen oder Merkmalen dargestellt. Die Features sind die Möglichkeit, jede Instanz zu charakterisieren. Beispielsweise könnte in Beispiel 1 ein Bild durch den Graupegel jedes seiner Pixel charakterisiert werden. In Beispiel 2 könnte ein Tweet durch die Worte charakterisiert werden, die im Tweet erscheinen u.s.w.
Die Berechnung und Auswahl der richtigen Funktionen, um eine Instanz zu repräsentieren, ist eine der wichtigsten Aufgaben bei der Arbeit mit Machine Learning.

Wir werden uns diesen Punkt später in diesem Beitrag anschauen.

Kategorien von Machine Learning Algorithmen

An diesem Punkt müssen wir über zwei allgemeine Kategorien von Machine Learning Algorithmen sprechen: Überwachtes Lernen oder Unüberwachten Lernalgorithmen. Der Hauptunterschied zwischen beiden Ansätzen liegt in der Art, wie wir Trainingsbeispiele in unseren Algorithmus füttern, wie der Algorithmus sie benutzt und welche Art von Problemen sie lösen.

Überwachtes lernen

Im Falle des überwachten Lernens kann der Machine Learning-Algorithmus als ein Prozess gesehen werden, der eine bestimmte Eingabe in eine gewünschte Ausgabe umwandeln muss.
Der Mashine Learning Prozess muss dann lernen, wie man jeden möglichen Eingang in den richtigen / gewünschten Ausgang verwandelt, so dass jedes Trainingsbeispiel die jeweilige Eingabe und die gewünschte Ausgabe hat.
Im Beispiel des künstlichen Schachspielers wäre unser Eingang ein besonderer Schachbrettzustand und die Produktion wäre die bestmögliche Bewegung in dieser Situation.

Unüberwachtes Lernen

Es gibt eine zweite Kategorie von Machine Learning Algorithmen genannt unbeaufsichtigtes Lernen. In diesem Fall müssen die Trainingsbeispiele nur die Eingabe zum Algorithmus sein, aber nicht die gewünschte Ausgabe. Der typische Anwendungsfall besteht darin, die verborgene Struktur und die Beziehungen zwischen den Trainingsbeispielen zu entdecken. Ein typisches Beispiel sind Clustering-Algorithmen, bei denen wir lernen, ähnliche Instanzen oder Gruppen von Instanzen (Cluster) zu finden. E. g .: wir haben einen Newsartikel und wir wollen andere ähnliche Artiekel empfehlen.

Machine Learning Algorithmen

Ok, jetzt kommt Mathematik und Logik zum tragen. Um einen Eingang in eine gewünschte Ausgabe umzuwandeln, können wir verschiedene Modelle verwenden. Mashine Learning ist nicht eine einzigartige Art von Algorithmus, vielleicht haben Sie über Support Vector Machines, Naive Bayes, Entscheidungsbäume oder Deep Learning gehört. Das sind verschiedeneMashine-Learning-Algorithmen, die versuchen, das gleiche Problem zu lösen: Lernen Sie, jeden Eingang in die richtige Ausgabe umzuwandeln.

Diese verschiedenen Machine Learning Algorithmen verwenden unterschiedliche Paradigmen oder Techniken für den Lernprozess und stellen das Wissen dar, dass sie gelernt haben.

Aber bevor wir voran gehen und über jeden Algorithmus reden, ist ein gemeinsames Prinzip aller Algorithmen, dass sie versuchen, Verallgemeinerungen zu machen. Das heißt, sie versuchen, etwas mit der einfachsten Theorie zu erklären, ein Prinzip, das als das Unfall-Rasiermesser bekannt ist. JederMashine-Learning-Algorithmus, unabhängig von dem Paradigma, das es nutzt, wird versuchen, die einfachste Hypothese zu schaffen (diejenige, die die wenigsten Annahmen macht), die die meisten Trainingsbeispiele erklärt.

Hier sind drei der beliebtesten Mashine-Learning-Algorithmen:

  • Support Vector Machines:
    Das Modell versucht, einen Satz von Hyperebenen in einem hochdimensionalen Raum zu erstellen, der versucht, Instanzen verschiedener Klassen zu trennen, indem man die größte Trennung zwischen den nächsten Instanzen aus verschiedenen Klassen erhält. Das Konzept ist intuitiv einfach, aber das Modell kann sehr komplex und leistungsstark sein. In der Tat, für einige Domains ist es einer der besten Machine Learning Algorithmen, die man heute verwenden kann.
  • Probabilistic Models:
    Diese Modelle versuchen in der Regel, die richtige Antwort vorherzusagen, indem sie das Problem mit einer Wahrscheinlichkeitsverteilung modellieren. Einer ihrer Vorteile ist neben einem einfachen, aber leistungsstarken Modell, dass sie nicht nur die Vorhersage, sondern auch den Grad der Sicherheit, die sehr nützlich sein kann, zurückgeben.
  • Deep Learning:
    Ist ein neuer Trend im Machine Learning auf der Basis der bekannten Künstlichen Neuronalen Netzwerkmodelle. Neuronale Netze haben einen verbindenden Ansatz, sie versuchen die Art und Weise zu emulieren wie das Gehirn funktioniert. Grundsätzlich bestehen sie aus einem riesigen Satz von miteinander verbundenen Neuronen (die grundlegende Einheit der Verarbeitung), organisiert in verschiedenen Schichten. Hier mehr zu dem Thema Deep Learning

Wichtige Aspekte beim Umgang mit Mashine Learning

Machine Learning klingt nach einem wundervollen Konzept und so ist es auch, ABER es sind auf jeden Fall Prozesse involviert, die nicht voll automatisch funktionieren. Viele manuelle Schritte sind nötig um eine Lösung zu bauen. Dennoch sind sie von großer Bedeutung, um anständige Ergebnisse zu erzielen.

Finale Worte

Das war ein kurzer Überblick darüber, wie Machine Learning funktioniert.
Es gibt viele spannende und reale Anwendungen, die ich hier nicht aufgreifen werde. Es gibt noch viele andere Mashine Lerning Algorithmen und Konzepte aber das würde den Rahmen sprengen und es gibt sehr viel zu Lesen im Netz.
Mashine Lerning ist tough und ein sehr mächtiges Werkzeug und die Schwierigkeiten und Aspekte, die in diesem Beitrag zu berücksichtigen sind, sind nur die Spitze des Eisbergs.

Ein gewisser Hintergrund in der Informatik und Mathematik  insbesondere ist absolut erforderlich, um anständige Ergebnisse zu erzielen.

Wir von AppMonkeys beschäftigen uns seit nun über 4 Jahren mit dem Thema und bauen auch speziell Lösungen für Unternehmen.

Sollten wir Ihr Interesse geweckt haben, würden wir uns freuen Sie zu diesem speziellen Thema beraten zu dürfen.

Ihr Team von AppMonkeys

Summary
MACHINE LEARNING – WIE WIR MASCHINEN DAS LERNEN BEIBRINGEN!
Article Name
MACHINE LEARNING – WIE WIR MASCHINEN DAS LERNEN BEIBRINGEN!
Description
Der Begriff “Machine Learning” ist eine Unterkategorie der Künstlichen Intelligenz (KI oder english AI), das Algorithmen aufbaut, die es Computern ermöglicht, Aufgaben aus Daten zu ermitteln, anstatt explizit programmiert zu werden. Noch einmal! Wir können tatsächlich Maschinen beibringen, Dinge zu tun! Das erste Mal, als ich das vor einigen Jahren hörte, verschlug es mir die Sprache. Das bedeutet im Klartext, dass wir Computer einmalig programmieren können, um Dinge dauerhaft selbstständig zu lernen! Die Fähigkeit des Lernens ist einer der wichtigsten Aspekte der Intelligenz. Übersetzen wir diese Macht auf Maschinen, ist das ein großer Schritt, um sie intelligenter zu machen. Und in der Tat ist “Machine Learning” der Bereich in der KI, der aktuell die größten und aufregendsten Fortschritte in der Künstlichen Intelligenz macht. Dieser Beitrag soll versuchen, einem Einsteiger eine kurze Einführung in Machine Learning zu geben. Ein allgemeiner Überblick über die wichtigsten Konzepte, Anwendungen und Herausforderungen bei der Arbeit mit Machine Learning.
Author
Publisher Name
AppMonkeys
Publisher Logo