⚠️ Alpha内测版本警告:此为早期内部构建版本,尚不完整且可能存在错误,欢迎大家提Issue反馈问题或建议。
Skip to content

第4章 朴素贝叶斯法

习题4.1

  用极大似然估计法推出朴素贝叶斯法中的概率估计公式(4.8)及公式 (4.9)。

解答:

解答思路:

  1. 极大似然估计的一般步骤(详见习题1.1第3步)
  2. 证明公式4.8:根据输出空间Y的随机变量Y满足独立同分布,列出似然函数,求解概率P(Y=ck)的值;
  3. 证明公式4.9:证明同公式4.8。

解答步骤:

第1步:极大似然估计的一般步骤

参考Wiki:https://en.wikipedia.org/wiki/Maximum_likelihood_estimation

  1. 写出随机变量的概率分布函数;
  2. 写出似然函数;
  3. 对似然函数取对数,得到对数似然函数,并进行化简;
  4. 对参数进行求导,并令导数等于0;
  5. 求解似然函数方程,得到参数的值。

第2步:证明公式(4.8)

P(Y=ck)=i=1NI(yi=ck)N,k=1,2,,K

  根据书中第4章的第4.1节朴素贝叶斯法的基本方法:

  设输入空间XRnn维向量的集合,输出空间为类标记集合Y={c1,c2,,ck}。输入为特征向量xX,输出为类标记yYX是定义在输入空间X上的随机向量,Y是定义在输出空间Y上的随机变量。P(X,Y)XY的联合概率分布。训练数据集

T={(x1,y1),(x2,y2),,(xN,yN)}

P(X,Y)独立同分布产生。

  根据上述定义,Y=y1,y2,,yN满足独立同分布,假设P(Y=ck)概率为p,其中ck在随机变量Y中出现的次数m=i=1NI(yi=ck),可得似然函数为:

L(p|Y)=f(Y|p)=CNmpm(1p)Nm

对似然函数取对数,得到对数似然函数为:

logL(p|Y)=logCNmpm(1p)Nm=logCNm+log(pm)+log((1p)Nm)=logCNm+mlogp+(Nm)log(1p)

求解参数p

p^=argmaxpL(p|Y)=argmaxp[logCNm+mlogp+(Nm)log(1p)]

对参数p求导,并求解导数为0时的p值:

logL(p)p=mpNm1p=m(1p)p(Nm)p(1p)=mNpp(1p)=0

从上式可得,mNp=0,即P(Y=ck)=p=mN
综上所述,P(Y=ck)=p=mN=i=1NI(yi=ck)N,公式(4.8)得证。

第3步:证明公式(4.9)

P(X(j)=ajl|Y=ck)=i=1NI(xi(j)=ajl,yi=ck)i=1NI(yi=ck)j=1,2,,n;l=1,2,,Sj;k=1,2,,K

  根据书中第4章朴素贝叶斯法的条件独立性假设:

  朴素贝叶斯法对条件概率分布作了条件独立性的假设。由于这是一个较强的假设,朴素贝叶斯法也由此得名。具体地,条件独立性假设是:

(4.3)P(X=x|Y=ck)=P(X(1)=x(1),,X(n)=x(n)|Y=ck)=j=1nP(X(j)=x(j)|Y=ck)

  根据上述定义,在条件Y=ck下,随机变量X满足条件独立性,假设P(X(j)=ajl|Y=ck)概率为p,其中ck在随机变量Y中出现的次数m=i=1NI(yi=ck)y=ckx(j)=ajl同时出现的次数q=i=1NI(xi(j)=ajl,yi=ck),可得似然函数为:

L(p|X,Y)=f(X,Y|p)=Cmqpq(1p)mq

与第2步推导过程类似,可求解得到p=qm
综上所述,P(X(j)=ajl|Y=ck)=p=qm=i=1NI(xi(j)=ajl,yi=ck)i=1NI(yi=ck),公式(4.9)得证。

