Links überspringen

Machine Learning Models – Supervised & Unsupervised Learning

Nachdem wir im vorherigen Eintrag die allgemeine Funktionsweise von Machine Learning und dessen Unterkategorien erläutert haben, wollen wir nun noch tiefer in die Prinzipien von Machine Learning Algorithmen eintauchen. Die Kategorien Unsupervised und Supervised Learning werden wir weiter untergliedern und ausgewählte Algorithmen detailliert beschreiben.

  1. Unsupervised Learning Algorithmen
  2. Supervised Learning Algorithmen

 

Unsupervised Learning Algorithmen

In diesem Abschnitt werden wir die grundlegenden Unterkategorien von Unsupervised Learning erläutern und auf spezifische Modelle eingehen. In diesem Rahmen werden auch Beispiele vorgestellt, anhand derer deutlich wird, in welchen Bereichen die einzelnen Modelle in der Praxis bereits Anwendung gefunden haben. Wenn dir das Grundprinzip von Unsupervised Learning noch nicht bekannt ist, klicke hier um zu dem Beitrag zu kommen, der diese Thematik übergeordnet erläutert. Allgemein lässt sich das Unsupervised Learning in die Kategorien Dimensionality Reduction und Clustering untergliedern.

Erläuterungen zu Unsupervised Learning, einschließlich Dimensionality Reduction und Clustering, mit Beispielmodellen und Anwendungen

Dimensionality Reduction

Bei der Dimensionsreduktion ist es das Ziel den Datensatz zu komprimieren, indem eine geringere Anzahl an Variablen gefunden wird, die weiterhin die wichtigsten Informationen der originalen Daten beinhalten. Dennoch muss immer die Balance zwischen Simplifizierung und Genauigkeit beachtet werden und der Verlust an Informationen sollte minimiert werden. Oftmals haben Datensätze eine große Anzahl an verschiedenen Features, welche als Dimensionen bezeichnet werden. Da die verschiedenen Spalten miteinander korrelieren, ist es möglich die Anzahl der Spalten zu minimieren, sodass nur zwei oder drei Dimensionen verbleiben. Diese lassen sich anschließend mit einfachen Graphen visualisieren.

Warum ist das erforderlich?

Das Problem bei Datensätzen mit vielen Features, also einer hohen Dimension, ist das Model Overfit, wodurch die Generalisierung erschwert wird. Das bedeutet, dass viele ML-Modelle sehr gut bei Datensätzen mit geringer Dimension funktionieren, jedoch bei höheren Dimensionen Schwierigkeiten haben. Ein weiterer Faktor stellt die Verringerung der Berechnungszeit da, indem redundante Features eliminiert werden können. Um noch tiefer in diese Technologie einzusteigen, werden folgende Algorithmen im Detail vorgestellt: Principal Component Analysis & Independent Component Analysis.

 

Principal Component Analysis (PCA)

Die PCA-Methode erlaubt es die Anzahl der Features und somit auch die Komplexität in Datensätzen zu minimieren und dabei die wichtigsten Informationen beizubehalten. Das Ziel ist es, nur wenig an Genauigkeit zu verlieren und dabei möglichst stark zu simplifizieren. Um dies zu erreichen, müssen jedoch folgende Voraussetzungen erfüllt sein.

Größe des Datensatzes: Für jedes Feature, sollte eine ausreichend große Anzahl an Beobachtungen vorliegen

Korrelation: Die Features innerhalb des Datensatzes müssen untereinander korrelieren.

Linearität: Da die PCA-Transformation eine lineare Transformation ist, ist für einen effektiven Einsatz die lineare Verteilung des Datensatzes eine Grundvoraussetzung.

