Probabilità di Naive Bayes: devo raddoppiare le parole?


12

Sto prototipando la mia borsa Naive Bayes o un modello a parole, e avevo una domanda sul calcolo delle probabilità delle funzionalità.

Diciamo che ho due lezioni, userò solo spam e non spam poiché è quello che usano tutti. E prendiamo la parola "viagra" come esempio. Ho 10 e-mail nel mio set di formazione, 5 spam e 5 non spam. "viagra" appare in tutti e 5 i documenti spam. In uno dei documenti di formazione appare 3 volte (questo è quello che riguarda la mia domanda), quindi sono 7 apparizioni nel totale dello spam. Nel set di formazione non spam, appare 1 volta.

Se voglio stimare p (viagra | spam) è semplicemente:

p (viagra | spam) = 5 documenti spam contengono viagra / 5 documenti spam in totale = 1

In altre parole, non importa davvero che un documento menzionato il Viagra 3 volte anziché una volta?


Modifica: ecco un post sul blog in cui l'autore utilizza l'approccio che ho appena esposto: http://ebiquity.umbc.edu/blogger/2010/12/07/naive-bayes-classifier-in-50-lines/

Ed ecco un post sul blog in cui l'autore dice: p (viagra | spam) = 7 citazioni di spam del viagra / 8 menzioni totali http://www.nils-haldenwang.de/computer-science/machine-learning/how-to-apply -naive-Bayes-classificatori-to-documento-classificazione-problemi

E poi una delle risposte sotto dice che dovrebbe essere: p (viagra | spam) = 7 citazioni di viagra nello spam / conteggio dei termini totali nello spam

Qualcuno può collegarsi a una fonte che dà un'opinione su questo?

Risposte:


4

In altre parole, non importa davvero che un documento menzionato il Viagra 3 volte anziché una volta?

Importa. Il modello Multinomial Naive Bayes tiene conto di ogni occorrenza di un token, mentre il modello Bernoulli Naive Bayes non lo fa (vale a dire per quest'ultimo modello, 3 occorrenze di "viagra" sono le stesse di 1 occorrenza di "viagra").

Ecco due illustrazioni e una tabella di confronto da {1}:

inserisci qui la descrizione dell'immagine

inserisci qui la descrizione dell'immagine

inserisci qui la descrizione dell'immagine

{1} introduce ordinatamente Naive Bayes per la classificazione del testo, così come il modello Multinomial Naive Bayes e il modello Bernoulli Naive Bayes.


Riferimenti:


1

Dipende dal modello ingenuo specifico che applichi. In generale, per la classificazione del testo, si desidera prendere in considerazione la ripetizione dei termini, quindi la risposta è sì.

L'altro punto è che stai considerando la probabilità in base allo spazio degli eventi del documento. Puoi anche farlo in base al termine spazio:

p (viagra | spam) = 5 volte termine spam nella classe spam / 50 termini nella classe

Hai molte informazioni in questo [paper] ( http://echo.edres.org:8080/betsy/mccallum1.pdf )


0

Penso che dipenda da cosa intendi esattamente per p (viagra | spam) e da come stai modellando i dati.

Come scritto, interpreterei il tuo significato come "la probabilità che la parola viagra sia menzionata almeno una volta in un messaggio, dato che questo messaggio è spam". In tal caso, sì, il fatto che un documento menzionato il Viagra tre volte non ha alcun effetto. Hai definito un modello che non presta attenzione a tali fatti.

Certo, potresti avere un modello diverso. Ad esempio, invece che il Viagra sia rappresentato da una variabile binaria (presente / assente), potrebbe rappresentare il conteggio del numero di volte in cui la parola appare nel messaggio. In tal caso, dai dati grezzi stimeresti una frequenza empirica di qualcosa del genere

p (viagra = 0 | spam) = 0

p (viagra = 1 | spam) = 4/5

p (viagra = 2 | spam) = 0

p (viagra = 3 | spam) = 1/5

eccetera.

Non sto dicendo che sia un modo migliore per farlo. Sto solo illustrando una situazione alternativa in cui la tua intuizione che vedere il Viagra menzionato tre volte è rilevante.

Un esempio più pratico potrebbe essere la "Frequenza del termine - Frequenza inversa del documento", che è un metodo che presta molta attenzione alla frequenza di una parola in un documento.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.