Question

S'il vous plaît, aidez-moi à comprendre la différence entre un générative et discriminante algorithme , en gardant à l'esprit que je suis un débutant.

Était-ce utile?

La solution

Disons que vous avez des données d'entrée x et que vous souhaitez classer les données dans les étiquettes y. Un modèle génératif apprend la probabilité distribution conjointe p(x,y) et un modèle discriminante apprend la conditionnel la distribution probabilité p(y|x) - que vous devriez lire comme « la probabilité de y donné de x » .

Voici un exemple très simple. Supposons que vous avez les données suivantes sous forme (x,y):

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

p(x,y) est

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

p(y|x) est

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

Si vous prenez quelques minutes pour regarder ces deux matrices, vous comprendrez la différence entre les deux distributions de probabilité.

La distribution p(y|x) est la distribution naturelle pour classer un exemple donné x dans une y de classe, ce qui explique pourquoi les algorithmes qui modèle ce sont directement appelés algorithmes discriminants. modèle des algorithmes génératifs p(x,y), qui peut être transformé en p(y|x) en appliquant la règle de Bayes et utilisé pour le classement. Cependant, la p(x,y) de distribution peut également être utilisé à d'autres fins. Par exemple, vous pouvez utiliser p(x,y) générer paires de (x,y) probable.

De la description ci-dessus, vous pourriez penser que les modèles génératifs sont plus généralement utiles et donc mieux, mais ce n'est pas aussi simple que cela. Cette papier est une référence très populaire au sujet de discriminante par rapport à classifieurs, mais il est assez lourd en cours. L'essentiel est que l'ensemble des modèles discriminants surclassent généralement des modèles génératifs dans les tâches de classification.

Autres conseils

algorithme génératif modèles comment les données ont été générées afin de classer un signal. Il pose la question: la base de mes hypothèses de génération, la catégorie est plus susceptible de générer ce signal

algorithme discriminante ne se soucie pas de la façon dont les données ont été générées, il catégorise simplement un signal donné.

Imaginez que votre tâche consiste à classer un discours à une langue.

Vous pouvez le faire soit par:

  1. apprendre chaque langue, puis le classer en utilisant les connaissances que vous venez de gagner

ou

  1. déterminer la différence dans les modèles linguistiques sans l'apprentissage des langues, puis classer le discours.

Le premier est le générative approche et le second est le discriminative approche.

Cochez cette référence pour plus de détails: http: // www. cedar.buffalo.edu/~srihari/CSE574/Discriminative-Generative.pdf.

Dans la pratique, les modèles sont utilisés comme suit.

modèles discriminants , pour prévoir la y étiquette de l'exemple de la formation x, vous devez évaluer:

entrer image description ici

qui ne font que choisit quelle est la classe la plus probable compte tenu y x. Il est comme nous essayions de modèle la limite de décision entre les classes . Ce comportement est très claire dans les réseaux de neurones, les coefficients de pondération calculés peuvent être considérés comme une courbe forme complexe isolant les éléments d'une classe dans l'espace.

Maintenant, en utilisant la règle de Bayes, remplaçons le entrer dans la description d'image ici dans l'équation par entrer dans la description d'image ici. Puisque vous êtes juste intéressé par le arg max , vous pouvez effacer le dénominateur, qui sera le même pour tous les y. Alors, il vous reste

entrer image description ici

qui est l'équation que vous utilisez dans modèles génératifs .

Alors que dans le premier cas, vous avez eu la distribution de probabilité conditionnelle p(y|x), qui a modelé la frontière entre les classes, dans le second vous avez eu la de probabilité p (x, y), puisque p (x, y) = p (x |. y) p (y), qui modélise explicitement la distribution réelle de chaque classe

Avec la fonction de distribution de probabilité conjointe, étant donné un y, vous pouvez calculer ( « générer ») son x respectif. Pour cette raison, ils sont appelés modèles « générative ».

En général, il existe une pratique dans la communauté d'apprentissage de la machine de ne pas apprendre quelque chose que vous ne voulez pas. Par exemple, considérons un problème de classification où son objectif est d'attribuer des étiquettes y à une entrée x donnée. Si nous utilisons le modèle génératif

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

nous devons modéliser p (x) qui est sans importance pour la tâche à accomplir. limitations pratiques telles que la dispersion des données nous obligera à modéliser p(x) avec quelques hypothèses faibles d'indépendance. Par conséquent, nous utilisons de manière intuitive des modèles discriminants pour la classification.

Un ajout qui va le point d'information bien avec la réponse par StompChicken ci-dessus.

différence fondamentale entre les modèles discriminants et modèles génératifs est:

  

modèles discriminants apprendre la limite (dur ou mou) entre les classes

     

modèles génératifs modèle Distribution des classes individuelles

Edit:

Un modèle génératif est celui qui peut générer des données . Il modélise à la fois les caractéristiques et la classe (à savoir les données complètes).

Si nous modélisons P(x,y). Je peux utiliser cette distribution de probabilité de générer des points de données - et donc tous les P(x,y) de modélisation des algorithmes sont générative

Par exemple. des modèles génératifs

  • modèles Naive Bayes P(c) et P(d|c) -. Où c est la classe et d est le vecteur caractéristique

    En outre, P(c,d) = P(c) * P(d|c)

    Par conséquent, Naive Bayes dans certains modèles de formulaire, P(c,d)

  • Bayes Net

  • Markov Nets

Un modèle discriminant est celui qui ne peut être utilisé pour discriminer / classer les points de données . Vous avez besoin que de modéliser P(y|x) dans de tels cas, (à savoir la probabilité de classe étant donné le vecteur caractéristique).

Par exemple. des modèles discriminants:

  • régression logistique

  • Neural Networks

  • champs aléatoires conditionnels

En général, les modèles génératifs doivent modéliser beaucoup plus que les modèles discriminants et par conséquent ne sont parfois pas aussi efficaces. En fait, la plupart (pas sûr si tous) des algorithmes d'apprentissage non supervisés comme le regroupement, etc., peuvent être appelés générative, car ils modèle P(d) (et il n'y a pas de classes: P)

PS: Une partie de la réponse est tirée de la source

Les différents modèles sont résumés dans le tableau ci-dessous: entrer la description d'image ici

Mes deux cents: approches discriminantes mettent en évidence les différences les approches génératives ne se concentrent pas sur les différences; ils essaient de construire un modèle représentatif de la classe. Il y a un chevauchement entre les deux. Idéalement les deux approches devraient être utilisées: on sera utile de trouver des similitudes et l'autre seront utiles pour trouver dis-similitudes.

Un modèle d'algorithme génératif apprendra complètement à partir des données de formation et prédire la réponse.

Un travail d'algorithme discriminative est juste pour classer ou la différence entre les 2 résultats.

Toutes les réponses précédentes sont grandes, et je voudrais brancher un point de plus.

A partir de modèles d'algorithmes génératifs, on peut en déduire une distribution; alors que nous ne pouvons obtenir la distribution conditionnelle P (Y | X) à partir des modèles de l'algorithme discriminants (ou on peut dire qu'ils ne sont utiles pour distinguer l'étiquette Y), et c'est la raison pour laquelle il est appelé modèle discriminante. Le modèle discriminante ne suppose pas que les X sont indépendants étant donné le Y ($ X_i \ perp X _ {- i} | Y $) et est donc généralement plus puissant pour le calcul de cette distribution conditionnelle.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top