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

LR介绍

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

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

hθ(x)=11+ex h θ ( x ) = 1 1 + e − x

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

公式推导:

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

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

接下来为了能够使用梯度下降的方法来training θ θ 这个值,所以需要设置损失函数。
通常分类问题的损失函数是误差平方和(MSE)但是,我们会发现这时候的代价函数是非凸的,也就是函数图像中会出现许多的局部最小值,导致梯度下降法极其容易得到局部最小值。
如下图所示:
这里写图片描述
为了能够得到一个凸函数,所以需要修改loss function来获得一个优化的凸函数。
Loss function
Loss(hθ(x),yi)=log(P(yi|x;θ))=[log(hθ(x))yi+log(1hθ(x))(1yi)] L o s s ( h θ ( x ) , y i ) = l o g ( P ( y i | x ; θ ) ) = − [ l o g ( h θ ( x ) ) ⋅ y i + l o g ( 1 − h θ ( x ) ) ⋅ ( 1 − y i ) ]

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

LR的梯度下降公式推导

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

θj=θjαθJ(θ) θ j = θ j − α ∂ ∂ θ J ( θ )

其中 α α 是learning rate学习率。

接下来是公式推导:

1mθ[log(h)y+log(1h)(1y)] − 1 m ∂ ∂ θ [ l o g ( h ) ⋅ y + l o g ( 1 − h ) ⋅ ( 1 − y ) ]
=1m[1hhy+1(1h)(h)(1y)] = − 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=h2eθTX(X),h h ′ = − h 2 ⋅ e − θ T X ⋅ ( − X ) , 将 h ′ 代 入
=1m[1h(h2eθTXX)y+1(1h)(h2eθTX(X))(1y)] = − 1 m [ 1 h ⋅ ( h 2 ⋅ e − θ T X ⋅ X ) ⋅ y + 1 ( 1 − h ) ⋅ ( h 2 ⋅ e − θ T X ⋅ ( − X ) ) ⋅ ( 1 − y ) ]
又由于 eθTX=1h1=1hh e − θ T X = 1 h − 1 = 1 − h h , 代入可得
=1m[(h1hhX)y+1(1h)(h21hh(X))(1y)] = − 1 m [ ⋅ ( h ⋅ 1 − h h ⋅ X ) ⋅ y + 1 ( 1 − h ) ⋅ ( h 2 ⋅ 1 − h h ⋅ ( − X ) ) ⋅ ( 1 − y ) ]
=1m[1h(1h)XyhX(1y)] = − 1 m [ 1 h ⋅ ( 1 − h ) ⋅ X ⋅ y − h ⋅ X ⋅ ( 1 − y ) ]
=1m(yh)X = − 1 m ( y − h ) X
=1m(hy)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 )

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

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

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

思考题解答

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

参考

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值