(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.)