贝叶斯算法

朴素贝叶斯算法及其在文本分类中的应用

在这里只要给出朴素贝叶斯算法原理,并给出其在文本分类中的应用,详细代码在我的github上,https://github.com/duguiming111/Text_Classification/blob/master/nb_main.py,是基于朴素贝叶斯算法的垃圾短信识别。

一、引言

朴素贝叶斯算法是基于贝叶斯定理与条件独立假设的分类方法。基本原理:对于给定的训练集,首先基于特征条件独立假设学习输入/输出的联合概率分布;然后基于此模型,对于给定的输入x,利用贝叶斯定理求出后验概率最大的输出y。对于文本分类,朴素贝叶斯往往能达到较好的效果。

二、垃圾短信识别

1、公式

贝叶斯公式:
P ( Y ∣ X ) = P ( X ∣ Y ) P ( Y ) P ( X ) P(Y|X)=\frac{P(X|Y)P(Y)}{P(X)} P(YX)=P(X)P(XY)P(Y)
它是由联合概率公式推导而来,联合概率推导公式为:
P ( X , Y ) = P ( Y ∣ X ) P ( X ) = P ( X ∣ Y ) P ( Y ) P(X,Y)=P(Y|X)P(X)=P(X|Y)P(Y) P(X,Y)=P(YX)P(X)=P(XY)P(Y)
其中,P(Y)为先验概率,P(Y|X)为后验概率,P(X,Y)为联合概率。

2、应用

2.1 贝叶斯公式的理解

在分类任务中,贝叶斯公式可以理解为:
P ( “ 属 于 某 类 ” ∣ “ 具 有 某 特 征 ” ) = P ( “ 具 有 某 特 征 ” ∣ “ 属 于 某 类 ” ) P ( “ 属 于 某 类 ” ) P ( “ 具 有 某 特 征 ” ) P(“属于某类”|“具有某特征”)=\frac{P(“具有某特征”|“属于某类”)P(“属于某类”)}{P(“具有某特征”)} P()=P()P()P()

2.2 在文本分类中的应用(垃圾短信识别)

