机器学习-逻辑回归模型公式推导

LR介绍

Logistic Regression 是一种非线性的回归模型,同时也可以使用逻辑回归模型来作分类任务。

Logistic Regression回归模型使用的Sigmoid函数作为假设模型。

hθ(x)=11+ex

其中 x=inθifi,i=1,2...n
n表示x这个样本共有n维的特征,fi表示x这个样本的第i个特征,θi表示x这个样本第i个特征的权重。而逻辑回归模型的训练过程就是学习这个θ,训练完成后的逻辑回归模型就可以用来给样本分类。
Sigmoid函数是长成这样的。
机器学习-逻辑回归模型公式推导
思考题1:为什么逻辑回归的假设模型使用的是Sigmoid函数?

公式推导:

由于逻辑回归服从伯努利分布。所以对于二分类问题来说。
hθ(x)表示类别为1的情况。那么类别为0的情况就是1hθ(x)
那么输入x判断类别为1的概率为P(y=1|x;θ)=hθ(x),判断类别为0的概率为P(y=0|x;θ)=1hθ(x)
综合在一起就是

$P(y|x;θ)=hθ(x)y+(1hθ(x))1y

接下来为了能够使用梯度下降的方法来training θ这个值,所以需要设置损失函数。
通常分类问题的损失函数是误差平方和(MSE)但是,我们会发现这时候的代价函数是非凸的,也就是函数图像中会出现许多的局部最小值,导致梯度下降法极其容易得到局部最小值。
如下图所示:
机器学习-逻辑回归模型公式推导
为了能够得到一个凸函数,所以需要修改loss function来获得一个优化的凸函数。
Loss function
Loss(hθ(x),yi)=log(P(yi|x;θ))=[log(hθ(x))yi+log(1hθ(x))(1yi)]

而函数整体的损失就是(共有m个样本参与训练)
J(θ)=1mim[log(hθ(x))yi+log(1hθ(x))(1yi)]

LR的梯度下降公式推导

由于新设置的Loss function是非凸的,所以我们可以使用梯度下降发的方法来求出当Loss funciton最小时的θ向量。梯度下降法的迭代公式是

θj=θjαθJ(θ)

其中α是learning rate学习率。

接下来是公式推导:

1mθ[log(h)y+log(1h)(1y)]
=1m[1hhy+1(1h)(h)(1y)]
由于hθ(x)=11+eθTX,所以h=h2eθTX(X),h
=1m[1h(h2eθTXX)y+1(1h)(h2eθTX(X))(1y)]
又由于eθTX=1h1=1hh, 代入可得
=1m[(h1hhX)y+1(1h)(h21hh(X))(1y)]
=1m[1h(1h)XyhX(1y)]
=1m(yh)X
=1m(hy)X
=i=1m(hθ(x(i))y(i))xj(i)

所以更新θ的公式变化为下面这种情况

θj=θjαi=1m(hθ(x(i))y(i))xj(i)

这样就完成了相关的推导。

思考题解答

1.这里可以去查看 最大熵模型。逻辑回归模型是最大熵模型的一个特例,并且在给定条件下求熵最大的分布就是Sigmoid函数。
同时伯努利的指数族形式就是11+ex

参考

Stanford机器学习课程笔记——LR的公式推导和过拟合问题解决方案
为什么 LR 模型要使用 sigmoid 函数,背后的数学原理是什么?-知乎