KI 101

Generative vs. Diskriminative Machine Learning-Modelle

mm

Einige Machine-Learning-Modelle gehören entweder zur Kategorie “generativ” oder “diskriminativ”. Doch was ist der Unterschied zwischen diesen beiden Kategorien von Modellen? Was bedeutet es für ein Modell, diskriminativ oder generativ zu sein?

Die kurze Antwort ist, dass generative Modelle solche sind, die die Verteilung des Datensatzes beinhalten und eine Wahrscheinlichkeit für ein gegebenes Beispiel zurückgeben. Generative Modelle werden oft verwendet, um vorherzusagen, was als Nächstes in einer Sequenz passiert. Diskriminative Modelle hingegen werden für Klassifizierung oder Regression verwendet und geben eine Vorhersage basierend auf bedingter Wahrscheinlichkeit zurück. Lassen Sie uns die Unterschiede zwischen generativen und diskriminativen Modellen genauer betrachten, damit wir wirklich verstehen, was die beiden Arten von Modellen trennt und wann jede Art verwendet werden sollte.

Generative vs. Diskriminative Modelle

Es gibt verschiedene Möglichkeiten, ein Machine-Learning-Modell zu kategorisieren. Ein Modell kann als gehörend zu verschiedenen Kategorien wie generative Modelle, diskriminative Modelle, parametrische Modelle, nicht-parametrische Modelle, baumartige Modelle oder nicht-baumartige Modelle eingestuft werden.

Dieser Artikel wird sich auf die Unterschiede zwischen generativen und diskriminativen Modellen konzentrieren. Wir werden beginnen, indem wir beide Arten von Modellen definieren, und dann werden wir einige Beispiele für jede Art von Modell betrachten.

Generative Modelle

Generative Modelle sind solche, die sich auf die Verteilung der Klassen innerhalb des Datensatzes konzentrieren. Die Machine-Learning-Algorithmen modellieren typischerweise die Verteilung der Datenpunkte. Generative Modelle basieren auf der Suche nach der gemeinsamen Wahrscheinlichkeit. Sie erstellen Punkte, an denen ein gegebenes Eingabefeature und ein gewünschtes Ausgabe-Label gleichzeitig existieren.

Generative Modelle werden typischerweise verwendet, um Wahrscheinlichkeiten und Wahrscheinlichkeitsverteilungen zu schätzen und Datenpunkte zu modellieren und zwischen Klassen zu diskriminieren, basierend auf diesen Wahrscheinlichkeiten. Da das Modell eine Wahrscheinlichkeitsverteilung für den Datensatz lernt, kann es diese Wahrscheinlichkeitsverteilung verwenden, um neue Dateninstanzen zu generieren. Generative Modelle basieren oft auf Bayes-Theorem, um die gemeinsame Wahrscheinlichkeit zu finden, also p(x,y). Im Wesentlichen modellieren generative Modelle, wie die Daten generiert wurden, und beantworten die Frage:

“Wie wahrscheinlich ist es, dass diese Klasse oder eine andere Klasse diese Dateninstanz generiert hat?”

Beispiele für generative Machine-Learning-Modelle sind Linear Discriminant Analysis (LDA), Hidden Markov-Modelle und Bayes-Netzwerke wie Naive Bayes.

Diskriminative Modelle

Während generative Modelle die Verteilung des Datensatzes lernen, lernen diskriminative Modelle die Grenze zwischen Klassen innerhalb eines Datensatzes. Bei diskriminativen Modellen besteht das Ziel darin, die Entscheidungsgrenze zwischen Klassen zu identifizieren, um zuverlässige Klassenlabels zu Dateninstanzen zuzuweisen. Diskriminative Modelle trennen die Klassen im Datensatz, indem sie bedingte Wahrscheinlichkeit verwenden, ohne Annahmen über einzelne Datenpunkte zu treffen.

Diskriminative Modelle versuchen, die folgende Frage zu beantworten:

“Auf welcher Seite der Entscheidungsgrenze befindet sich diese Instanz?”

Beispiele für diskriminative Modelle im Machine Learning sind Support-Vektor-Maschinen, logistische Regression, Entscheidungsbäume und Random Forests.

