Frage

Bitte helfen Sie mir, den Unterschied zwischen a generativ und eindiskriminierend Algorithmus, wobei ich bedenken muss, dass ich nur ein Anfänger bin.

War es hilfreich?

Lösung

Nehmen wir an, Sie haben Eingabedaten x und Sie möchten die Daten in Etiketten klassifizieren y.Ein generatives Modell lernt das gemeinsam Wahrscheinlichkeitsverteilung p(x,y) und ein diskriminierendes Modell lernt das bedingt Wahrscheinlichkeitsverteilung p(y|x) - was Sie lesen sollten als „die Wahrscheinlichkeit von y gegeben x".

Hier ist ein wirklich einfaches Beispiel.Angenommen, Sie haben die folgenden Daten im Formular (x,y):

(1,0), (1,0), (2,0), (2, 1)

p(x,y) Ist

      y=0   y=1
     -----------
x=1 | 1/2   0
x=2 | 1/4   1/4

p(y|x) Ist

      y=0   y=1
     -----------
x=1 | 1     0
x=2 | 1/2   1/2

Wenn Sie sich ein paar Minuten Zeit nehmen, um diese beiden Matrizen zu betrachten, werden Sie den Unterschied zwischen den beiden Wahrscheinlichkeitsverteilungen verstehen.

Der Vertrieb p(y|x) ist die natürliche Verteilung zur Klassifizierung eines bestimmten Beispiels x in eine Klasse y, weshalb Algorithmen, die dies direkt modellieren, diskriminative Algorithmen genannt werden.Modell generativer Algorithmen p(x,y), die umgewandelt werden kann in p(y|x) durch Anwendung der Bayes-Regel und dann zur Klassifizierung verwendet.Allerdings ist die Verteilung p(x,y) kann auch für andere Zwecke verwendet werden.Sie könnten zum Beispiel verwenden p(x,y) Zu generieren wahrscheinlich (x,y) Paare.

Aufgrund der obigen Beschreibung denken Sie vielleicht, dass generative Modelle allgemeiner nützlich und daher besser sind, aber so einfach ist das nicht. Dieses Papier ist eine sehr beliebte Referenz zum Thema diskriminierende vs.generative Klassifikatoren, aber es ist ziemlich mühsam.Der allgemeine Kern besteht darin, dass diskriminierende Modelle bei Klassifizierungsaufgaben im Allgemeinen generative Modelle übertreffen.

Andere Tipps

generativer Algorithmus Modelle, wie die Daten, um ein Signal zu kategorisieren generiert wurden. Es stellt sich die Frage:? Basiert auf meiner Generation Annahmen, die Kategorie ist am wahrscheinlichsten, dieses Signal zu erzeugen

diskriminativen Algorithmus ist etwa nicht, wie die Daten erzeugt wurden, ist es einfach stuft ein gegebenes Signal.

Stellen Sie sich Ihre Aufgabe ist es, eine Rede zu einer Sprache zu klassifizieren.

Sie können es entweder tun:

  1. jede Sprache zu lernen, und Klassifizieren es dann das Wissen verwenden Sie nur gewonnen

oder

  1. die Differenz der linguistischen Modelle zu bestimmen, ohne die Sprachen zu lernen, und dann die Sprache zu klassifizieren.

Die erste ist die generative Ansatz und die zweite ist die diskriminativen Ansatz.

Überprüfen Sie diese Referenz für weitere Informationen: http: // www. cedar.buffalo.edu/~srihari/CSE574/Discriminative-Generative.pdf .

In der Praxis werden die Modelle werden wie folgt verwendet.

In diskriminativen Modellen , das Etikett y aus dem Training Beispiel x vorherzusagen, müssen Sie bewerten:

eingeben Bild Beschreibung hier

, die wählt nur das, was die wahrscheinlichste Klasse y ist unter Berücksichtigung x. Es ist wie wir auf Modell der Entscheidungsgrenze zwischen den Klassen versuchen . Dieses Verhalten ist sehr klar in neuralen Netzwerken, in denen die berechneten Gewicht als eine komplex geformte Kurve zu sehen sind, die Elemente einer Klasse im Raum zu isolieren.

Nun, mit Bayes-Regel, lassen Sie sich das ersetzen Bildbeschreibung hier eingeben in der Gleichung von image description treten Sie hier. Da Sie nur Interesse an der arg max sind, können Sie den Nenner auszulöschen, das wird das gleiche für jedes y sein. So sind Sie links mit

eingeben Bild Beschreibung hier

, welche die Gleichung Sie verwenden in generativen Modellen .

