您当前的位置: 首页 >  分类

静静的喝酒

暂无认证

  • 3浏览

    0关注

    99博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

机器学习笔记之线性分类——高斯判别分析(一)模型思路构建

静静的喝酒 发布时间:2022-08-31 15:47:06 ,浏览量:3

机器学习笔记之线性分类——高斯判别分析之模型思路构建
  • 引言
    • 回顾:软分类思想
      • 概率判别模型
      • 概率生成模型
    • 高斯判别分析
      • 场景描述
      • 策略构建

引言

上一节介绍了线性分类中概率判别模型的经典方法——逻辑回归(Logistic Regression),本节将介绍线性分类中概率生成模型的经典方法——高斯判别分析(Gaussian Discriminant Aanlysis)。

回顾:软分类思想

从软分类角度观察线性分类:以二分类为例,假设样本数据以及样本标签分布表示如下: X = ( x ( 1 ) , x ( 2 ) , ⋯   , x ( N ) ) N × p T Y = ( y ( 1 ) , y ( 2 ) , ⋯   , y ( N ) ) N × 1 T y ( i ) ∈ { 0 , 1 } \mathcal X = (x^{(1)},x^{(2)},\cdots,x^{(N)})^{T}_{N \times p} \\ \mathcal Y = (y^{(1)},y^{(2)},\cdots,y^{(N)})^{T}_{N \times 1} \\ y^{(i)} \in \{0,1\} X=(x(1),x(2),⋯,x(N))N×pT​Y=(y(1),y(2),⋯,y(N))N×1T​y(i)∈{0,1}

软分类的朴素思想 是:给定样本 X \mathcal X X条件下,判别后验概率 P ( Y ∣ X ) P(\mathcal Y \mid \mathcal X) P(Y∣X)之间的大小关系。即: P ( Y p r e d = 0 ∣ X ) = ? P ( Y p r e d = 1 ∣ X ) P(\mathcal Y_{pred} = 0 \mid \mathcal X)\overset{\text{?}}{=}P(\mathcal Y_{pred} = 1 \mid \mathcal X) P(Ypred​=0∣X)=?P(Ypred​=1∣X) 已知一个样本 x ( i ) x^{(i)} x(i),通过某种方法得到了 P ( y p r e d ( i ) = 0 ∣ x ( i ) ) P(y_{pred}^{(i)}=0 \mid x^{(i)}) P(ypred(i)​=0∣x(i))和 P ( y p r e d ( i ) = 1 ∣ x ( i ) ) P(y_{pred}^{(i)} =1 \mid x^{(i)}) P(ypred(i)​=1∣x(i))之间大小关系: P ( y p r e d ( i ) = 0 ∣ x ( i ) ) > P ( y p r e d ( i ) = 1 ∣ x ( i ) ) P(y_{pred}^{(i)}=0 \mid x^{(i)}) > P(y_{pred}^{(i)} =1 \mid x^{(i)}) P(ypred(i)​=0∣x(i))>P(ypred(i)​=1∣x(i)) 我们将基于样本 x ( i ) x^{(i)} x(i)的预测标签结果 y p r e d ( i ) y_{pred}^{(i)} ypred(i)​判别为 0 0 0,反之同理。 基于上述思想,为了得到各后验概率间的大小关系,具体分为两种方法:概率判别模型、概率生成模型。

概率判别模型

