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.
fonte
2011-02-22 18:05:39
+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. –
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. –
Sembra che tu abbia moltiplicato 10 di -8,84. Devi elevare 10 alla potenza di "-8,84". –