Génératif vs discriminatif

154

Je sais que générative signifie "basé sur P(x,y) " et discriminatif signifie "basé sur P(y|x) ", mais je suis confus sur plusieurs points:

  • Wikipedia (+ de nombreux autres hits sur le Web) classifie des éléments tels que les SVM et les arbres de décision comme discriminants. Mais ceux-ci n'ont même pas d'interprétations probabilistes. Que veut dire discriminatif ici? Est-ce que discriminatif vient juste de vouloir dire quelque chose qui n'est pas génératif?

  • Naive Bayes (NB) est générative car elle capture P(x|y) et P(y) , ce qui donne P(x,y) (ainsi que P(y|x) ). N’est-il pas trivial de faire, par exemple, une régression logistique (le modèle classique des modèles discriminants) "générative" en calculant simplement P(x) de la même manière (même hypothèse d’indépendance que NB, telle que P(x)=P(x0)P(x1)...P(xd) , où les MLE pourP(xi) sont que des fréquences)?

  • Je sais que les modèles discriminants ont tendance à surpasser les modèles génératifs. Quelle est l'utilisation pratique de travailler avec des modèles génératifs? La possibilité de générer / simuler des données est citée, mais quand cela se produit-il? Personnellement, je n'ai qu'une expérience avec la régression, la classification, la collaboration. filtrer sur des données structurées, les utilisations ne sont-elles pas pertinentes pour moi ici? L'argument "données manquantes" ( P(xi|y) pour manquant xi) ne semble vous donner qu'un avantage avec les données d'entraînement (lorsque vous connaissez réellement y et que vous n'avez pas besoin de vous marginaliser sur P(y) pour obtenir le relativement bête P(xi) Que vous pourriez avoir estimé directementtoute façon), et même alorsimputation est beaucoup plus flexible (peut prédire non seulementdey , maisautresxi « s aussi).

  • Qu'en est-il des citations complètement contradictoires de Wikipedia? "Les modèles génératifs sont généralement plus souples que les modèles discriminants pour exprimer les dépendances dans des tâches d'apprentissage complexes" et "les modèles discriminants peuvent généralement exprimer des relations plus complexes entre les variables observées et cibles".

Question connexe qui m'a fait réfléchir à ce sujet.

Yang
la source
5
P(y|x)P(y|x)P(x,y)P(y|x)P(y|x)
2
Je ne pense pas que votre affirmation à propos des SVM soit vraie: "Mais ils n’ont même pas d’interprétation probabiliste." Tout ce qui a une fonction de perte peut être clairement interprété dans un sens probabiliste en trouvant la configuration MAP d'un fichier PDF approprié.
Gmatt

Réponses:

135

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

  • Les modèles discriminants apprennent la limite (dure ou douce) entre les classes
  • Les modèles génératifs modélisent la distribution des classes individuelles

Pour répondre à vos questions directes:

  • Les SVM et les arbres de décision sont discriminants car ils apprennent les limites explicites entre les classes. SVM est un classificateur de marge maximale, ce qui signifie qu'il apprend une limite de décision qui maximise la distance entre les échantillons des deux classes, à partir d'un noyau. La distance entre un échantillon et la limite de décision apprise peut être utilisée pour faire du SVM un classificateur "souple". Les DT apprennent la limite de décision en partitionnant de manière récursive l'espace de manière à maximiser le gain d'informations (ou un autre critère).

  • Il est possible de faire une forme générative de régression logistique de cette manière. Notez que vous n'utilisez cependant pas le modèle génératif complet pour prendre des décisions de classification.

  • Selon l’application, les modèles génératifs peuvent offrir plusieurs avantages. Supposons que vous traitez avec des distributions non stationnaires, où les données de test en ligne peuvent être générées par des distributions sous-jacentes différentes des données d'apprentissage. Il est généralement plus simple de détecter les modifications de la distribution et de mettre à jour un modèle génératif en conséquence que pour une limite de décision dans un SVM, en particulier si les mises à jour en ligne doivent être non supervisées. Les modèles discriminants ne fonctionnent généralement pas non plus pour la détection des valeurs aberrantes, contrairement aux modèles génératifs. Ce qui convient le mieux à une application spécifique doit bien entendu être évalué en fonction de l'application.

  • (Cette citation est compliquée, mais c'est ce que je pense qu'elle essaie de dire.) Les modèles génératifs sont généralement spécifiés en tant que modèles graphiques probabilistes, qui offrent une riche représentation des relations d'indépendance dans l'ensemble de données. Les modèles discriminants n'offrent pas une représentation aussi claire des relations entre les entités et les classes de l'ensemble de données. Au lieu d'utiliser des ressources pour modéliser chaque classe, ils se concentrent sur la modélisation détaillée de la limite entre les classes. Avec la même quantité de capacité (par exemple, des bits dans un programme informatique exécutant le modèle), un modèle discriminant peut ainsi donner des représentations plus complexes de cette limite qu'un modèle génératif.

Benhamner
la source
Un commentaire trivial: frontières entre grappes deviennent de plus en plus difficiles à tracer / comprendre / mesurer lorsque augmente. Ainsi, par exemple, le k-clustering, considéré comme un modèle discriminant, devient plus bruyant et ad hoc. (Exemple: comparez la politique dans les systèmes à deux partis et celle à cinq partis en Allemagne). (k2)kk
denis
63

(La réponse de hamner est excellente, il suffit donc d'afficher ma réponse de MetaOptimize pour qu'elle soit complète.)

Je pense que les algorithmes génératifs fournissent un modèle de la manière dont les données sont générées (je pense qu’ils vous donnent un modèle à la fois de et de , plutôt que de , bien que je suppose que cela soit équivalent), et des algorithmes discriminants comme fournissant simplement des scissions de classification (et pas nécessairement de manière probabiliste).P(X|Y)P(Y)P(X,Y)

Comparez, par exemple, les modèles de mélange gaussien et la classification k-mean. Dans le premier cas, nous avons un bon modèle probabiliste pour la manière dont les points sont générés (choisissez un composant avec une probabilité, puis émettez un point en échantillonnant dans la distribution gaussienne du composant), mais nous ne pouvons rien en dire.

Notez que les algorithmes génératifs ont des propriétés discriminantes, car vous pouvez obtenir une fois que vous avez et (selon le théorème de Bayes), bien que les algorithmes discriminants n'aient pas vraiment de propriétés génératives.P(Y|X)P(X|Y)P(Y)

1: Les algorithmes discriminants vous permettent de classer les points sans fournir de modèle de la manière dont ils sont générés. Donc, ceux-ci pourraient être soit:

  • les algorithmes probabilistes essaient d'apprendre (par exemple, la régression logistique);P(Y|X)
  • ou des algorithmes non probabilistes qui tentent d'apprendre les correspondances directement des points aux classes (par exemple, perceptron et SVM vous donnent simplement un hyperplan séparateur, mais aucun modèle de génération de nouveaux points).

Donc, oui, les classificateurs discriminants sont tous les classificateurs qui ne sont pas génératifs.

Une autre façon de penser à cela est que les algorithmes génératifs font une sorte d’hypothèse de structure sur votre modèle , alors que les algorithmes discriminatifs font moins d’hypothèses. Par exemple, Naive Bayes suppose une indépendance conditionnelle de vos fonctionnalités, contrairement à la régression logistique (le "pendant" discriminant de Naive Bayes).

2: Oui, Naive Bayes est génératif car il capture et . Par exemple, si nous savons que et , ainsi que les probabilités de mots anglais et français, nous pouvons maintenant générer un nouveau document en choisissant d'abord la langue du document ( Anglais avec une probabilité de 0,7, Français avec une probabilité de 0,3), puis génération de mots en fonction des probabilités de la langue choisie.P(X|Y)P(Y)P(Y=English)=0.7P(Y=French)=0.3

Oui, je suppose que vous pourriez créer une régression logistique générative de cette façon, mais c'est uniquement parce que vous ajoutez quelque chose à la régression logistique qui n'existe pas déjà. En d’autres termes , lorsque vous effectuez une classification Naive Bayes, vous calculez directement (les termes à droite, et , sont ce qui vous permet de générer un nouveau document); mais lorsque vous calculez dans la régression logistique, vous ne calculez pas ces deux choses, vous appliquez simplement une fonction logistique à un produit scalaire.P(Y|X)P(X|Y)P(Y)P(X|Y)P(Y)P(Y|X)

3: Les modèles génératifs surpassent souvent les modèles discriminants sur des ensembles de données plus petits, car leurs hypothèses génératives placent sur votre modèle une structure qui évite les surajustements . Par exemple, considérons Naive Bayes vs. Logistic Regression. L’hypothèse Naive Bayes étant bien entendu rarement satisfaite, la régression logistique aura tendance à surpasser celle de Naive Bayes à mesure que votre jeu de données se développe (car il peut capturer des dépendances que Naive Bayes ne peut pas obtenir). Cependant, lorsque vous ne disposez que d'un petit ensemble de données, la régression logistique peut prendre en compte des schémas parasites qui n'existent pas réellement. Naive Bayes agit donc comme une sorte de régularisateur sur votre modèle pour éviter les surajustements. Andrew Ng et Michael Jordan ont publié un article sur les classificateurs discriminants et génératifs qui en parle davantage.

4: Je pense que cela signifie que les modèles génératifs peuvent réellement apprendre la structure sous-jacente des données si vous spécifiez correctement votre modèle et que le modèle tient, mais les modèles discriminants peuvent surperformer si vos hypothèses génératives ne sont pas satisfaites moins liés à une structure particulière, et le monde réel est en désordre et les hypothèses sont rarement parfaitement satisfaites de toute façon). (J'ignorerais probablement ces citations si elles prêtaient à confusion.)

Raegtin
la source