Insgesamt kann das Vorgehen dieser Methode in vier Schritte unterteilt werden:

  1. Standardisierung: Zunächst müssen die Inputdaten standardisiert werden, sodass diese in der Analyse gleichermaßen berücksichtigt werden. Das bedeutet, dass z. B. Variablen in den Ursprungsdaten einen Bereich von 0 bis 1000 haben und andere nur einen von 0 bis 100, was wiederum zu verzerrten Ergebnissen führen könnte. Daher werden die Daten auf eine gemeinsame Skala transformiert.
  2. Kovarianzmatrix: Diese Matrix repräsentiert die Beziehung zwischen den einzelnen Features. Dieser Schritt zielt darauf ab, stark korrelierende Merkmale zu identifizieren, die somit redundante Informationen beinhalten. Haben wir beispielsweise einen Datensatz mit 5 Variablen, ergibt sich eine 5×5-Matrix, welche als Einträge die Kovarianzen der Ursprungsdaten hat.
    • positive Kovarianz: zwei Variablen vergrößern/verkleinern sich zusammen
    • negative Kovarianz: Eine Variable verringert sich, wenn die andere größer wird
  3. Principal Components: Die Hauptkomponenten können ermittelt werden, indem die Eigenvektoren und -werte berechnet werden. Dabei werden die höchsten Eigenwerte (mit den zugehörigen Eigenvektoren) ausgewählt und als Hauptkomponenten verwendet. Diese Hauptkomponenten stellen also Kombination der Ursprungsvariablen dar, sodass die neuen Variablen keine Korrelationen mehr aufweisen. Das Ziel ist es somit, dass ein Großteil der Informationen des Datensatzes in den ersten Hauptkomponenten enthalten sind und nur wenige in den nachfolgenden.
Principal Component Analysis (PCA)

4. Transformation der Daten: in dem letzten Schritt werden die Ursprungsdaten in den Raum der gewählten Hauptkomponenten transformiert, wodurch schließlich die Dimension reduziert wird.

 

Independent Components Analysis (ICA)

Ähnlich zu PCA, ist die ICA ebenfalls eine Methode der Dimensionality reduction, wodurch es möglich ist, versteckte Strukturen in Datensätzen zu finden. ICA geht davon aus, dass jeder Datensatz aus unabhängigen Komponenten besteht und zielt darauf ab, diese zu finden. Daher lässt sich dieses Vorgehen besonders gut nutzen, wenn gemischte Daten vorliegen und diese sortiert werden sollen. Ein prominentes Beispiel hierfür ist das Cocktail-Party-Problem, bei dem zwei Gäste in einem Raum stehen und sich unterhalten. Das Gespräch wird mittels zweier Mikrofone aufgenommen, wobei die Mikrofone jeweils näher an einer Person stehen. Da eines der Mikrofone näher an einer Person steht, nimmt dieses den Ton von dieser Person lauter auf als den Ton der anderen Person. Die Aufgabe ist nun die zwei Stimmen der Personen zu isolieren.

Independent Components Analysis (ICA) als Methode zur Entdeckung versteckter Strukturen in Daten

In der vorherigen Grafik ist diese Aufgabenstellung dargestellt, indem das dunklere Mikrofon lauter die Stimme der blauen Person aufnimmt das hellere Mikrofon lauter den roten Ton aufnimmt. Die Aufgabe ist es mittels der beiden Aufnahmen den blauen und den roten Ton zu isolieren. Die ICA-Methode baut auf drei Annahmen auf:

    • Jedes aufgenommen Signal ist eine lineare Kombination der Quellen
    • Die Quell-Signale sind unabhängig voneinander
    • Die Werte jeder Quelle haben eine non-Gaussian Verteilung

Mittels dieser Annahmen kann diese Methoden die ursprünglichen Quellen isolieren und somit entsprechen des vorherigen Beispiels die Töne der einzelnen Personen rekonstruieren.

Wie sieht die technische Umsetzung dieser Methode aus?

