Regularized Logistic Regression正则化后的逻辑斯蒂回归

举报
OvAvO 发表于 2021/11/16 14:29:41 2021/11/16
【摘要】 Regularized Logistic Regression 2021-09-11 回顾一下没有正则化的情况 损失函数J(θ)=−1m∑i=1m[y(i)log⁡(hθ(x(i)))+(1−y(i))log⁡(1−hθ(x(i)))]\begin{aligned}J(\theta)&=-\frac{1}{m} \sum_{i=1}^{m}\left[y^{(i)} \log \left(...

Regularized Logistic Regression

2021-09-11

回顾一下没有正则化的情况

损失函数

J ( θ ) = 1 m i = 1 m [ y ( i ) log ( h θ ( x ( i ) ) ) + ( 1 y ( i ) ) log ( 1 h θ ( x ( i ) ) ) ] \begin{aligned} J(\theta) &=-\frac{1}{m} \sum_{i=1}^{m}\left[y^{(i)} \log \left(h_{\theta}\left(x^{(i)}\right)\right)+\left(1-y^{(i)}\right) \log \left(1-h_{\theta}\left(x^{(i)}\right)\right)\right]\\ \end{aligned}

or 向量化的

h = g ( X θ ) J ( θ ) = 1 m [ y T log ( h ) + ( 1 y ) T log ( 1 h ) ] \begin{aligned} h&=g(X \theta) \\ J(\theta)&=-\frac{1}{m} \cdot\left[y^{T} \log (h)+(1-y)^{T} \log (1-h)\right] \end{aligned}

梯度下降公式

θ j J ( θ ) = 1 m i = 1 m ( h θ ( x ( i ) ) y ( i ) ) x j ( i ) \begin{aligned} \frac{\partial}{\partial \theta_{j}} J(\theta) &=\frac{1}{m} \sum_{i=1}^{m}\left(h_{\theta}(x^{(i)})-y^{(i)}\right) x^{(i)}_{j} \end{aligned}

  • 是和线性回归完全一样的, 所以梯度下降公式也一样:

 repeat until convergence  { θ j : = θ j α 1 m i = 1 m ( h θ ( x ( i ) ) y ( i ) ) x j ( i )  }   (simultaneously update  j = 0 , , j = n ) \begin{array}{l} \text { repeat until convergence }\{\\ \begin{array}{cc} &\theta_{j}:=\theta_{j}-\alpha \frac 1 m \sum_{i=1}^{m} \left(h_{\theta}(x^{(i)})-y^{(i)}\right) x_j^{(i)} \end{array}\\ \text { \} } \\\\ \text { (simultaneously update } j=0, \cdots ,j=n) \end{array}


正则化以后的损失函数

J ( θ ) = 1 m i = 1 m [ y ( i ) log ( h ( x ( i ) ) ) + ( 1 y ( i ) ) log ( 1 h ( x ( i ) ) ) ] + λ 2 m i = 1 n θ i 2 = P ( θ ) + λ 2 m i = 1 n θ i 2 \begin{aligned}J(\theta) &=-\frac{1}{m} \sum_{i=1}^{m} \left[ y^{(i)} \log \left(h\left(x^{(i)}\right)\right)+\left(1-y^{(i)}\right) \log \left(1-h\left(x^{(i)}\right)\right) \right]+\frac\lambda{2m}\sum^n_{i=1}\theta_i^2\\ &=P(\theta)+\frac\lambda{2m}\sum^n_{i=1}\theta_i^2\end{aligned}

需要注意的就是正则项应该是加上去的, 原理损失函数前面的负号是为了"反转" l o g log 函数.

正则化以后的梯度下降

在计算偏导数的时候, 利用偏导数的性质, 我们只需要在最后加上正则项的偏导数即可:

θ j J ( θ ) = θ j P ( θ ) + λ 2 m θ j i = 1 n θ i 2 = θ j P ( θ ) + λ m θ j = 1 m i = 1 m ( h θ ( x ( i ) ) y ( i ) ) x j ( i ) + λ m θ j \begin{aligned} \frac{\partial}{\partial \theta_{j}} J(\theta) &=\frac{\partial}{\partial \theta_{j}}P(\theta)+ \frac\lambda{2m}\frac{\partial}{\partial \theta_{j}}\sum^n_{i=1}\theta_i^2\\ &=\frac{\partial}{\partial \theta_{j}}P(\theta)+ \frac\lambda{m}\theta_{j} \\ &=\frac{1}{m} \sum_{i=1}^{m}\left(h_{\theta}(x^{(i)})-y^{(i)}\right) x^{(i)}_{j} +\frac\lambda{m}\theta_{j} \end{aligned}

  • 注意正则项在求和符号的外面

带入梯度更新公式有:

R e p e a t   { θ 0 : = θ 0 α 1 m i = 1 m ( h θ ( x ( i ) ) y ( i ) ) x 0 ( i ) θ j : = θ j α [ 1 m i = 1 m ( h θ ( x ( i ) ) y ( i ) ) x j ( i ) + λ m θ j ] j { 1 , 2 n } } \begin{aligned} Re&peat\ \{\\ &\theta_{0}:=\theta_{0}-\alpha \frac{1}{m} \sum_{i=1}^{m}\left(h_{\theta}\left(x^{(i)}\right)-y^{(i)}\right) x_{0}^{(i)} \\ &\theta_{j}:=\theta_{j}-\alpha\left[ \frac{1}{m} \sum_{i=1}^{m} \left(h_{\theta}\left(x^{(i)}\right)-y^{(i)}\right) x_{j}^{(i)}+\frac{\lambda}{m} \theta_{j} \right] \quad\quad j \in\{1,2 \ldots n\} \\ \} \end{aligned}

要是把方括号打开, 第二行的更新公式可以变为:

θ j : = θ j ( 1 α λ m ) α 1 m i = 1 m ( h θ ( x ( i ) ) y ( i ) ) x j ( i ) j { 1 , 2 n } \theta_{j}:=\theta_{j}\left(1-\alpha\frac\lambda m\right) -\alpha\frac{1}{m} \sum_{i=1}^{m} \left(h_{\theta}\left(x^{(i)}\right)-y^{(i)}\right) x_{j}^{(i)} \quad\quad j \in\{1,2 \ldots n\}

因为 ( 1 α λ m ) \left(1-\alpha\frac\lambda m\right) 一定小于1, 所以这个更新公式每次都会缩小一点点 θ i \theta_i , 而公式的后半部分和没有正则化的公式是完全一样的.

  • 上面这部分是直接从线性回归那里拷贝过来的, 两者唯一的不同就是 h ( x ) h(x) 的定义不同
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。