逻辑回归(Logistic Regression)推导证明

逻辑回归(Logistic Regression)推导证明

逻辑回归是一个线性模型,是机器学习的基础重要模型之一。
目标:实现分类
数据集(样本):
X ⊑ R N f ( x ; ω , b ) = ω 1 x 1 + ω 2 x 2 + . . . + ω N x N + b X\sqsubseteq\mathbb{R}^N\\f(\boldsymbol x;\omega,b)=\omega_1x_1+\omega_2x_2+...+\omega_Nx_N+b XRNf(x;ω,b)=ω1x1+ω2x2+...+ωNxN+b增广形式: f ( x ; ω ) = ω 0 x 0 + ω 1 x 1 + ω 2 x 2 + . . . + ω N x N        ( x 0 = 1 ) f(\boldsymbol x;\omega)=\omega_0x_0+\omega_1x_1+\omega_2x_2+...+\omega_Nx_N\;\;\;(x_0=1) f(x;ω)=ω0x0+ω1x1+ω2x2+...+ωNxN(x0=1)
解释一下,f这个函数是典型线性模型函数。其中 ω = [ ω 1 , ω 2 , . . . ω N ] T \omega={\lbrack\omega_{1,}\omega_2,...\omega_N\rbrack}^T ω=[ω1,ω2,...ωN]T是N维的权重向量,b是偏置。当解决线性回归问题时,我们直接用 f ( x ; ω ) f(x;\omega) f(x;ω)即可预测输出目标。
但是在分类问题中,这样直接使用 f ( x ; ω ) f(x;\omega) f(x;ω) 不太好,有点不太对劲呢。所以我们引入一个非线性的决策函数 g ( z ) g(z) g(z)来输出目标。
y = g ( f ( x ; ω ) ) y=g(f(\boldsymbol x;\omega)) y=g(f(x;ω))
这个g(z)一般也可以说是激活函数,有很多种选择。甚至都可以自定义的。比如,类似符号函数的定义:
g ( z ) = { + 1      i f    z > 0 − 1      i f    z < 0 g(z)=\left\{\begin{array}{l} +1\;\ if\;z>0\\-1\; \ if\;z<0\end{array}\right. g(z)={+1 ifz>01 ifz<0
这里函数值的+1,-1就可以作为2分类问题的输出了。比如我要区分男女,1表示男,-1表示女。这个g(z)就可以用来作为输出的函数。

逻辑回归模型

(一) 目标函数

现在正经的来介绍一下逻辑回归模型。
现在用 y ∈ { 0 , 1 } y\in\{0,1\} y{0,1}表示二分类问题的分类情况。
现在引入了概率的思路:给一个n维变量x,计算它是1类的概率,如果大于0.5就说明他是1类反正为0类。
他是 1类的概率为: P ( y = 1 ∣ x ) P(y=1\vert\boldsymbol x) P(y=1x)
现在我们的工作就是把这个概率和线性模型看看怎么联系起来。
现在回头看看前面写的那一堆,就是在说这个事。选择一个激活函数,输出不是0就是1不久行了嘛,这个模型中选用的是sigmoid函数:
s i g m o i d    g ( z ) = 1 1 + e − z sigmoid\;g(z)=\frac1{1+e^{-z}} sigmoidg(z)=1+ez1
它的导数很有意思: g ′ ( z ) = g ( z ) × [ 1 − g ( z ) ] g'(z)=g(z)\times\left[1-g(z)\right] g(z)=g(z)×[1g(z)]

sigmoid函数图像为:
在这里插入图片描述

那么我们把他表示为概率 P ( y = 1 ∣ x ) = g ( f ( x ; w ) ) P(y=1\vert\boldsymbol x)=g(f(\boldsymbol x;w)) P(y=1x)=g(f(x;w))
这一步需要想清楚!!!
我们的目标函数就是这个,现在写规范一点就是:
h ( x ) = g ( f ( x ; ω ) ) h(x)=g(f(\boldsymbol x;\omega)) h(x)=g(f(x;ω))

(二)损失函数

这里使用交叉熵作为损失函数
l o s s ( ω ) = − 1 N ∑ i = 1 N [ y ( i )    log ⁡ ( h ( x ( i ) ) ) + ( 1 − y ( i ) ) log ⁡ ( 1 − h ( x ( i ) ) ) ] loss(\omega)=-\frac1N\sum_{i=1}^N\left[y^{(i)}\;\log(h(x^{(i)}))+(1-y^{(i)})\log(1-h(x^{(i)}))\right] loss(ω)=N1i=1N[y(i)log(h(x(i)))+(1y(i))log(1h(x(i)))]
求它的偏导数
∂ l o s s ( ω ) ∂ ( ω ) = − 1 N ∑ i = 1 N [    y ( i ) h ( x ( i ) ) − ( 1 − y ( i ) ) 1 − h ( x ( i ) ) ] ∂ h ( x ( i ) ; ω ) ∂ ( ω ) \frac{\partial loss(\omega)}{\partial(\omega)}=-\frac1N\sum_{i=1}^N\left[\;\frac{y^{(i)}}{h(x^{(i)})}-\frac{(1-y^{(i)})}{1-h(x^{(i)})}\right]\frac{\partial h(x^{(i)};\omega)}{\partial(\omega)} (ω)loss(ω)=N1i=1N[h(x(i))y(i)1h(x(i))(1y(i))](ω)h(x(i);ω)
⇒ − 1 N ∑ i = 1 N [    y ( i ) h ( x ( i ) ) − ( 1 − y ( i ) ) 1 − h ( x ( i ) ) ] h ( x ( i ) ) ( 1 − h ( x ( i ) ) ) ω T x ∂ ( ω ) \Rightarrow-\frac1N\sum_{i=1}^N\left[\;\frac{y^{(i)}}{h(x^{(i)})}-\frac{(1-y^{(i)})}{1-h(x^{(i)})}\right]h(x^{(i)})(1-h(x^{(i)}))\frac{\omega^Tx}{\partial(\omega)} N1i=1N[h(x(i))y(i)1h(x(i))(1y(i))]h(x(i))(1h(x(i)))(ω)ωTx
⇒ − 1 N ∑ i = 1 N [    y ( i ) ( 1 − h ( x ( i ) ) ) − ( 1 − y ( i ) ) h ( x ( i ) ) ] x ( i ) \Rightarrow-\frac1N\sum_{i=1}^N\left[\;y^{(i)}(1-h(x^{(i)}))-(1-y^{(i)})h(x^{(i)})\right]x^{(i)} N1i=1N[y(i)(1h(x(i)))(1y(i))h(x(i))]x(i)
⇒ − 1 N ∑ i = 1 N [    y ( i ) −    y ( i ) h ( x ( i ) ) − h ( x ( i ) ) + h ( x ( i ) ) y ( i ) ] x ( i ) \Rightarrow-\frac1N\sum_{i=1}^N\left[\;y^{(i)}-\;y^{(i)}h(x^{(i)})-h(x^{(i)})+h(x^{(i)})y^{(i)}\right]x^{(i)} N1i=1N[y(i)y(i)h(x(i))h(x(i))+h(x(i))y(i)]x(i)
⇒ − 1 N ∑ i = 1 N [    y ( i ) − h ( x ( i ) ) ] x ( i ) \Rightarrow-\frac1N\sum_{i=1}^N\left[\;y^{(i)}-h(x^{(i)})\right]x^{(i)} N1i=1N[y(i)h(x(i))]x(i)
综上:
∂ l o s s ( ω ) ∂ ω = − 1 N ∑ i = 1 N [    y ( i ) − h ( x ( i ) ) ] x ( i ) \frac{\partial loss(\omega)}{\partial\omega}=-\frac1N\sum_{i=1}^N\left[\;y^{(i)}-h(x^{(i)})\right]x^{(i)} ωloss(ω)=N1i=1N[y(i)h(x(i))]x(i)
如果不是增广形式,就要带上个偏置b,同理
∂ l o s s ( w ; b ) ∂ b = − 1 N ∑ i = 1 N [    y ( i ) − h ( x ( i ) ) ] \frac{\partial loss(w;b)}{\partial b}=-\frac1N\sum_{i=1}^N\left[\;y^{(i)}-h(x^{(i)})\right] bloss(w;b)=N1i=1N[y(i)h(x(i))]

(三)优化算法

1.梯度下降法 GD

梯度下降法详细推导

ω t + 1 = ω t − α ∂ l o s s ( ω ) ∂ ω   ( α 是 学 习 率 ) \omega_{t+1}=\omega_t-\alpha\frac{\partial loss(\omega)}{\partial\omega}\ (\alpha是学习率) ωt+1=ωtαωloss(ω) (α)
ω t + 1 = ω t + α 1 N ∑ i = 1 N [    y ( i ) − h ( x ( i ) ) ] x ( i ) \omega_{t+1}=\omega_t+\alpha\frac1N\sum_{i=1}^N\left[\;y^{(i)}-h(x^{(i)})\right]x^{(i)} ωt+1=ωt+αN1i=1N[y(i)h(x(i))]x(i)
2.随机梯度下降法 SGD
ω t + 1 = ω t − α ∂ l o s s ( ω ) ∂ ω \omega_{t+1}=\omega_t-\alpha\frac{\partial loss(\omega)}{\partial\omega} ωt+1=ωtαωloss(ω)
只用当前点来更新
ω t + 1 = ω t + α [    y ( i ) − h ( x ( i ) ) ] x ( i ) \omega_{t+1}=\omega_t+\alpha\left[\;y^{(i)}-h(x^{(i)})\right]x^{(i)} ωt+1=ωt+α[y(i)h(x(i))]x(i)
3.牛顿法
ω t + 1 = ω t − α H − 1 ( ω ) ∂ l o s s ( x ; ω ) ∂ ω \omega_{t+1}=\omega_t-\alpha H^{-1}(\omega)\frac{\partial loss(x;\omega)}{\partial\omega} ωt+1=ωtαH1(ω)ωloss(x;ω)
H − 1 H^{-1} H1是Hessian矩阵的逆

3.拟牛顿法
后续再更新拟牛顿ba

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值