Bevor der ICA-Algorithmus angewendet wird, wird zumeist ein Pre-Processing in Form von “Whitening” durchgeführt. Dabei werden alle Korrelationen innerhalb des Datensatzes entfernt. Um die einzelnen Datenquellen extrahiert zu können, muss eine Entmischungsmatrix gefunden werden. Dafür können drei unterschiedliche Methoden eingesetzt werde:

    • Nicht-Gaußsche Ähnlichkeit: Hierbei ist es das Ziel nicht-Gaußsche Variablen zu finden, die die Nicht-Gaußianität maximieren.
    • Die zweite Möglichkeit besteht darin das Ziel zu erreichen, indem gegenseitige Informationen minimiert werden.
    • Die dritte Möglichkeit stellt die Maximum-Likelihod-Schätzung dar

 

Clustering

Die zweite Unterkategorie des Unsupervised Learning ist das Clustering. Hierbei werden ähnliche Daten in einer Gruppe organisiert, ohne dass genaue Informationen über die einzelnen Gruppen verfügbar sind. Die einzelnen Elemente innerhalb einer Gruppe sollten so ähnlich wie möglich sein. So können beispielsweise Kunden, die in der Vergangenheit ähnliche Produkte gekauft haben, zu einer Gruppe zusammengefasst werden und das gleiche Produkt angeboten werden. Die durch diese Methode erstellten Cluster sollten zwei Eigenschaften möglichst genau erfüllen:

  • Die Datenpunkte innerhalb eines Clusters sollten möglichst gleich sein
  • Die Datenpunkte aus unterschiedlichen Clustern sollten möglichst unterschiedlich sein

Für die Clusteranalyse werden im folgenden zwei Algorithmen vorgestellt: Hierarchical Clustering und K-Means.

 

Hierarchical Clustering

Das Hierarchical Clustering ist eine Unsupervised Clustering Methode, bei der eine hierarchische Beziehung der Datenpunkte erstellt werden soll, um die Daten entsprechend dieser zu gruppieren. Für das Erstellen der Cluster lassen sich zwei Grundprinzipien unterscheiden: Top-Down- und Bottom-Up-Verfahren.

Top-Down: Hier wird ausgehend von dem gesamten Datensatz der vom Zentrum am weitesten entfernte Datenpunkt ausgewählt und die restlichen Punkte werden entsprechend der kürzesten Distanz entweder dem ursprünglichen Zentrum oder dem am weitesten entfernten Punkt zugeordnet. Dieser Prozess kann iterativ wiederholt werden, bis die gewünschte Anzahl an Cluster erreicht ist.

Bottom-Up: Bei diesem Vorgehen, werden die Datenpunkte mit dem geringsten Abstand zu einem Cluster zusammengefasst. Dies kann schrittweise wiederholt werden, um die Anzahl der Cluster zu reduzieren. Um die grundlegende Vorgehensweise  zu veranschaulichen, betrachten wir folgendes Beispiel. Hierbei ist es das Ziel verschiedene Autos mit den Merkmalen PS-Anzahl und Größe in Cluster zusammenzufassen.

Hierarchical Clustering. Zwei Grundprinzipien: Top-Down und Bottum-Up
Hierarchical Clustering. Zwei Grundprinzipien: Top-Down und Bottum-Up
Hierarchical Clustering. Zwei Grundprinzipien: Top-Down und Bottum-Up

Die verschiedenen Autos werden anhand ihrer PS-Zahl und der Größe in die Matrix eingeordnet. Hier kann man schon sehen, dass bestimmte Fahrzeuge näher zusammen liegen als andere. So ist der Abstand vom Porsche 911 zum Audi e-tron GT geringer als zum Fiat 500.

Aufgrund der geringsten Entfernung der unterschiedlichen Autos zueinander, werden diese in Cluster eingeteilt. So sind beispielsweise der Porsche Cayenne und Mercedes G-Klasse in einem Cluster und der Ford KA mit Fiat 500 in einem anderen.

In einem weiteren Schritt werden aus den bestehenden Clustern noch gröbere Cluster erstellt. Somit liegt hier eine Einteilung in hoch motorisiert (Porsche, Audi, Mercedes) und niedrig motorisiert (Ford, Fiat, BMW, Dacia) vor.

K-Means

