Ich weiß, dass generativ "basierend auf " und diskriminativ "basierend auf " bedeutet, aber ich bin in mehreren Punkten verwirrt:
Wikipedia (+ viele andere Zugriffe im Web) stuft Dinge wie SVMs und Entscheidungsbäume als diskriminierend ein. Aber diese haben nicht einmal probabilistische Interpretationen. Was heißt hier diskriminierend? Ist diskriminierend zu etwas gekommen, das nicht generativ ist?
Naive Bayes (NB) ist generativ, weil es und erfasst , und daher haben Sie (sowie ). Ist es nicht trivial, die logistische Regression (das Aushängeschild diskriminativer Modelle) "generativ" zu machen, indem man einfach auf ähnliche Weise berechnet (gleiche Unabhängigkeitsannahme wie NB, so dass , wo die MLE für nur Frequenzen sind)?
Ich weiß, dass diskriminierende Modelle tendenziell generative Modelle übertreffen. Was bringt es, mit generativen Modellen zu arbeiten? Daten generieren / simulieren zu können wird zitiert, aber wann kommt das? Ich persönlich habe nur Erfahrung mit Regression, Klassifikation, Zusammenarbeit. Filtern über strukturierte Daten, sind die Verwendungen hier für mich irrelevant? Das Argument "fehlende Daten" ( für fehlendes ) scheint Ihnen nur einen Vorteil mit Trainingsdaten zu verschaffen (wenn Sie tatsächlich kennen und nicht über marginalisieren müssen , um das zu erhalten relativ dummes was man sowieso direkt hätte schätzen können), und selbst dann ist die Imputation viel flexibler (kann nicht nur auf sondern auch auf anderen basieren).
Was ist mit den völlig widersprüchlichen Zitaten aus Wikipedia? "Generative Modelle sind in der Regel flexibler als diskriminative Modelle, wenn es darum geht, Abhängigkeiten bei komplexen Lernaufgaben auszudrücken" im Vergleich zu "Diskriminative Modelle können im Allgemeinen komplexere Beziehungen zwischen den beobachteten Variablen und den Zielvariablen ausdrücken".
Verwandte Frage , die mich zum Nachdenken brachte.
Antworten:
Der grundlegende Unterschied zwischen Unterscheidungsmodellen und generativen Modellen ist:
So beantworten Sie Ihre direkten Fragen:
SVMs und Entscheidungsbäume sind diskriminierend, weil sie explizite Grenzen zwischen Klassen lernen. SVM ist ein Maximum-Margin-Klassifikator, dh, es lernt eine Entscheidungsgrenze, die den Abstand zwischen den Stichproben der beiden Klassen bei gegebenem Kernel maximiert. Der Abstand zwischen einer Stichprobe und der erlernten Entscheidungsgrenze kann verwendet werden, um die SVM zu einem "weichen" Klassifikator zu machen. DTs lernen die Entscheidungsgrenze durch rekursives Partitionieren des Raums auf eine Weise, die den Informationsgewinn (oder ein anderes Kriterium) maximiert.
Auf diese Weise kann eine generative Form der logistischen Regression hergestellt werden. Beachten Sie jedoch, dass Sie nicht das vollständige generative Modell verwenden, um Klassifizierungsentscheidungen zu treffen.
Es gibt eine Reihe von Vorteilen, die generative Modelle je nach Anwendung bieten können. Angenommen, Sie haben es mit instationären Verteilungen zu tun, bei denen die Online-Testdaten möglicherweise von anderen zugrunde liegenden Verteilungen als den Trainingsdaten generiert werden. In der Regel ist es einfacher, Verteilungsänderungen zu erkennen und ein generatives Modell entsprechend zu aktualisieren, als dies für eine Entscheidungsgrenze in einer SVM zu tun, insbesondere wenn die Online-Aktualisierungen nicht überwacht werden müssen. Diskriminative Modelle funktionieren im Allgemeinen auch nicht für die Erkennung von Ausreißern, generative Modelle jedoch im Allgemeinen. Was für eine bestimmte Anwendung am besten ist, sollte natürlich basierend auf der Anwendung bewertet werden.
(Dieses Zitat ist verschachtelt, aber ich denke, es versucht zu sagen, dass dies so ist.) Generative Modelle werden in der Regel als probabilistische grafische Modelle angegeben, die umfassende Darstellungen der Unabhängigkeitsbeziehungen im Datensatz bieten. Diskriminative Modelle bieten keine so klare Darstellung der Beziehungen zwischen Features und Klassen im Dataset. Anstatt Ressourcen zu verwenden, um jede Klasse vollständig zu modellieren, konzentrieren sie sich darauf, die Grenzen zwischen Klassen umfassend zu modellieren. Bei gleicher Kapazität (z. B. Bits in einem Computerprogramm, das das Modell ausführt) kann ein Unterscheidungsmodell daher komplexere Darstellungen dieser Grenze liefern als ein generatives Modell.
quelle
(Die Antwort von hamner ist großartig, also stelle meine Antwort von MetaOptimize der Vollständigkeit halber einfach quer.)
Ich stelle mir generative Algorithmen als ein Modell dafür vor, wie die Daten tatsächlich generiert werden (ich stelle mir vor, dass sie Ihnen ein Modell sowohl von als auch von , anstatt von . obwohl ich denke, dass es äquivalent ist) und diskriminierende Algorithmen als einfaches Bereitstellen von Klassifikationsteilen (und nicht unbedingt auf probabilistische Weise).P(X|Y) P(Y) P(X,Y)
Vergleichen Sie beispielsweise Gaußsche Mischungsmodelle und k-Mean-Clustering. Im ersten Fall haben wir ein gutes Wahrscheinlichkeitsmodell für die Punkterzeugung (wählen Sie mit einiger Wahrscheinlichkeit eine Komponente aus und geben Sie dann einen Punkt durch Abtasten aus der Gaußschen Verteilung der Komponente aus), aber über die letztere können wir nichts sagen.
Beachten Sie, dass generative Algorithmen diskriminative Eigenschaften haben, da Sie sobald Sie und (gemäß Bayes 'Theorem), obwohl diskriminative Algorithmen nicht wirklich generative Eigenschaften haben.P(Y|X) P(X|Y) P(Y)
1: Mit diskriminativen Algorithmen können Sie Punkte klassifizieren, ohne ein Modell dafür bereitzustellen, wie die Punkte tatsächlich generiert werden. Das können also entweder sein:
Ja, diskriminative Klassifikatoren sind Klassifikatoren, die nicht generativ sind.
Eine andere Art, darüber nachzudenken, ist, dass generative Algorithmen eine Art von Strukturannahmen für Ihr Modell treffen, aber diskriminative Algorithmen weniger Annahmen treffen. Beispielsweise geht Naive Bayes von einer bedingten Unabhängigkeit Ihrer Funktionen aus, während dies bei der logistischen Regression (dem diskriminierenden "Gegenstück" von Naive Bayes) nicht der Fall ist.
2: Ja, Naive Bayes ist generativ, weil es und erfasst . Wenn wir beispielsweise wissen, dass und , zusammen mit den englischen und französischen Wortwahrscheinlichkeiten, können wir jetzt ein neues Dokument erstellen, indem wir zuerst die Sprache des Dokuments auswählen ( Englisch mit einer Wahrscheinlichkeit von 0,7, Französisch mit einer Wahrscheinlichkeit von 0,3) und dann Erzeugen von Wörtern gemäß den Wortwahrscheinlichkeiten der gewählten Sprache.P(X|Y) P(Y) P(Y=English)=0.7 P(Y=French)=0.3
Ja, ich vermute, Sie könnten die logistische Regression auf diese Weise generieren, aber nur, weil Sie der logistischen Regression etwas hinzufügen, das noch nicht vorhanden ist. Das heißt, wenn Sie eine Naive Bayes-Klassifikation durchführen, berechnen Sie direkt (die Terme rechts, und können Sie ein neues Dokument erstellen. Wenn Sie jedoch in der logistischen Regression berechnen, berechnen Sie diese beiden Dinge nicht, sondern wenden lediglich eine logistische Funktion auf ein Skalarprodukt an.P(Y|X)∝P(X|Y)P(Y) P(X|Y) P(Y) P(Y|X)
3: Generative Modelle übertreffen häufig diskriminative Modelle für kleinere Datasets, da ihre generativen Annahmen Ihrem Modell eine gewisse Struktur verleihen, die eine Überanpassung verhindert . Betrachten wir beispielsweise Naive Bayes vs. Logistic Regression. Die Annahme von Naive Bayes wird natürlich selten erfüllt, sodass die logistische Regression mit zunehmendem Datenvolumen die von Naive Bayes übertrifft (da Abhängigkeiten erfasst werden können, die Naive Bayes nicht erfassen kann). Wenn Sie jedoch nur über einen kleinen Datensatz verfügen, erkennt die logistische Regression möglicherweise unechte Muster, die nicht wirklich vorhanden sind. Daher fungiert der Naive Bayes als eine Art Regularisierer für Ihr Modell, der eine Überanpassung verhindert. Es gibt einen Artikel von Andrew Ng und Michael Jordan über diskriminierende vs. generative Klassifikatoren, der mehr darüber spricht.
4: Ich denke, was es bedeutet, dass generative Modelle die zugrunde liegende Struktur der Daten tatsächlich lernen können, wenn Sie Ihr Modell korrekt angeben und das Modell tatsächlich gilt. Diskriminative Modelle können jedoch eine Outperformance erzielen, wenn Ihre generativen Annahmen nicht erfüllt sind (da diskriminative Algorithmen dies sind) weniger an eine bestimmte Struktur gebunden, und die reale Welt ist chaotisch und Annahmen sind sowieso selten perfekt erfüllt. (Ich würde diese Anführungszeichen wahrscheinlich einfach ignorieren, wenn sie verwirrend sind.)
quelle