Question Quelle est la différence entre un algorithme génératif et discriminant?


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


434
2018-05-18 19:44


origine


Réponses:


Supposons que vous ayez des données d'entrée x et que vous souhaitiez classer les données dans des étiquettes y. Un modèle génératif apprend le mixte distribution de probabilité p(x,y) et un modèle discriminant apprend le conditionnel distribution de probabilité p(y|x) - que vous devriez lire comme "la probabilité de y donné x".

Voici un exemple vraiment simple. Supposons que vous ayez les données suivantes sous 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 classer un exemple donné x dans une classe y, ce qui explique pourquoi les algorithmes qui modélisent cela directement sont appelés algorithmes discriminatifs. Modèle d'algorithmes génératifs p(x,y), qui peut être transformé en p(y|x) en appliquant la règle de Bayes et ensuite utilisé pour la classification. Cependant, la distribution p(x,y) peut également être utilisé à d'autres fins. Par exemple, vous pouvez utiliser p(x,y) à produire probable (x,y) paires.

À partir de la description ci-dessus, vous pourriez penser que les modèles génératifs sont plus généralement utiles et donc meilleurs, mais pas aussi simples que cela. Ce papier est une référence très populaire sur le sujet des classificateurs discriminants vs génératifs, mais elle est assez lourde. L'essentiel est que les modèles discriminants surpassent généralement les modèles génératifs dans les tâches de classification.


645
2018-05-18 20:18



UNE algorithme génératif modélise la façon dont les données ont été générées afin de catégoriser un signal. Il pose la question: sur la base de mes hypothèses de génération, quelle catégorie est la plus susceptible de générer ce signal?

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


273
2017-12-05 00:41



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

Vous pouvez le faire soit:

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

ou

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

Le premier est le génératif approche et le second est le discriminant approche.

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


134
2017-10-14 02:36



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

Dans modèles discriminants, pour prédire l'étiquette y de l'exemple d'entraînement x, vous devez évaluer:

enter image description here

qui choisit simplement quelle est la classe la plus probable y considérant x. C'est comme si nous essayions de modéliser la limite de décision entre les classes. Ce comportement est très clair dans les réseaux de neurones, où les poids calculés peuvent être considérés comme une courbe de forme complexe isolant les éléments d'une classe dans l'espace.

Maintenant, en utilisant la règle de Bayes, remplaçons le enter image description here dans l'équation par enter image description here. Puisque vous êtes seulement intéressé par arg max, vous pouvez effacer le dénominateur, qui sera le même pour tous y. Donc, vous êtes avec

enter image description here

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

Alors que dans le premier cas, vous avez eu le distribution de probabilités conditionnelle  p(y|x), qui a modélisé la limite entre les classes, dans la seconde vous avez eu 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 fonction de distribution de probabilité conjointe, à condition y, vous pouvez calculer ("générer") ses x. Pour cette raison, ils sont appelés modèles "génératifs".


102
2018-02-28 14:06



Voici la partie la plus importante de la notes de lecture de CS299 (par Andrew Ng) en rapport avec le sujet, qui vraiment m'aide à comprendre la différence entre discriminant et génératif algorithmes d'apprentissage.

Supposons que nous ayons deux classes d'animaux, l'éléphant (y = 1) et le chien (y = 0). Et X est la caractéristique des animaux.

Étant donné un ensemble d'apprentissage, un algorithme comme la régression logistique ou l'algorithme de perceptron (essentiellement) essaie de trouver une ligne droite, c'est-à-dire un limite de décision - qui sépare les éléphants et les chiens. Ensuite, pour classer un nouvel animal soit comme un éléphant ou un chien, il vérifie de quel côté de la limite de décision il tombe, et fait sa prédiction en conséquence. Nous appelons ces algorithme d'apprentissage discriminant.

Voici une approche différente. Tout d'abord, en regardant les éléphants, nous pouvons construire un modèle de l'apparence des éléphants. Ensuite, en regardant les chiens, nous pouvons construire un modèle séparé de ce que les chiens ressemblent. Enfin, pour classer un nouvel animal, nous pouvons faire correspondre le nouvel animal contre le modèle de l'éléphant, et le match contre le modèle de chien, pour voir si le nouvel animal ressemble plus aux éléphants ou plus comme les chiens que nous avions vu dans l'ensemble d'entraînement. Nous appelons ces algorithme d'apprentissage génératif.


61
2018-03-08 08:44



Généralement, il y a une pratique dans la communauté d'apprentissage automatique pour ne pas apprendre quelque chose que vous ne voulez pas. Par exemple, considérons un problème de classification où l'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) ce qui n'est pas pertinent pour la tâche en cours. Des limites pratiques telles que la rareté des données nous obligeront à modéliser p(x) avec quelques hypothèses d'indépendance faible. Par conséquent, nous utilisons intuitivement des modèles discriminants pour la classification.


25
2018-03-16 10:52



Un point d'information complémentaire qui va bien avec la réponse de StompChicken ci-dessus.

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

Modèles discriminantsapprendre le limite (dure ou douce) entre les cours

Modèles génératifs modéliser le Distribution des cours individuels

Modifier:

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 (c'est-à-dire les données complètes).

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

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 de caractéristiques.

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

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

  • Bayes Net

  • Filets de Markov

Un modèle discriminatif est celui qui ne peut être utilisé que pour discriminer / classifier les points de données. Vous avez seulement besoin de modéliser P(y|x) dans de tels cas, (c'est-à-dire, la probabilité de classe étant donné le vecteur de caractéristiques).

Par exemple. de modèles discriminants:

  • régression logistique

  • Les réseaux de neurones

  • Champs aléatoires conditionnels

En général, les modèles génératifs doivent modéliser beaucoup plus que les modèles discriminatifs et sont parfois moins efficaces. En fait, la plupart des algorithmes d’apprentissage non supervisés, comme le clustering, peuvent être appelés génératifs, car ils modélisent P(d) (et il n'y a pas de classes: P)

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


16
2017-10-02 07:57



Mes deux centimes: Les approches discriminatoires 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: l'une sera utile pour trouver des similitudes et l'autre sera utile pour trouver des similitudes.


1
2018-05-31 10:17