MACHINE LEARNING

Machine Learning: Ein Überblick über verschiedene Konzepte und mögliche Anwendungsgebiete

Das Verarbeiten von Daten hat in der Informatik und IT schon immer eine große Rolle gespielt. Klassische Algorithmen sind in den letzten Jahrzehnten dahingehend optimiert worden, möglichst allgemeine so wie auch spezielle Aufgaben zu erledigen und aus Daten Informationen zu extrahieren um diese zu verarbeiten. Doch Datensätze werden immer größer, komplexer und für Entwickler wird es immer schwieriger „Spielregeln“ für einen Algorithmus aufzustellen, damit dieser möglichst optimal arbeitet. Hier kommt Machine Learning ins Spiel: Statt immer komplexere Algorithmen mit einer Reihe von Sonderfällen mühsam zu beschreiben, wird diese Rolle von Machine Learning Algorithmen übernommen.

Spezielle Algorithmen suchen Datensätze nach Mustern ab und stellen auf dieser Grundlage ein Modell (Model) auf. Diesem generierten Modell können dann neue Daten zur Beurteilung gegeben werden. Der essentielle Unterschied zu herkömmlichen Algorithmen ist, dass bei Machine Learning mehr Wert auf die Datensätze gelegt wird, mit denen ein Modell trainiert wird. Daneben spielen die verschiedenen Algorithmen mit denen maschinelles Lernen betrieben wird, natürlich auch eine Rolle und sind ebenfalls entscheidend für die Genauigkeit des Modells. Die Datensätze mit denen man die Algorithmen trainiert spielen also neben den Algorithmen auch eine sehr wichtige Rolle.

In welchen Anwendungen wird Machine Learning bereits genutzt?

Bereits heute wird in alltäglichen Produkten Machine Learning genutzt, um diverse Probleme zu lösen. Unter anderem nutzen Netflix und Amazon Machine Learning um Nutzern Film- und Produktvorschläge zu unterbreiten. Des Weiteren nutzt auch Google Machine Learning um bessere Ergebnisse im Bereich ihrer Suche – im Besonderen ihrer Bildersuche – zu erzielen. Werbung wird mit Hilfe von Machine Learning gezielt geschaltet und mit dem Google Übersetzer präzisere Übersetzungen geliefert. In Google Maps und Street View wird Machine Learning eingesetzt um Informationen aus Bildern zu ziehen und das Kartenmaterial aktuell zu halten.

Ein weiteres bekanntes Beispiel, welches im Machine Learning schon früh genutzt wurde, ist die Spamfilterung von E-Mails. Ein trainiertes Machine Learning Modell kann für ankommende E-Mails entscheiden, ob es sich um eine Spam E-Mail handelt und dementsprechend reagieren. Wie bereits oben angesprochen, wird Machine Learning nicht nur für klassische Datensätze eingesetzt, sondern auch für Medien wie Bilder. Die Analyse von Bildern wird vor allem für die Gesichtserkennung immer wichtiger. Ein Anwendungsbeispiel für Gesichtserkennung sind die sozialen Netzwerke wie Facebook oder Instagram, welche auf hochgeladenen Bildern Nutzer und Orte erkennen und zuordnen können. In den letzten Monaten kamen außerdem Produkte wie Google Home und Alexa von Amazon auf dem Markt, welche Spracherkennung auf der Basis von Machine Learning nutzen.

Machine Learning ist also keinesfalls eine Technologie die nur bestimmte Produkte verbessern kann. Im Gegenteil: Machine Learning ist als Technologie sehr vielfältig und kann auf unterschiedliche Arte und Weisen eingesetzt werden.

Die Parameter rund um ein Machine Learning Modell

