吴恩达 机器学习笔记七(lecture 7)(正则化Regularization)
正则化 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)梯度下降