【NLP冲吖~】一、朴素贝叶斯(Naive Bayes)

0、朴素贝叶斯法

朴素贝叶斯法是基于贝叶斯定理与特征条件独立假设的分类方法。对于给定的训练数据集,首先基于特征条件独立假设学习输入输出的联合概率分布,然后基于此模型,对给定的输入 x x x,利用贝叶斯定理求出后验概率最大的输出 y y y。

朴素贝叶斯分类是贝叶斯分类中最简单,也是常见的一种分类方法。

从数学角度,定义分类问题如下:

已知集合 C = y 1 , y 2 , . . . , y n C = {y_1,y_2,...,y_n} C=y1,y2,...,yn和 I = x 1 , x 2 , . . . , x n I = {x_1,x_2,...,x_n} I=x1,x2,...,xn,确定一个函数映射 y = f ( x ) y = f(x) y=f(x),使得任意 x i ∈ I x_i∈I xi∈I有且仅有一个 y i ∈ C y_i∈C yi∈C,使得 y i ∈ f ( x i ) y_i∈f(x_i) yi∈f(xi)成立。

其中, C C C叫做类别集合,其中每一个元素都是一个类别,而 I I I叫做项集合(特征集合),其中每一个元素是一个待分类项,f叫做分类器。分类算法的任务就是构造分类器f

1、贝叶斯公式

P ( B ∣ A ) = P ( A ∣ B ) P ( B ) / P ( A ) P(B|A) = P(A|B)P(B) / P(A) P(B∣A)=P(A∣B)P(B)/P(A)

我们将B看作类别,A看作特征。即:
P ( 类别 ∣ 特征 ) = P ( 特征 ∣ 类别 ) P ( 类别 ) / P ( 特征 ) P(类别|特征) = P(特征|类别)P(类别) / P(特征) P(类别∣特征)=P(特征∣类别)P(类别)/P(特征)

求得 P(类别|特征),我们就可以通过贝叶斯公式进行分类!

2、 贝叶斯公式的本质

贝叶斯公式主要是描述了两种条件概率之间的关系,即P(AIB)与P(BIA)的关系。
P(A) 指事件A的先验概率,即在没有任何条件的情况下吗,对事件的基本判断。
P(AIB) 指后验概率,是在条件B之下事件A发生的概率。
P(BIA)/P(B) 相当于一个调整因子,使得先验概率经过调整得到后验概率,当这部分等于1,说明事件B的加入对于判断A的可能性没有帮助,先验等于后验。当它大于1,说明A发生的概率由于B的加入增大了。

3、分类案例

已知数据:

长毛/短毛 粘人/不粘人 攻击性强/弱 胆子大/小 是否纯种 是否好养
长毛 粘人 纯种 不好养
短毛 粘人 纯种 不好养
长毛 不粘人 纯种 不好养
长毛 粘人 纯种 不好养
长毛 粘人 非纯种 不好养
短毛 不粘人 纯种 好养
短毛 粘人 纯种 好养
长毛 不粘人 非纯种 好养
短毛 粘人 纯种 好养
长毛 粘人 非纯种 好养

根据已知数据,判断 短毛、粘人、攻击性弱、胆子大的非纯种猫是否好养。

P(好养|短毛、粘人、攻击性弱、胆子大、非纯种) = P(短毛、粘人、攻击性弱、胆子大、非纯种|好养)*P(好养) / P(短毛、粘人、攻击性弱、胆子大、非纯种)

P(短毛|好养) = 3 / 5

P(粘人|好养) = 3 / 5

P(攻击性弱|好养) = 4 / 5

P(胆子大|好养) = 3 / 5

P(非纯种|好养) = 2 / 5

P(好养) = 1 / 2

P(短毛) = 4 / 10 = 2 / 5

P(粘人) = 7 / 10

P(攻击性弱) = 5 / 10 = 1 / 2

P(胆子大) = 7 / 10

P(非纯种) = 3 / 10

同理:

P(短毛|不好养) = 1 / 5

P(粘人|不好养) = 4 / 5

P(攻击性弱|不好养) = 1 / 5

P(胆子大|不好养) = 4 / 5

P(非纯种|不好养) = 1 / 5

P(不好养) = 1 / 2

P(短毛) = 4 / 10 = 2 / 5

P(粘人) = 7 / 10

P(攻击性弱) = 5 / 10 = 1 / 2

P(胆子大) = 7 / 10

P(非纯种) = 3 / 10

可得:P(好养|短毛、粘人、攻击性弱、胆子大、非纯种) > P(不好养|短毛、粘人、攻击性弱、胆子大、非纯种)【只比较分子即可】

因此,可得 短毛、粘人、攻击性弱、胆子大的非纯种猫 好养。

4、 朴素贝叶斯为什么朴素?

其实朴素贝叶斯算法假设每个特征之间是相互独立的,这是算法的使用前提。朴素指的就是这一前提。

5、朴素贝叶斯分类算法的优缺点

优点:算法逻辑简单,易于实现;分类时,消耗时间空间资源少。

缺点:朴素贝叶斯算法的前提条件是特征相互独立,但是在实际情况中,特征之间往往不会那么理想,特征数较多或者特征之间相关性较大时,分类效果不会很好。

因此,**当特征之间的相关性较小是,我们可以忽略其相关性而使用朴素贝叶斯算法进行分类,分类效果会好很多。**当然,也有后续算法会对其改进。

6、 朴素贝叶斯在NLP中的应用

垃圾邮件分类:参考https://zhuanlan.zhihu.com/p/155632712

文本分类:参考https://blog.csdn.net/qiaowu898/article/details/107634195

。。。

相关推荐
易知微EasyV数据可视化1 小时前
当AI开始理解物理与场景,数字孪生如何回归其价值本身?
人工智能·经验分享·数字孪生
大数据在线5 小时前
布局Agentic AI,亚马逊云科技组合拳再升级
人工智能·openai·亚马逊云科技·智能体·agentic ai
皮皮学姐分享-ppx9 小时前
政府绿色采购数据库(2015-2024.3)
大数据·网络·数据库·人工智能·制造
GIS数据转换器9 小时前
基于3D GIS的监控视频精准标定平台
人工智能·物联网·3d·音视频·无人机·知识图谱
专注VB编程开发20年9 小时前
AI 生成C# WinForm 窗体 = 目前就是垃圾
开发语言·人工智能·c#
深小乐9 小时前
Claude Fable5 尝鲜,效果挺不错
人工智能
Nayxxu9 小时前
Gemini + RAG 企业知识库教程:从文档切片到答案生成
运维·人工智能
冬奇Lab9 小时前
真正的 AI-Native Workflow 是什么?——四个判断测试
人工智能·agent
冬奇Lab9 小时前
每日一个开源项目(第128篇):Agent Skills - 给 AI 编程 Agent 装上工程纪律
人工智能·开源·资讯
Deepoch10 小时前
Deepoc VLA开发板:采摘机器人的环境鲁棒作业与不确定性应对
人工智能·机器人·采摘机器人·deepoc