Das Ziel von Machine Learning ist es, ein Modell aufzustellen, welches für neue Dateneinträge Vorhersagen bestimmen kann. Dabei wird jedes Attribut in einem Datensatz in zwei Gruppen eingeordnet. Das Label oder auch Target in einem Datensatz besteht aus einem Attribut. Weitere Attribute, welche im Beziehung zum Label stehen, sind Features. Ein Beispiel für einen Datensatz, welche in Label und Features unterteilt werden kann, ist ein Datensatz aus E-Mails, welche als Spam oder kein Spam gekennzeichnet sind. Diese Kennzeichnung ist das Label des Datensatzes. Die restlichen Attribute wie Text der E-Mail, Betreff und E-Mail-Adresse des Senders sind Features. Die Beziehung zwischen Features und Label wird als Funktion beschreiben. Üblicherweise wird in Machine Learning diese Funktion Modell genannt. Mit dem Modell kann wird anhand der Features das Label bestimmt. Ein Modell welches Spam E-Mails erkennen kann, kann dann an Hand von neuer unbekannter E-Mails erkennen, ob es sich um Spam oder keinen Spam handelt. Die Features sind also Eingabewerte für das Modell bzw. der Funktion und das Label ist der Rückgabewert des Modells.

Durch die verschiedenen Parameter einer E-Mail kann ein Machine Learning Modell bestimmen, ob eine E-Mail Spam oder kein Spam ist. Dies ist möglich durch die Generierung des Wissens, welches ein Machine Learning Algorithmus bei dem Erstellen eines Machine Learning Modells aus einem Datensatz gewonnen hat. Das Modell trifft durch sein Wissen gewisse Entscheidungen und kann dementsprechend für eine neue E-Mail sagen, ob sie Spam oder kein Spam ist. So sind unter anderen Absenderadressen von E-Mail mit einer kostenlosen Domain eher Spam als Absenderadressen mit einer kostenpflichtigen Domain. Ein weiteres Indiz wären gewisse Wörterkonstellationen im Betreff, welche die Aufmerksamkeit des Empfängers gewinnen sollen. All diese Indizien kann eine Machine Learning Algorithmus aus einem Datensatz lernen und in einem Modell beschreiben.

Hier wird auch noch einmal der Unterschied zwischen Machine Learning Algorithmen und konventionellen Algorithmen deutlich. Bei der Entwicklung von konventionellen Algorithmen wird eine konkrete Funktion beschrieben. Ein konventioneller Algorithmus ist zum Beispiel ein Sortieralgorithmus*, welcher konkret in ein paar Zeilen Code beschrieben werden kann. Hier können Entwickler nachvollziehen, was der Algorithmus tut, da diese Algorithmen von anderen Menschen geschrieben wurden. Dies ist bei Machine Learning Algorithmen nicht der Fall. Bei Machine Learning Algorithmen wird, anders als bei herkömmlichen Algorithmen, ein Modell auf Basis von vorliegenden Daten durch den Algorithmus erstellt. Die Entscheidungen erfolgen durch das Wissen und die Erfahrung welches das Modell durch die vorherigen Daten gesammelt hat.

Machine_Learning-01

Welche Analyseverfahren gibt es im Machine Learning?

Es gibt drei Hauptkategorien von Problemen, welche versucht werden durch Machine Learning Algorithmen zu lösen.

Zu einem wäre da das Klassifizierungsverfahren (Classification), in dem die Algorithmen versuchen, neuen Datensätzen Kategorien (Labels) zuzuordnen. Die Filterung von Spam E-Mails ist ein Beispiel für ein Klassifizierungsproblem. Entweder ist eine ankommende E-Mail Spam oder sie ist kein Spam. In diesem konkreten Fall wird von binärer Klassifizierung (Binary Classification) gesprochen, da es nur zwei Labels gibt. Das Modell wird per Klassifizierungsverfahren trainiert, indem Datensätzen mit Labels einem passenden Machine Learning Algorithmus übergeben werden. Es gibt viele verschiedene Machine Learning Algorithmen, welche für einen Datensatz besser oder schlechter geeignet sind. Es müssen die Charakteristiken aus einem Datensatz herausgearbeitet werden, (wie z.B. Anzahl der Attribute oder Größe des Datensatzes) , um einen passenden Algorithmus auswählen zu können. Dieser versucht dann eine Beziehung zwischen Features und Labels zu ermittelten und zu beschreiben.