概率判别模型的 朴素思想 是:既然要比较各后验概率间大小关系,那么干脆直接将各后验概率具体值求出来,然后直接比较即可。最典型的操作是逻辑回归(Logistic Regression)。 逻辑回归求解后验概率 P ( y ( i ) ∣ x ( i ) ) P(y^{(i)} \mid x^{(i)}) P(y(i)∣x(i))的方法是 利用模型进行求解。基于二分类的逻辑回归模型表示如下: 偏置项 b b b省略,融合进‘权重信息’ W \mathcal W W中。 P ( y p r e d ( i ) ∣ x ( i ) ) = s i g m o i d ( W T x ( i ) ) = 1 1 + e − W T x ( i ) P(y_{pred}^{(i)} \mid x^{(i)}) = sigmoid(\mathcal W^{T}x^{(i)}) = \frac{1}{1 + e^-{\mathcal W^{T}x^{(i)}}} P(ypred(i)​∣x(i))=sigmoid(WTx(i))=1+e−WTx(i)1​ 对应两种后验概率表示如下: { P ( y p r e d ( i ) = 1 ∣ x ( i ) ) = 1 1 + e − W T x ( i ) P ( y p r e d ( i ) = 0 ∣ x ( i ) ) = 1 − 1 1 + e − W T x ( i ) = e − W T x ( i ) 1 + e − W T x ( i ) \begin{cases} P(y_{pred}^{(i)} =1 \mid x^{(i)}) = \frac{1}{1 + e^-{\mathcal W^{T}x^{(i)}}} \\ P(y_{pred}^{(i)} =0 \mid x^{(i)}) = 1 - \frac{1}{1 + e^-{\mathcal W^{T}x^{(i)}}} = \frac{e^{-\mathcal W^{T}x^{(i)}}}{1 + e^{-\mathcal W^{T}x^{(i)}}} \end{cases} ⎩ ⎨ ⎧​P(ypred(i)​=1∣x(i))=1+e−WTx(i)1​P(ypred(i)​=0∣x(i))=1−1+e−WTx(i)1​=1+e−WTx(i)e−WTx(i)​​

最终对后验概率 P ( y p r e d ( i ) ∣ x ( i ) ) P(y_{pred}^{(i)} \mid x^{(i)}) P(ypred(i)​∣x(i))进行极大似然估计,等价于最小化交叉熵方法,最终求解最优模型参数 W \mathcal W W。 要重点关注的是:最终求解的参数是模型参数。

概率生成模型

概率生成模型的 朴素思想 是:相比于概率判别模型直接求解 P ( y ( i ) ∣ x ( i ) ) P(y^{(i)} \mid x^{(i)}) P(y(i)∣x(i)),由于最终目标是判断后验概率的大小关系,因此不需要将 P ( y ( i ) ∣ x ( i ) ) P(y^{(i)} \mid x^{(i)}) P(y(i)∣x(i))求解出来也能够判别出大小关系。

概率生成模型实现判别任务的核心依据:贝叶斯定理: P ( Y p r e d = i ∣ X ) = P ( X ∣ Y = i ) P ( Y = i ) P ( X ) ( i = 0 , 1 ) P(\mathcal Y_{pred} = i \mid \mathcal X) = \frac{P(\mathcal X \mid \mathcal Y = i)P(\mathcal Y=i)}{P(\mathcal X)} \quad (i=0,1) P(Ypred​=i∣X)=P(X)P(X∣Y=i)P(Y=i)​(i=0,1) 其中分母 P ( X ) P(\mathcal X) P(X)是一个关于样本集合 X \mathcal X X的边缘概率分布: P ( X ) = ∫ Y P ( X ∣ Y ) P ( Y ) d Y P(\mathcal X) = \int_{\mathcal Y}P(\mathcal X \mid \mathcal Y)P(\mathcal Y)d\mathcal Y P(X)=∫Y​P(X∣Y)P(Y)dY 由于 P ( X ) P(\mathcal X) P(X)和 Y \mathcal Y Y无关,因此将 P ( X ) P(\mathcal X) P(X)视为常数;从而可以将 P ( Y p r e d = i ∣ X ) P(\mathcal Y_{pred}=i \mid \mathcal X) P(Ypred​=i∣X)表示如下: P ( Y p r e d = i ∣ X ) ∝ P ( X ∣ Y = i ) P ( Y = i ) ( i = 0 , 1 ) P(\mathcal Y_{pred}=i \mid \mathcal X) \propto P(\mathcal X \mid \mathcal Y=i)P(\mathcal Y=i) \quad (i=0,1) P(Ypred​=i∣X)∝P(X∣Y=i)P(Y=i)(i=0,1) 因而根据概率生成模型的朴素思想,对结果的比较方式进行替换: P ( Y p r e d = 0 ∣ X ) = ? P ( Y p r e d = 1 ∣ X ) → P ( X ∣ Y = 0 ) P ( Y = 0 ) = ? P ( X ∣ Y = 1 ) P ( Y = 1 ) P(\mathcal Y_{pred} = 0 \mid \mathcal X)\overset{\text{?}}{=}P(\mathcal Y_{pred} = 1 \mid \mathcal X) \\ \to P(\mathcal X \mid \mathcal Y=0)P(\mathcal Y = 0) \overset{\text{?}}{=} P(\mathcal X \mid \mathcal Y=1)P(\mathcal Y = 1) P(Ypred​=0∣X)=?P(Ypred​=1∣X)→P(X∣Y=0)P(Y=0)=?P(X∣Y=1)P(Y=1)

观察等式两边的任意一项: P ( Y = 0 ) P(\mathcal Y = 0) P(Y=0)表示关于标签数据结果为 0 0 0的先验概率分布; P ( X ∣ Y = 0 ) P(\mathcal X \mid \mathcal Y=0) P(X∣Y=0)表示标签数据确定的情况下,样本 X \mathcal X X的概率分布,即似然的概率分布。

根据概率生成模型的朴素思想,我们将通过求解似然、先验分布的概率分布参数来比较后验概率分布的大小。

通过比较发现: 概率判别模型与概率生成模型的核心区别:

  • 概率判别模型求解的是模型参数;
  • 概率生成模型求解的是概率分布参数;
高斯判别分析

高斯判别分析就是基于概率生成模型的朴素思想,对似然 P ( X ∣ Y ) P(\mathcal X \mid \mathcal Y) P(X∣Y)、先验 P ( Y ) P(\mathcal Y) P(Y)进行一系列假设,从而通过对似然、先验概率进行求解来替代后验概率 P ( Y ∣ X ) P(\mathcal Y \mid \mathcal X) P(Y∣X)进行比较。

场景描述

仍然以二分类为例,数据集合 D a t a = { ( x ( i ) , y ( i ) ) } i = 1 , 2 , ⋯   , N Data = \{(x^{(i)},y^{(i)})\}_{i=1,2,\cdots,N} Data={(x(i),y(i))}i=1,2,⋯,N​;其中任意 x ( i ) x^{(i)} x(i)是 p p p维向量,对应 y ( i ) y^{(i)} y(i)是一个表示分类标签的标量: x ( i ) = ( x 1 ( i ) , x 2 ( i ) , ⋯   , x p ( i ) ) T y ( i ) ∈ { 0 , 1 } x^{(i)} = (x_1^{(i)},x_2^{(i)},\cdots,x_p^{(i)})^{T} \\ y^{(i)} \in \{0,1\} x(i)=(x1(i)​,x2(i)​,⋯,xp(i)​)Ty(i)∈{0,1}

策略构建

由于是二分类,我们不妨设分类标签的先验概率服从伯努利分布。即: 这个‘伯努利分布’仅因为我们假设的是二分类而设定的,如果是多分类,也可以设置为categorical分布。 Y ∼ B e r n o u l l i ( ϕ ) \mathcal Y \sim Bernoulli(\phi) Y∼Bernoulli(ϕ) 其中 ϕ \phi ϕ表示选择各类标签的概率。任意分类标签 y ( i ) ( i = 1 , 2 , ⋯   , N ) y^{(i)}(i=1,2,\cdots,N) y(i)(i=1,2,⋯,N)的概率分布选择 表示如下:

y ( i ) y^{(i)} y(i)10 P P P ϕ \phi ϕ 1 − ϕ 1 - \phi 1−ϕ

因此,分类标签的先验概率 P ( Y ) P(\mathcal Y) P(Y)的概率密度函数表示如下: P ( Y ) = ϕ Y ( 1 − ϕ ) 1 − Y P(\mathcal Y) = \phi^{\mathcal Y}(1- \phi)^{1- \mathcal Y} P(Y)=ϕY(1−ϕ)1−Y

高斯判别分析的核心假设: 在分类标签的先验概率分布确定的条件下,我们设各标签对应的似然 P ( X ∣ Y = 0 ) , P ( X ∣ Y = 1 ) P(\mathcal X \mid \mathcal Y = 0),P(\mathcal X \mid \mathcal Y = 1) P(X∣Y=0),P(X∣Y=1)均 服从高斯分布,为了简化运算,假定两个高斯分布包含 相同的协方差信息。 该假设不同于‘先验分布假设’,该假设是’高斯判别分析‘的特有假设。 { X ∣ Y = 1 ∼ N ( μ 1 , Σ ) X ∣ Y = 0 ∼ N ( μ 2 , Σ ) \begin{cases}\mathcal X \mid \mathcal Y=1 \sim \mathcal N(\mu_1,\Sigma) \\ \mathcal X \mid \mathcal Y =0 \sim \mathcal N(\mu_2,\Sigma)\end{cases} {X∣Y=1∼N(μ1​,Σ)X∣Y=0∼N(μ2​,Σ)​ 将 P ( X ∣ Y ) P(\mathcal X \mid \mathcal Y) P(X∣Y)的概率密度函数表示如下: P ( X ∣ Y ) = N ( μ 1 , Σ ) Y N ( μ 2 , Σ ) 1 − Y P(\mathcal X \mid \mathcal Y) = \mathcal N(\mu_1,\Sigma)^{\mathcal Y}\mathcal N(\mu_2,\Sigma)^{1- \mathcal Y} P(X∣Y)=N(μ1​,Σ)YN(μ2​,Σ)1−Y 上述公式同逻辑回归中后验概率的处理方法,只是 合并上述两种似然情况的一种表达方式:

  • 当 Y = 0 \mathcal Y = 0 Y=0时, P ( X ∣ Y ) = N ( μ 2 , Σ ) P(\mathcal X \mid \mathcal Y) = \mathcal N(\mu_2,\Sigma) P(X∣Y)=N(μ2​,Σ);
  • 当 Y = 1 \mathcal Y=1 Y=1时, P ( X ∣ Y ) = N ( μ 1 , Σ ) P(\mathcal X \mid \mathcal Y) = \mathcal N(\mu_1,\Sigma) P(X∣Y)=N(μ1​,Σ);

至此,似然、先验概率分布均表达完毕。观察具体对哪些概率分布参数进行求解: θ = { μ 1 , μ 2 , Σ , ϕ } \theta = \left\{\mu_1,\mu_2,\Sigma,\phi\right\} θ={μ1​,μ2​,Σ,ϕ} 对 P ( X , Y ) = P ( X ∣ Y ) P ( Y ) P(\mathcal X,\mathcal Y) = P(\mathcal X \mid \mathcal Y)P(\mathcal Y) P(X,Y)=P(X∣Y)P(Y)进行极大似然估计:

  • 有人可能会问:既然已经引入了’先验概率‘ P ( Y ) P(\mathcal Y) P(Y),为什么依然是’极大似然估计‘(MLE),不应该是’最大后验概率估计‘(MAP)吗? 以下是个人理解: 在极大似然估计与最大后验概率估计中介绍过,最大后验概率估计可以理解为在极大似然估计的基础上,添加一个先验分布作为约束,但是该先验分布是 预先知道的,分布中没有任何未知量。 就像文中提到的投掷骰子的例子,我们让先验分布 P ( θ ) P(\theta) P(θ)服从一个高斯分布: θ ∼ N ( μ = 0.5 , σ 2 = 0.01 ) \theta \sim \mathcal N(\mu=0.5,\sigma^2=0.01) θ∼N(μ=0.5,σ2=0.01) 但高斯判别分析的假设中,对于先验分布 P ( Y ) P(\mathcal Y) P(Y)中的 ϕ \phi ϕ同样是未知的,也是待求解的一部分。因此,与其说是极大似然估计,还不如说是极大联合概率分布估计。

极大似然估计表达如下: 为了方便计算,依然使用 log ⁡ \log log似然: L ( θ ) = log ⁡ ∏ i = 1 N P ( x ( i ) , y ( i ) ) = ∑ i = 1 N log ⁡ [ P ( x ( i ) ∣ y ( i ) ) P ( y ( i ) ) ] \begin{aligned}\mathcal L(\theta) & = \log \prod_{i=1}^N P(x^{(i)},y^{(i)}) \\ & = \sum_{i=1}^N \log\left[P(x^{(i)} \mid y^{(i)})P(y^{(i)})\right]\end{aligned} L(θ)​=logi=1∏N​P(x(i),y(i))=i=1∑N​log[P(x(i)∣y(i))P(y(i))]​ 其中 θ = { μ 1 , μ 2 , Σ , ϕ } \theta =\{\mu_1,\mu_2,\Sigma,\phi\} θ={μ1​,μ2​,Σ,ϕ},最优模型参数表示如下: θ ^ = arg ⁡ max ⁡ θ L ( θ ) = arg ⁡ max ⁡ θ ∑ i = 1 N log ⁡ [ P ( x ( i ) ∣ y ( i ) ) P ( y ( i ) ) ] = arg ⁡ max ⁡ θ ∑ i = 1 N [ log ⁡ P ( x ( i ) ∣ y ( i ) ) + log ⁡ P ( y ( i ) ) ] \begin{aligned}\hat {\theta} & = \mathop{\arg\max}\limits_{\theta} \mathcal L(\theta) \\ & = \mathop{\arg\max}\limits_{\theta} \sum_{i=1}^N \log\left[P(x^{(i)} \mid y^{(i)})P(y^{(i)})\right] \\ & = \mathop{\arg\max}\limits_{\theta} \sum_{i=1}^N \left[\log P(x^{(i)} \mid y^{(i)}) + \log P(y^{(i)})\right] \end{aligned} θ^​=θargmax​L(θ)=θargmax​i=1∑N​log[P(x(i)∣y(i))P(y(i))]=θargmax​i=1∑N​[logP(x(i)∣y(i))+logP(y(i))]​ 将对应概率密度函数代入上式: θ ^ = arg ⁡ max ⁡ θ ∑ i = 1 N { log ⁡ [ N ( μ 1 , Σ ) y ( i ) N ( μ 2 , Σ ) 1 − y ( i ) ] + log ⁡ [ ϕ y ( i ) ( 1 − ϕ ) 1 − y ( i ) ] } \begin{aligned}\hat {\theta} & = \mathop{\arg\max}\limits_{\theta} \sum_{i=1}^N \left\{\log \left[\mathcal N(\mu_1,\Sigma)^{y^{(i)}} \mathcal N(\mu_2,\Sigma)^{1 - y^{(i)}}\right] + \log\left[\phi^{y^{(i)}}(1 - \phi)^{1 - y^{(i)}}\right]\right\} \\ \end{aligned} θ^​=θargmax​i=1∑N​{log[N(μ1​,Σ)y(i)N(μ2​,Σ)1−y(i)]+log[ϕy(i)(1−ϕ)1−y(i)]}​ 为了方便对各参数求最优解,将 μ 1 , μ 2 \mu_1,\mu_2 μ1​,μ2​参数分开,最终表示结果如下: θ ^ = arg ⁡ max ⁡ θ ∑ i = 1 N { log ⁡ [ N ( μ 1 , Σ ) y ( i ) ] + log ⁡ [ N ( μ 2 , Σ ) 1 − y ( i ) ] + log ⁡ [ ϕ y ( i ) ( 1 − ϕ ) 1 − y ( i ) ] } \hat {\theta} = \mathop{\arg\max}\limits_{\theta} \sum_{i=1}^N \left\{\log \left[\mathcal N(\mu_1,\Sigma)^{y^{(i)}}\right] + \log \left[\mathcal N(\mu_2,\Sigma)^{1 - y^{(i)}}\right] + \log\left[\phi^{y^{(i)}}(1 - \phi)^{1 - y^{(i)}}\right]\right\} θ^=θargmax​i=1∑N​{log[N(μ1​,Σ)y(i)]+log[N(μ2​,Σ)1−y(i)]+log[ϕy(i)(1−ϕ)1−y(i)]}

下一节将对 θ \theta θ中的各个参数求最优解。

相关参考: 机器学习-线性分类(6)-高斯判别分析(Gaussain Discriminant Analysis)-模型定义

关注
打赏
1664446683
查看更多评论
立即登录/注册

微信扫码登录

0.0552s