Cheat Sheet Machine Learning

Die Welt des maschinellen Lernens (ML) ist riesig und komplex. Diese Übersicht (Cheat Sheet) soll eine Hilfestellung bieten, um die wichtigsten Konzepte und Algorithmen zu verstehen und schnell nachschlagen zu können. Es handelt sich nicht um eine vollständige Abdeckung, sondern um eine Zusammenfassung zentraler Aspekte, die in der Praxis häufig vorkommen.
Arten des maschinellen Lernens
Man unterscheidet grundsätzlich drei Haupttypen des maschinellen Lernens:
- Überwachtes Lernen (Supervised Learning): Hierbei lernt das Modell aus gelabelten Daten, d.h. Daten, bei denen die korrekte Ausgabe (das Label) bereits bekannt ist. Ziel ist es, eine Funktion zu lernen, die neue, unbekannte Daten korrekt vorhersagen kann. Beispiele: Klassifikation und Regression.
- Unüberwachtes Lernen (Unsupervised Learning): In diesem Fall sind die Daten nicht gelabelt. Das Modell muss selbstständig Strukturen und Muster in den Daten erkennen. Beispiele: Clustering, Dimensionsreduktion und Assoziationsanalyse.
- Bestärkendes Lernen (Reinforcement Learning): Das Modell lernt durch Interaktion mit einer Umgebung. Es erhält Belohnungen oder Bestrafungen für seine Aktionen und versucht, eine Strategie zu entwickeln, die die kumulierte Belohnung maximiert.
Überwachtes Lernen: Klassifikation
Die Klassifikation hat zum Ziel, Datenpunkte in vordefinierte Kategorien einzuordnen. Einige gängige Algorithmen sind:
Must Read
- Logistische Regression: Obwohl der Name es vermuten lässt, ist die logistische Regression ein Klassifikationsalgorithmus. Sie verwendet die Sigmoid-Funktion, um die Wahrscheinlichkeit vorherzusagen, dass ein Datenpunkt zu einer bestimmten Klasse gehört.
- Support Vector Machines (SVM): SVMs suchen nach der optimalen Hyperebene, die die Datenpunkte verschiedener Klassen möglichst gut trennt. Sie sind besonders effektiv bei hochdimensionalen Daten.
- Entscheidungsbäume (Decision Trees): Entscheidungsbäume basieren auf einer hierarchischen Abfolge von Entscheidungen. Jeder Knoten im Baum repräsentiert eine Frage, und die Zweige repräsentieren die möglichen Antworten.
- Zufallswälder (Random Forests): Zufallswälder sind eine Ensemble-Methode, die aus mehreren Entscheidungsbäumen besteht. Sie verbessern die Genauigkeit und Robustheit im Vergleich zu einzelnen Entscheidungsbäumen.
- K-Nearest Neighbors (KNN): KNN klassifiziert einen Datenpunkt basierend auf den Klassen seiner k nächsten Nachbarn im Merkmalsraum.
Überwachtes Lernen: Regression
Die Regression dient dazu, einen kontinuierlichen Wert vorherzusagen. Häufig verwendete Algorithmen sind:
- Lineare Regression: Die lineare Regression modelliert die Beziehung zwischen den unabhängigen Variablen und der abhängigen Variablen durch eine lineare Funktion.
- Polynomiale Regression: Die polynomiale Regression erweitert die lineare Regression, indem sie polynomiale Terme der unabhängigen Variablen verwendet.
- Support Vector Regression (SVR): SVR ist die Regressionsvariante der SVM. Sie versucht, eine Funktion zu finden, die möglichst viele Datenpunkte innerhalb eines bestimmten Fehlerbereichs approximiert.
- Entscheidungsbaumregression: Analog zur Klassifikation, kann man auch Entscheidungsbäume für Regressionsprobleme einsetzen. Jeder Blattknoten speichert dabei den durchschnittlichen Wert der zugehörigen Trainingsdaten.
Unüberwachtes Lernen: Clustering
Clustering gruppiert Datenpunkte basierend auf ihrer Ähnlichkeit. Einige beliebte Algorithmen sind:

