机器学习笔记五-朴素贝叶斯

首先从一个最简单的概率分类器开始,然后给 出一些假设来学习朴素贝叶斯分类器。我们称之为“朴素”,是因为整个形式化过程只做最原始、 最简单的假设。

优缺点

优点:在数据较少的情况下仍然有效,可以处理多类别问题。
缺点:对于输入数据的准备方式较为敏感。
适用数据类型:标称型数据。

贝叶斯决策理论

朴素贝叶斯是贝叶斯决策理论的一部分,那说明是贝叶斯决策理论呢?
假设有一个数据集,由两类数据组成,用p1(x,y)表示数据点(x,y)属于类别1的概率,用p2(x,y)表示数据点(x,y)属于类别2的概率,一个新数据点(x,y),可以用下面的规则来判断它的类别:

  • 如果 p1(x,y) > p2(x,y),那么类别为1
  • 如果 p2(x,y) > p1(x,y),那么类别为2

贝叶斯定理

P(x|y)=\frac{P(y|x)P(x)}{P(y)}

例子:判断邮件是垃圾邮件还是正常邮件
垃圾邮件:
1、点击 更多 信息
2、最新 产品
3、信息点击 连接
正常邮件:
1、开会
2、信息 详见 邮件
3、最新 信息
新邮件:
最新产品实惠点击连接

伪代码:
0、分词,清洗数据去除无用词如标点符号等
1、构造词库
2、分别计算词库中每个词在垃圾、正常邮件中的概率
3、计算先验概率(正常、垃圾邮件的概率)
4、新邮件分词,并计算邮件内容为垃圾和正常邮件的概率
5、比较概率大小,新邮件属于更大概率的一种
为了避免某些分词没有出现时分子为0的状况,采用分母+词库总数,分子+1的方法计算
①通过上面训练数据获取到词库为:{点击,更多,信息,最新,产品,连接,开会,详见,邮件}
②计算词库中每个单词在垃圾邮件概率

P(点击|垃圾) = 2 + 1 8 + 9 = 3 17 {\text{P(点击|垃圾)}}=\frac{2+1}{8+9}=\frac{3}{17} P(点击|垃圾)=8+92+1=173
P(更多|垃圾) = 1 + 1 8 + 9 = 2 17 {\text{P(更多|垃圾)}}=\frac{1+1}{8+9}=\frac{2}{17} P(更多|垃圾)=8+91+1=172
P(信息|垃圾) = 2 + 1 8 + 9 = 3 17 {\text{P(信息|垃圾)}}=\frac{2+1}{8+9}=\frac{3}{17} P(信息|垃圾)=8+92+1=173
P(最新|垃圾) = 1 + 1 8 + 9 = 2 17 {\text{P(最新|垃圾)}}=\frac{1+1}{8+9}=\frac{2}{17} P(最新|垃圾)=8+91+1=172
P(产品|垃圾) = 1 + 1 8 + 9 = 2 17 {\text{P(产品|垃圾)}}=\frac{1+1}{8+9}=\frac{2}{17} P(产品|垃圾)=8+91+1=172
P(链接|垃圾) = 1 + 1 8 + 9 = 2 17 {\text{P(链接|垃圾)}}=\frac{1+1}{8+9}=\frac{2}{17} P(链接|垃圾)=8+91+1=172
P(开会|垃圾) = 0 + 1 8 + 9 = 1 17 {\text{P(开会|垃圾)}}=\frac{0+1}{8+9}=\frac{1}{17} P(开会|垃圾)=8+90+1=171
P(详见|垃圾) = 0 + 1 8 + 9 = 1 17 {\text{P(详见|垃圾)}}=\frac{0+1}{8+9}=\frac{1}{17} P(详见|垃圾)=8+90+1=171
P(邮件|垃圾) = 0 + 1 8 + 9 = 1 17 {\text{P(邮件|垃圾)}}=\frac{0+1}{8+9}=\frac{1}{17} P(邮件|垃圾)=8+90+1=171
计算词库中每个单词在正常邮件概率

