0
点赞
收藏
分享

微信扫一扫

(三)贝叶斯分类器

千白莫 2022-04-13 阅读 48
机器学习

贝叶斯分类器

——用极大似然估计训练类条件概率 P ( X ∣ Y = c k ) P(X|Y=c_k) P(XY=ck):

在贝叶斯分类器 P ( Y = c k │ X ) = P ( Y = c k ) P ( X ∣ Y = c k ) / P ( X ) P(Y=c_k│X)=P(Y=c_k ) P(X|Y=c_k )/P(X) P(Y=ckX)=P(Y=ck)P(XY=ck)/P(X) 中, P ( Y = c k ) / P ( X ) P(Y=c_k )/P(X) P(Y=ck)/P(X) 容易得到, 但是 P ( X ∣ Y = c k ) P(X|Y=c_k ) P(XY=ck)仅通过随机抽样得到X是不准确的.

对于给定样本 X X X, P ( X ) P(X) P(X)与类别标记 Y = c k Y=c_k Y=ck无关可以直接计算, 因此估计 P ( Y = c k │ X ) P(Y=c_k│X) P(Y=ckX)的问题就转化为如何基于训练数据 D D D来估计先验概率 P ( Y = c k ) P(Y=c_k ) P(Y=ck)和类条件概率 P ( X ∣ Y = c k ) P(X|Y=c_k ) P(XY=ck).
{注意, 贝叶斯分类器没有假设 x 1 , … , x n x_1,…,x_n x1,,xn相互独立, 即 P ( X ∣ Y = c k ) P(X|Y=c_k ) P(XY=ck)不能直接由频率估计概率}

其中, P ( Y = c k ) P(Y=c_k ) P(Y=ck)可以根据训练集各个样本 c k c_k ck出现的频率当作其概率.
而直接用 Y = c k Y=c_k Y=ck情况下随机抽样出来一组的 X ′ X' X的频率, 来估计 P ( X ∣ Y = c k ) P(X|Y=c_k ) P(XY=ck)是不可行的.(因为随机抽样出来一组的 X ′ X' X的分布不能表示整体X’的分布)

估计类条件概率 P ( x ∣ c ) P(x|c) P(xc)的一种常用策略是先假定其具有某种确定的概率分布形式, 再基于训练样本对概率分布的参数进行估计.

具体地, 记关于类别 c c c的类条件概率 P ( x ∣ c ) P(x|c) P(xc)具有确定的函数形式, 且被参数向量 θ c θ_c θc唯一确定. 则我们的任务就是利用训练集 D D D来估计 θ c θ_c θc. 记 P ( x ∣ c ) 为 P ( x ∣ θ c ) P(x|c)为P(x|θ_c ) P(xc)P(xθc). 令 D c D_c Dc表示训练集 D D D中第 c c c类样本组成的集合, 假设这些样本是独立同分布的, 则参数 θ c θ_c θc对于数据集 D c D_c Dc的似然是:
P ( D c ∣ θ c ) = ∏ x ∈ D c P ( x ∣ θ c ) P(D_c |θ_c )=∏_{x∈D_c}P(x|θ_c ) P(Dcθc)=xDcP(xθc)
θ c θ_c θc进行极大似然估计, 就是去寻找最大化 P ( D c ∣ θ c ) P(D_c |θ_c ) P(Dcθc)的参数值 θ ^ c \hat{θ}_c θ^c. 直观上看, 极大似然估计是试图在 θ c θ_c θc所有可能的取值中, 找到一个能使数据x出现的“可能性”最大的值 θ ^ c \hat{θ}_c θ^c.
对上式使用对数似然:
L L ( θ c ) = l o g ⁡ P ( D c ∣ θ c ) = ∑ x ∈ D c l o g ⁡ P ( x ∣ θ c ) LL(θ_c )=log⁡P(D_c |θ_c )=∑_{x∈D_c}log⁡P(x|θ_c ) LL(θc)=logP(Dcθc)=xDclogP(xθc)
设参数 θ c θ_c θc的极大似然估计 θ ^ c \hat{θ}_c θ^c
θ ^ c = a r g ⁡ m a x θ c ⁡ L L ( θ c ) \hat{θ}_c=arg⁡max_{θ_c}⁡LL(θ_c ) θ^c=argmaxθcLL(θc)
举例来说, 设类条件概率 P ( x ∣ c )   N ( μ c , σ c 2 ) P(x|c)~N(μ_c,σ_c^2) P(xc) N(μc,σc2), 则参数 μ c μ_c μc, σ c 2 σ_c^2 σc2的极大似然估计值为:
μ ^ c = 1 ( ∣ D c ∣ ) ∑ x ∈ D c x = 1 N ∑ i = 1 N x i \hat{μ}_c=\dfrac{1}{(|D_c |)} ∑_{x∈D_c}x=\dfrac{1}{N} ∑_{i=1}^Nx_i μ^c=(Dc)1xDcx=N1i=1Nxi
σ ^ c 2 = 1 ( ∣ D c ∣ ) ∑ x ∈ D c ( x − μ ^ c ) ( x − μ ^ c ) T \hat{σ}_c^2=\dfrac{1}{(|D_c |)} ∑_{x∈D_c}(x-\hat{μ}_c ) (x-\hat{μ}_c )^T σ^c2=(Dc)1xDc(xμ^c)(xμ^c)T
需注意的是, 这种参数化的方法虽能使类条件概率估计变得相对简单, 但估计结果的准确性严重依赖于所假设的概率分布形式是否符合潜在的真实数据分布.

举报

相关推荐

0 条评论