当前位置:   article > 正文

机器学习笔记——正则化解决过拟合问题_python机器学习复杂模型正则化解决过拟合

python机器学习复杂模型正则化解决过拟合

1、过拟合

过拟合的模型过于强调拟合原始数据。它能够很好的适应训练集,但是在测试集上的效果非常差。下面将用两个例子直观地进行说明。

① 例2

下图是一个回归问题的例子,第一个模型是一个线性模型,欠拟合,不能很好地适应训练集;第三个模型是一个四次方的模型,过于强调拟合原始数据,若给出一个新的值使之预测,它将表现的很差,是过拟合。
在这里插入图片描述
② 例1

下图是一个分类问题的例子,第一个模型欠拟合,第三个模型过拟合。

在这里插入图片描述

2、解决过拟合的方法——正则化

① 什么导致了过拟合问题

上面的回归问题中的第三个模型:在这里插入图片描述

我们对比模型1、2、3,可以得出结论:高次项是导致过拟合现象产生的原因,所以如果我们能让这些高次项的系数接近于0的话,我们就能很好的拟合了。

② 如何做可以解决呢

我们需要在一定程度上减小参数θ 的值,这就是正则化的基本方法。如过我们要解决上面模型三的过拟合问题,需要减少θ3和θ4的大小,我们要做的便是修改代价函数,在其中θ3和θ4 设置一点惩罚。我们在尝试最小化代价时也需要将这个惩罚纳入考虑中,并最终导致选择较小一些的θ3和θ4。

③ 修改后的代价函数
在这里插入图片描述
通过这样的代价函数选择出的θ_3和θ_4 对预测结果的影响就比之前要小许多。

④ 如果我们不知道到底是哪些项导致了过拟合该如何做呢

这时我们可以对所有的特征都进行惩罚,并且让代价函数最优化的软件来选择这些惩罚的程度。可以得到一个较为简单的能防止过拟合问题的假设
在这里插入图片描述
上式中的λ又称为正则化参数(Regularization Parameter)。根据惯例,不对 θ0 进行惩罚。如下图,蓝色曲线表示未经正则化得到的模型,粉色表示经过正则化参数适当时得到的模型,深红色表示正则化参数过大时得到的模型。
在这里插入图片描述
⑤为什么会出现红色直线所代表的模型呢

原因是若λ值很大,为了使Cost Function 尽可能的小,所有的 θ 的值(不包括θ0)都会在一定程度上减小。但若λ的值太大了,那么θ都会趋近于0,这样我们所得到的只能是一条平行于x轴的直线。

对于正则化,我们要取一个合理的 λ 的值,这样才能更好模型。

以上内容均为观看吴恩达机器学习课程的笔记,课程地址:www.coursera.org/course/ml

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/笔触狂放9/article/detail/688165
推荐阅读
相关标签
  

闽ICP备14008679号