Während im ersten Fall hatten Sie die bedingte Wahrscheinlichkeitsverteilung p(y|x), die die Grenze zwischen Klassen modelliert, in der zweiten Sie hatte die gemeinsame Wahrscheinlichkeitsverteilung p (x, y), da p (x, y) = p (x |. y) p (y), die explizit Modelle die tatsächliche Verteilung der einzelnen Klassen

Mit der gemeinsamen Wahrscheinlichkeitsverteilungsfunktion, da ein y, können Sie ( „erzeugen“) ihre jeweiligen x berechnen. Aus diesem Grunde werden sie als „generative“ -Modelle bezeichnet.

Im Allgemeinen gibt es eine Praxis in Gemeinschaft maschinellen Lernens nicht, etwas zu lernen, die Sie wollen nicht. Betrachten wir zum Beispiel Ziel, ein Klassifikationsproblem, wo man die y-Etiketten auf eine gegebene Eingabe x zuzuordnen. Wenn wir generatives Modell verwenden

p(x,y)=p(y|x).p(x)

müssen wir p (x) modellieren, die für die Aufgabe in der Hand irrelevant ist. Praktische Einschränkungen wie Daten Kargheit wird uns zwingen p(x) mit einigen schwachen Unabhängigkeit Annahmen zu modellieren. Deshalb verwenden wir intuitiv diskriminativen Modelle für die Einstufung.

Ein Zusatz informativer Punkt, der durch StompChicken oben gut mit der Antwort geht.

Der fundamentale Unterschied zwischen diskriminativen Modellen und generativen Modellen ist:

  

Discriminative Modelle lernen Sie die (hart oder weich) Grenze zwischen den Klassen

     

Generative Modelle Modell der Verteilung die einzelnen Klassen

Edit:

generatives Modell ist die ein , dass Daten erzeugen kann. Es Modelle sowohl die Merkmale und die Klasse (das heißt die vollständigen Daten).

Wenn wir P(x,y). Modell: ich diese Wahrscheinlichkeitsverteilung verwenden kann, um Datenpunkte zu erzeugen - und damit alle Algorithmen Modellierung P(x,y) ist generative

Eg. generativer Modelle

  • Naive Bayes-Modelle P(c) und P(d|c) -. Wo c ist die Klasse und d ist der Merkmalsvektor

    Auch P(c,d) = P(c) * P(d|c)

    Daher Naive Bayes in einigen Form Modelle, P(c,d)

  • Bayes Net

  • Markov Nets

A discriminative Modell ist die eine, die nur auf verwendet werden kann, unterscheiden / klassifiziert die Datenpunkte, . Sie benötigen nur P(y|x) in solchen Fällen zu modellieren, (das heißt Wahrscheinlichkeit der Klasse angesichts der Merkmalsvektor).

Eg. diskriminativer Modelle:

  • logistische Regression

  • Neuronale Netze

  • Bedingte Zufallsfelder

Generell generative Modelle brauchen viel mehr als die unterscheidenden Modelle zu modellieren und somit sind manchmal nicht so effektiv. Wie in der Tat, die meisten (nicht sicher, ob alle) unüberwachten Lernalgorithmen wie Clustering usw. kann generative genannt werden, da sie Modell P(d) (und es gibt keine Klassen: P)

PS: Ein Teil der Antwort ist von Quelle entnommen

Die verschiedenen Modelle sind in der folgenden Tabelle zusammengefasst: eingeben Bild Beschreibung hier

Meine zwei Cent: Discriminative Ansätze Highlight Unterschiede Generative Ansätze konzentrieren sich nicht auf Unterschiede; sie versuchen, ein Modell zu bauen, die repräsentativ für die Klasse ist. Es gibt eine Überlappung zwischen den beiden. Im Idealfall sollten beiden Ansätze verwendet werden: wird man sinnvoll sein, Ähnlichkeiten zu finden und die andere von Nutzen sein werden dis-Ähnlichkeiten zu finden.

Ein generativen Algorithmus Modell vollständig aus dem Trainingsdaten lernen und die Reaktion vorhersagen.

Eine diskriminativen Algorithmus Aufgabe ist nur zu klassifizieren oder zwischen den zwei Ergebnissen zu unterscheiden.

Alle bisherigen Antworten sind groß, und ich würde in einem weiteren Punkt stecken mag.

Von generativen Algorithmus Modelle, können wir jede Verteilung abzuleiten; während wir nur die bedingte Verteilung P (Y | X) erhalten aus den diskriminativen Algorithmus Modelle (oder wir sagen können, sind sie Y Label zur Unterscheidung nur dann sinnvoll), und deshalb ist es diskriminativen Modell genannt wird. Das diskriminativen Modell geht nicht davon aus, dass die X unabhängig sind angesichts der Y ($ X_i \ perp X _ {- i} | Y $) und damit in der Regel leistungsfähiger für die bedingte Verteilung zu berechnen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top