08.07.2020

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
  • einfache Implementierung
  • skaliert gut mit großen Datensätzen
  • konvergiert in jedem Fall
  • fixe Zuordnung eines Punktes zu einem Cluster (Label)
Schwächen
  • Vorgabe der Anzahl (k) von Clustern erforderlich
  • Ergebnisse stark abhängig von der zufälligen Verteilung der Cluster im ersten Schritt
  • skaliert schlecht mit vielen Features
  • keine guten Ergebnisse bei stark abweichenden Dichten von Clustern
  • schlecht im Umgang mit Ausreißern
  • neigt zur Bildung spährischer Cluster

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
  • gute Ergebnisse bei Clustern mit unterschiedlicher Form
  • Zuordnung zu einem Cluster erfolgt über die Wahrscheinlichkeit statt über eine Label
Schwächen
  • Ergebnisse stark abhängig von der zufälligen Verteilung der Cluster im ersten Schritt
  • schlechte Skalierbarkeit bei vielen Dimensionen

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
  • keine Vorgabe der Clusterzahl notwendig
  • unabhängig von der Form der Cluster
  • robust gegenüber Ausreißern (Noise)
Schwächen
  • keine guten Ergebnisse bei sehr unterschiedlich dichten Clustern
  • schlechte Skalierbarkeit bei großen und multidimensionalen Datensätzen
  • Parameterauswahl ohne gutes Verständnis des Datensatzes schwer

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
  • einfache Anwendung
  • Reduziert die Komplexität von Datensätzen mit vielen Features, wobei der Großteil des Informationsgehaltes beibehalten wird.
  • Entfernt linear korrelierte Features.
  • Ermöglicht die Visualisierung komplexer Datensätze
  • Verkürzt Berechnungsdauern und verbessert die Skalierbarkeit anderer Algorithmen, wenn PCA zuvor die Dimension reduziert.
  • Verringert das Risiko von Overfitting.
Schwächen
  • Informationsgehalt geht teilweise verloren.
  • Erschwert die Interpretierbarkeit von machine learning Algorithmen noch weiter.
  • Funktioniert nur bei linear kombinierbaren Features.
  • PCA nimmt an, dass die Hauptkomponenten orthogonal sind und ist entsprechend bei nicht-orthogonalen nicht sinnvoll (hier kann t-SNE eine Alternative darstellen)

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 PCAt-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.