2011-02-04 85 views

risposta

5

E 'il logaritmo di una probabilità. Con un ampio set addestrato, le probabilità reali sono numeri molto piccoli, quindi i logaritmi sono più facili da confrontare. Teoricamente, i punteggi vanno da infinitesimamente vicino allo zero fino all'infinito negativo. 10**score * 100.0 ti darà la probabilità effettiva, che in effetti ha una differenza massima di 100.

+1

+1 Ho appena controllato la [fonte] (http://classifier.rubyforge.org/classes/Classifier/Bayes.src/M000041.html) per il metodo 'classifications', e sei sulla buona strada. –

+0

Questo ha senso, ma sto ancora lottando con la formula per la probabilità attuale. Un punteggio tipico per il mio set è qualcosa come -8,84. Quindi 10 * (- 8.84) * 100 = 840. Mi manca ancora qualcosa. –

+1

Sembra che tu abbia moltiplicato 10 di -8,84. Devi elevare 10 alla potenza di "-8,84". –

4

In realtà per calcolare la probabilità di un tipico classificatore naive bayes dove b è la base, è b^punteggio/(1 + b^punteggio). Questa è la logica inversa (http://en.wikipedia.org/wiki/Logit) Tuttavia, dati i presupposti dell'indipendenza del NBC, questi punteggi tendono ad essere troppo alti o troppo bassi e le probabilità calcolate in questo modo si accumulano ai limiti . È meglio calcolare i punteggi in un set di holdout e fare una regressione logistica accurata (1 o 0) sul punteggio per ottenere una migliore percezione della relazione tra punteggio e probabilità.

da un documento Jason Rennie: 2.7 Naive Bayes uscite sono spesso Overcondent database di testo hanno spesso 10.000 a 100.000 vocaboli distinti; i documenti spesso contengono 100 o più termini . Quindi, ci sono grandi opportunità di duplicazione. Per avere un'idea di quante duplicazioni ci siano, abbiamo addestrato un modello MAP Naive Bayes con l'80% dei 20 documenti dei newsgroup. Abbiamo prodotto p (cjd; D) (posteriore) valori sul restante 20% dei dati e mostra le statistiche su maxc p (cjd; D) nella tabella 2.3 . I valori sono altamente overcondent. Il 60% dei documenti di test viene assegnato a un posteriore di 1 se arrotondato a 9 cifre decimali. A differenza della regressione logistica, Naive Bayes non è ottimizzata per produrre valori di probabilità ragionevoli. La regressione logistica esegue l'ottimizzazione congiunta dei coefficienti lineari, convergendo ai valori probabilistici appropriati con dati di addestramento straordinari. Naive Bayes ottimizza i coecients uno per uno. Produce risultati realistici solo quando l'ipotesi di indipendenza è vera. Quando le funzionalità includono informazioni duplicate di firmatario (come di solito è il caso con testo), i posteriori forniti da Naive Bayes sono altamente overcondent.