Machine Learning So kommen Sie mit den passenden Algorithmen zum Ziel
Einfache Algorithmen sind das tägliche Brot vieler Programmierer. Wer etwa eine Software erstellt, die den Preis eines Hauses basierend auf der Größe ausgibt, schreibt normalerweise einen Algorithmus, der abhängig vom Input (Hausgröße) einen bestimmten Output (Preis) berechnet. Wenn es um Machine Learning geht, steigen die Anforderungen an die Programmierung und die Mathematik.
Anbieter zum Thema

Schließlich fehlt in typischen Szenarien für das Machine Learning häufig die Information, in welchem Zusammenhang bestimmte Werte stehen. Die Kunst besteht in diesem Fall darin, mit den vorhandenen Daten intelligent auf alle Eingabewerte zu reagieren. Dabei handelt es sich jedoch um einen zeitaufwendigen Prozess, der bei jeder Änderung der Daten wiederholt werden muss. Alternativ kann ein Programmierer einen Algorithmus schreiben, der je nach Eingabe „lernt“ und die optimale Ausgabe liefert. Solche selbstlernenden Algorithmen sind der Kern des Machine Learnings.
Allgemeine Algorithmen
Die lineare Regression ist einer der einfachsten maschinellen Lernalgorithmen. Dabei versucht man, in einem Datensatz eine Gerade zu finden, die den geringsten Abstand zwischen den Datenpunkten hat. Ein Beispiel ist in Abbildung 2 in der Bildergalerie zu sehen.
Eine allgemeinere Variante der linearen Regression ist die Polynomanpassung. Es geht dabei um die Suche nach einem Polynom eines vordefinierten Grades, das den geringsten Abstand zu allen Datenpunkten hat. Die lineare Regression ist eine polynomiale Anpassung des Grades 2. Ein Beispiel für Polynom-Anpassungen von Grad 0 bis Grad 9 ist in Abbildung 7 dargestellt.
Ein weiterer weit verbreiteter Algorithmus ist der Entscheidungsbaum. In Deutschland kaufte die Polizei weiße Autos einheimischer Produzenten. Das führte dazu, dass weiße Autos als Gebrauchtwagen unbeliebt waren. Schließlich gab es eine hohe Wahrscheinlichkeit, dass es sich um ein gebrauchtes Polizeiauto handelte. In der Sprache der Informatik mussten einige Fragen beantwortet werden, um auf den erzielbaren Preis zu kommen. Das ist in Abbildung 1 in der Bildergalerie dargestellt.
Der KNN-Algorithmus
Mithilfe des K-Nearest-Neighbors (KNN)-Algorithmus lässt sich entscheiden, zu welcher Klasse ein Datenpunkt gehört. Der Algorithmus betrachtet die k nächsten Nachbarn und prüft, zu welcher Klasse sie gehören. Das bedeutet, dass der Algorithmus in der Lernphase für einen bestimmten Datenpunkt den Abstand zu allen Datenpunkten berechnet und die K-Datenpunkte auswählt, die am nächsten liegen. Es zählt dann, wie viele von jedem Typ es gibt und die Mehrheit wird als der vorhergesagte Typ gewählt.
Über den K-Means-Algorithmus wird ein geeigneter Mittelpunkt für eine vordefinierte Anzahl von Clustern berechnet und dann anhand dieser berechneten Mittelpunktpunkte bestimmt, welche Klasse für einen neuen Datenpunkt gewählt werden soll. Das geschieht durch Auswahl des Mittelpunktes, der dem neuen Datenpunkt entspricht.
1. Nicht jeder Algorithmus funktioniert mit jeder Art von Daten
Es gibt Algorithmen zum maschinellen Lernen, die nur mit bestimmten Daten brauchbare Ergebnisse liefern. Ein Beispiel dafür ist die lineare Regression. Über die lineare Regression wird versucht, eine Linie zu finden, die alle Datenpunkte am besten repräsentiert. Dazu müssen alle Eingabedaten rationale Daten sein. Rational bedeutet, dass der Abstand zwischen 1 und 2 der gleiche ist wie der zwischen 4 und 5 sowie 4 der doppelte Abstand von 2.
Der Vergleich von Preis und Größe funktioniert gut, da es sich bei beiden um Verhältnistypen handelt. Das ist in Abbildung 2 dargestellt, in der die Mietkosten einer Wohnung im Verhältnis zur Fläche der Wohnung stehen.
Würde allerdings die Farbe des Innenraums der Wohnung mit dem Preis verglichen, so wäre die lineare Regression nutzlos, da „Farbe“ kein rationaler Datentyp ist. Es ist unmöglich festzustellen, ob Rot größer als Grün ist. Zu sagen, dass Grün doppelt so farbig ist wie Rot, ist keine rationale Aussage. Für die lineare Regression werden also zwingend rationale Daten benötigt.
Der Entscheidungsbaum-Algorithmus kommt dagegen mit jeder Art von Daten zurecht. Somit kann er verwendet werden, um den Preis mit der Farbe zu vergleichen. Der Nachteil dabei ist, dass die daraus resultierende Vorhersage für einen bestimmten Preis nicht linear ist.
2. Laufzeitkomplexität wächst mit der Anzahl der Datenpunkte
Es gibt Vorhersagealgorithmen, die eine längere Ausführungszeit haben, abhängig von der Anzahl der Datenpunkte, die zum Trainieren dieses Algorithmus verwendet werden. Ein Beispiel dafür ist die (fiktive) Darstellung in Abbildung 3. Sie zeigt Menschen verschiedenen Alters und ihre Entfernung zur nächsten Großstadt. Rot steht für Menschen, die ein Auto besitzen, und Grün für Menschen, die kein Auto besitzen.
Um vorherzusagen, ob ein bestimmter neuer Datenpunkt ein Auto hat oder nicht, kommt der KNN-Algorithmus zum Einsatz. Er setzt den neuen Datenpunkt in den Datensatz und sucht nach den k Datenpunkten, die dem neuen Datenpunkt am nächsten liegen. Bei dieser Suche wird der Abstand zwischen dem neuen Datenpunkt und allen Trainingsdatenpunkten berechnet. Die Vorhersagen aus dieser Methode verbessern sich, je mehr Trainingsdaten zur Verfügung stehen, aber für jeden weiteren Datenpunkt im Trainingssatz dauert die Berechnung des resultierenden Vorhersagealgorithmus länger.
Wenn zum Beispiel eine Vorhersage mit zehn Datenpunkten eine Sekunde dauert, dann kann eine Vorhersage mit 100 Datenpunkten zehn Sekunden oder länger dauern. Das bedeutet, dass die Auswahl eines anderen Algorithmus wie K-Means zu schnelleren Berechnungen führen kann, insbesondere bei großen Datenmengen. Andererseits erfordert K-Means, dass die verschiedenen Cluster kreisförmig sind. Das ist in Abbildung 3 nicht der Fall.
3. Geringe Datenmengen bringen schlechte Ergebnisse
Die Herausforderung für Datenwissenschaftler und Machine-Learning-Experten besteht darin, aus vorliegenden Daten, die zugrunde liegenden mathematischen Modelle zu erzeugen. Die Wahl des richtigen Algorithmus beeinflusst anschließend die Genauigkeit einer Vorhersage sehr stark.
Der Prozess der Modellerstellung lässt sich über den umgekehrten Weg darstellen. Etwa, in dem mit einer einfachen Funktion wie y = -x² + 5x gestartet wird. Sie ist in Abbildung 4 zu sehen.
Daten aus dem wirklichen Leben sind voller Rauschen. In der Folge ist die Messung von tatsächlichen Ereignissen nie ohne Variation und Datenabweichung. Wendet man etwas Rauschen auf die obige Funktion an, so könnten die resultierenden Daten wie Abbildung 5 aussehen. Die zugrunde liegende Funktion ist jedoch noch erkennbar.
In der Realität steht oft nur eine begrenzte Datenmenge zur Verfügung, sodass das zugrunde liegende Modell unmöglich aufgelöst werden kann. Wird die Anzahl der Datenpunkte auf 9 reduziert, ergibt sich ein Bild wie in Abbildung 6.
Polynomanpassungen
Der einfachste Algorithmus, um die ursprüngliche Funktion herauszufinden, wäre ein Polynom-Anpassungsalgorithmus. Dabei wird versucht, eine Polynomfunktion einer gewählten Ordnung zu finden, die den Datenpunkten möglichst nahekommt. Abbildung 7 zeigt zehn Polynomanpassungen für die Ordnungen 0 bis 9. Ein Vergleich der Polynomanpassungen mit der eigentlichen zugrunde liegenden Funktion ist in Abbildung 8 dargestellt.
Vergleicht man die Schätzungen mit der tatsächlichen Funktion in Abbildung 8, erkennt man, dass die Grade zwei, drei, vier und fünf Funktionen sind, die dem entsprechen, was die eigentliche zugrunde liegende Funktion ist. Alle anderen Schätzungen sind so weit von der realen Funktion entfernt, dass die Vorhersagen bei der Verwendung dieser Version falsch wären.
Das Problem ist, dass nicht sicher gesagt werden kann, welche Funktion die ursprüngliche, zugrunde liegende Funktion ist. Bei so wenigen Datenpunkten kann jede Interpretation die richtige sein.
Die Vergrößerung der Anzahl der Datenpunkte von 10 auf 1.000 ergibt ein völlig anderes Bild, wie Abbildung 9 zeigt. Hier musste die Breite der eigentlichen Funktion geändert werden, sonst wäre sie nicht von den Polynomanpassungen zu unterscheiden gewesen.
Das zeigt, dass die Wahl des falschen Algorithmus für kleine Mengen von Trainingsdaten die Genauigkeit von Vorhersagen oder Entscheidungen beeinträchtigen kann.
Fazit
Es gibt keinen „One Size Fits All"-Algorithmus, sondern verschiedene Ansätze, die mit Trainingsdatensätzen unterschiedlicher Art, Größe und Genauigkeit arbeiten müssen. Die Aufgabe eines Datenwissenschaftlers ist es, den richtigen Algorithmus zu wählen, der zu den Daten und den zugrunde liegenden Zusammenhängen passt. Dabei muss er sich auf seine Erfahrung und sein Fachwissen verlassen.
(ID:45403063)