Maschinelearning Typen¶
Es gibt verschiedene Typen von ML – Systemen. Géron gliedert diese in
Systeme die autonom oder unter menschlicher Anleitung trainiert werden:
supervised learning
unsupervised learning
semisupervised learning
reinforcement learning
Systeme die online oder nur offline trainiert werden
online vs.
offline (batch) learning
Systeme die neue Punkte mit vorhandenen vergleichen oder Muster erkennen:
instance-based vs.
model-based learning.
Supervised Learning¶
Beim supervised learning beinhalten die Trainingsdaten auch die Lösung. Typische supervised learning Aufgaben sind:
Klassifikation von Daten (ein Datum gehört zur Klasse A, B, C, …)
Analyse von Daten in Abhängigkeit von mehreren unabhängigen Daten (Regressionsanalysen).
Wichtige „learning“ Algorithmen sind:
k-Nearest Neighbors
Linear Regression
Logistic Regression
Support Vector Maschines (SVMs)
Decision Trees and Random Forests
Neuronal networks
Zurück zu Maschinelearning Typen
Unsupervised Learning¶
Beim unsupervised learning sind die Trainingsdaten ohne Label (Wert). Das ML System „lernt“ ohne menschliche Anleitung. Beispiel ist die Ermittlung von Clustern innerhalb einer Datenmenge anhand von n-Featurs. Die Featureabhängigkeiten (bzw. Clusterzugehörigkeiten) werden vom angewandten Algorithmus ermittelt.
Weitere Anwendungsgebiete sind:
Datenvisualisierung
Dimensionsreduktion (feature extraction – also welche Features beeinflussen das Ergebnis)
Anomaly detection (Fraud detection)
association rule learning (Identifizierung von Korrelationen – z.B. Chips + Ketchup korrelieren mit Steaks)
Typische ML Algorithmen:
- Clustering
k-means
hierarchical cluster analysis (HCA)
expectation maximization
- visualization and dimensionality reduction
principal component analysis (PCA)
Kernel PCA
Locally-Linear Embedding (LLE)
t-distributed Stochastic Neighbor Embedding (t-SNE)
- Association rule learning
Apriori
Eclat
Zurück zu Maschinelearning Typen
Semisupervised learning¶
Eine Mischform von supervised und unsupervised learning. Beispiel sind Algorithmen, die auf Fotos eine Person identifizieren und Clustern können (unsupervised), werden diesen Personen dann Namen gegebene (Label), kann nach diesen gesucht und für supervised learning verwendet werden.
Zurück zu Maschinelearning Typen
Reinforcement Learning¶
Hierbei handelt es sich um ein System, welches auf Basis eines „gelernten“ Ergebnisses eine bessere zukünftige Strategie erarbeitet.
…“The learning system, called an agent in this context, can observe the environment, select and perform actions and get rewards in return (or penalties in the form of negative rewards). It must then learn by itself what is the best strategy, called a policy, to get the most reward over time. A policy defines what action the agent should choose when it is in a given situation“ [Géron, S.32]
Zurück zu Maschinelearning Typen
Batch / Offline Learning¶
Beim Batch Learning kann das ML System nicht auf aktuelle (online) Daten zugreifen und die Aussage/Vorhersage verbessern. Die vom ML System ermittelten Funktionen werden einmal auf Basis der vorhandenen Daten berechnet, in der Produktion werden diese Funktionen angewandt. Die Prozedur ist CPU / Disk intensiv. Aktualisierungen können zwar automatisiert eingespielt werden, verlangen aber immer wieder die gleiche ressourcenintensive Berechnung (sind somit ungeeignet für Systeme mit limitierten Ressourcen)
Zurück zu Maschinelearning Typen
Online / Incremental Learning¶
Online Learning ML Systeme sind in der Lage, zusätzliche Daten in den Algorithmus aufzunehmen (also inkrementelles lernen) und in die Vorhersage einzubinden. Es kann aber auch verwendet werden bei sehr großen Systemen, bei dem die Daten nicht mehr in den Hauptspeicher passen (=out of core learning). Hierbei werden die Daten sukzessive in den RAM geladen und verarbeitet. Das ganze passiert damit im Batch, insofern ist der Begriff Online Learning hier irreführend.
Ein wichtiger Parameter ist die „learning rate“. Wie schnell werden gelernte Daten in die Vorhersagen implementiert. Bei einer hohen Lernrate werden „alte“ Daten schneller vergessen. Dies kann aber auch problematisch sein, wenn nur noch „schlechte“ Daten gelernt werden und die „guten“ Daten dann vergessen werden (also shit in – shit out).
Zurück zu Maschinelearning Typen
Instance Based vs. Model-Based Learning¶
Frage der Generalisierung des Modells.
Beim Instance based Learning wird anhand von positiv (negativ) Beispielen neue Werte gelernt, die ähnlich sind, wie die vorgegebenen Kategorien.
Beim Model-based Learning wird ein Modell mit Hilfe von Algorithmen errechnet und Schätzungen erfolgen auf Basis der berechneten Funktionen.
Zurück zu Maschinelearning Typen
Scikit-Learn cheat sheet¶
Welchen Algorithmus wende ich wann an: Scikit-Learn cheat sheet
Zurück zu Maschinelearning Typen
- Quellen:
[Géron]: Hands-On Machine Learning with Scikit-Learn & TensorFlow, Aurélien Géron, o’reilly, 2017, S. 26ff.