本文主要是介绍统计学习-朴素贝叶斯,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
朴素贝叶斯(naive Bayes)法是基于贝叶斯定理和特征条件独立假设的分类方法。对于给定的训练数据集,首先基于特征条件独立假设学习输入/输出的联合概率分布,然后基于此模型,对给定的输入x,利用贝叶斯定理求出后验概率最大的输出y。
也就是说朴素贝叶斯可以分为两部分,一部分是基于特征条件独立假设求出输入输出的联合概率分布,一部分就是基于贝叶斯定理求出后验概率。
1. P(x,y)=P(x|y)∗P(y)=P(xk1,xk2...,xkn|yk)∗P(yk)=∏ni=1P(xki)∗P(yk) ;
2. P(y|x)=P(x|y)∗P(y)P(x)
后验概率最大化
选择0-1损失函数:
L(Y,f(x))={10Y≠f(X))Y=f(X)
式中的 f(X) 是分类决策函数,这时候期望风险函数为:
Rexp(f)=E[L(Y,f(X))]
期望是对联合分布 P(X,Y) 取的,由此取条件期望:
Rexp(f)=EX[∑Kk=1(L(ck,f(X))P(ck|X))]
为了使期望风险最小化,只需要对 X=x 逐个极小化,由此得到:
f(x)
= argmin∑Kk=1(L(ck,f(X))P(ck|X))
= argmin∑Kk=1P(f(X)≠ck|X=x)
= argmin(1−P(y=ck|X=x))
= argmaxP(y=ck|X=x))
这样一来期望风险最小化准则就得到后验概率准则
贝叶斯估计
用极大似然估计可能会出现所有估计得概率值为0的情况。这时会影响到后验概率的计算,解决这种情况一般使用贝叶斯估计。
p(y=ck)=∑Ni=1I(yi=ck)+λN+Kλ。。。。(1)
p(xj=ajl|y=ck)=∑Ni=1I(xji=ajl,yi=ck)+λ∑Ni=1I(yi=ck)+Ljλ。。。(2)
∑Ljl=1p(xj=ajl|y=ck)=1。。。(3)
K是类的个数,Lj是第j维特征的可以取得类别数
这篇关于统计学习-朴素贝叶斯的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!