P(点击|正常) = 0 + 1 6 + 9 = 1 15 {\text{P(点击|正常)}}=\frac{0+1}{6+9}=\frac{1}{15} P(点击|正常)=6+90+1=151
P(更多|正常) = 0 + 1 6 + 9 = 1 15 {\text{P(更多|正常)}}=\frac{0+1}{6+9}=\frac{1}{15} P(更多|正常)=6+90+1=151
P(信息|正常) = 2 + 1 6 + 9 = 3 15 {\text{P(信息|正常)}}=\frac{2+1}{6+9}=\frac{3}{15} P(信息|正常)=6+92+1=153
P(最新|正常) = 1 + 1 6 + 9 = 2 15 {\text{P(最新|正常)}}=\frac{1+1}{6+9}=\frac{2}{15} P(最新|正常)=6+91+1=152
P(产品|正常) = 0 + 1 6 + 9 = 1 15 {\text{P(产品|正常)}}=\frac{0+1}{6+9}=\frac{1}{15} P(产品|正常)=6+90+1=151
P(链接|正常) = 0 + 1 6 + 9 = 1 15 {\text{P(链接|正常)}}=\frac{0+1}{6+9}=\frac{1}{15} P(链接|正常)=6+90+1=151
P(开会|正常) = 1 + 1 6 + 9 = 2 15 {\text{P(开会|正常)}}=\frac{1+1}{6+9}=\frac{2}{15} P(开会|正常)=6+91+1=152
P(详见|正常) = 1 + 1 6 + 9 = 2 15 {\text{P(详见|正常)}}=\frac{1+1}{6+9}=\frac{2}{15} P(详见|正常)=6+91+1=152
P(邮件|正常) = 1 + 1 6 + 9 = 2 15 {\text{P(邮件|正常)}}=\frac{1+1}{6+9}=\frac{2}{15} P(邮件|正常)=6+91+1=152
③先验概率:
P(正常) = 3 6 = 1 2 {\text{P(正常)}}=\frac{3}{6}=\frac{1}{2} P(正常)=63=21
P(垃圾) = 3 6 = 1 2 {\text{P(垃圾)}}=\frac{3}{6}=\frac{1}{2} P(垃圾)=63=21
④分别求出新邮件为正常和垃圾的概率
P(正常|最新产品实惠点击连接) = P(最新产品实惠点击连接|正常)P(正常) P ( 最新产品实惠点击连接 ) {\text{P(正常|最新产品实惠点击连接)}}=\frac{{\text{P(最新产品实惠点击连接|正常)P(正常)}}}{P(\text{最新产品实惠点击连接})} P(正常|最新产品实惠点击连接)=P(最新产品实惠点击连接)P(最新产品实惠点击连接|正常)P(正常)
P(正常|最新产品实惠点击连接) = P(最新|正常)P(产品|正常)P(点击|正常)P(连接|正常)P(正常) P ( 最新产品实惠点击连接 ) {\text{P(正常|最新产品实惠点击连接)}}=\frac{{\text{P(最新|正常)P(产品|正常)P(点击|正常)P(连接|正常)P(正常)}}}{P(\text{最新产品实惠点击连接})} P(正常|最新产品实惠点击连接)=P(最新产品实惠点击连接)P(最新|正常)P(产品|正常)P(点击|正常)P(连接|正常)P(正常)
P(正常|最新产品实惠点击连接) = 2 15 ∗ 1 15 ∗ 1 15 ∗ 1 15 ∗ 1 2 P ( 最新产品实惠点击连接 ) {\text{P(正常|最新产品实惠点击连接)}}=\frac{\frac{2}{15}*\frac{1}{15}*\frac{1}{15}*\frac{1}{15}*\frac{1}{2} }{P(\text{最新产品实惠点击连接})} P(正常|最新产品实惠点击连接)=P(最新产品实惠点击连接)15215115115121

P(垃圾|最新产品实惠点击连接) = P(最新产品实惠点击连接|垃圾)P(垃圾) P ( 最新产品实惠点击连接 ) {\text{P(垃圾|最新产品实惠点击连接)}}=\frac{{\text{P(最新产品实惠点击连接|垃圾)P(垃圾)}}}{P(\text{最新产品实惠点击连接})} P(垃圾|最新产品实惠点击连接)=P(最新产品实惠点击连接)P(最新产品实惠点击连接|垃圾)P(垃圾)
P(垃圾|最新产品实惠点击连接) = P(最新|垃圾)P(产品|垃圾)P(点击|垃圾)P(连接|垃圾)P(垃圾) P ( 最新产品实惠点击连接 ) {\text{P(垃圾|最新产品实惠点击连接)}}=\frac{{\text{P(最新|垃圾)P(产品|垃圾)P(点击|垃圾)P(连接|垃圾)P(垃圾)}}}{P(\text{最新产品实惠点击连接})} P(垃圾|最新产品实惠点击连接)=P(最新产品实惠点击连接)P(最新|垃圾)P(产品|垃圾)P(点击|垃圾)P(连接|垃圾)P(垃圾)
P(垃圾|最新产品实惠点击连接) = 2 17 ∗ 2 17 ∗ 3 17 ∗ 2 17 ∗ 1 2 P ( 最新产品实惠点击连接 ) {\text{P(垃圾|最新产品实惠点击连接)}}=\frac{\frac{2}{17}*\frac{2}{17}*\frac{3}{17}*\frac{2}{17}*\frac{1}{2} }{P(\text{最新产品实惠点击连接})} P(垃圾|最新产品实惠点击连接)=P(最新产品实惠点击连接)17217217317221
⑤比较概率大小,新邮件属于更大概率的一种

单词或文本表示成向量

  • 单词
    词典[我们,去,爬山,今天,你们,昨天,跑步] 每个单词的表示:
    我们:(1,0,0,0,0,0,0)
    爬山:(0,1,0,0,0,0,0)
    跑步:(0,0,0,0,0,0,1)
    昨天:(0,0,0,0,0,1,0)
  • 文本句子的表示(boolean)
    词典[我们,又,去,爬山,今天,你们,昨天,跑步]
    每个句子的表示
    我们今天去爬山:(1,0,1,1,1,0,0,0)
    你们昨天跑步:(0,0,0,0,0,1,1,)
    你们又去爬山又去跑步:(0,1,1,1,0,1,0,1)
  • 文本句子的表示(count)-每个单词数学的次数
    词典[我们,又,去,爬山,今天,你们,昨天,跑步]
    每个句子的表示
    我们今天去爬山:(1,0,1,1,1,0,0,0)
    你们昨天跑步:(0,0,0,0,0,1,1,)
    你们又去爬山又去跑步:(0,2,2,1,0,1,0,1)

Tf-idf表示

tfidf(w) = df(d,w) * idf(w)
(d,w):文档d中w的次数(频)
idf(w):重要性, 等于 log[N/N(w)],其中N是文档总数,N(w)指w在多少个文档中出现

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值