习题4.2

  用贝叶斯估计法推出朴素贝叶斯法中的慨率估计公式(4.10)及公式(4.11)

解答:

解答思路:

  1. 贝叶斯估计的一般步骤(详见习题1.1第4步);
  2. 证明公式4.11:假设概率Pλ(Y=ci)服从狄利克雷(Dirichlet)分布,根据贝叶斯公式,推导后验概率也服从Dirichlet分布,求参数期望;
  3. 证明公式4.10:证明同公式4.11。

解答步骤:

第1步:贝叶斯估计的一般步骤
参考Wiki:https://en.wikipedia.org/wiki/Bayes_estimator

  1. 确定参数θ的先验概率p(θ)
  2. 根据样本集D=x1,x2,,xn,计算似然函数P(D|θ)P(D|θ)=i=1nP(xn|D)
  3. 利用贝叶斯公式,求θ的后验概率:P(θ|D)=P(D|θ)P(θ)ΘP(D|θ)P(θ)dθ
  4. 计算后验概率分布参数θ的期望,并求出贝叶斯估计值:θ^=ΘθP(θ|D)dθ

第2步:证明公式(4.11)

Pλ(Y=ck)=i=1NI(yi=ck)+λN+Kλ,k=1,2,,K

证明思路:

  1. 条件假设:Pλ(Y=ck)=uk,且服从参数为λ的Dirichlet分布;随机变量Y出现y=ck的次数为mk
  2. 得到u的先验概率P(u)
  3. 得到似然函数P(m|u)
  4. 根据贝叶斯公式,计算后验概率P(u|m)
  5. 计算u的期望E(u)

证明步骤:

  1. 条件假设

  根据朴素贝叶斯法的基本方法,训练数据集T={(x1,y1),(x2,y2),,(xN,yN)},假设:
(1)随机变量Y出现y=ck的次数为mk,即mk=i=1NI(yi=ck),可知k=1Kmk=Ny总共有N个);
(2)Pλ(Y=ck)=uk,随机变量uk服从参数为λ的Dirichlet分布。

补充说明:

  1. 狄利克雷(Dirichlet)分布
      参考PRML(Pattern Recognition and Machine Learning)一书的第2.2.1章节:⽤似然函数(2.34)乘以先验(2.38),我们得到了参数{uk}的后验分布,形式为
p(u|D,α)p(D|u)p(u|α)k=1Kukαk+mk1

  该书中第B.4章节: 狄利克雷分布是K个随机变量0uk1的多变量分布,其中k=1,2,,K,并满足以下约束

0uk1,k=1Kuk=1

u=(u1,,uK)T,α=(α1,,αK)T,有

Dir(u|α)=C(α)k1Kukαk1E(uk)=αkk=1Kαk
  1. 为什么假设Y=ck的概率服从Dirichlet分布?
    答:原因如下:
    (1)首先,根据PRML第B.4章节,Dirichlet分布是Beta分布的推广。
    (2)由于,Beta分布是二项式分布的共轭分布,Dirichlet分布是多项式分布的共轭分布。Dirichlet分布可以看作是“分布的分布”;
    (3)又因为,Beta分布与Dirichlet分布都是先验共轭的,意味着先验概率和后验概率属于同一个分布。当假设为Beta分布或者Dirichlet分布时,通过获得大量的观测数据,进行数据分布的调整,使得计算出来的概率越来越接近真实值。
    (4)因此,对于一个概率未知的事件,Beta分布或Dirichlet分布能作为表示该事件发生的概率的概率分布。
  1. 得到先验概率
      根据假设(2)和Dirichlet分布的定义,可得先验概率为
P(u)=P(u1,u2,,uK)=C(λ)k=1Kukλ1
  1. 得到似然函数
      记m=(m1,m2,,mK)T,可得似然函数为
P(m|u)=u1m1u2m2uKmK=k=1Kukmk
  1. 得到后验概率分布
      结合贝叶斯公式,求u的后验概率分布,可得
