吴恩达 机器学习笔记七(lecture 7)(正则化Regularization)

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/cheneykl/article/details/78685384

正则化 Regularization


1、过拟合 overfitting


eg1:线性回归

图一:欠拟合,高偏差

图三:过拟合,高方差(一般在变量很多的时候发生,这种时候训练出的方程总能很好拟合训练数据,但是对于新的样本数据不能体现出很好的繁华能力)


eg2:;逻辑回归

图一:欠拟合,高偏差

图三:过拟合,高方差


如果我们有很多变量的假设模型,但是训练样本很少的时候,就会出现过拟合。


解决:

(1)减少选取变量的数量:

  人工检测变量条目,挑选出重要的变量)

  模型选择算法(自动选择采用哪些特征变量)

(2)正则化:

保留所以特征,减小数量级或者参数值的大小(可以防止信息丢失,因为每一个特征可能都会对预测值有影响)


2、损失函数

       回到之前的例子,我们要拟合这些数据,如果采用右边的拟合方式,就会出现过拟合,现在我们要解决这种过拟合,我们采用的方法就是加入惩罚项,也就是正则项,在最小化函数的后面加上 1000^3+1000^3 要使得这个最小化函数取得最小值,那么都要接近于0,这样就相当于变相弱化了对式子的影响,是这个式子近似于一个二次函数,从而缓解过拟合程度。所以当参数值很小的时候,我们就能得到一个相对简单的假设函数。

       对于房价预测的例子,如果有100个特征值,我们不知道哪些重要哪些不重要,我们采取在损失函数后面加上一个正则项,将每一个参数值都缩小




此处lamda是正则化参数,就是要在很好的拟合数据和控制过拟合(让参数值较小)中间的一个平衡



当lamda取一个很大的值的时候,参数值就趋近于0,就相当于假设函数就只有theta0,也就是意味着就拟合出了一条水平线,这就是欠拟合。所以lamda参数的选择要合适。





3、线性回归中的正则化


线性回归的优化目标:



(1)梯度下降法

我们先使用之前的方法求解没有正则项的式子,先把theta0分开,虽然这个没什么影响。然后跟之前一样求其偏导数,化简之后得到新的式子,我们可以看到thetaj和之前没加正则项时候的对比,就是乘以了一个(1-阿尔法*lamda/m)这个数字的值是很接近1的,所以可以看成是稍微压缩了thetaj 的值,然后后面减去的那一项就是和之前一样的。这就是加入了正则项产生的一点变化。




(2)normal equation

当我们用标准方程法加入正则项的时候,得到的theta如下,我们知道在lecture4 中有写到X转置*X有可能是不可逆的,加入了正则项之后那么他就是可逆的,这里不做证明。



4、逻辑回归中的正则化

(1)梯度下降



(2)更高级优化算法中加入正则项





PPT地址:http://download.csdn.net/download/cheneykl/10127716


展开阅读全文

没有更多推荐了,返回首页