前面几节介绍了线性分类中硬分类方法,如 感知机算法、线性判别分析。并介绍了对应算法中的 策略构建思路以及最优模型参数求解过程。本节将介绍软分类中的经典算法——逻辑回归。
在线性回归基本性质介绍与线性分类中介绍过,硬分类与软分类最显著的区别是激活函数是否为连续性函数:
针对 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))
由于各样本之间独立同分布,因此基于数据集合的后验概率 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激活函数
机器学习-白板推导系列(四)-线性分类-逻辑回归