其他分享
首页 > 其他分享> > Andrew Ng机器学习--L7:正则化

Andrew Ng机器学习--L7:正则化

作者:互联网

Lecture 7 Regularization 正则化

7.1 过拟合问题 The Problem of Overfitting

参考视频 p39

回归问题:
在这里插入图片描述
分类问题:在这里插入图片描述
解决方法:

  1. 减少 feature 的个数:
  1. 正则化

7.2 代价函数 Cost Function

参考视频 p40

如果线性回归出现过拟合,曲线方程如下:
在这里插入图片描述
如果想消除高次幂项的影响,可以修改代价函数 ,在某些参数上设置一些惩罚,一定程度上减小这些参数的影响:
在这里插入图片描述
要使代价函数趋于0,则需降低θ3和θ4的值,因为二次项≥0,所以令它们为0时代价函数最小,降低了他们在hypothesis function的影响,从而减少了过拟合。这就是正则化的思想。
在这里插入图片描述
实际使用中,因为不知道具体应该惩罚那些参数。所以给所有参数都加一个系数 λ:
在这里插入图片描述
λ or lambda 叫做 regularization parameter 正则化参数,加号后面这一项叫做 regularization term

7.3 正则化线性回归 Regularized Linear Regression

参考视频 p41

正则化线性回归的代价函数为:
在这里插入图片描述
因为正则化不涉及到 θ0,梯度下降算法如下:
在这里插入图片描述
对上面的算法第二个式子调整可得
在这里插入图片描述
正则化线性回归的梯度下降算法的变化在于,每次都在原有算法更新规则的基础上令 θ减少了一个额外的值。

如果使用正规方程 Normal Equation方法,引入一个 (n+1)×(n+1)维的方阵L,正则化如下:
在这里插入图片描述
注:当 m < n 时,XTX 不可逆 。(?)

7.4 正则化的逻辑回归模型 Regularized Logistic Regression

参考视频 p42

逻辑回归的代价函数为:在这里插入图片描述
加上正则项之后:
在这里插入图片描述
注:这个代价函数看上去同正则化线性回归的式子一样,但是两个 ℎ 不同,所以有很大差别。

θ0不参与任何正则化

效果(蓝色线是正则化之前,粉色线是正则化之后):
在这里插入图片描述
仍然可以用 fminuc 函数来求解代价函数最小化的参数 ,但我们实现的 costFunction 函数中进行了正则化:
在这里插入图片描述
python代码如下:

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:the
ta.shape[1]],2))
    return np.sum(first - second) / (len(X)) + reg

相关术语

decision boundary 决策边界
loophole 漏洞
nonlinear 非线性
penalize the parameter 惩罚参数
regularization term 正则项
regularization parameter 正则化参数
wiggly/curvy 摆动的 弯曲的
optimization objective 优化目标
lamda 即 λ
shrinking 收缩
magnitude 量级,重要性

标签:函数,--,回归,Andrew,Ng,正则,拟合,np,theta
来源: https://blog.csdn.net/qq_45852600/article/details/120917597