逻辑回归(一)基础理论

一、从线性回归到线性分类

在先前的线性回归(一)基础理论中详细介绍过线性回归,现在思考一个问题:能否用这个模型解决离散标签的预测?
虽然这个问题是显然的分类问题。但从模型的可行性角度来看,当然是可以的。下图给出了一个案例的拟合结果:模型在一堆离散点中找到了一条使得MSE最小的直线,从而可以对位置数据进行 y y y的预测,通过设置一个合理的 b i a s bias bias即可完成分类预测。但这个模型存在如下问题:
(1)线性回归对异常值非常敏感,易造成预测结果偏差;
(2)难以界定合适的 b i a s bias bias完成最终分类。
用线性回归解决分类问题
那我们能否对线性模型进行改良,使其能够解决分类问题呢?这就是我们今天的主角:逻辑回归

二、逻辑斯谛分布和逻辑回归

逻辑回归是基于线性回归的适用于二分类问题(经推广后也可用于多分类问题)的分类器。
由于历史原因,其名字中带有【回归】,但确是不折不扣的分类算法。其基本思想就是将线性回归结果作用在某种非线性函数上(即逻辑斯谛分布函数,和神经网络的层级单元做法一样),从而实现对结果的压缩和对分类的预测。
逻辑斯谛分布函数 σ ( z ) = 1 1 + e − z \sigma(z)=\frac{1}{1+e^{-z}} σ(z)=1+ez1
逻辑回归分布
逻辑斯谛分布函数的导数 σ ′ ( z ) = e − z ( 1 + e − z ) 2 = ( e − z + 1 ) − 1 ( 1 + e − z ) 2 = 1 1 + e − z − 1 ( 1 + e − z ) 2 = σ ( z ) ( 1 − σ ( z ) ) \sigma'(z)=\frac{e^{-z}}{(1+e^{-z})^2}=\frac{(e^{-z}+1)-1}{(1+e^{-z})^2}=\frac{1}{1+e^{-z}}-\frac{1}{(1+e^{-z})^2}=\sigma(z)(1-\sigma(z)) σ(z)=(1+ez)2ez=(1+ez)2(ez+1)1=1+ez1(1+ez)21=σ(z)(1σ(z))
将逻辑斯谛分布函数中的 z z z用线性回归函数代入,即得到逻辑回归公式:
P ( y = 1 ) = 1 1 + e − θ T x P ( y = 0 ) = e − θ T x 1 + e − θ T x P(y=1)=\frac{1}{1+e^{-\boldsymbol \theta^T x}}\\P(y=0)=\frac{e^{-\boldsymbol \theta^T \boldsymbol x}}{1+e^{-\boldsymbol \theta^T x}} P(y=1)=1+eθTx1P(y=0)=1+eθTxeθTx
可见,线性回归在逻辑斯谛分布函数的作用下,成功将回归结果压缩到 ( 0 , 1 ) (0,1) (0,1)区间内,从而不仅解决了对异常值的敏感性(相反,其对异常值非常不敏感),而且可以方便地在 ( 0 , 1 ) (0,1) (0,1)区间选取某个 b i a s bias bias(一般比较两个概率大小,即bias取0.5)完成分类。

注意到两个概率的对数比,也称对数几率为: l o g P ( y = 0 ) P ( y = 1 ) = − θ T x log\frac{P(y=0)}{P(y=1)}=-\boldsymbol \theta^T \boldsymbol x logP(y=1)P(y=0)=θTx,即是线性回归结果。所以可以将逻辑回归视为对二分类概率对数几率的线性回归

三、逻辑回归的极大似然估计