Eine weitere Möglichkeit des Clusterings stellt die K-Means-Methode dar. Diese ist eine der einfachsten und weit verbreiteten Clustering-Methoden. Es ist eine Methode, um in unkategorisierten Daten Gruppen zu identifizieren und gehört zu den Schwerpunktbasierten Methoden. Hierbei wird bereits vorher festgelegt, wieviele Cluster entstehen sollen. Dafür wird die Zielanzahl k, welche für die Anzahl der Zentren steht, im Voraus festgelegt und die einzelnen Datenpunkte werden anschließend entsprechen der geringsten Entfernung den einzelnen Zentren zugeordnet. Der Algorithmus beginnt zumeist mit einer zufälligen Positionierung der Zentren und führt anschließend eine iterative Optimierung der Positionen durch.

In der nachfolgenden Grafik ist der Prozess der K-Means-Methode visuell dargestellt. Zunächst liegen die Daten ungeordnet vor und es wird die Anzahl k=3 festgelegt, was bedeutet dass der Datensatz in drei Cluster eingeteilt werden sollen. Anschließend wird jeder Datenpunkt dem Zentrum zugeordnet, mit der geringsten Distanz.

K-Means Clustering-Prozesses mit vier Schritten zur Gruppierung von Datenpunkten
  1. Schritt: Festlegen der Anzahl der Cluster K
  2. Schritt: K Beliebige Punkte werden als Zentren festgelegt
  3. Schritt: Zuordnung jedes Datenpunktes zu dem Zentrum, mit der geringsten Entfernung
  4. Schritt: Update der Zentrumspositionen. Hierfür gibt es verschiede Methoden, wie zum Beispiel der Schwerpunkt aller Datenpunkte innerhalb eines Clusters

Supervised Learning Algorithmen

In diesem Abschnitt werden wir die grundlegenden Unterkategorien von Supervised Learning erläutern und auf spezifische ausgewählte Modelle eingehen. Im Rahmen dessen werden auch Beispiele vorgestellt, bei denen die einzelnen Modelle in der Praxis Anwendung gefunden haben. Wenn dir das Grundprinzip von Supervised Learning noch nicht bekannt ist, klicke hier um zu dem Beitrag zu kommen, der diese Thematik übergeordnet erläutert. Allgemein lässt sich das Supervised Learning in die Kategorien Regression und Classification untergliedern.

Supervised Learning mit den Hauptkategorien Regression und Classification sowie Beispielen und Anwendungen

Regression

Ziel der Regression ist es die Beziehung zwischen den Variablen zu analysieren, um eine Prognose zu ermöglichen. Dafür muss eine Mapping-Funktion gefunden werden, damit der Input auf den kontinuierlichen Output gemappt werden kann. Kontinuierlicher Output bedeutet, dass die Zahl einen beliebigen Wert innerhalb eines bestimmten Wertbereiches annehmen kann. Dies ist z.B. der Fall bei Gehältern, Immobilienpreisen, Temperaturvorhersagen und medizinischen Diagnosen. Eine der einfachsten Regressions-Methoden ist die Lineare Regression, welche wir im folgenden erläutern werden

Lineare Regression

Bei der Linearen Regression werden gelabelte Daten verwendet, um eine lineare Funktion zu finden, die den Zusammenhang zwischen den Datenpunkten bestmöglich beschreibt. Diese gefundene Funktion kann anschließend auf unbekannte neue Daten angewendet werden. Dabei kann mittels der linearen Funktion die Beziehung zwischen abhängigen Variablen und einer oder mehreren unabhängigen Variablen Dargestellt werden

Univariate Linear: Es gibt eine unabhängige Variable

Multivariate Linear: es gibt mehr als eine unabhängige Variable

Wie in der nachfolgenden Grafik zu erkennen ist, wird für die gegebenen Daten eine Gerade entsprechend Y = mx + b gesucht. Diese zeigt den Zusammenhang der Änderung der abhängigen Variablen, wenn sich die unabhängigen Variablen verändern.

Neural Network Regression

