LR介绍
Logistic Regression 是一种非线性的回归模型,同时也可以使用逻辑回归模型来作分类任务。
Logistic Regression回归模型使用的Sigmoid函数作为假设模型。
其中 x=∑niθifi,i=1,2...n x = ∑ i n θ i f i , i = 1 , 2 . . . n
n n 表示这个样本共有 n n 维的特征,表示 x x 这个样本的第个特征, θi θ i 表示 x x 这个样本第个特征的权重。而逻辑回归模型的训练过程就是学习这个 θ θ ,训练完成后的逻辑回归模型就可以用来给样本分类。
Sigmoid函数是长成这样的。

思考题1:为什么逻辑回归的假设模型使用的是Sigmoid函数?
公式推导:
由于逻辑回归服从伯努利分布。所以对于二分类问题来说。
hθ(x)
h
θ
(
x
)
表示类别为1的情况。那么类别为0的情况就是
1−hθ(x)
1
−
h
θ
(
x
)
那么输入
x
x
判断类别为1的概率为,判断类别为0的概率为
P(y=0|x;θ)=1−hθ(x)
P
(
y
=
0
|
x
;
θ
)
=
1
−
h
θ
(
x
)
综合在一起就是
接下来为了能够使用梯度下降的方法来training θ θ 这个值,所以需要设置损失函数。
通常分类问题的损失函数是误差平方和(MSE)但是,我们会发现这时候的代价函数是非凸的,也就是函数图像中会出现许多的局部最小值,导致梯度下降法极其容易得到局部最小值。
如下图所示:

为了能够得到一个凸函数,所以需要修改loss function来获得一个优化的凸函数。
Loss function
而函数整体的损失就是(共有m个样本参与训练)
LR的梯度下降公式推导
由于新设置的Loss function是非凸的,所以我们可以使用梯度下降发的方法来求出当Loss funciton最小时的
θ
θ
向量。梯度下降法的迭代公式是
其中 α α 是learning rate学习率。
接下来是公式推导:
−1m∂∂θ[log(h)⋅y+log(1−h)⋅(1−y)] − 1 m ∂ ∂ θ [ l o g ( h ) ⋅ y + l o g ( 1 − h ) ⋅ ( 1 − y ) ]
=−1m[1h⋅h′⋅y+1(1−h)⋅(−h′)⋅(1−y)] = − 1 m [ 1 h ⋅ h ′ ⋅ y + 1 ( 1 − h ) ⋅ ( − h ′ ) ⋅ ( 1 − y ) ]
由于 hθ(x)=11+e−θTX h θ ( x ) = 1 1 + e − θ T X ,所以 h′=−h2⋅e−θTX⋅(−X),将h′代入 h ′ = − h 2 ⋅ e − θ T X ⋅ ( − X ) , 将 h ′ 代 入
=−1m[1h⋅(h2⋅e−θTX⋅X)⋅y+1(1−h)⋅(h2⋅e−θTX⋅(−X))⋅(1−y)] = − 1 m [ 1 h ⋅ ( h 2 ⋅ e − θ T X ⋅ X ) ⋅ y + 1 ( 1 − h ) ⋅ ( h 2 ⋅ e − θ T X ⋅ ( − X ) ) ⋅ ( 1 − y ) ]
又由于 e−θTX=1h−1=1−hh e − θ T X = 1 h − 1 = 1 − h h , 代入可得
=−1m[⋅(h⋅1−hh⋅X)⋅y+1(1−h)⋅(h2⋅1−hh⋅(−X))⋅(1−y)] = − 1 m [ ⋅ ( h ⋅ 1 − h h ⋅ X ) ⋅ y + 1 ( 1 − h ) ⋅ ( h 2 ⋅ 1 − h h ⋅ ( − X ) ) ⋅ ( 1 − y ) ]
=−1m[1h⋅(1−h)⋅X⋅y−h⋅X⋅(1−y)] = − 1 m [ 1 h ⋅ ( 1 − h ) ⋅ X ⋅ y − h ⋅ X ⋅ ( 1 − y ) ]
=−1m(y−h)X = − 1 m ( y − h ) X
=1m(h−y)X = 1 m ( h − y ) X
=∑mi=1(hθ(x(i))−y(i))x(i)j = ∑ i = 1 m ( h θ ( x ( i ) ) − y ( i ) ) x j ( i )
所以更新
θ
θ
的公式变化为下面这种情况
这样就完成了相关的推导。
思考题解答
1.这里可以去查看 最大熵模型。逻辑回归模型是最大熵模型的一个特例,并且在给定条件下求熵最大的分布就是Sigmoid函数。
同时伯努利的指数族形式就是
11+e−x
1
1
+
e
−
x
参考
Stanford机器学习课程笔记——LR的公式推导和过拟合问题解决方案
为什么 LR 模型要使用 sigmoid 函数,背后的数学原理是什么?-知乎