20.07.2020

Supervised machine learning

Supervised machine learning beschreibt das Erkennen von Zusammenhängen in Datensätzen. Im Gegensatz zu Unsupervised machine learning sind dabei jedoch sowohl der Input- als auch der Output bereits in Form eines Datensatzes vorhanden. Die Algorithmen erlernen („trainieren“) in diesen Daten den Zusammenhang zwischen Input (Features) und Output (z. B. Label). Der so trainierte Algorithmus kann auf neue Inputdaten angewendet werden, um auf Basis der erlernten Zusammenhänge ein Ergebnis vorherzusagen.

Entsprechend dienen diese Algorithmen dem Zweck, Regressionen durchzuführen bzw. Daten zu klassifizieren. Häufige Anwendung finden sie insbesondere bei Prognosen.

Eine Herausforderung bei dieser Form des maschinellen Lernens liegt insbesondere darin, einen ausreichend großen Datensatz mit In- und Output zu generieren. Dies ist in vielen Fällen noch mit Handarbeit verbunden.

Viele der heute diskutierten Anwendungsfälle von KI fallen in den Bereich von supervised learning – häufig in Kombination mit (komplexen) künstlichen neuronalen Netzen (deep learning). Eine Eigenschaft dieser Algorithmen ist, dass ihr Training mit großen Datenmengen zwar zeitaufwändig ist, ein trainiertes Modell in vielen Fällen jedoch deutlich schneller einen Output für neuen Input berechnen kann, als klassische Methoden. Dies führt unter anderem in der Simulation von physikalischen Effekten z. B. von Fluiden (siehe nicht-newtonsche Fluide wie Honig bzw. die Interaktion von Wasser mit Feststoffen),  Lichtstrahlen oder andere Materialeigenschaften in nahezu Echtzeit zu deutlichen Fortschritten. Entsprechend sind die Potenziale dieses Anwendungsbereiches auch in der Energiewirtschaft sehr groß.

Nachfolgend erfolgt die Darstellung ausgewählter Algorithmen des „supervised learning“:

k – Nearest Neighbor (KNN) 

Kurzbeschreibung Bei dem KNN handelt es sich um einen sehr einfachen, schnell implementierbaren Algorithmus, um Datenpunkte bereits vorhandenen Clustern/Gruppen zuzuordnen. Dabei wird eine (z.B. euklidische) Distanz zu allen Datenpunkten im Trainings-Datensatz berechnet und die jeweils k-nächsten Nachbarn (mit geringster Distanz) ausgewählt. Die Label der ausgewählten k-nächsten Nachbarn dienen als Grundlage für die Einordnung des zu klassifizierenden Datenpunktes. Der Mittelwert der k-nächsten Nachbarn wird bei Regressionen, der Modus bei Klassifikationen herangezogen.
Stärken
  • Einfach und schnell implementierbar
  • Kein Training notwendig (Lazy Learner), da es sich um eine nicht-parametrische Methode handelt (es wird kein funktionaler Zusammenhang zw. Input und Output erlernt)
  • Wenige Hyperparameter oder komplexer Modellaufbau notwendig
  • Sowohl für Regressionen als auch Klassifikationen einsetzbar
Schwächen

Decision Trees

Kurzbeschreibung Entscheidungsbäume sind geordnete, gerichtete Graphen, die zur Visualisierung von Entscheidungsregeln dienen. Dabei werden aus den Features eines Datensatzes in der Trainingsphase Entscheidungsregeln durch den Algorithmus gebildet. Dies wird erreicht, indem die Features durch „Fragen“ in Teilmengen zerlegt werden. Diese „Fragen“ (math. handelt es sich dabei um einfache (Un-)Gleichungen) zielen darauf ab, eine möglichst klare Trennung von Labels in die jeweiligen Teilmengen zu erreichen. Deren Reihenfolge wird durch den Informationsgewinn bedingt. Dieser ist dann hoch, wenn z.B. die Entropie oder Varianz der Teilmengen möglichst gering, diese also möglichst homogen sind. Zur Einordnung neuer Datenpunkte werden diese Entscheidungsregeln in der ermittelten Reihenfolge auf diesen angewendet und so ein Ergebnis ermittelt.
Stärken
  • Einfach zu verstehen, zu interpretieren und zu visualisieren
  • Mit numerischen und kategorischen Features einsetzbar
  • Relativ geringer preprocessing-Aufwand (fehlende Daten sind z.B. unproblematisch)
  • keine Skalierung/Normalisierung notwendig
