KNN est-il un algorithme d'apprentissage discriminant?

17

Il semble que KNN soit un algorithme d'apprentissage discriminant, mais je n'arrive pas à trouver de sources en ligne le confirmant.

KNN est-il un algorithme d'apprentissage discriminant?

jpmuc
la source

Réponses:

19

KNN est un algorithme discriminant car il modélise la probabilité conditionnelle d'un échantillon appartenant à une classe donnée. Pour voir cela, il suffit de considérer comment on arrive à la règle de décision des kNN.

Une étiquette de classe correspond à un ensemble de points qui appartiennent à une région dans l'espace de caractéristiques . Si vous tirez des points d'échantillonnage de la distribution de probabilité réelle, p ( x ) , indépendamment, alors la probabilité de tirer un échantillon de cette classe est, P = R p ( x ) d xRp(x)

P=Rp(x)dx

Et si vous avez points? La probabilité que K points de ces N points tombent dans la région R suit la distribution binomiale, NKNR

Prob(K)=(NK)PK(1P)NK

Comme cette distribution est fortement culminée, de sorte que la probabilité peut être approximée par sa valeur moyenne . Une approximation supplémentaire est que la distribution de probabilité sur reste approximativement constante, de sorte que l'on peut approximer l'intégrale par, où est le volume total du Région. Sous ces approximations .NKNR

P=Rp(x)dxp(x)V
Vp(x)KNV

Maintenant, si nous avions plusieurs classes, nous pourrions répéter la même analyse pour chacune, ce qui nous donnerait, où est le nombre de points de la classe qui appartient à cette région et est le nombre total de points appartenant à la classe . Avis .

p(x|Ck)=KkNkV
KkkNkCkkNk=N

P(Ck)=NkN

P(Ck|x)=p(x|Ck)p(Ck)p(x)=KkK
jpmuc
la source
2
La référence ne contient aucune information sur KNN. Est-ce la bonne?
bayerj
1
Je voulais dire pour souligner ce qui est compris pour un algorithme discriminant par rapport à un génératif.
jpmuc
5

La réponse de @jpmuc ne semble pas être exacte. Les modèles génératifs modélisent la distribution sous-jacente P (x / Ci) puis utilisent plus tard le théorème de Bayes pour trouver les probabilités postérieures. C'est exactement ce qui a été montré dans cette réponse, puis conclut exactement le contraire. : O

Pour que KNN soit un modèle génératif, nous devons être capables de générer des données synthétiques. Il semble que cela soit possible une fois que nous aurons quelques données de formation initiale. Mais partir de l'absence de données d'entraînement et générer des données synthétiques n'est pas possible. Donc KNN ne correspond pas bien aux modèles génératifs.

On peut soutenir que KNN est un modèle discriminant parce que nous pouvons tracer une frontière discriminante pour la classification, ou nous pouvons calculer le P postérieur (Ci / x). Mais tout cela est également vrai dans le cas des modèles génératifs. Un véritable modèle discriminant ne dit rien sur la distribution sous-jacente. Mais dans le cas de KNN, nous en savons beaucoup sur la distribution sous-jacente, en fait, nous stockons l'ensemble de la formation.

Il semble donc que KNN soit à mi-chemin entre les modèles génératifs et discriminants. C'est probablement pourquoi KNN n'est classé dans aucun des modèles génératifs ou discriminatoires des articles réputés. Appelons-les simplement des modèles non paramétriques.

Binu Jasim
la source
Je ne suis pas d'accord. "Les classificateurs génératifs apprennent un modèle de la probabilité conjointe, p (x, y), des entrées x et de l'étiquette y, et font leurs prédictions en utilisant les règles de Bayes pour calculer p (ylx), puis en choisissant l'étiquette la plus probable y Les classificateurs discriminants modélisent directement le p postérieur (ylx), ou apprennent une correspondance directe des entrées x aux étiquettes de classe ". Voir "Sur les classificateurs discriminants et génératifs: une comparaison de la régression logistique et des Bayes naïfs.
jpmuc
3

Je suis tombé sur un livre qui dit le contraire ( c'est -à- dire un modèle de classification générative non paramétrique)

Ceci est le lien en ligne: Machine Learning A Probabilistic Perspective par Murphy, Kevin P. (2012)

Voici l'extrait du livre: entrez la description de l'image ici

Gürol Canbek
la source
Ce doit être une erreur ..
1

Je suis d'accord que kNN est discriminatoire. La raison en est qu'il ne stocke pas explicitement ou n'essaie pas d'apprendre un modèle (probabiliste) qui explique les données (par opposition, par exemple, à Naive Bayes).

La réponse de juampa me confond car, à ma connaissance, un classificateur génératif est celui qui tente d'expliquer comment les données sont générées (par exemple en utilisant un modèle), et cette réponse dit qu'elle est discriminante pour cette raison ...

Amir
la source
1
Un modèle génératif apprend P (Ck, X), vous pouvez donc générer plus de données en utilisant cette distribution conjointe. En revanche, un modèle discriminant apprendrait P (Ck | X). C'est ce que @juampa pointe avec KNN.
Zhubarb
1
Au moment de la classification, à la fois générative et discriminante finit par utiliser des probabilités conditionnelles pour faire des prédictions. Cependant, les classificateurs génératifs apprennent la probabilité conjointe et selon la règle de Bayes, il calcule le conditionnel, tandis que dans le discriminant, un classificateur calcule directement le conditionnel ou fournit une approximation aussi bonne que possible.
rapaio