上文虽然给出了逻辑回归公式,但其一方面是分段函数,另一方面难以找到合适的损失函数,因此还无法直接求解。
我们再仔细观察下逻辑回归公式,不难发现 P ( y = 0 ) + P ( y = 1 ) = 1 P(y=0)+P(y=1)=1 P(y=0)+P(y=1)=1,这意味着逻辑回归模型中暗藏着一条假设:预测结果分布满足伯努利分布(0-1分布)!这个我们提供了一条思路:利用概率的思维去求解。
首先将分段的逻辑回归公式改写为:
P ( y ) = ( 1 1 + e − θ T x ) y ( e − θ T x 1 + e − θ T x ) 1 − y , y ∈ ( 0 , 1 ) P(y)=(\frac{1}{1+e^{-\boldsymbol \theta^T \boldsymbol x}})^y(\frac{e^{-\boldsymbol \theta^T \boldsymbol x}}{1+e^{-\boldsymbol \theta^T \boldsymbol x}})^{1-y},y\in(0,1) P(y)=(1+eθTx1)y(1+eθTxeθTx)1y,y(0,1)
则参数的似然函数可写成:
L ( θ ; x , y ) = ∏ i ( 1 1 + e − θ T x i ) y i ( e − θ T x i 1 + e − θ T x i ) 1 − y i L(\boldsymbol \theta;\boldsymbol x,\boldsymbol y)=\prod \limits_i (\frac{1}{1+e^{-\boldsymbol \theta^T x_i}})^{y_i}(\frac{e^{-\boldsymbol \theta^T x_i}}{1+e^{-\boldsymbol \theta^T x_i}})^{1-y_i} L(θ;x,y)=i(1+eθTxi1)yi(1+eθTxieθTxi)1yi
取对数似然函数:
L ( θ ; x , y ) = ∑ i y i l n ( 1 1 + e − θ T x i ) + ( 1 − y i ) l n ( e − θ T x i 1 + e − θ T x i ) L(\boldsymbol \theta;\boldsymbol x,\boldsymbol y)=\sum \limits_i y_i ln(\frac{1}{1+e^{-\boldsymbol \theta^T x_i}})+(1-y_i) ln(\frac{e^{-\boldsymbol \theta^T x_i}}{1+e^{-\boldsymbol \theta^T x_i}}) L(θ;x,y)=iyiln(1+eθTxi1)+(1yi)ln(1+eθTxieθTxi)
h ( θ , x i ) = 1 1 + e − θ T x i h(\boldsymbol \theta,x_i)=\frac{1}{1+e^{-\boldsymbol \theta^T x_i}} h(θ,xi)=1+eθTxi1,则对数似然函数可简写为:
∑ i y i l n h ( θ , x i ) + ( 1 − y i ) l n ( 1 − h ( θ , x i ) ) \sum \limits_i y_ilnh(\boldsymbol \theta,x_i)+(1-y_i)ln(1-h(\boldsymbol \theta,x_i)) iyilnh(θ,xi)+(1yi)ln(1h(θ,xi))
根据最大似然函数,逻辑斯谛回归的最优参数为:
a r g m a x θ ∑ i y i ∗ l n h ( θ , x i ) + ( 1 − y i ) l ∗ n ( 1 − h ( θ , x i ) ) \mathop{argmax} \limits_{\boldsymbol \theta} \sum \limits_i y_i*lnh(\boldsymbol \theta,x_i)+(1-y_i)l*n(1-h(\boldsymbol \theta,x_i)) θargmaxiyilnh(θ,xi)+(1yi)ln(1h(θ,xi))
上文已经给出了逻辑斯谛回归分布函数的导数,可据此进行梯度下降迭代求解。

四、从信息熵的角度看逻辑回归

上文给出了逻辑回归中的对数似然函数:
∑ i y i ∗ l n h ( θ , x i ) + ( 1 − y i ) ∗ l n ( 1 − h ( θ , x i ) ) \sum \limits_i y_i*lnh(\boldsymbol \theta,x_i)+(1-y_i)*ln(1-h(\boldsymbol \theta,x_i)) iyilnh(θ,xi)+(1yi)ln(1h(θ,xi))
观察其每个样本的对数似然函数 y i h ( θ , x i ) + ( 1 − y i ) ( 1 − h ( θ , x i ) ) y_ih(\boldsymbol \theta,x_i)+(1-y_i)(1-h(\boldsymbol \theta,x_i)) yih(θ,xi)+(1yi)(1h(θ,xi)),其中的每个元素均为概率值。通过对比交叉熵公式(见理解机器学习中的熵),不难发现两者仅差一个负号。
也就是说,可以从从信息熵的角度来看待逻辑回归的目标函数:
(1)原数据满足0-1分布,对应对数似然函数中的 y i y_i yi 1 − y i 1-y_i 1yi
(2)预测概率函数 h ( θ , x i ) h(\boldsymbol \theta,x_i) h(θ,xi),意味着用某种分布去为真实分布编码
(3)真实分布和编码分布间的交叉熵为 − ( y i ∗ l n h ( θ , x i ) + ( 1 − y i ) ∗ l n ( 1 − h ( θ , x i ) ) ) -( y_i*lnh(\boldsymbol \theta,x_i)+(1-y_i)*ln(1-h(\boldsymbol \theta,x_i))) (yilnh(θ,xi)+(1yi)ln(1h(θ,xi)))
(4)为了使得编码分布尽可能的接近数据真实分布,交叉熵应当尽可能的小,即:

a r g m i n θ ∑ i − ( y i ∗ l n h ( θ , x i ) + ( 1 − y i ) l n ( 1 − h ( θ , x i ) ) ) \mathop{argmin} \limits_{\boldsymbol \theta} \sum \limits_i -(y_i*lnh(\boldsymbol \theta,x_i)+(1-y_i)ln(1-h(\boldsymbol \theta,x_i))) θargmini(yilnh(θ,xi)+(1yi)ln(1h(θ,xi)))
这与上文根据MLE推导得到的最优函数是一致的。
因此逻辑回归中的损失函数实际上采用了交叉熵,这也是分类问题中一种常用的损失函数。

五、交叉熵损失函数与逻辑损失函数