Ein anderes Analyseverfahren (Regression Analysis), bei der versucht wird, eine Beziehung zwischen Features und einer oder mehrere Zielvariablen (Targets) aufzustellen, ist die Regressionsanalyse. Ein populäres Beispiel für die Regressionsanalyse ist die Bestimmung von Immobilienpreisen auf Basis von Features, wie dem Alter des Hauses und der Anzahl der Räume. Für einen neuen Dateneintrag, also für ein neues Haus, würde dann das Modell den Hauspreis approximativ bestimmen. Trainiert wird bei einer Regressionsanalyse wie beim Klassifizierungsverfahren, nur mit dem Unterschied, dass es keine festen Labels gibt, sondern eine oder mehrere Zielvariablen (Targets). Diese sind dann z.B. in numerischer Form (Hauspreis).

Zuletzt wäre da noch die Clusteranalyse (Clustering). Bei der Clusteranalyse wird ein Modell nicht durch einen Datensatz mit Features und Labels trainiert, sondern der Datensatz beinhält nur Features. Der Algorithmus muss dann passende Strukturen in und zwischen den Features entdecken und sogenannten Cluster aufzustellen. Diese bilden dann Kategorien, in die ein neuer Datensatz eingeordnet werden kann.

Welche weiteren technischen Konzepte gibt es im Machine Learning?

Neben den drei genannten Analyseverfahren, gibt es noch weitere interessante Konzepte im Machine Learning. Zum einen wäre da das überwachte Lernen (Supervised Learning) und das passende Gegenstück, das unüberwachte Lernen (Unsupervised Learning).

Beim überwachten Lernen handelt es sich häufig um Klassifizierungs- oder Regressionsverfahren. Der Datensatz, mit dem ein passendes Modell trainiert werden soll, beinhaltet Features und Labels bei einer Klassifizierungsanalyse oder ein Target beim Regressionsverfahren. Im Gegenstück handelt es beim unüberwachten Lernen häufig um Clustering Probleme, da dort die Datensätze ohne passende Labels oder Targets vorliegen. Ein Beispiel für überwachtes Lernen wäre die Filterung von Spam E-Mails, welche als Spam oder kein Spam gekennzeichnet sind. Dagegen wäre die Erkennung bestimmter ungewöhnlicher Verhalten wie zum Beispiel die Erkennung von Cyberangriffen auf ein bestimmtes Netzwerk ein Fall für unüberwachtes Lernen.

Ein Machine Learning Modell kann des Weiteren durch zwei verschiedene Arten trainiert werden. Entweder liegen – wie beim batch learning – alle Daten vor, sodass das Modell sofort mit allen Daten auf einmal trainiert werden kann. Oder aber es liegen nicht alle Daten auf einmal vor und es handelt sich um online learning. Beim online learning wird ein Modell mit kleineren Gruppen von Datensätzen fortlaufend trainiert. Online learning ist nützlich für Modelle die sich über die Zeit verändern und zu denen immer wieder neue Daten vorliegen. Ein Beispiel für online learning ist die Vorhersage von Aktienpreisen. Mit aktuellen Aktienkursen wird das Modell weitertrainiert und somit in seinen Vorhersagen verbessert.

Batch und online learning haben beide Vor- und Nachteile. Je nach Einsatz wird entschieden, ob online learning für eine Machine Learning Modell die richtige Wahl ist, oder ob es genügt, alle paar Wochen oder Monate das Modell neu mit batch learning zu trainieren. Ein sinnvoller Einsatz für online learning sind Situationen, in denen sich jederzeit Datensätze ändern und sich neue Muster in den Datensätzen bilden. Dies wäre unter anderem auf dem Aktienmarkt der Fall. Andersrum ist der Einsatz von batch learning bei einem Datensatz, welcher sich halbjährig aktualisiert, sinnvoller.

