朴素贝叶斯实现简单广告识别

最近跟同事学习了下用朴素贝叶斯来做一个简单的广告识别的功能,对我学习过程做了下记录

什么是朴素贝叶斯

朴素贝叶斯定理是指当事件A与事件B相互独立时P(A|B)=P(B|A)*P(A)/P(B),这个公式表示事件B发生的情况下事件A发生的概率等于事件A发生的概率乘以事件B发生的情况下事件A发生的概率再除以事件B发生的概率,此处不对公式进行推导

贝叶斯决策

假设我们有一堆朋友圈数据,存在两类朋友圈内容,一类是广告,一类是非广告,他们的比例分别为P(ad),P(nor),我们去判断一条新增的朋友圈内容是广告还是非广告。

若P(xad)>P(xnor)那么就认为新出的朋友圈内容为广告

若P(xnor)<P(xad)那么就认为新出的朋友圈内容为非广告

这就是贝叶斯决策论的核心思想,那P(xad)与P(xnor)怎么计算呢,这里就需要朴素贝叶斯定理了

实现广告识别

一条朋友圈的内容里面存在多个词,我们用X表示x1,x2,x3…xn组成的向量,P(ad|x)表示新增朋友圈内容为广告的概率,P(nor|x)表示新增朋友圈内容不是广告的概率,那么

P(nor|x)=P(x|nor)*P(nor)/P(x)

P(ad|x)=P(x|ad)*P(ad)/P(x)

若P(nor|x)>P(ad|x)则可认为新增朋友圈内容非广告,若P(nor|x)<P(ad|x)则可认为新增朋友圈内容为广告

假设每个词都是条件独立的,

P(nor|x)=P(x1|nor)*P(x2|nor)*P(x3|nor)*…*P(xn|nor)*P(nor)/[P(x1)*…P(xn)]

同理

P(ad|x)=P(x1|ad)*P(x2|ad)*P(x3|ad)*…*P(xn|ad)*P(ad)/[P(x1)*…P(xn)]

那么我们只需要对比P(x1|nor

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值