朴素贝叶斯的学习与分类,朴素贝叶斯的参数估计算法。
朴素贝叶斯法的学习与分类
设输入空间X⊆Rn为n维向量的集合,输出空间为类标记集合Y={c1,c2,⋯,cK},输入为特征向量x∈X,输出为类标记y∈Y,X是定义在输入空间X上的随机向量,Y是定义在输出空间Y上的随机变量,P(X,Y)是X和Y的联合概率分布,训练数据集T={(x1,y1),(x2,y2),⋯,(xN,yN)}由P(X,Y)独立同分布产生。
P(Y=ck),k=1,2,⋯,K
P(X=x|Y=ck)=P(X(1)=x(1),⋯,X(n)=x(n)|Y=ck),k=1,2,⋯,K
P(X=x|Y=ck)=P(X(1)=x(1),⋯,X(n)=x(n)|Y=ck)=n∏j=1P(X(j)=x(j)|Y=ck)
P(Y=ck|X=x)=P(X=x|Y=ck)P(Y=ck)∑kP(X=x|Y=ck)P(Y=ck)=P(Y=ck)∏nj=1P(X(j)=x(j)|Y=ck)∑kP(Y=ck)∏nj=1P(X(j)=x(j)|Y=ck)
- 朴素贝叶斯分类器:将实例分到后验概率最大的类中,这等价于期望风险最小化
y=f(x)=argmaxckP(Y=ck)∏nj=1P(X(j)=x(j)|Y=ck)∑kP(Y=ck)∏nj=1P(X(j)=x(j)|Y=ck)
分母与类别无关所以:
y=f(x)=argmaxckP(Y=ck)n∏j=1P(X(j)=x(j)|Y=ck)
朴素贝叶斯法的参数估计
极大似然估计
在朴素贝叶斯法中,学习意味着估计先验概率P(Y=cy)和条件概率分布P(X(j)=x(j)|Y=ck)
P(Y=ck)=∑Ni=1I(yi=ck)N,k=1,2,⋯,K
P(X(j)=ajl|Y=ck)=∑Ni=1I(x(j)i=ajl,yi=ck)∑Ni=1I(yi=ck)j=1,2,⋯,n; l=1,2,⋯,Sj; k=1,2,⋯,K
第j个特征x(j)的可能取值的集合为{aj1,aj2,⋯,ajSj},x(j)i是第i个样本的第j个特征,ajl是第j个特征可能取的第l个值,I是指示函数。
学习与分类算法
- 计算先验概率和条件概率
- 对于给定的实例x=(x(1),x(2),⋯,x(n))T,计算:
P(Y=ck)n∏j=1P(X(j)=x(j)|Y=ck)
y=argmaxckP(Y=ck)n∏j=1P(X(j)=x(j)|Y=ck)
贝叶斯估计
目的:用极大似然估计可能会出现所要估计的概率值为0的情况,解决的办法是采用贝叶斯估计
Pλ(X(j)=ajl|Y=ck)=∑Ni=1I(x(j)i=ajl,yi=ck)+λ∑Ni=1I(yi=ck)+Sjλ
式中λ≥0,当λ=0时就是极大似然估计,常取λ=1,这时称为拉普拉斯平滑
Pλ(Y=ck)=∑Ni=1I(yi=ck)+λN+Kλ
分母中λ前面的系数是用来保证概率和为1
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Obsidian + DeepSeek:免费 AI 助力你的知识管理,让你的笔记飞起来!
· 分享4款.NET开源、免费、实用的商城系统
· 解决跨域问题的这6种方案,真香!
· 一套基于 Material Design 规范实现的 Blazor 和 Razor 通用组件库
· 5. Nginx 负载均衡配置案例(附有详细截图说明++)