Naive Bayes

Wiki: http://en.wikipedia.org/wiki/Naive_bayes

 

 /mathrm{classify}(f_1,/dots,f_n) = /mathop{/mathrm{argmax}}_c / p(C=c) /prod_{i=1}^n p(F_i=f_i/vert C=c)

Algorithm From Christopher D. Manning's Information Retrieval

 

TRAINBERNOULLINB(C,D)
1 V ← EXTRACTVOCABULARY(D)
2 N ← COUNTDOCS(D)
3 for each c ∈ C
4 do Nc ← COUNTDOCSINCLASS(D, c)
5 prior[c] ← Nc/N
6 for each t ∈ V
7 do Nct ← COUNTDOCSINCLASSCONTAININGTERM(D, c, t)
8 condprob[t][c] ← (Nct +1)/(Nc + 2)
9 return V, prior, condprob


APPLYBERNOULLINB(C,V, prior, condprob, d)
1 Vd ← EXTRACTTERMSFROMDOC(V, d)
2 for each c ∈ C
3 do score[c] ← log prior[c]
4 for each t ∈ V
5 do if t ∈ Vd
6 then score[c] += log condprob[t][c]
7 else score[c] += log(1− condprob[t][c])
8 return argmaxc∈C score[c] 

Algorithm From Tom Mitchell's Machine Learning

Learn_naive_Bayes_text(Examples, V)

Examples为一组文本文档以及它们的目标值。V为所有可能目标值的集合。此函数作用是学习概率项P(wk|vj),它描述了从类别vj中的一个文档中随机抽取的一个单词为英文单词wk的概率。该函数也学习类别的先验概率P(vj)

1.收集Examples中所有的单词、标点符号以及其他记号

n    Vocabulary←在Examples中任意文本文档中出现的所有单词及记号的集合

2.计算所需要的概率项P(vj) P(wk|vj)

n    V中每个目标值vj

n    docsjExamples中目标值为vj的文档子集

n    P(vj)

n    Textj←将docsj中所有成员连接起来建立的单个文档

n    n←在Textj中不同单词位置的总数

n    Vocabulary中每个单词wk

n    nk←单词wk出现在Textj中的次数

n    P(wk|vj)

 

Classify_naive_Bayes_text(Doc)

对文档Doc返回其估计的目标值。ai代表在Doc中的第i个位置上出现的单词。

n    positions←在Doc中包含的能在Vocabulary中找到的记号的所有单词位置

n    返回

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值