机器学习入门 之 《集体智慧编程》 贝叶斯分类(bayesian classification)

    第一次听说机器学习 这四个字,是在杜军平老师的选修课上,当时他也就那么提了一下的东西,没想到在若干年后的今天让我如此滴着迷。


贝叶斯分类(bayesianclassification)

贝叶斯公式和全概率公式是《概率论》中的两个简单的公式:

贝叶斯公式:P(A|B) = P(AB)/P(B) = P(B|A)P(A)/P(B)


cat 代表文本类别 比如 娱乐,体育等等

doc 代表一篇文章 例如一篇体育新闻

word 代表一个词组 必须 basketb,football


贝叶斯分类器要解决的问题是:在知道doc的情况下如实将其以最大的概率分配到某一个cat中。

也就是需要计算 P(cat1|doc)  P(cat2|doc) P(cat2|doc)........ 可以选概率最大的一个作为分类。现在问题就集中到怎么计算P(cat|doc)?

使用贝叶斯公式: P(cat|doc) = P(doc|cat)P(cat)/P(doc)

对于不同的待选分类,例如cat1,cat2

P(cat1|doc) = P(doc|cat1)P(cat1)/P(doc)  P(cat2|doc) = P(doc|cat2)P(cat2)/P(doc)

对于每一个P(cati|doc)=P(doc|cati)P(cati)/P(doc) 都必须除以P(doc),故可以忽略p(doc),只需要计算P(doc|cati)P(cati)

计算P(cat)

P(cati)就是训练样本空间中cati的概率,例如有样本空间的大小是1000,有30篇是体育类的文章,故P(体育)=30/1000= 3%

计算P(doc/cati)

要计算P(doc/cati)必须明白,doc是由word组成的(文章有词组组成) doc=word1,word2,...,wordn

故有P(doc/cati) = P(word1,word2,...,wordn/cati)

如果我们假设word出现是独立的,那么有

P(doc/cati) = P( (word1,word2,...,wordn) / cati) =P(word1/cati)*P(word2/cati)*...*P(wordn/cati)

现在焦点集中在怎么计算P(word/cati)

P(word/cati)说白了就是在cati的文章中,有多少篇文章出现了word,例如有30篇体育文章,其中有20篇文章出现了football,那么P(football/体育)=20/30

到现在为止所有问题都解决了。

把各个word看成是独立的方法叫做“朴素贝叶斯法”,虽然现实情况不可能是独立的,但是它还是非常的有效。



     

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值