Regularized Logistic Regression
2021-09-11
回顾一下没有正则化的情况
损失函数
J(θ)=−m1i=1∑m[y(i)log(hθ(x(i)))+(1−y(i))log(1−hθ(x(i)))]
or 向量化的
hJ(θ)=g(Xθ)=−m1⋅[yTlog(h)+(1−y)Tlog(1−h)]
梯度下降公式
∂θj∂J(θ)=m1i=1∑m(hθ(x(i))−y(i))xj(i)
- 是和线性回归完全一样的, 所以梯度下降公式也一样:
repeat until convergence {θj:=θj−αm1∑i=1m(hθ(x(i))−y(i))xj(i) } (simultaneously update j=0,⋯,j=n)
正则化以后的损失函数
J(θ)=−m1i=1∑m[y(i)log(h(x(i)))+(1−y(i))log(1−h(x(i)))]+2mλi=1∑nθi2=P(θ)+2mλi=1∑nθi2
需要注意的就是正则项应该是加上去的, 原理损失函数前面的负号是为了"反转"
log函数.
正则化以后的梯度下降
在计算偏导数的时候, 利用偏导数的性质, 我们只需要在最后加上正则项的偏导数即可:
∂θj∂J(θ)=∂θj∂P(θ)+2mλ∂θj∂i=1∑nθi2=∂θj∂P(θ)+mλθj=m1i=1∑m(hθ(x(i))−y(i))xj(i)+mλθj
带入梯度更新公式有:
Re}peat {θ0:=θ0−αm1i=1∑m(hθ(x(i))−y(i))x0(i)θj:=θj−α[m1i=1∑m(hθ(x(i))−y(i))xj(i)+mλθj]j∈{1,2…n}
要是把方括号打开, 第二行的更新公式可以变为:
θj:=θj(1−αmλ)−αm1i=1∑m(hθ(x(i))−y(i))xj(i)j∈{1,2…n}
因为
(1−αmλ)一定小于1, 所以这个更新公式每次都会缩小一点点
θi, 而公式的后半部分和没有正则化的公式是完全一样的.
- 上面这部分是直接从线性回归那里拷贝过来的, 两者唯一的不同就是
h(x)的定义不同
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
评论(0)