Unterschiede zwischen Generativen und Diskriminativen

Hier ist eine kurze Zusammenfassung der wichtigsten Unterschiede zwischen generativen und diskriminativen Modellen.

Generative Modelle:

  • Generative Modelle zielen darauf ab, die tatsächliche Verteilung der Klassen im Datensatz zu erfassen.
  • Generative Modelle schätzen die gemeinsame Wahrscheinlichkeitsverteilung – p(x,y) – unter Verwendung von Bayes-Theorem.
  • Generative Modelle sind rechenintensiver im Vergleich zu diskriminativen Modellen.
  • Generative Modelle sind nützlich für unsupervisierte Machine-Learning-Aufgaben.
  • Generative Modelle sind stärker von Ausreißern betroffen als diskriminative Modelle.

Diskriminative Modelle:

  • Diskriminative Modelle modellieren die Entscheidungsgrenze für die Klassen im Datensatz.
  • Diskriminative Modelle lernen die bedingte Wahrscheinlichkeit – p(y|x).
  • Diskriminative Modelle sind rechenintensiver im Vergleich zu generativen Modellen.
  • Diskriminative Modelle sind nützlich für supervisierte Machine-Learning-Aufgaben.
  • Diskriminative Modelle haben den Vorteil, robuster gegenüber Ausreißern zu sein als generative Modelle.
  • Diskriminative Modelle sind robuster gegenüber Ausreißern im Vergleich zu generativen Modellen.

Wir werden nun einige verschiedene Beispiele für generative und diskriminative Machine-Learning-Modelle betrachten.

Beispiele für Generative Modelle

Linear Discriminant Analysis (LDA)

LDA-Modelle funktionieren, indem sie die Varianz und den Mittelwert der Daten für jede Klasse im Datensatz schätzen. Nachdem der Mittelwert und die Varianz für jede Klasse berechnet wurden, können Vorhersagen gemacht werden, indem die Wahrscheinlichkeit geschätzt wird, dass ein gegebenes Satz von Eingaben zu einer bestimmten Klasse gehört.

Hidden Markov-Modelle

Markov-Ketten können als Graphen mit Wahrscheinlichkeiten betrachtet werden, die angeben, wie wahrscheinlich es ist, von einem Punkt in der Kette, einem “Zustand”, zu einem anderen Zustand zu wechseln. Markov-Ketten werden verwendet, um die Wahrscheinlichkeit zu bestimmen, von Zustand j zu Zustand i zu wechseln, die als p(i,j) bezeichnet werden kann. Dies ist nur die gemeinsame Wahrscheinlichkeit, die oben erwähnt wurde. Ein Hidden Markov-Modell ist ein Modell, bei dem eine unsichtbare, nicht beobachtbare Markov-Kette verwendet wird. Die Daten-Eingaben werden dem Modell gegeben, und die Wahrscheinlichkeiten für den aktuellen Zustand und den Zustand, der ihm unmittelbar vorausgeht, werden verwendet, um das wahrscheinlichste Ergebnis zu berechnen.

Bayes-Netzwerke

Bayes-Netzwerke sind eine Art von probabilistischem grafischem Modell. Sie stellen bedingte Abhängigkeiten zwischen Variablen dar, wie sie durch einen gerichteten azyklischen Graphen dargestellt werden. In einem Bayes-Netzwerk stellt jede Kante des Graphen eine bedingte Abhängigkeit dar, und jeder Knoten entspricht einer eindeutigen Variable. Die bedingte Unabhängigkeit für die eindeutigen Beziehungen im Graphen kann verwendet werden, um die gemeinsame Verteilung der Variablen zu bestimmen und die gemeinsame Wahrscheinlichkeit zu berechnen. Mit anderen Worten: Ein Bayes-Netzwerk erfasst eine Teilmenge der unabhängigen Beziehungen in einer bestimmten gemeinsamen Wahrscheinlichkeitsverteilung.

Sobald ein Bayes-Netzwerk erstellt und ordnungsgemäß definiert wurde, mit Zufallsvariablen, bedingten Beziehungen und Wahrscheinlichkeitsverteilungen, kann es verwendet werden, um die Wahrscheinlichkeit von Ereignissen oder Ergebnissen zu schätzen.

