Logistic Regression梯度下降使用证明

最近在看机器学习实战,其中有些代码部分容易让人摸不着头脑。主要是代码里面把原理细节的东西隐藏了,为了更好地理解Logistic Regression,在这篇博客记录一下推导过程。

首先是Logistic Regression的损失函数(loss function): 其中y为实际值,a为计算值。

L(y,a)=[yln(a)+(1y)ln(1a)] L ( y , a ) = − [ y ∗ l n ( a ) + ( 1 − y ) ∗ l n ( 1 − a ) ]

对于单个例子 xi=(xi1,xi2...,xin) x i = ( x i 1 , x i 2 . . . , x i n ) wT=(w1,w2...,wn) w T = ( w 1 , w 2 . . . , w n ) 有:

a=sigmoid(xiw) a = s i g m o i d ( x i ∗ w ) 其中 sigmoid(x)=11+ex s i g m o i d ( x ) = 1 1 + e − x

对于 w w 中的wj来说,有以下链式求导:

L(y,a)wj=L(y,a)aa(xiw)(xiw)wj ∂ L ( y , a ) ∂ w j = ∂ L ( y , a ) ∂ a ∂ a ∂ ( x i ∗ w ) ∂ ( x i ∗ w ) ∂ w j

其中 L(y,a)a=(ya)a(1a) ∂ L ( y , a ) ∂ a = − ( y − a ) a ( 1 − a )

对于sigmoid函数来说有 g(x)=g(x)(1g(x)) g ′ ( x ) = g ( x ) ( 1 − g ( x ) ) 故上述式子可 a(xiw)=a(1a) ∂ a ∂ ( x i ∗ w ) = a ( 1 − a )

最后 (xiw)wj=xij ∂ ( x i ∗ w ) ∂ w j = x i j

所以 L(y,a)wj=(ya)xij ∂ L ( y , a ) ∂ w j = − ( y − a ) x i j

推广到多例子的 w w 有:
L(y,a)w=XT(ya)

故对 w w 的更新为以下式子:

w=w+XT(ya)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值