Wie im vorherigen Abschnitt beschrieben, eignet sich die Lineare Regression nur dafür lineare Zusammenhängen zwischen den unabhängigen und abhängen Variablen zu finden. Soll nun aber ein nicht-linearer Zusammenhang erkannt werden, stößt dies an seine Grenzen und es muss auf andere Möglichkeiten umgestiegen werden. Eine Möglichkeit ist es, neuronale Netze zu verwenden, die es ermöglichen komplexe Zusammenhänge zu identifizieren.

Wie funktionieren neuronale Netze?

Neuronale Netze versuchen die Funktionsweise der Neuronen im menschlichen Gehirn nachzubilden und bestehen aus verschiedenen Schichten:

Input Layer: Dies stellt die erste Schicht des neuronalen Netzes dar und jedes Neuron entspricht einer Eingabevariable

Hidden Layer: Diese Schicht befindet sich zwischen der Eingabe- und Ausgabeschicht und kann mittels nicht-linearer Transformation die Eingabedaten transformieren

Output Layer: Hier werden die Ausgaben des neuronalen Netzes erstellt.

Classification

Die Classification stellt die zweite Unterkategorie des Supervised Learning dar. Hierbei versucht das Model den Inputdaten das richtige Label zuzuordnen, um Entscheidungsprobleme zu lösen. Um dies zu erreichen, wird eine Funktion gesucht, die die Daten in Klassen unterteilt. Dies ermöglicht eine Vorhersage von diskreten Werten. So kann dieses Verfahren beispielsweise für die Klassifizierung von Spam-Mails eingesetzt werden. Im Rahmen der Classification werden wir im folgenden den Random Forest und die Logistisch Regression detaillierter betrachten:

Random Forest

Die Random Forest-Methode basiert auf folgender Idee: Stelle dir vor, zu einem komplexen Problem gibt es eine Reihe von Experten und jeder Experte hat auf Basis von individuellen Erfahrungen eine eigene Meinung. Diese Experten würden nun abstimmen, um zu einem Endergebnis zu gelangen. Beim Random Forest werden statt Experten verschiedene Entscheidungsbäume erstellt, die auf unterschiedlichen Subdatenmengen und Features beruhen. Für jeden einzelnen Entscheidungsbaum wird ein Output berechnet und der Output, der am häufigsten entsteht, stellt das Endergebnis dar.

Dies kann an einem einfachen Beispiel erklärt werden, bei welchem das Modell zwischen Hund und Katze entscheiden soll. Jeder einzelne der n Entscheidungsbäume verwendet eine unterschiedliche Subdatenmenge und unterschiedliche Features und berechnet auf dieser Basis die Prognose.

r Random Forest Methode mit Entscheidungsbäumen, die ein Klassifizierungsbeispiel für 'Hund' und 'Katze' zeigen

Hier sieht man, dass 3/4 der Entscheidungsbäume den Hund vorhergesagt haben und daher wird der Random Forest auch “Hund” als Endergebnis festlegen.

Logistische Regression

Auch wenn der Name dieser Methode den Begriff “Regression” beinhaltet, handelt es sich hierbei dennoch um eine Klassifizierungstechnik, die die Wahrscheinlichkeit für verschiedene Gruppen vorhersagt. Einsatz findet diese Methode besonders bei Problemen, wo zwischen zwei Klassen unterschieden wird, wie z.B. ob eine Mail Spam ist oder nicht.

Im Rahmen dieses Blogeintrag haben wir tiefergehende Einblicke in die Funktionsweise von (Un-)Supervised Learning Algorithmen gegebenen. Dabei haben wir die grundlegenden Prinzipien der Dimensionsreduktion, des Clusterings, der Regression und der Classification betrachtet. Mit diesen elementaren Grundprinzipien wurden die wichtigsten Werkzeuge für die Analyse komplexer Datensätze vorgestellt. Wenn ihr noch mehr über das Machine Learning erfahren wollt, guckt euch gerne den nächsten Beitrag über das Reinforcement Learning an.

Hinterlasse einen Kommentar

This website uses cookies to improve your web experience.
de_DEDE