Eine der am häufigsten verwendeten Arten von Bayes-Netzwerken ist ein Naive-Bayes-Modell. Ein Naive-Bayes-Modell bewältigt die Herausforderung, die Wahrscheinlichkeit für Datensätze mit vielen Parametern/Variablen zu berechnen, indem es alle Merkmale als voneinander unabhängig behandelt.

Beispiele für Diskriminative Modelle

Support-Vektor-Maschinen

Support-Vektor-Maschinen funktionieren, indem sie eine Entscheidungsgrenze zwischen Datenpunkten zeichnen und die Entscheidungsgrenze finden, die die Klassen im Datensatz am besten trennt. Der SVM-Algorithmus zeichnet Linien oder Hyperflächen, die Punkte trennen, für 2-dimensionale Räume und 3D-Räume. Der SVM-Algorithmus versucht, die Linie/Hyperfläche zu finden, die die Klassen am besten trennt, indem er den Abstand zwischen der Linie/Hyperfläche und den nächsten Punkten maximiert. SVM-Modelle können auch auf Datensätze angewendet werden, die nicht linear trennbar sind, indem sie den “Kernel-Trick” verwenden, um nicht-lineare Entscheidungsgrenzen zu finden.

Logistische Regression

Logistische Regression ist ein Algorithmus, der eine Logit-Funktion (Log-Odds-Funktion) verwendet, um die Wahrscheinlichkeit zu bestimmen, dass eine Eingabe in einem von zwei Zuständen ist. Eine Sigmoid-Funktion wird verwendet, um die Wahrscheinlichkeit auf 0 oder 1 zu “quetschen”, wahr oder falsch. Wahrscheinlichkeiten größer als 0,50 werden als Klasse 1 angenommen, während Wahrscheinlichkeiten von 0,49 oder niedriger als 0 angenommen werden. Aus diesem Grund wird logistische Regression typischerweise für binäre Klassifizierungsprobleme verwendet. Logistische Regression kann jedoch auch auf Mehrklassenprobleme angewendet werden, indem ein binäres Klassifizierungsmodell für jede Klasse erstellt wird und die Wahrscheinlichkeit bestimmt wird, dass ein Beispiel eine Zielklasse oder eine andere Klasse im Datensatz ist.

Entscheidungsbäume

Ein Entscheidungsbaum funktioniert, indem er einen Datensatz in kleinere und kleinere Teile aufteilt, und wenn die Teile nicht mehr aufgeteilt werden können, ist das Ergebnis ein Baum mit Knoten und Blättern. Knoten in einem Entscheidungsbaum sind die Stellen, an denen Entscheidungen über Datenpunkte getroffen werden, indem verschiedene Filterkriterien verwendet werden. Die Blätter in einem Entscheidungsbaum sind die Datenpunkte, die klassifiziert wurden. Entscheidungsbaum-Algorithmen können sowohl numerische als auch kategorische Daten verarbeiten, und die Aufteilungen im Baum basieren auf bestimmten Variablen/Merkmalen.

Random Forests

Ein Random-Forest-Modell ist im Wesentlichen nur eine Sammlung von Entscheidungsbäumen, bei der die Vorhersagen der einzelnen Bäume gemittelt werden, um zu einer endgültigen Entscheidung zu gelangen. Der Random-Forest-Algorithmus wählt Beobachtungen und Merkmale zufällig aus und baut die einzelnen Bäume basierend auf diesen Auswahlmöglichkeiten.

Dieser Tutorial-Artikel wird zeigen, wie man ein Box-Plot in Matplotlib erstellt. Box-Plots werden verwendet, um Zusammenfassungsstatistiken eines Datensatzes zu visualisieren und Merkmale der Verteilung wie den Bereich und die Verteilung der Daten anzuzeigen.

Blogger und Programmierer mit Spezialisierungen in Machine Learning und Deep Learning Themen. Daniel hofft, anderen zu helfen, die Macht von KI für das soziale Wohl zu nutzen.