您的位置:首页 > 其它

朴素贝叶斯法

2016-07-25 19:51 288 查看

朴素贝叶斯基本概念

朴素贝叶斯法基于贝叶斯定理和特征条件独立假设

对于训练数据集合先学习输入和输出的联合概率分布

对于预测输入,根据贝叶斯定理求出后验概率最大的输出y

具体的需要先学习先验概率分布P(y=ck)和条件概率分布p(X=x|Y=ck)

条件概率分布的参数数量为指数量级,直接估计是不可行的

条件独立性假设:

P(X=x|Y=ck)=∏j=1nP(X(j)=x(j)|Y=ck)

朴素贝叶斯法属于生成模型,要注意条件独立性假设的适用性

后验概率:

P(Y=ck|X=x)=P(Y=ck)∏jP(X(j)=x(j)|Y=ck)∑kP(Y=ck)∏jP(X(J)=x(j)|Y=xk)

策略:

y=f(x)=argmaxckP(Y=ck|X=x)

后验概率最大化等价于期望风险最小化,可使用0-1损失函数进行验证

朴素贝叶斯法的参数估计

极大似然估计

先验概率的极大似然估计:

P(Y=ck)=∑Ni=1I(yi=ck)N

条件概率:

P(X(j)=aji|Y=ck)=∑Ni=1I(x(j)i=aji,yi=ck)∑Ni=1I(yi=ck)

这里假设了x(j)的取值是离散的,如果是连续变化的特征要如何处理?划分定义域连续变量离散化?

公式推导(截图来源https://www.zhihu.com/question/33959624



条件概率类比可推

贝叶斯估计

极大似然估计会出现概率值为0的情况,也就是模型认为对应的事件永远不会发生,这是不合理的(过度拟合),采用贝叶斯估计来解决这个问题

条件概率的贝叶斯估计:

P(X(j)=ajl|Y=ck)=∑Ni=1I(x(j)i=ajl,yi=ck)+λ∑Ni=1I(yi=ck)+Sjλ

这里Sj是第j个特征的所有取值可能数

Y为由输出哑变量构成的列向量, Θ中元素为Y中对应哑变量为1的概率

P(Y|Θ)=ΘTY

由概率的性质∑YP(Y|Θ)=∑k=1kθk=1

对于样本D={Y1,Y2,…,YN}

P(D|Θ)=∏n=1NΘTYn=∏k=1KθmKk, mk为对应结果出现次数

Mult(m1,m2,…,mK|Θ,N)=(Nm1,m2,…,mK)∏k=1Kθmkk

多项式分布将作为贝叶斯估计中的似然函数

贝叶斯估计中的先验分布选取狄利克雷分布

Dir(Θ|α)=Γ(α0)Γ(α1)…Γ(αK)∏k=1Kθαk−1k, 其中α0=∑k=1Kαk

后验分布

P(Θ|D,α)=Dir(Θ|α+m)=Γ(α0+N)Γ(α1+m1)…Γ(αK+mK)∏k=1Kθαk+mk−1k, m=(m1,m2,…,mK)T

加上拉格朗日乘子, 求极大似然

l(θ,λ)=∑k=1Kmklogθk+∑k=1K(αk−1)logθk+λ(1−∑k=1Kθk), 这里略掉了常数项

∂l∂λ=1−∑k=1Kθk=0

∂l∂θk=mk+αk−1θk−λ=0

得到

λ=N+α0−K

θk=mk+αk−1N+α0−K

所以李航老师的《统计学习方法》中所说的拉普拉斯平滑相当于取αk=2

条件密度的贝叶斯估计同理可推

参考

Machine Learning - A probabilistic perspective, Sections 2.5.4 (pgs 47-49) and 3.4, (pgs 78-82)

《统计学习方法》第四章 朴素贝叶斯法

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息