上一节介绍了线性分类中概率判别模型的经典方法——逻辑回归(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×pTY=(y(1),y(2),⋯,y(N))N×1Ty(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)1P(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)=∫YP(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) | 1 | 0 |
---|---|---|
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
上述公式同逻辑回归中后验概率的处理方法,只是 合并上述两种似然情况的一种表达方式:
至此,似然、先验概率分布均表达完毕。观察具体对哪些概率分布参数进行求解:
θ = { μ 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)吗?
极大似然估计表达如下:
为了方便计算,依然使用
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∏NP(x(i),y(i))=i=1∑Nlog[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} θ^=θargmaxL(θ)=θargmaxi=1∑Nlog[P(x(i)∣y(i))P(y(i))]=θargmaxi=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} θ^=θargmaxi=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\} θ^=θargmaxi=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)-模型定义