您的位置:首页 > 其它

朴素贝叶斯及其数学推导

2016-08-27 17:19 218 查看

一、朴素贝叶斯简单介绍

朴素贝叶斯成立的前提是条件独立性假设:分类的特征xi在类别确定的条件下都是独立的,用公式表示如下:

P(X=xi|Y=ck)=P(X=x1i,X=x2i,⋯,X=xni|Y=ck)=∏j=1nP(X(j)=xji|Y=ck)

其中ck是类别,假设有K个类,n是样本的维度,xi是输入样本

朴素贝叶斯法表示如下:

y=argmaxckP(Y=ck)∏j=1nP(X(j)=xji|Y=ck)

二、贝叶斯决策论

介绍朴素贝叶斯中最大化后验概率的来源

朴素贝叶斯选择0-1损失函数作为评价标准,0-1损失函数表示如下:

L(Y,f(X))={0,1,Y = f(X)Y ≠ f(X)

其中f(X)是分类决策函数

期望损失:Rexp(f)=E(L(Y,f(x))),显然对每个样本x最小化条件风险,则期望损失最小,下面证明期望损失最小化等价于后验概率最大化:

f(x)=argminy∈Y∑i=1KL(ck,y)P(y=ck|X=x)=argminy∈Y∑i=1KP(y≠ck|X=x)=argminy∈Y∑i=1K(1−P(y=ck|X=x))=argmaxy∈Y∑i=1KP(y=ck|X=x)

得到后验概率最大化准则:

f(x)==argmaxy∈Y∑i=1KP(y=ck|X=x)

其中Y={c1,c2,⋯,cK},K是类别个数

三、参数估计

方法1:极大似然估计

下面先给出结果,再证明

先验概率估计:

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

条件概率估计:

P(X(j)=ajl|Y=ck)=∑ni=1I(X(j)i=ajl,yi=ck)∑ni=1I(yi=ck)

其中k=1,2,⋯,K,j=1,2,⋯,n,l=1,2,⋯Sj

x(j)∈{aj1,aj2,⋯,ajSj}

下面给出证明:

1、估计先验概率P(ck)

令P(Y=ck)=θk,k∈{1,2,⋯,K}

则P(Y)=∏Kk=1θI(Y=ck)k

那么对数似然函数表示如下:

L(θ)=log(∏i=1nP(Y=yi))=log(∏i=1n∏k=1KθI(Yi=ck)k)=log(∏k=1KθNkk)=∑k=1KNklogθk

其中Nk是样本类别为ck的样本数目

又因为∑Kk=1θk=1,所以拉格朗日函数可以表示为:

L(θk,λ)=∑k=1KNklogθk+λ(∑k=1Kθk−1)

拉格朗日函数对θk求偏导可得:

∂L(θk,λ)θk=Nkθk+λ=0⇒Nk=−λθk

对上式求和可得:

∑k=1K=Nk=−λ∑k=1kθk⇒N=−λ⇒θk=NkN得证

1、估计条件概率P(X(j)=ajl|y=ck)

令P(X(j)=ajl|y=ck)=θkjl

P(X(j)=ajl|y=ck)=θkjl=∏k=1K∏j=1n∏l=1SjθI(X(j)=ajl)kjl

似然函数表示如下:

l(θ)=∏i=1NK(∏k=1K∏j=1n∏l=1SjθI(X(j)i=ajl)kjl)=∏k=1K∏j=1nθNkjlkjl

其中Nkjl表示数据集中属于类ck,且样本的第j维度取值为ajl的个数

所以对数似然函数表示如下:

L(θ)=∑k=1K∑j=1nNkjllogθkjl

又因为∑Sjl=1θkjl=1

拉格朗日函数可以表示为:

L(θ,λ)=∑k=1K∑j=1nNkjllogθkjl+λ(∑l=1Sjθkjl−1)

⇒∂L(θ,λ)∂θkjl=Nkjlθkjl−λ=0

⇒∑Sjl=1Nkjl=λ∑Sjl=1θkjl=λ

⇒λ=Nk

⇒θkjl=NkjlNk, 得证

方法2:贝叶斯估计

贝叶斯估计是为了解决极大似然估计中可能存在的所要估计的概率值为0的情况

先验概率估计:

P(Y=ck)=∑ni=1I(yi=ck)+λN+Kλ

条件概率估计:

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

其中k=1,2,⋯,K,j=1,2,⋯,n,l=1,2,⋯Sj

x(j)∈{aj1,aj2,⋯,ajSj}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息