Unsupervised machine learning
Diese Form des maschinellen Lernens dient dem Zweck, Muster, Zusammenhänge und Gesetzmäßigkeiten in (großen) Datensätzen zu erkennen und so ein besseres Verständnis für die Daten zu generieren. Die Herausforderung liegt häufig darin, dass wenig oder gar nichts über diese Muster und Gesetzmäßigkeiten bekannt ist und so eine Validierung der Ergebnisse schwerfällt. Eine Eigenschaft des unsupervised learning ist es, dass keine Label vorhanden sind, mit deren Hilfe der Algorithmus trainiert werden kann.
Die häufigsten Anwendungen von unsupervised learning sind das Clustern von Datensätzen, die Dimensionsreduktion und die Assoziationsanalyse. Während bei Clustering Datenpunkte mit ähnlichen Eigenschaften einer Gruppe (Cluster) zugeordnet werden, wird bei der Dimensionsreduktion die Komplexität des Datensatzes reduziert, jedoch dabei der Informationsgehalt bestmöglich beibehalten. Bei Assoziationsanalysen werden Korrelationen zwischen Features identifiziert. Bekannte Beispiele sind die Empfehlungen für den Kauf weiterer Produkte in online-shops, die andere Kunden zum gerade betrachteten Produkt häufig kaufen.
Nachfolgend erfolgt die Darstellung ausgewählter Algorithmen des „unsupervised learning“:
K-Means |
|
Kurzbeschreibung | Ziel des Algorithmus ist es, die Summe der (quadrierten) Abweichungen aller Punkte zu ihren Clustermittelpunkten zu minimieren. Dafür wird eine definierte Anzahl an Clustermittelpunkten (zufällig) im Datensatz verteilt und die Distanz zu allen nächstgelegenen Datenpunkten berechnet. Deren Mittelwert ist der neue Clustermittelpunkt. Dies wird so lange wiederholt, bis sich keine Änderung mehr ergibt. |
Stärken |
|
Schwächen |
|
Gaussian Mixture Model |
|
Kurzbeschreibung | Im Gegensatz zu k-means wird bei GMM nicht nur der Mittelwert eines Clusters betrachtet, sondern auch dessen Varianz. Dem Modell liegt die Annahme zu Grunde, dass der Datensatz durch eine endliche Zahl aus Gauß-Verteilungen beschreibbar ist, deren Parameter nicht bekannt sind. |
Stärken |
|
Schwächen |
|
Density-Based Spatial Clustering of Applications with Noise (DBSCAN) |
|
Kurzbeschreibung | Bei DBSCAN handelt es sich um einen dichtebasierten Ansatz. Dabei werden Cluster als Regionen im n-dimensionalen Raum betrachtet, die eine hohe Objektdichte aufweisen. Punkte fallen dann in daas gleiche Cluster wie ihre benachbarten Punkte, wenn sie zu einer definierten Anzahl der Nachbarpunkte innerhalb einer zuvor spezifizierten Distanz liegen. Punkte, die nicht innerhalb dichter Cluster liegen, werden als Ausreißer klassifiziert. |
Stärken |
|
Schwächen |
|
Grundsätzlich sind Herausforderungen in der Anwendung dieser Algorithmen, die Ergebnisqualität zu überprüfen. Es gibt hierzu verschiedene Methoden wie die Ellbogen-Kurve oder den Silhouettenkoeffizienten .
Auch eine visuelle Überprüfung der Ergebnisse mittels Dimensionsreduktion und Darstellung im zweidimensionalen Raum kann sowohl bei der Ergebnisinterpretation als auch für ein Verständnis des Datensatzes beitragen.
Principal component Analysis (PCA) |
|
Kurzbeschreibung | Bei PCA handelt es sich um eine Methode zur Reduktion der Anzahl der Features (=Dimension) eines Datensatzes. Dabe wird der Informationsgehalt bestmöglich beibehalten, indem dieser durch eine Linearkombination von Vektoren (Hauptkomponenten) angenähert wird. Dabei handelt es sich um eine Hauptachsentransformation. |
Stärken |
|
Schwächen |
|
Die Algorithmen zeigen, dass ein gutes Verständnis der Datengrundlage unabdingbar ist, um den besten Algorithmus für die Clusterung zu wählen oder die Ergebnisse einer Analyse zu interpretieren. Für ein besseres Verständnis und verkürzte Rechenzeiten kann eine Dimensionsreduktion helfen, was jedoch wiederum Nachteile v. a. hinsichtlich der Interpretierbarkeit mit sich bringt.
Grundsätzlich haben diese Algorithmen gemein, dass sie durch existierende Libraries (wie Scikit-Learn) in nur wenigen Zeilen Code realisiert sind. Das data preprocessing und die Validierung der Ergebnisse sind hingegen eine große Herausforderung.
Vorgehen bei unsupervised clustering
Sollen große Datenmengen geclustered werden, ohne dass etwas über deren Cluster bekannt ist (unsupervised) empfiehlt sich grundsätzlich folgendes Vorgehen, um die Daten explorativ zu untersuchen:
- Data Preprocessing: der Datensatz muss entsprechend aufbereitet werden, um für die Clusterung geeignet zu sein. Dafür müssen u.a. fehlende Werte ersetzt/gelöscht und die Daten skaliert werden.
- Verständnis für den Datensatz entwickeln: mittels diverser Visualisierungsmethoden (z. B. pair-plots) lässt sich ein besseres Verständnis für die Daten entwickeln.
- Unnötige Features entfernen: ein weiterer wichtiger Bestandteil der Clusterung ist das Entfernen stark korrelierender Features. Dafür können u. a. der Korrelationskoeffizient nach Bravais-Pearson oder der Rangkorrelationskoeffizient nach Spearman genutzt werden, um lineare Korrelationen zu vermeiden.
- Im nächsten Schritt sollten die Daten, die i. d. R. aus vielen Features bestehen, mittels Dimensionsreduktion auf zwei Dimensionen reduziert werden. Hierfür kann PCA, t-SNE und UMAP verwendet werden. Mittels dieser Methoden lässt sich die lokale (t-SNE) und globale Struktur (t-SNE/UMAP) der Daten erkennen.
- Auf Basis der lokalen und globalen Struktur der Daten können entsprechende Algorithmen ausgewählt werden. Da viele Algorithmen Grundannahmen treffen (k-Means unterstellt z. B. spärische Cluster) werden die jeweils passenden ausgewählt.
- Die Algorithmen werden auf den Datensatz angewandt und die Ergebnisse mit entsprechenden Parametern verglichen. Hier kann u. a. das AIC (Akaike-Information-Criterion) oder BIC (Bayesian-Information-Criterion) genutzt werden.
- Die Ergebnisse der verschiedenen Algorithmen können grundsätzlich abweichen. Eine Auswahl des richtigen Modells, dessen Parametrierung und die Bestimmung der jeweils „optimalen“ Cluster-Zahl sind entsprechend die größte Herausforderung.
Trotz dieser Komplexität kann unsupervised clustering eine Vielzahl an Anwendungsfällen ermöglichen. Ausgewählte Anwendungsfälle in der Energiewirtschaft werden im nächsten Artikel vorgestellt.
Weitere Informationen:
- Grundlagen künstlicher Intelligenz und machine learning in der Energiewirtschaft
- Künstliche Intelligenz: Data Preprocessing und Paradigmenwechsel der Programmierung
- supervised machine learning
- Anwendungsfälle des unsupervised machine learning in der Energiewirtschaft
- Anwendungsfälle des supervised machine learning in der Energiewirtschaft