Ein weiteres wichtiges Konzept im Machine Learning ist das bestärkende Lernen (Reinforcement Learning). Beim bestärkenden Lernen existiert ein virtueller Agent, welcher die Umgebung beobachtet, Aktionen ausführt und durch sogenannte Belohnungen und Bestrafungen lernt. Dadurch lernt der Agent am besten, welche Strategie die Beste ist, um das angestrebte Ziel zu erreichen.

Ein populäres Beispiel für eine Anwendung von bestärkenden Lernen ist Alpha Go. Alpha Go ist ein vom Google Tochterunternehmen Deepmind entwickeltes Computerprogramm, welches darauf ausgelegt ist das Brettspiel Go zu meistern. Bei dem Brettspiel Go wird auf einem 19 mal 19 Spielfeld gespielt, in das abwechselnd weiße und schwarze Steine gelegt werden. Das Ziel des Spiels ist es, ein größeres Gebiet zu beherrschen als der Gegenspieler. Auf Grund der einfachen Spielregeln und des großen Spielfeldes, gibt es in Go mehr Stellungen auf dem Brett als Atome im Universum. Dadurch ist Go viel intuitiver und komplexer als beispielsweise Schach. Alpha Go lernet aus Spielpartien mit menschlichen Gegenspielern, als auch aus Spielen gegen sich selbst und konnte damit im März 2016 gegen den Südkoreaner Lee Sedol gewinnen, welcher als einer der weltbesten Spieler in Go angesehen wird.

Was ist Deep Learning?

Neben bestärkenden Lernen wurden auch künstliche neuronale Netze eingesetzt, um Go zu meistern. Durch neuronale Netze (Deep Learning) lernt der Computer Aufgaben intuitiv zu lösen, was gerade bei Go extrem wichtig ist. Aber auch bei Spracherkennung und Gesichtserkennung werden neuronale Netze einsetzt um Muster und Sprache zu erkennen.

Aufgebaut ist jedes neuronale Netz durch drei stark verbundene hierarchische Schichten (Layer). In der ersten Schicht (Input Layer) werden die Features und weitere Rohdaten wie Bilder eingegeben. Diese Daten werden in die zweite Schicht weitergeleitet (Hidden Layer) und dort verarbeitet. Die zweite Schicht besteht meist wiederum aus mehreren Schichten. Von dort aus wird das Ergebnis an die letzte Schicht weitergeleitet. Ein Vorteil bei neuronalen Netzen zu anderen Machine Learning Algorithmen, ist das neuronale Netze aus unterschiedlichen Quellen Informationen nutzen können, um ein Ziel zu lösen. Dadurch sind die Anpassungsmöglichkeiten groß und vielfältig.

Wie kann Machine Learning Unternehmen helfen?

Machine Learning ist eine innovative Technologie, welche Unternehmen auf diverse Arten helfen kann, ihre Produkte zu verbessern. Die „Großen“ wie Google, Amazon und Co. machen es vor. Doch auch kleinere Unternehmen müssen in der Zukunft auf Machine Learning setzen, damit sie konkurrenzfähig bleiben und innovative Produkte anbieten können. Neben der individuellen Verbesserung der einzelnen Produkte durch Machine Learning, kann die Analyse von Kundendaten vorzeitiges Eingreifen von Unternehmen ermöglichen, um die Kundenzufriedenheit zu erhöhen und den steigenden Wünschen des Kunden gerecht zu werden.

 

*Sortieralgorithmen sind Algorithmen welche Datenstrukturen nach einer bestimmten Ordnung (z.B. die lexikographische Ordnung) sortieren können. Bekannte Sortieralgorithmen sind Bubblesort, Quicksort oder auch Mergesort.

 

Quellen

Lasse Schultebraucks

Lasse Schultebraucks

Werkstudent bei BROCKHAUS AG
Lasse Schultebraucks beschäftigt sich als Werkstudent bei der BROCKHAUS AG mit künstlicher Intelligenz und maschinellem Lernen.
Lasse Schultebraucks
<< Vorheriger Beitrag
Nächster Beitrag >>

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.