您当前的位置: 首页 >  逻辑回归

机器学习笔记之线性分类——逻辑回归

发布时间:2022-08-30 17:23:18 ,浏览量:8

机器学习笔记之线性分类——逻辑回归
  • 引言
    • 回顾:软分类
    • 逻辑回归策略思路构建
      • 场景描述
      • 推导过程
      • 求解过程
引言

前面几节介绍了线性分类中硬分类方法,如感知机算法、线性判别分析。并介绍了对应算法中的策略构建思路以及最优模型参数求解过程。本节将介绍软分类中的经典算法——逻辑回归。

回顾:软分类

在线性回归基本性质介绍与线性分类中介绍过,硬分类与软分类最显著的区别是激活函数是否为连续性函数:

  • 硬分类的代表:感知机(Perceptron),它的模型表示如下: f ( W , b ) = s i g n ( W T x ( i ) + b ) ( i = 1 , 2 , ⋯ , N ) f(\mathcal W,b) = sign(\mathcal W^{T}x^{(i)} + b)(i=1,2,\cdots,N) f(W,b)=sign(WTx(i)+b)(i=1,2,⋯,N) 其中 s i g n sign sign函数又称符号函数,它的定义表示如下: s i g n ( a ) = { 1 a ≥ 0 − 1 a < 0 sign(a) = \begin{cases}1 \quad a \geq 0 \\ -1 \quad a < 0\end{cases} sign(a)={1a≥0−1a<0 从图像观察,它明显是一个分段函数,无法求导;请添加图片描述
  • 软分类的激活函数是连续的,具有代表性的是 s i g m o i d sigmoid sigmoid激活函数: s i g m o i d ( x ) = 1 1 + e − x sigmoid(x) = \frac{1}{1 + e^{-x}} sigmoid(x)=1+e−x1 s i g m o i d sigmoid sigmoid函数图像表示如下: 请添加图片描述 观察该图像:
  • 首先,该函数在定义域中连续可导;
  • 该函数值域有界——值域取值范围 ( 0 , 1 ) (0,1) (0,1);

针对 s i g m o i d sigmoid sigmoid函数取值范围的特性,我们可以将该数值结果赋予实际意义:在二分类任务中,视为针对真实标签预测的概率结果 p p p。即: { P ( y p r e d ( i ) = 1 ) = p P ( y p r e d ( i ) = − 1 ) = 1 − p \begin{cases}P(y_{pred}^{(i)} = 1) = p \\ P(y_{pred}^{(i)} = -1) = 1-p\end{cases} {P(ypred(i)=1)=pP(ypred(i)=−1)=1−p 从其他角度观察, s i g m o i d sigmoid sigmoid函数本身就是指数族分布的一种表达形式,在最大熵原理与softmax激活函数的关系中介绍过,数据集 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 ( k ) x^{(k)} x(k), y ( k ) y^{(k)} y(k)的概率密度函数 p ( y ( k ) ∣ x ( k ) ) p(y^{(k)} \mid x^{(k)}) p(y(k)∣x(k))为如下表达时,熵达到最大: p ( y ( k ) ∣ x ( k ) ) = e Λ T f ( x ( k ) , y ( k ) ) ∑ y k = S Y ( l ) e Λ T f ( x ( k ) , y ( k ) ) p(y^{(k)} \mid x^{(k)}) = \frac{e^{\Lambda^{T}}f(x^{(k)},y^{(k)})}{\sum_{y^{k}=\mathcal S_{\mathcal Y}^{(l)}}e^{\Lambda^{T}f(x^{(k)},y^{(k)})}} p(y(k)∣x(k))=∑yk=SY(l)eΛTf(x(k),y(k))eΛTf(x(k),y(k)) 其中 S Y ( l ) \mathcal S_{\mathcal Y}^{(l)} SY(l)表示通过经验概率分布统计得到的某个具体的标签分布; f ( x ) f(x) f(x)是关于数据集合的任意函数。经过化简,我们可以得到 S o f t m a x Softmax Softmax函数的表达形式: S o f t m a x ( z i ) = e z i ∑ j = 1 m e z j Softmax(z_i) = \frac{e^{z_i}}{\sum_{j=1}^m e^{z_{j}}} Softmax(zi)=∑j=1mezjezi 其中 m m m可以理解为标签分布 s Y ( l ) \mathcal s_{\mathcal Y}^{(l)} sY(l)的数量。而 s i g m o i d sigmoid sigmoid函数可视为 S o f t m a x Softmax Softmax函数在二分类任务中的表达: s i g m o i d ( x ) = 1 1 + e − x = e x e x + 1 = e x e x + e 0 \begin{aligned}sigmoid(x) & = \frac{1}{1 + e^{-x}} \\ & = \frac{e^{x}}{e^{x} + 1} \\ & = \frac{e^{x}}{e^{x} + e^0} \end{aligned} sigmoid(x)=1+e−x1=ex+1ex=ex+e0ex 相比于 S o f t m a x Softmax Softmax函数分母中包含的 m m m个元素, s i g m o i d sigmoid sigmoid函数分母中只包含两项元素: e x , e 0 e^{x},e^{0} ex,e0,并且 e 0 e^{0} e0只是一个常数。可以将其理解成只有一种分类下的 S o f t m a x Softmax Softmax函数。 虽然说只是一种分类,但仍然包含两个概率结果:一个结果可以表示为‘属于该分类的概率’;另一个结果可以表示为‘不属于该分类的概率’。

逻辑回归策略思路构建

逻辑回归(logistic Regression)是一种基于软分类思想的概率判别模型,其核心思想是直接判别后验概率 P ( Y p r e d = − 1 ∣ X ) P(\mathcal Y_{pred} = -1 \mid \mathcal X) P(Ypred=−1∣X)与 P ( Y p r e d = 1 ∣ X ) P(\mathcal Y_{pred} =1 \mid \mathcal X) P(Ypred=1∣X)之间的大小关系。 因此,策略构建的核心是直接围绕后验概率 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维向量: x ( i ) = ( x 1 ( i ) , x 2 ( i ) , ⋯ , x p ( i ) ) T x^{(i)} = (x_1^{(i)},x_2^{(i)},\cdots,x_p^{(i)})^{T} x(i)=(x1(i),x2(i),⋯,xp(i))T 由于 s i g m o i d sigmoid sigmoid函数的值域性质,因此样本的二分类标签分布表示如下: y ( i ) ∈ { 0 , 1 } y^{(i)} \in \{0,1\} y(i)∈{0,1}

推导过程

由于 s i g m o i d sigmoid sigmoid函数的值域在 ( 0 , 1 ) (0,1) (0,1)内连续,其朴素思想是将线性计算结果 W T x ( i ) \mathcal W^{T}x^{(i)} WTx(i)经过 s i g m o i d sigmoid sigmoid函数映射得到一个关于预测标签分布的后验概率结果 P ( y ( i ) ∣ x ( i ) ) P(y^{(i)} \mid x^{(i)}) P(y(i)∣x(i))。因此,将基于不同分类的后验概率结果表示如下: { p 1 = P ( y ( i ) = 1 ∣ x ( i ) ) = s i g m o i d ( W T x ( i ) ) = 1 1 + e − W T x ( i ) p 2 = P ( y ( i ) = 0 ∣ x ( i ) ) = 1 − s i g m o i d ( W T x ( i ) ) = e − W T x ( i ) 1 + e − W T x ( i ) \begin{cases}p_1 = P(y^{(i)} = 1 \mid x^{(i)}) = sigmoid(\mathcal W^{T}x^{(i)}) = \frac{1}{1 + e^{-\mathcal W^{T}x^{(i)}}} \\ p_2 = P(y^{(i)} = 0 \mid x^{(i)}) = 1 - sigmoid(\mathcal W^{T}x^{(i)}) = \frac{e^{-\mathcal W^{T}x^{(i)}}}{1 + e^{-\mathcal W^{T}x^{(i)}}}\end{cases} ⎩ ⎨ ⎧p1=P(y(i)=1∣x(i))=sigmoid(WTx(i))=1+e−WTx(i)1p2=P(y(i)=0∣x(i))=1−sigmoid(WTx(i))=1+e−WTx(i)e−WTx(i)

将上述两个概率合并,对后验概率结果 P ( y ( i ) ∣ x ( i ) ) P(y^{(i)} \mid x^{(i)}) P(y(i)∣x(i))进行表达: 该表达只是‘合并上述两个后验概率的’一个方式。 P ( y ( i ) ∣ x ( i ) ) = p 1 y ( i ) p 2 ( 1 − y ( i ) ) P(y^{(i)} \mid x^{(i)}) = p_1^{y^{(i)}}p_2^{(1- y^{(i)})} P(y(i)∣x(i))=p1y(i)p2(1−y(i))

  • 当 y ( i ) = 1 y^{(i)} = 1 y(i)=1时, P ( y ( i ) ∣ x ( i ) ) = p 1 × p 2 0 = p 1 P(y^{(i)} \mid x^{(i)}) = p_1 \times {p_2}^0 = p_1 P(y(i)∣x(i))=p1×p20=p1;
  • 当 y ( i ) = 0 y^{(i)} = 0 y(i)=0时, P ( y ( i ) ∣ x ( i ) ) = p 1 0 × p 2 = p 2 P(y^{(i)} \mid x^{(i)}) = {p_1}^0 \times p_2 = p_2 P(y(i)∣x(i))=p10×p2=p2;

由于各样本之间独立同分布,因此基于数据集合的后验概率 P ( Y ∣ X ) P(\mathcal Y \mid \mathcal X) P(Y∣X)表达结果如下: P ( Y ∣ X ) = ∏ i = 1 N P ( y ( i ) ∣ x ( i ) ) P(\mathcal Y \mid \mathcal X) = \prod_{i=1}^N P(y^{(i)} \mid x^{(i)}) P(Y∣X)=i=1∏NP(y(i)∣x(i))

至此,使用极大似然估计方法对模型最优参数进行求解: 为简化运算,依然对‘log似然函数求解最大值’。 W ^ = arg ⁡ max ⁡ W log ⁡ P ( Y ∣ X ) = arg ⁡ max ⁡ W log ⁡ ∏ i = 1 N P ( y ( i ) ∣ x ( i ) ) = arg ⁡ max ⁡ W ∑ i = 1 N log ⁡ P ( y ( i ) ∣ x ( i ) ) \begin{aligned}\hat {\mathcal W} & = \mathop{\arg\max}\limits_{\mathcal W} \log P(\mathcal Y \mid \mathcal X) \\ & = \mathop{\arg\max}\limits_{\mathcal W}\log \prod_{i=1}^N P(y^{(i)} \mid x^{(i)}) \\ & = \mathop{\arg\max}\limits_{\mathcal W} \sum_{i=1}^N \log P(y^{(i)} \mid x^{(i)}) \end{aligned} W^=WargmaxlogP(Y∣X)=Wargmaxlogi=1∏NP(y(i)∣x(i))=Wargmaxi=1∑NlogP(y(i)∣x(i)) 将上述表达式带入: W ^ = arg ⁡ max ⁡ W ∑ i = 1 N log ⁡ ( p 1 y ( i ) p 2 ( 1 − y ( i ) ) ) = arg ⁡ max ⁡ W ∑ i = 1 N log ⁡ p 1 y ( i ) + log ⁡ p 2 ( 1 − y ( i ) ) = arg ⁡ max ⁡ W ∑ i = 1 N [ y ( i ) log ⁡ p 1 + ( 1 − y ( i ) ) log ⁡ p 2 ] \begin{aligned}\hat {\mathcal W} & = \mathop{\arg\max}\limits_{\mathcal W} \sum_{i=1}^N \log \left(p_1^{y^{(i)}}p_2^{(1- y^{(i)})}\right) \\ & = \mathop{\arg\max}\limits_{\mathcal W} \sum_{i=1}^N \log p_1^{y^{(i)}} + \log p_2^{(1- y^{(i)})} \\ & = \mathop{\arg\max}\limits_{\mathcal W} \sum_{i=1}^N \left[y^{(i)} \log p_1 + (1 - y^{(i)})\log p_2 \right] \end{aligned} W^=Wargmaxi=1∑Nlog(p1y(i)p2(1−y(i)))=Wargmaxi=1∑Nlogp1y(i)+logp2(1−y(i))=Wargmaxi=1∑N[y(i)logp1+(1−y(i))logp2]

令 p 1 = 1 1 + e − W T x ( i ) = ϕ ( x ( i ) ; W ) p_1 = \frac{1}{1 + e^{-\mathcal W^{T}x^{(i)}}} = \phi(x^{(i)};\mathcal W) p1=1+e−WTx(i)1=ϕ(x(i);W),那么 p 2 = 1 − 1 1 + e − W T x ( i ) = 1 − ϕ ( x ( i ) ; W ) p_2 = 1 - \frac{1}{1 + e^{-\mathcal W^{T}x^{(i)}}} = 1 - \phi(x^{(i)};\mathcal W) p2=1−1+e−WTx(i)1=1−ϕ(x(i);W)。将量结果带入上式: W ^ = arg ⁡ max ⁡ W ∑ i = 1 N y ( i ) log ⁡ ϕ ( x ( i ) ; W ) + ( 1 − y ( i ) ) log ⁡ [ 1 − ϕ ( x ( i ) ; W ) ] \hat {\mathcal W} = \mathop{\arg\max}\limits_{\mathcal W} \sum_{i=1}^N y^{(i)} \log \phi(x^{(i)};\mathcal W) + (1 - y^{(i)}) \log \left[1 - \phi(x^{(i)};\mathcal W)\right] W^=Wargmaxi=1∑Ny(i)logϕ(x(i);W)+(1−y(i))log[1−ϕ(x(i);W)] 提出一个负号,将上式转化为: W ^ = arg ⁡ min ⁡ W { − ∑ i = 1 N y ( i ) log ⁡ ϕ ( x ( i ) ; W ) + ( 1 − y ( i ) ) log ⁡ [ 1 − ϕ ( x ( i ) ; W ) ] } \hat {\mathcal W} = \mathop{\arg\min}\limits_{\mathcal W}\left\{-\sum_{i=1}^N y^{(i)}\log \phi(x^{(i)};\mathcal W) + (1 - y^{(i)}) \log \left[1 - \phi(x^{(i)};\mathcal W)\right] \right\} W^=Wargmin{−i=1∑Ny(i)logϕ(x(i);W)+(1−y(i))log[1−ϕ(x(i);W)]} 观察大括号中的项,它就是基于二分类交叉熵的表达形式。因此可以得到如下结论:逻辑回归使用极大似然估计直接对后验概率分布 P ( Y ∣ X ) P(\mathcal Y \mid \mathcal X) P(Y∣X)求解最优模型参数 W ^ \hat {\mathcal W} W^等价于交叉熵损失函数求解最优模型参数。

求解过程

基于上述结论继续对最优模型参数 W ^ \hat {\mathcal W} W^进行求解: 将 ϕ ( x ( i ) ; W ) \phi(x^{(i)};\mathcal W) ϕ(x(i);W)展开,带回上式: W ^ = arg ⁡ min ⁡ W { − ∑ i = 1 N y ( i ) log ⁡ [ 1 1 + e − W T x ( i ) ] + ( 1 − y ( i ) ) log ⁡ [ e − W T x ( i ) 1 + e − W T x ( i ) ] } \hat {\mathcal W} = \mathop{\arg\min}\limits_{\mathcal W}\left\{-\sum_{i=1}^N y^{(i)}\log \left[\frac{1}{1 + e^{-\mathcal W^{T}x^{(i)}}}\right] + (1 - y^{(i)}) \log \left[\frac{e^{-\mathcal W^{T}x^{(i)}}}{1 + e^{-\mathcal W^{T}x^{(i)}}}\right] \right\} W^=Wargmin{−i=1∑Ny(i)log[1+e−WTx(i)1]+(1−y(i))log[1+e−WTx(i)e−WTx(i)]} 记 W ^ = arg ⁡ min ⁡ W J ( W ) \hat {\mathcal W} = \mathop{\arg\min}\limits_{\mathcal W} \mathcal J(\mathcal W) W^=WargminJ(W),并关于 J ( W ) \mathcal J(\mathcal W) J(W)对 W \mathcal W W进行求导: ∂ J ( W ) ∂ W = ∑ i = 1 N { y ( i ) log ⁡ [ 1 + e − W T x ( i ) ] × ( − 1 ( 1 + e − W T x ( i ) ) 2 ) × ( − x ( i ) e − W T x ( i ) ) + ( 1 − y ( i ) ) 1 + e − W T x ( i ) e − W T x ( i ) × 1 ( 1 + e − W T x ( i ) ) 2 × ( − x ( i ) e − W T x ( i ) ) } = ∑ i = 1 N y ( i ) log ⁡ [ 1 + e − W T x ( i ) ] x ( i ) [ e − W T x ( i ) ] 2 + ( y ( i ) − 1 ) x ( i ) e − W T x ( i ) ( 1 + e − W T x ( i ) ) e − W T x ( i ) ( 1 + e − W T x ( i ) ) 2 \begin{aligned}\frac{\partial \mathcal J(\mathcal W)}{\partial \mathcal W} & = \sum_{i=1}^N \left\{y^{(i)} \log \left[1 + e^{-\mathcal W^{T}x^{(i)}}\right] \times \left(- \frac{1}{\left(1 + e^{-\mathcal W^{T}x^{(i)}}\right)^2}\right) \times \left(-x^{(i)}e^{-\mathcal W^{T}x^{(i)}}\right) + (1 - y^{(i)}) \frac{1 + e^{-\mathcal W^{T}x^{(i)}}}{ e^{-\mathcal W^{T}x^{(i)}}}\times \frac{1}{\left(1 + e^{-\mathcal W^{T}x^{(i)}}\right)^2} \times \left(-x^{(i)}e^{-\mathcal W^{T}x^{(i)}}\right)\right\} \\ & = \sum_{i=1}^N \frac{y^{(i)} \log \left[1 + e^{-\mathcal W^{T}x^{(i)}}\right]x^{(i)}\left[e^{-\mathcal W^{T}x^{(i)}}\right]^2 + (y^{(i)} - 1)x^{(i)}e^{-\mathcal W^{T}x^{(i)}}\left(1 + e^{-\mathcal W^{T}x^{(i)}}\right)}{e^{-\mathcal W^{T}x^{(i)}}(1 + e^{-\mathcal W^{T}x^{(i)}})^2} \end{aligned} ∂W∂J(W)=i=1∑N{y(i)log[1+e−WTx(i)]×(−(1+e−WTx(i))21)×(−x(i)e−WTx(i))+(1−y(i))e−WTx(i)1+e−WTx(i)×(1+e−WTx(i))21×(−x(i)e−WTx(i))}=i=1∑Ne−WTx(i)(1+e−WTx(i))2y(i)log[1+e−WTx(i)]x(i)[e−WTx(i)]2+(y(i)−1)x(i)e−WTx(i)(1+e−WTx(i)) 令 ∂ J ( W ) ∂ W ≜ 0 \frac{\partial \mathcal J(\mathcal W)}{\partial \mathcal W} \triangleq 0 ∂W∂J(W)≜0,则分子部分等于0。即: ∑ i = 1 N { x ( i ) e − W T x ( i ) ( 1 + e − W T x ( i ) ) [ y ( i ) e − W T x ( i ) + y ( i ) − 1 ] } = 0 \sum_{i=1}^N \left\{x^{(i)}e^{-\mathcal W^{T}x^{(i)}}\left(1 + e^{-\mathcal W^{T}x^{(i)}}\right)\left[y^{(i)}e^{-\mathcal W^{T}x^{(i)}} + y^{(i)} - 1\right]\right\} = 0 i=1∑N{x(i)e−WTx(i)(1+e−WTx(i))[y(i)e−WTx(i)+y(i)−1]}=0 由于 e − W T x ( i ) , ( 1 + e − W T x ( i ) ) e^{-\mathcal W^{T}x^{(i)}},\left(1 + e^{-\mathcal W^{T}x^{(i)}}\right) e−WTx(i),(1+e−WTx(i))均大于0恒成立,因此有: ∑ i = 1 N { x ( i ) [ y ( i ) e − W T x ( i ) + y ( i ) − 1 ] } = 0 \sum_{i=1}^N \left\{x^{(i)}\left[y^{(i)}e^{-\mathcal W^{T}x^{(i)}} + y^{(i)} - 1\right]\right\} = 0 i=1∑N{x(i)[y(i)e−WTx(i)+y(i)−1]}=0 最终求得: W ^ T = ∑ i = 1 N − 1 x ( i ) log ⁡ [ 1 y ( i ) − 1 ] \hat {\mathcal W}^{T} = \sum_{i=1}^N -\frac{1}{x^{(i)}} \log \left[\frac{1}{y^{(i)}} - 1 \right] W^T=i=1∑N−x(i)1log[y(i)1−1] 观察该式子,我们发现:它就是将样本 ( x ( i ) , y ( i ) ) (x^{(i)},y^{(i)}) (x(i),y(i))带入 s i g m o i d sigmoid sigmoid激活函数后 W \mathcal W W的求解结果: y ( i ) = 1 1 + e − W T x ( i ) → W T = − 1 x ( i ) log ⁡ [ 1 y ( i ) − 1 ] y^{(i)} = \frac{1}{1 + e^{-\mathcal W^{T}x^{(i)}}} \\ \to \mathcal W^{T} = -\frac{1}{x^{(i)}} \log \left[\frac{1}{y^{(i)}} - 1 \right] y(i)=1+e−WTx(i)1→WT=−x(i)1log[y(i)1−1]

下一节将介绍:用于线性分类的概率生成模型——高斯判别分析(Gaussain Discriminant Analysis,GDA)。

相关参考: 王木头学科学:最大熵原理与Softmax激活函数 机器学习-白板推导系列(四)-线性分类-逻辑回归

关注
打赏
1688896170
查看更多评论

暂无认证

  • 8浏览

    0关注

    108697博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文
立即登录/注册

微信扫码登录

0.2126s