美文网首页机器学习
正则化(Regularization) 逻辑回归

正则化(Regularization) 逻辑回归

作者: 东京的雨不会淋湿首尔 | 来源:发表于2019-03-11 10:45 被阅读0次
image.png
由于前面讲过了线性回归和正则化,
所以对于逻辑回归:
我们也给代价函数增加一个正则化的表达式,得到代价函数:
J\left( \theta \right)=\frac{1}{m}\sum\limits_{i=1}^{m}{[-{{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)]}+\frac{\lambda }{2m}\sum\limits_{j=1}^{n}{\theta _{j}^{2}}
python code:
import numpy as np
​
def costReg(theta, X, y, learningRate):
    theta = np.matrix(theta)
    X = np.matrix(X)
    y = np.matrix(y)
    first = np.multiply(-y, np.log(sigmoid(X*theta.T)))
    second = np.multiply((1 - y), np.log(1 - sigmoid(X*theta.T)))
    reg = (learningRate / (2 * len(X))* np.sum(np.power(theta[:,1:theta.shape[1]],2))
    return np.sum(first - second) / (len(X)) + reg

要最小化该代价函数,通过求导,得出梯度下降算法为:
{\theta_0}:={\theta_0}-a\frac{1}{m}\sum\limits_{i=1}^{m}{(({h_\theta}({{x}^{(i)}})-{{y}^{(i)}})x_{0}^{(i)}})

{\theta_j}:={\theta_j}-a[\frac{1}{m}\sum\limits_{i=1}^{m}{({h_\theta}({{x}^{(i)}})-{{y}^{(i)}})x_{j}^{\left( i \right)}}+\frac{\lambda }{m}{\theta_j}]

for j=1,2,...n

注:看上去同线性回归一样,但是知道 {h_\theta}\left( x \right)=g\left( {\theta^T}X \right),所以与线性回归不同。
{\theta_{0}}的更新规则与其他情况不同。
注意:

  1. 虽然正则化的逻辑回归中的梯度下降和正则化的线性回归中的表达式看起来一样,但由于两者的{h_\theta}\left( x \right)不同所以还是有很大差别。

  2. {\theta_{0}}不参与其中的任何一个正则化。

相关文章

网友评论

    本文标题:正则化(Regularization) 逻辑回归

    本文链接:https://www.haomeiwen.com/subject/zcdvpqtx.html