前文提到最大化似然函数,相当于最小化交叉熵。而按照机器学习的习惯,常定义某个损失函数,通过最小化该损失函数取得相应的模型参数。对照来看,我们便可以定义如下的交叉熵损失函数:
L ( x , y ; θ ) = − y ln ⁡ h ( θ , x ) − ( 1 − y ) ln ⁡ ( 1 − h ( θ , x ) ) L(x,y;\boldsymbol \theta)=-y\ln h(\boldsymbol \theta,x)-(1-y)\ln (1-h(\boldsymbol \theta,x)) L(x,y;θ)=ylnh(θ,x)(1y)ln(1h(θ,x))

此时, y y y的取值为1(正例)或0(负例)。这似乎与我们常见的分类问题编码型式不太一致(一般,正例取1;负例取-1)

那么,我们不妨取 y y y的值为1(正例)或-1(负例),此时又该如何解释逻辑回归算法呢?

y y y取1时,此时对应的概率可写为 σ ( x ) = 1 1 + exp ⁡ − θ T x \sigma(x)=\frac{1}{1+\exp^{-\theta^T x}} σ(x)=1+expθTx1 y y y取-1时,此时对应的概率可写为 1 − σ ( x ) = σ ( − x ) = 1 1 + exp ⁡ θ T x 1-\sigma(x)=\sigma(-x)=\frac{1}{1+\exp^{\theta^T x}} 1σ(x)=σ(x)=1+expθTx1上面第一个等式是因为logistic函数的奇对称性。

因此,无论 y y y取值为 ± \pm ± 1,其概率可统一写为: p ( x ; θ ) = σ ( y x ) = 1 1 + exp ⁡ ( θ T y x ) p(x;\theta)=\sigma(yx)=\frac{1}{1+\exp(\theta^Tyx)} p(x;θ)=σ(yx)=1+exp(θTyx)1其对数似然函数为: L ( θ ) = − 1 n ∑ i ln ⁡ ( 1 + exp ⁡ ( − θ T y x ) ) L(\theta)=-\frac{1}{n}\sum_i \ln(1+\exp(-\theta^Tyx)) L(θ)=n1iln(1+exp(θTyx))由此,可定义对应的损失函数,即逻辑损失函数: ln ⁡ ( 1 + exp ⁡ ( − θ T y x ) ) \ln(1+\exp(-\theta^Tyx)) ln(1+exp(θTyx))

更一般的,该损失函数常被写为: ln ⁡ ( 1 + e − y f ( x ) ) \ln(1+e^{-yf(x)}) ln(1+eyf(x))

因此,在逻辑回归算法中,交叉熵损失函数和逻辑损失函数是统一的。

六、将逻辑回归推广到多分类问题

原始的逻辑回归只适用于二分类问题(因为假设样本满足0-1分布),但可以通过多种策略将其推广到多分类问题。

6.1 策略一:1VN模型

构造出 N N N个逻辑回归模型,每个模型解决某个分类和the rest分类构成的二分类问题,最后取最大值对应的结果。
这种策略是种普适策略,可用于各类二分类模型。

6.2 策略二:1V1模型

构造出 C N 2 C_N^2 CN2个逻辑回归模型,每个模型解决某两个分类构成的二分类问题,最后取概率统计值最大的某个分类作为结果。
这种策略也是普适策略,可用于各类二分类模型。

6.3 策略三:将伯努利分布推广到广义伯努利分布

逻辑回归的概率学原理是样本满足伯努利分布,显然对于多分类问题,将其推广到广义伯努利分布,可得到多项逻辑斯谛回归:
P ( y = 1 ) = 1 1 + ∑ k = 1 K − 1 e − θ k x P ( y = k ) = e − θ k x 1 + ∑ k = 1 K − 1 e − θ k x , k ∈ ( 2 , 3 , . . . K ) P(y=1)=\frac{1}{1+\sum\limits_{k=1}^{K-1}e^{-\boldsymbol \theta_kx} }\\P(y=k)=\frac{e^{-\boldsymbol \theta_kx}}{1+\sum\limits_{k=1}^{K-1}e^{-\boldsymbol \theta_kx} },k\in(2,3,...K) P(y=1)=1+k=1K1eθkx1P(y=k)=1+k=1K1eθkxeθkx,k(2,3,...K)
对于多项逻辑斯谛回归,有几点有意思的结论:
(1)满足1VN策略思想,即对任意的 k k k,满足 P ( y = k ) + P ( y ≠ k ) = 1 P(y=k)+P(y\not=k)=1 P(y=k)+P(y=k)=1
(2)任意两个分类概率间的对数几率仍为线性回归: l n P ( y = m ) P ( y = n ) = − ( θ m − θ n ) x ln\frac{P(y=m)}{P(y=n)}=-(\boldsymbol \theta_m-\boldsymbol \theta_n)x lnP(y=n)P(y=m)=(θmθn)x

七、总结

逻辑斯谛回归是一种基于“线性回归+非线性函数”的分类模型,其采用交叉熵损失函数。这种策略也在深度学习中广泛采用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值