P(u|m)=P(m|u)P(u)P(m)

  根据假设(1),可得

P(u|m,λ)P(m|u)P(u|λ)k=1Kukλ+mk1

  上式表明,后验概率分布P(u|m,λ)也服从Dirichlet分布

  1. 得到随机变量u的期望
      根据后验概率分布P(u|m,λ)和假设(1),求随机变量u的期望,可得
E(uk)=αkk=1Kαk

其中αk=λ+mk,则

E(uk)=αkk=1Kαk=λ+mkk=1K(λ+mk)=λ+mkk=1Kλ+k=1Kmk(k=1Kmk=N)=λ+mkKλ+N(mk=i=1NI(yi=ck))=i=1NI(yi=ck)+λN+Kλ

  随机变量ukuk的期望,可得 Pλ(Y=ck)=i=1NI(yi=ck)+λN+Kλ,公式(4.11)得证

第3步:证明公式(4.10)

Pλ(X(j)=ajl|Y=ck)=i=1NI(xi(j)=ajl,yi=ck)+λi=1NI(yi=ck)+Sjλ

证明思路:

  1. 条件假设:Pλ(X(j)=ajl|Y=ck)=ul,其中l=1,2,,Sj,且服从参数为λ的Dirichlet分布;出现x(j)=ajl,y=ck的次数为ml
  2. 得到u的先验概率P(u)
  3. 得到似然函数P(m|u)
  4. 根据贝叶斯公式,计算后验概率P(u|m)
  5. 计算u的期望E(u)

证明步骤:

  1. 条件假设

  根据朴素贝叶斯法的基本方法,训练数据集T={(x1,y1),(x2,y2),,(xN,yN)},假设:
(1)出现x(j)=ajl,y=ck的次数为ml,即ml=i=1NI(xi(j)=ajl,yi=ck),可知l=1Sjml=i=1NI(yi=ck)(总共有i=1NI(yi=ck)个);
(2)Pλ(X(j)=ajl|Y=ck)=ul,随机变量ul服从参数为λ的Dirichlet分布。

  1. 得到先验概率
      根据假设(2)和Dirichlet分布的定义,可得先验概率为
P(u)=P(u1,u2,,uSj)=C(λ)l=1Sjulλ1
  1. 得到似然函数
      记m=(m1,m2,,mSj)T,可得似然函数为
P(m|u)=u1m1u2m2uSjmSj=l=1Sjulml
  1. 得到后验概率分布
      结合贝叶斯公式,求u的后验概率分布,可得
P(u|m)=P(m|u)P(u)P(m)

  根据假设(1),可得

P(u|m,λ)P(m|u)P(u|λ)l=1Sjulλ+ml1

  上式表明,后验概率分布P(u|m,λ)也服从Dirichlet分布

  1. 得到随机变量u的期望
      根据后验概率分布P(u|m,λ)和假设(1),求随机变量u的期望,可得
E(uk)=αll=1Sjαl

其中αl=λ+ml,则

E(ul)=αll=1Sjαl=λ+mll=1Sj(λ+ml)=λ+mll=1Sjλ+l=1Sjml(l=1Sjml=i=1NI(yi=ck))=λ+mlSjλ+i=1NI(yi=ck)(ml=i=1NI(xi(j)=ajl,yi=ck))=i=1NI(xi(j)=ajl,yi=ck)+λi=1NI(yi=ck)+Sjλ

  随机变量ukuk的期望,可得 Pλ(X(j)=ajl|Y=ck)=i=1NI(xi(j)=ajl,yi=ck)+λi=1NI(yi=ck)+Sjλ,公式(4.10)得证。

参考文献

【1】极大似然估计的一般步骤(来源于Wiki百科):https://en.wikipedia.org/wiki/Maximum_likelihood_estimation
【2】贝叶斯估计的一般步骤(来源于Wiki百科):https://en.wikipedia.org/wiki/Bayes_estimator