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

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

  • 引言
    • 回顾:软分类
    • 逻辑回归策略思路构建
      • 场景描述
      • 推导过程
      • 求解过程

引言

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

回顾:软分类

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

  • 硬分类的代表:感知机(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)={1a01a<0
    从图像观察,它明显是一个分段函数,无法求导;机器学习笔记之线性分类——逻辑回归_第1张图片
  • 软分类的激活函数是连续的,具有代表性的是 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+ex1
    s i g m o i d sigmoid sigmoid函数图像表示如下:
    机器学习笔记之线性分类——逻辑回归_第2张图片
    观察该图像:
  • 首先,该函数在定义域中连续可导
  • 该函数值域有界——值域取值范围 ( 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)=1p
从其他角度观察, 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+ex1=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=1X) P ( Y p r e d = 1 ∣ X ) P(\mathcal Y_{pred} =1 \mid \mathcal X) P(Ypred=1X)之间的大小关系
因此,策略构建的核心是直接围绕后验概率 p ( Y ∣ X ) p(\mathcal Y \mid \mathcal X) p(YX)进行建模

场景描述

数据集合 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)=1x(i))=sigmoid(WTx(i))=1+eWTx(i)1p2=P(y(i)=0x(i))=1sigmoid(WTx(i))=1+eWTx(i)eWTx(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(1y(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(YX)表达结果如下
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(YX)=i=1NP(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(YX)=Wargmaxlogi=1NP(y(i)x(i))=Wargmaxi=1NlogP(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=1Nlog(p1y(i)p2(1y(i)))=Wargmaxi=1Nlogp1y(i)+logp2(1y(i))=Wargmaxi=1N[y(i)logp1+(1y(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+eWTx(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=11+eWTx(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=1Ny(i)logϕ(x(i);W)+(1y(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=1Ny(i)logϕ(x(i);W)+(1y(i))log[1ϕ(x(i);W)]}
观察大括号中的项,它就是基于二分类交叉熵的表达形式。因此可以得到如下结论:逻辑回归使用极大似然估计直接对后验概率分布 P ( Y ∣ X ) P(\mathcal Y \mid \mathcal X) P(YX)求解最优模型参数 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=1Ny(i)log[1+eWTx(i)1]+(1y(i))log[1+eWTx(i)eWTx(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} WJ(W)=i=1N{y(i)log[1+eWTx(i)]×((1+eWTx(i))21)×(x(i)eWTx(i))+(1y(i))eWTx(i)1+eWTx(i)×(1+eWTx(i))21×(x(i)eWTx(i))}=i=1NeWTx(i)(1+eWTx(i))2y(i)log[1+eWTx(i)]x(i)[eWTx(i)]2+(y(i)1)x(i)eWTx(i)(1+eWTx(i))
∂ J ( W ) ∂ W ≜ 0 \frac{\partial \mathcal J(\mathcal W)}{\partial \mathcal W} \triangleq 0 WJ(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=1N{x(i)eWTx(i)(1+eWTx(i))[y(i)eWTx(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) eWTx(i),(1+eWTx(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=1N{x(i)[y(i)eWTx(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=1Nx(i)1log[y(i)11]
观察该式子,我们发现:它就是将样本 ( 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+eWTx(i)1WT=x(i)1log[y(i)11]

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

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

你可能感兴趣的:(机器学习,机器学习,逻辑回归,线性分类,交叉熵,极大似然估计)