Logistic Regression逻辑回归的损失函数与梯度下降训练

有一篇博文提到logistic regression的简单理解(Logistic Regression逻辑回归的简单解释)。逻辑回归实际上是odds取对数后的反函数,其函数形式也称为sigmoid function,sigmoid的原义为『像S的形状』。文中最后给出了逻辑回归的表达式:

h ( α ) = 1 1 + e − α h(\alpha) = \frac{1}{1+e^{-\alpha}} h(α)=1+eα1

因为 h ( α ) h(\alpha) h(α)的定义域是全体实数 R \boldsymbol{R} R α \alpha α可以用任意函数来代替,一般使用线性函数: α ( θ , x ) = θ 0 x 0 + θ 1 x 1 + . . . + θ n x n \alpha(\boldsymbol{\theta}, \boldsymbol{x}) = \theta_0 x_0 + \theta_1 x_1 + ... + \theta_n x_n α(θ,x)=θ0x0+θ1x1+...+θnxn

为了方便叙述,改写一下符号:

(1) h θ ( x ) = g ( θ T x ) = 1 1 + e − θ T x h_{\boldsymbol{\theta}}(\boldsymbol{x}) = g(\boldsymbol{\theta}^T \boldsymbol{x}) = \frac{1}{1+e^{-\boldsymbol{\theta}^T \boldsymbol{x}}} \tag{1} hθ(x)=g(θTx)=1+eθTx1(1)

其中粗体 x \boldsymbol{x} x是已知的数据(样本,输入),粗体 θ T \boldsymbol{\theta}^T θT是参数。机器学习即通过已知样本 x \boldsymbol{x} x和对应的label y \boldsymbol{y} y来求解(估计)参数 θ T \boldsymbol{\theta}^T θT

损失函数

逻辑回归使用对数损失函数:

L ( Y , P ( Y ∣ X ) ) = − log ⁡ ( P ( Y ∣ X ) ) L(Y, P(Y|X)) = -\log(P(Y|X)) L(Y,P(YX))=log(P(YX))

对数损失函数直接看函数形式不是很直观,毕竟其它损失函数都可以直接从形式上看出『预测时与真实值之间的差异』这样的含义(绝对值损失,平方差损失等),对数损失函数第一眼难以看到这样的含义。

实际上对数损失函数来源于极大似然估计。 P ( Y ∣ X ) P(Y|X) P(YX)的意思是在样本已知(即 X X X)的情况下,分类正确(类别为 Y Y Y)的概率。 P ( Y ∣ X ) P(Y|X) P(YX)越大表示被正确分类的概率越大,取对数再取反那就是最小,符合损失函数的定义。通俗来讲,一堆参数在一堆数据下的似然值,就是每一条数据(每一条样本)在这一组参数下的条件概率之积,取个对数变成条件概率之和,再取个负号求反就得到了对数损失函数。

逻辑回归的损失函数形式也完全可以从极大似然估计的过程中得到,二者是等价的。

逻辑回归本身用于处理二分类问题。对数损失函数中的 h ( Y ∣ X ) h(Y|X) h(YX)就是sigmoid函数 h θ ( x ) h_\theta(x) hθ(x)。为了综合 Y = 1 Y=1 Y=1 Y = 0 Y=0 Y=0两个类别的损失,基于对数损失函数,逻辑回归的损失函数可以写成如下形式:

L ( h θ ( x ) , y ) = { − log ⁡ ( h θ ( x ) ) y = 1 − log ⁡ ( 1 − h θ ( x ) ) y = 0 L(h_{\theta}(x), y)= \left\{ \begin{aligned} & -\log(h_\theta(x)) & {y = 1}\\ & -\log(1-h_\theta(x)) & {y = 0}\\ \end{aligned} \right. L(hθ(x),y)={ log(hθ(x))log(1hθ(x))y=1y=0

为了方便,上式可以改写成一个式子:

(2) L ( h θ ( x ) , y ) = − y log ⁡ ( h θ ( x ) ) − ( 1 − y ) log ⁡ ( 1 − h θ ( x ) ) L(h_{\theta}(x), y) = -y \log(h_\theta (x)) - (1-y)\log(1-h_\theta (x)) \tag{2} L(hθ(x),y)=ylog(hθ(x))(1y)log(1hθ(x))(2)

(2)式就是逻辑回归的损失函数的形式。如果 y = 1 y=1 y=1,loss会计算上式中的前半部分,如果 y = 0 y = 0 y=0,loss计算上式的后半部分。无论0或1,只要分类错误,loss都会变得很大。

下面推导逻辑回归的极大似然估计,最终可以看到,极大似然估计与(2)式是等价的。

前面提到, P ( Y ∣ X ) = h θ ( x ) P(Y|X) = h_\theta (x) P(YX)=hθ(x)。逻辑回归的假设是伯努利分布,label有 y = 0 y=0 y=0 y = 1 y=1 y=1两种情况。伯努利分布的概率密度函数 f ( x ) = p x ( 1 − p ) ( 1 − x ) f(x) = p^x(1-p)^{(1-x)} f(x)=px(1p)(1x),套用至逻辑回归,就得到逻辑回归的概率密度函数:

f ( x ) = P ( y = 1 ∣ x ) y ( 1 − P ( y = 1 ∣ x ) ) ( 1 − y ) f(x) = P(y=1|x)^y \left(1-P(y=1|x)\right)^{(1-y)} f(x)=P(y=1x)y(1P(y=1x))(1y)

其中 P ( y = 1 ∣ x ) = h θ ( x ) P(y=1|x) = h_\theta (x) P(y=1x)=hθ(x)

那么似然函数可以写成连乘的形式:

L ( θ ) = ∏ i = 1 m P ( y = 1 ∣ x i ) y i ( 1 − P ( y = 1 ∣ x i ) ) ( 1 − y i ) L(\boldsymbol\theta) = \prod_{i=1}^m P(y=1|x_i)^{y_i} \left(1-P(y=1|x_i)\right)^{(1-y_i)} L(θ)=i=1mP(y=1xi)yi(1P(y=1xi))(1yi)

两边取以e为底的对数,得到对数似然函数:

(3) ln ⁡ L ( θ ) = ∑ i = 1 m y i ln ⁡ P ( y = 1 ∣ x i ) + ( 1 − y i ) ln ⁡ ( 1 − P ( y = 1 ∣ x i ) ) = ∑ i = 1 m y i ln ⁡ h θ ( x i ) + ( 1 − y i ) ln ⁡ ( 1 − h θ ( x i

  • 4
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值