Lissage dans le modèle Naive Bayes


13

Un prédicteur Naive Bayes fait ses prédictions en utilisant cette formule:

P(Oui=y|X=X)=αP(Oui=y)jeP(Xje=Xje|Oui=y)

où est un facteur de normalisation. Cela nécessite d'estimer les paramètres partir des données. Si nous faisons cela avec lissage, alors nous obtenons l'estimationP ( X i = x i | Y = y ) kαP(Xje=Xje|Oui=y)k

P^(Xje=Xje|Oui=y)=#{Xje=Xje,Oui=y}+k#{Oui=y}+njek

où il y a valeurs possibles pour X_i . Je suis d'accord avec ça. Cependant, pour le prieur, nous avonsX injeXje

P^(Oui=y)=#{Oui=y}N

où il y a exemples dans l'ensemble de données. Pourquoi ne lissons-nous pas aussi le prieur? Ou plutôt, lissons- nous le prieur? Si oui, quel paramètre de lissage choisissons-nous? Il semble un peu idiot de choisir également , car nous faisons un calcul différent. Y a-t-il un consensus? Ou cela n'a-t-il pas trop d'importance?Nk

Réponses:


5

La raison typique du lissage en premier lieu est de gérer les cas où . Si cela n'était pas fait, nous obtiendrions toujours chaque fois que ce serait le cas.#{Xje=Xje|Oui=y}=0P(Oui=y|X=X)=0

Cela se produit lorsque, par exemple, lors de la classification de documents texte, vous rencontrez un mot qui ne figurait pas dans vos données de formation ou qui n'apparaissait tout simplement pas dans une classe particulière.

En revanche, dans le cas de la probabilité a priori de classe, , cette situation ne devrait pas se produire. Si c'était le cas, cela signifierait que vous essayez d'affecter des objets à des classes qui n'apparaissent même pas dans les données de formation.P(Oui=y)

De plus, je n'ai jamais rencontré le terme lissage. Le lissage de Laplace ou Additif est beaucoup plus courant.k


1
La raison du lissage en général est d'éviter de sur-ajuster les données. Le cas où le nombre d'une classe est nul n'est qu'un cas particulier de sur-ajustement (qui s'avère particulièrement mauvais). Vous pouvez toujours vouloir lisser les probabilités lorsque chaque classe est observée. Je suppose que je suis gêné par l'asymétrie apparente - le lissage de Laplace correspond à l'hypothèse qu'il y a des observations supplémentaires dans votre ensemble de données. Pourquoi voudriez-vous ignorer ces observations lors de l'ajustement du prieur?
Chris Taylor

P(Oui=y)P(Xje=Xje|Oui=y)

"cette situation ne devrait pas se produire. Si c'était le cas, cela signifierait que vous essayez d'affecter des objets à des classes qui n'apparaissent même pas dans les données de formation". Euh ... comment un classificateur attribuerait-il un objet à une classe qu'il n'avait jamais vue auparavant (c.-à-d. Qu'il n'est pas dans les données d'apprentissage)?
Jemenake

@Jemenake Le problème est normalement appelé apprentissage Zero-shot, par exemple, voir Zero-Shot Learning with Semantic Output Codes
alto

lorsque nous formons le modèle à l'aide de l'ensemble de données d'apprentissage, nous pourrions créer un vocabulaire en utilisant les mots apparaissant dans l'ensemble de données d'apprentissage, alors pourquoi ne pas simplement supprimer de nouveaux mots ne figurant pas dans le vocabulaire lorsque vous faites des prédictions sur l'ensemble de test?
avocat
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.