665 votes

Quelle est la différence entre une génératrice et Discriminative algorithme ?

S’il vous plaît m’aider à comprendre la différence entre une génératrice et Discriminative algorithme gardant à l’esprit que je suis juste un débutant.

920voto

StompChicken Points 6102

Disons que vous avez données d'entrée x et que vous souhaitez classer les données en y étiquettes. Un modèle génératif apprend la commune de distribution de probabilités p(x,y) et un modèle discriminant apprend le conditionnel distribution de probabilité p(y|x) - ce qui vous devrait se lire comme "la probabilité de y x".

Voici un exemple simple. Supposons que vous avez les données suivantes dans la 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 la classification d'un exemple donné en x dans une classe y, ce qui est pourquoi les algorithmes de ce modèle ce sont les appelle discriminant des algorithmes. Des algorithmes génératifs modèle p(x,y), qui peut être changée en p(y|x) en appliquant la règle de Bayes et ensuite utilisés pour la classification. Cependant, la distribution p(x,y) peut également être utilisé pour d'autres fins. Par exemple, vous pouvez utiliser p(x,y) pour générer susceptibles (x,y) paires.

À partir de la description ci-dessus, vous pensez peut-être que les modèles génératifs sont plus utiles en général, et donc de mieux, mais ce n'est pas aussi simple que cela. Ce livre est une référence très appréciés sur le sujet de discriminantes contre générative classificateurs, mais il est assez lourd. L'idée est que discriminantes modèles sont généralement supérieurs à générative modèles de classification des tâches.

313voto

Carlos Rendon Points 2023

Un algorithme générative modèles comment les données ont été générées afin de catégoriser un signal. Il pose la question : basé sur des hypothèses de ma génération, quelle catégorie est plus susceptible de générer ce signal ?

Un algorithme discriminatoire ne se soucie pas comment les données ont été générées, il catégorise simplement un signal donné.

172voto

madCode Points 695

Imaginez votre tâche est de les classer d'un discours d'une langue:

vous pouvez le faire soit par:

1) l'Apprentissage de chaque langue, puis la classer en utilisant les connaissances que vous venez de gagner

OU

2) Déterminer la différence dans les modèles linguistiques sans cours de langue et de classifier les discours.

le premier est le Générative Approche et le second est le Discriminant de l'approche.

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

144voto

Saul Berardo Points 583

Bien que ce sujet est assez vieux, je pense que ça vaut la peine d'ajouter cette importante distinction. Dans la pratique, les modèles sont utilisés comme suit.

En discriminant des modèles pour prédire l'étiquette de y à partir de l'exemple d'apprentissage x, vous devez évaluer:

enter image description here

Simplement choisit ce qui est le plus susceptible de classe en considérant x. C'est comme nous avons essayé de modéliser la décision de la limite entre les classes. Ce comportement est très clair dans les réseaux de neurones, où la masse calculée peut être vu comme une forme complexe, la courbe d'isoler les éléments d'une classe dans l'espace.

Maintenant, en utilisant la règle de Bayes, nous allons remplacer enter image description here dans l'équation enter image description here. Puisque vous êtes seulement intéressé par l'arg max, vous pouvez effacer le dénominateur, qui sera la même pour chaque année. Donc, vous êtes de gauche avec

enter image description here

Qui est l'équation que vous utilisez dans les modèles génératifs. Alors que dans le premier cas, vous avez eu le conditionnel distribution de probabilité p(y|x), de la modélisation de la limite entre les classes, dans le deuxième vous avez eu de la distribution de probabilité conjointe 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 distribution de probabilité conjointe de la fonction, y, vous pouvez calculer ("générer"), sa respectives x. Pour cette raison, ils sont appelés des modèles génératifs.

34voto

Généralement, il y a une pratique de l'apprentissage automatique de la communauté de ne pas apprendre quelque chose que vous ne voulez pas à la tâche. Prenons l'exemple d'une tâche de classification où votre objectif est d'attribuer y étiquettes pour un x donné d'entrée. Si nous utilisons le modèle génératif

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

nous avons pour le modèle p(x) qui est un manque de respect pour la tâche en cours. Les limites pratiques comme des données à caractère va nous forcer à modèle p(x) avec une faible indépendance des hypothèses. Il y a pour nous de façon intuitive l'utilisation discriminatoire des modèles de classification. Sriwantha Sri Aravinda

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X