Stanford机器学习 -- Regularization 的学习

The problem of overfitting

Linear Regression 和 Logistic Regression 可以解决很多的现实问题,但是有时它们也会遇到一些问题,那就是Overfitting(过拟合)的问题,可能会导致它们的效果变差。
解决过拟合问题的一个可行途径是 Regularization(正规化)的技术,它可以改善或减少过度拟合的问题,从而使算法的表现更好(更接近现实中的表现)。
先说明什么是过拟合问题:(用预测房价的例子)

这里写图片描述

在上面我们训练了三个hypothesis 从低次(左)到高次(右)
第一个图说明:数据中表现是租房价格随着面积趋于稳定(越往右越平缓),但拟合曲线却不这么认为,曲线表明房价和面积成正比。所以拟合曲线不能很好的表现数据。这个问题是欠拟合问题(underfitting)也可称为高偏差(high bias)问题,意思是它没有很好的拟合训练数据,拟合曲线对数据有非常大的偏差。
第三个图说明:拟合曲线很好的拟合了数据,这个样本只有四个数据,用一个四次多项式,我们可以很好的拟合数据(可以说没有任何的偏差,拟合曲线对所有的样本都进行了正确的预测)但我们比不认为它是一个好模型。这个问题是过拟合问题(overfitting)也可称为高方差(high variance)问题,这会面临函数太过庞大的问题。
第二个图说明:正好合适。

这里写图片描述

过拟合就是说:训练的方程总数能很好的拟合训练数据,代价函数J(θ)几乎为零。它对训练集的拟合太好了,以至于它在新的数据上泛化能力不足,指的是一个假设模型能够应用到新样本的能力不足。

这里写图片描述

在逻辑回归中我们也面临这样的问题,可以看到第一个图是欠拟合,第三个图是过拟合,在只有很少参数的情况下,参数少于三个时,我们可以通过画图来识别欠拟合问题和过拟合问题。

这里写图片描述

避免overfitting的办法有两个:
1.减少选取的变量数量:用人工选取特征(效率低),用算法选取特征.缺点是:在舍弃特征的同时,也把其中包含的信息一并舍弃。
2.应用regularization 技术。

Cost Function

这里写图片描述

正规化的思想其实就是对参数做惩罚,让拟合曲线变的更圆滑,有更强的泛化能力。
在上图中,加入了对 theta3 和 theta4 的惩罚,拟合曲线由蓝色变成粉红色,而且最后得到的theta3 和 theta4 大概接近于零。
更一般的表示是

这里写图片描述

这是在Linear regression 和 Logisitic regression 中广泛应用的增加了正规化的代价函数的表现形式。
λ是正规化参数,它在两个目标之间做平衡,一是想让假设更好的拟合训练数据(即代价函数变小) ,二是保持参数值较小,防止其过拟合。
当λ大时,惩罚加重,更好的实现第二个目标,使假设的形式保持简单
当λ小时,更好的实现第一个目标,但过拟合风险加大
当λ很大时,所有被惩罚的项都趋于零,这时假设就会欠拟合

Regularization 在 Linear regression 中的应用

线性回归有两种方法求解拟合曲线的参数:
1.梯度下降法
在加入正规化的思想后优化代价函数:

这里写图片描述

梯度下降变成:

这里写图片描述

在这里把theta0单独拿出来,因为在正规化中没有theta0 这一项,在实际操作中也可以加入对 theta0 的惩罚,但对最后的结果不会有太大的影响。
对其做变形:

这里写图片描述

可以看到加入正规化后梯度函数可以被分成两部分,后一部分是我们已经知道的,而前一部分是说每次更新theta(j)时,我们都对上一轮的theta(j)做了一个处理,具体就是把它和一个小于1大于0的数相乘(相当于对参数进行了压缩,然后在更新)。
2. 正规方程法

这里写图片描述

这是求解参数的另一种方法,可以看到,加入正规化方法后,相当于在原来的方程中多加了一项就是,λ乘一个单位矩阵。

这里写图片描述

加入正规化项还有一个好处,就是以前正规方程法中有一个限制,要处理的数据集矩阵一定要是非奇异的(XTX要可逆),而现在加入正规化项后,没有了这个限制。

Regularization 在 Logistic regression 中的应用

没有加入正规化项的代价函数:

这里写图片描述

加入正规化项后代价函数变成:

这里写图片描述

应用梯度下降算法求 theta 的值:

这里写图片描述

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值