Schwächen
  • Schnelles overfitting
  • Algorithmus erlernt nicht immer das globale Optimum
  • Kleine Änderungen im Input können deutliche Veränderungen des Entscheidungsbaumes bewirken
  • Lange Rechenzeiten bei komplexen Datensätzen
  • Nur für Klassifikationen geeignet

Artificial neural networks (ANN)

Kurzbeschreibung Künstliche neuronale Netze (engl. artificial neural networks) zielen darauf ab, die neuronale Struktur von biologischem Leben nachzubilden. Zu diesem Zweck werden Neuronen schichtweise (engl. layer) angeordnet. Verschiedenen Layer sind mit einander verbunden, wodurch Information vom Input-Layer über die hidden-layer bis zum Outout-Layer zwischen den Neuronen transportiert wird. Die Verbindungen zwischen den Neuronen werden mit sog. „Weights“ und „Biases“ versehen, die wiederum mit den jeweiligen Informationen verrechnet werden. Ein Neuron gib nur dann Informationen an die nachgelagerte Schicht weiter, wenn die eingehende Information einen gewissen Schwellwert (vorgegeben durch eine Aktivierungsfunktion) überschreiten. Im Rahmen des Trainings werden diese „Weights“ und „Biases“ zwischen den layern iterativ so eingestellt, dass der gewünschte Output erzeugt wird. ANN sind von allen bisher vorgestellten Methoden diejenigen, mit der höchsten Komplexität, können daher jedoch auch sehr komplexe Herausforderungen bewältigen.
Stärken
  • Können auch hoch komplexe Zusammenhänge zwischen In- und Output erlernen
  • Ein trainiertes Netz kann in nahezu Echtzeit auch auf Geräten mit geringer Rechenkapazität eingesetzt werden
  • Kommt mit nicht-vollständiger Information zurecht
  • Verringerung der Einstiegshürde durch Frameworks (wie Keras oder Pytorch)
  • Große weltweite Forschungsanstrengungen führen zu rapiden Verbesserungen
  • Viele Einsatzmöglichkeiten
  • Viele verschiedene Typen von Netzen für unterschiedliche Anwendungsfälle (vgl. Recurrent NN, Long/Short Term Memory, Auto Encoders, Convolutional NN, General Adversarial NN u.v.m.)
Schwächen
  • Netzwerkstruktur und Hyperparameter tuning sind sehr komplex und benötigen neben Erfahrung auch viel „trial and error“
  • Geringe Nachvollziehbarkeit des erlernten funktionalen Zusammenhanges zw. Input- und Output (Blackbox)
  • Starke Hardware-Abhängigkeit

Der Vorteil dieser Algorithmen ist es, dass durch die bereits bekannten Outputs die Ergebnisqualität des Lernprozesses überprüft werden kann. Nachteilig gestaltet sich, dass es sich insbesondere bei neuronalen Netzen um eine „black box“ handelt, was eine Nachvollziehbarkeit erschwert. Grundsätzlich sind Algorithmen des supervised machine learnings jedoch sehr vielseitig einsetzbar und insbesondere neuronale Netze verfügen über großes Potenzial in vielen Einsatzbereichen. Die Einsatzbereiche in der Energiewirtschaft werden im nächsten Artikel dargelegt.