举个例子:
“您关注的笔记本电脑限时抢购中!自营好购,品质保障。”
对于这条短信,我们要判断的是:
P ( “ 垃 圾 短 信 ” ∣ “ 您 关 注 的 笔 记 本 电 脑 限 时 抢 购 中 ! 自 营 好 购 , 品 质 保 障 。 ” ) P(“垃圾短信”|“您关注的笔记本电脑限时抢购中!自营好购,品质保障。”) P()
是否大于1/2。
对于文本分类任务,首先要对文本进行分词和去停用词处理,分词去停用词后的短信为:(“您”,“关注”,“笔记本”,“电脑”,“限时”,“抢购”,“自营”,“好购”,“品质”,“保障”)。
那么,贝叶斯公式可以变为:
P ( “ 垃 圾 短 信 ” ∣ ( “ 您 ” , “ 关 注 ” , “ 笔 记 本 ” , “ 电 脑 ” , “ 限 时 ” , “ 抢 购 ” , “ 自 营 ” , “ 好 购 ” , “ 品 质 ” , “ 保 障 ” ) ) = P ( ( “ 您 ” , “ 关 注 ” , “ 笔 记 本 ” , “ 电 脑 ” , “ 限 时 ” , “ 抢 购 ” , “ 自 营 ” , “ 好 购 ” , “ 品 质 ” , “ 保 障 ” ) ∣ P ( “ 垃 圾 短 信 ” ) ) P ( ( “ 您 ” , “ 关 注 ” , “ 笔 记 本 ” , “ 电 脑 ” , “ 限 时 ” , “ 抢 购 ” , “ 自 营 ” , “ 好 购 ” , “ 品 质 ” , “ 保 障 ” ) ) P(“垃圾短信”|(“您”,“关注”,“笔记本”,“电脑”,“限时”,“抢购”,“自营”,“好购”,“品质”,“保障”))=\frac{P((“您”,“关注”,“笔记本”,“电脑”,“限时”,“抢购”,“自营”,“好购”,“品质”,“保障”)|P(“垃圾短信”))}{P((“您”,“关注”,“笔记本”,“电脑”,“限时”,“抢购”,“自营”,“好购”,“品质”,“保障”))} P(())=P()P(()P())
P ( “ 正 常 短 信 ” ∣ ( “ 您 ” , “ 关 注 ” , “ 笔 记 本 ” , “ 电 脑 ” , “ 限 时 ” , “ 抢 购 ” , “ 自 营 ” , “ 好 购 ” , “ 品 质 ” , “ 保 障 ” ) ) = P ( ( “ 您 ” , “ 关 注 ” , “ 笔 记 本 ” , “ 电 脑 ” , “ 限 时 ” , “ 抢 购 ” , “ 自 营 ” , “ 好 购 ” , “ 品 质 ” , “ 保 障 ” ) ∣ P ( “ 正 常 短 信 ” ) ) P ( ( “ 您 ” , “ 关 注 ” , “ 笔 记 本 ” , “ 电 脑 ” , “ 限 时 ” , “ 抢 购 ” , “ 自 营 ” , “ 好 购 ” , “ 品 质 ” , “ 保 障 ” ) ) P(“正常短信”|(“您”,“关注”,“笔记本”,“电脑”,“限时”,“抢购”,“自营”,“好购”,“品质”,“保障”))=\frac{P((“您”,“关注”,“笔记本”,“电脑”,“限时”,“抢购”,“自营”,“好购”,“品质”,“保障”)|P(“正常短信”))}{P((“您”,“关注”,“笔记本”,“电脑”,“限时”,“抢购”,“自营”,“好购”,“品质”,“保障”))} P(())=P()P(()P())
根据条件独立假设:
P ( ( “ 您 ” , “ 关 注 ” , “ 笔 记 本 ” , “ 电 脑 ” , “ 限 时 ” , “ 抢 购 ” , “ 自 营 ” , “ 好 购 ” , “ 品 质 ” , “ 保 障 ” ) ∣ P ( “ 垃 圾 短 信 ” ) ) = P ( “ 您 ” ∣ “ 垃 圾 短 信 ” ) P ( “ 关 注 ” ∣ “ 垃 圾 短 信 ” ) P ( “ 笔 记 本 ” ∣ “ 垃 圾 短 信 ” ) P ( “ 电 脑 ” ∣ “ 垃 圾 短 信 ” ) P ( “ 限 时 ” ∣ “ 垃 圾 短 信 ” ) P ( “ 抢 购 ” ∣ “ 垃 圾 短 信 ” ) P ( “ 自 营 ” ∣ “ 垃 圾 短 信 ” ) P ( “ 好 购 ” ∣ “ 垃 圾 短 信 ” ) P ( “ 品 质 ” ∣ “ 垃 圾 短 信 ” ) P ( “ 保 障 ” ∣ “ 垃 圾 短 信 ” ) P((“您”,“关注”,“笔记本”,“电脑”,“限时”,“抢购”,“自营”,“好购”,“品质”,“保障”)|P(“垃圾短信”))=P(“您”|“垃圾短信”)P(“关注”|“垃圾短信”)P(“笔记本”|“垃圾短信”)P(“电脑”|“垃圾短信”)P(“限时”|“垃圾短信”)P(“抢购”|“垃圾短信”)P(“自营”|“垃圾短信”)P(“好购”|“垃圾短信”)P(“品质”|“垃圾短信”)P(“保障”|“垃圾短信”) P(()P())=P()P()P()P()P()P()P()P()P()P()
P ( ( “ 您 ” , “ 关 注 ” , “ 笔 记 本 ” , “ 电 脑 ” , “ 限 时 ” , “ 抢 购 ” , “ 自 营 ” , “ 好 购 ” , “ 品 质 ” , “ 保 障 ” ) ∣ P ( “ 正 常 短 信 ” ) ) = P ( “ 您 ” ∣ “ 正 常 短 信 ” ) P ( “ 关 注 ” ∣ “ 正 常 短 信 ” ) P ( “ 笔 记 本 ” ∣ “ 正 常 短 信 ” ) P ( “ 电 脑 ” ∣ “ 正 常 短 信 ” ) P ( “ 限 时 ” ∣ “ 正 常 短 信 ” ) P ( “ 抢 购 ” ∣ “ 正 常 短 信 ” ) P ( “ 自 营 ” ∣ “ 正 常 短 信 ” ) P ( “ 好 购 ” ∣ “ 正 常 短 信 ” ) P ( “ 品 质 ” ∣ “ 正 常 短 信 ” ) P ( “ 保 障 ” ∣ “ 正 常 短 信 ” ) P((“您”,“关注”,“笔记本”,“电脑”,“限时”,“抢购”,“自营”,“好购”,“品质”,“保障”)|P(“正常短信”))=P(“您”|“正常短信”)P(“关注”|“正常短信”)P(“笔记本”|“正常短信”)P(“电脑”|“正常短信”)P(“限时”|“正常短信”)P(“抢购”|“正常短信”)P(“自营”|“正常短信”)P(“好购”|“正常短信”)P(“品质”|“正常短信”)P(“保障”|“正常短信”) P(()P())=P()P()P()P()P()P()P()P()P()P()
其中,
P ( “ 笔 记 本 ” ∣ “ 垃 圾 短 信 ” ) = 垃 圾 短 信 中 有 “ 笔 记 本 ” 的 次 数 垃 圾 短 信 中 所 有 词 的 次 数 P(“笔记本”|“垃圾短信”)=\frac{垃圾短信中有“笔记本”的次数}{垃圾短信中所有词的次数} P()=
比较这两个值的大小就能判断短信是否是垃圾短信。
最后说一下何为朴素贝叶斯算法,其实就是:
贝 叶 斯 公 式 + 条 件 独 立 假 设 = 朴 素 贝 叶 斯 算 法 贝叶斯公式+条件独立假设=朴素贝叶斯算法 +=
在这里给出一个基于朴素贝叶斯的垃圾短信识别的代码

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值