- K-Means: K-Means versucht, die Datenpunkte in k Cluster zu partitionieren, so dass die Summe der quadrierten Distanzen innerhalb jedes Clusters minimiert wird.
- Hierarchisches Clustering: Hierarchisches Clustering erstellt eine hierarchische Darstellung der Datenpunkte, indem es entweder von unten nach oben (agglomerativ) oder von oben nach unten (divisiv) vorgeht.
- DBSCAN (Density-Based Spatial Clustering of Applications with Noise): DBSCAN identifiziert Cluster basierend auf der Dichte der Datenpunkte. Es kann auch Rauschen (Ausreißer) erkennen.
Unüberwachtes Lernen: Dimensionsreduktion
Die Dimensionsreduktion reduziert die Anzahl der Merkmale in den Daten, während die wichtigsten Informationen erhalten bleiben. Dies kann die Modellkomplexität verringern und die Visualisierung erleichtern. Beispiele sind:
- Principal Component Analysis (PCA): PCA transformiert die Daten in einen neuen Merkmalsraum, in dem die Hauptkomponenten (die Richtungen mit der größten Varianz) die Achsen bilden.
- t-distributed Stochastic Neighbor Embedding (t-SNE): t-SNE ist besonders gut geeignet für die Visualisierung hochdimensionaler Daten in zwei oder drei Dimensionen. Es versucht, die Ähnlichkeit zwischen Datenpunkten im hochdimensionalen Raum im niedrigdimensionalen Raum beizubehalten.
Wichtige Metriken zur Bewertung von Modellen
Die Wahl der geeigneten Evaluierungsmetrik hängt stark vom jeweiligen Problem ab:

- Genauigkeit (Accuracy): Der Anteil der korrekt klassifizierten Datenpunkte.
- Präzision (Precision): Der Anteil der als positiv vorhergesagten Datenpunkte, die tatsächlich positiv sind.
- Rückruf (Recall): Der Anteil der tatsächlich positiven Datenpunkte, die als positiv vorhergesagt wurden.
- F1-Score: Das harmonische Mittel von Präzision und Rückruf.
- AUC (Area Under the Curve): Die Fläche unter der ROC-Kurve (Receiver Operating Characteristic). Sie misst die Fähigkeit des Modells, zwischen positiven und negativen Beispielen zu unterscheiden.
- RMSE (Root Mean Squared Error): Die Quadratwurzel des durchschnittlichen quadrierten Fehlers. Wird häufig in der Regression verwendet.
- R-Quadrat (R²): Der Anteil der Varianz der abhängigen Variablen, der durch das Modell erklärt wird.
Wichtige Schritte im Machine Learning Workflow
Ein typischer Machine Learning Workflow umfasst folgende Schritte:
- Datenerhebung und -aufbereitung: Sammeln, Bereinigen und Transformieren der Daten.
- Merkmalsauswahl und -entwicklung: Auswählen oder Erstellen von Merkmalen, die für das Modell relevant sind.
- Modellauswahl: Auswählen eines geeigneten Algorithmus für das Problem.
- Modelltraining: Anpassen des Modells an die Trainingsdaten.
- Modellvalidierung: Bewerten der Leistung des Modells auf einem Validierungsdatensatz.
- Modelloptimierung: Anpassen der Modellparameter, um die Leistung zu verbessern.
- Modelltest: Bewerten der Leistung des Modells auf einem Testdatensatz.
- Modellbereitstellung: Implementieren des Modells in einer Produktionsumgebung.
Diese Übersicht soll als Starthilfe dienen. Die tatsächliche Anwendung von Machine Learning erfordert ein tiefes Verständnis der zugrunde liegenden Konzepte und eine sorgfältige Auswahl der geeigneten Algorithmen und Techniken.
