吴恩达机器学习笔记——七、过拟合和正则化

吴恩达机器学习笔记——七、过拟合和正则化

  • 过拟合
    • 什么是过拟合
    • 怎么解决过拟合
  • 正则化
    • 正则化的原理
    • 正则化的作用
    • 如何在模型中应用正则化
  • 在线性回归中使用正则化
    • 应用于梯度下降算法
    • 应用于正规化方程
  • 在Logistics回归中使用正则化
  • 总结

过拟合

什么是过拟合

当学习的特征太多,模型设计太过复杂时,我们很可能会将很多与研究对象相关性很低的特征也考虑进去(比如认为人的身高对数学成绩有影响,或者强行让拟合的预测函数通过每一个训练样本样本),此时在训练集上表现很好,但是在测试集上表现会很差,我们称之为高方差,低偏差。
与之相对的还有欠拟合,此时没有吧重要的特征考虑在内或者模型太过简单,表现为高偏差。
吴恩达机器学习笔记——七、过拟合和正则化_第1张图片

怎么解决过拟合

解决过拟合的办法有两个:

  1. 人工筛选,确定哪些变量更为重要,保留那些更为重要的特征变量。
  2. 加入正则化项(事实上,”带正则项”和“带约束条件”是等价的。)

正则化

正则化的原理

吴恩达机器学习笔记——七、过拟合和正则化_第2张图片
在这个例子中,左图为拟合的较好的模型,而右图发生了过拟合,比较发现,令右图的θ3和θ4等于0就变得与左图相同了
于是我们调整优化的代价函数,加入惩罚项:
在这里插入图片描述
为了让代价函数取得较小的值,那么θ3和θ4的取值应该尽可能小(趋近于0)

正则化的作用

  1. 简化模型,因为惩罚项的加入使该特征对输出的影响变得微乎其微
  2. 减小过拟合的可能

如何在模型中应用正则化

首先在给每一个参数都加上一个惩罚项,减小每个参数θ的值吴恩达机器学习笔记——七、过拟合和正则化_第3张图片
注意,这里惩罚项是从θ0开始的,λ称为正则化参数。
正则化其实就是给优化目标加了两个约束:

  1. 我们希望偏差尽可能小,尽可能的去拟合到每一个训练集的数据点
  2. 同时我们由希望令参数θ尽可能小(模型尽可能简单,平滑)

其中λ的作用就是控制两个约束目标的关系

  1. 如果λ太大,我们对参数的惩罚就会太大,参数会都接近于0,最终拟合的假设函数就变为hθ(x) = θ0的一条水平线/水平面…
  2. 如果λ太小,就不能很好的防止过拟合的发生

在线性回归中使用正则化

应用于梯度下降算法

依旧是求偏导数,同步更新:
吴恩达机器学习笔记——七、过拟合和正则化_第4张图片
将以上两项合并一下,就得到以下式子:
在这里插入图片描述
其中方框中的项比1略小,非常接近1,因为m一般很大,α一般较小(假设其为0.99)
其中上式中减号前面的项将 θj的值缩小了一点点,而减号后面的项和不加正则化时对 θj更新式子的减号后面的项完全一样

应用于正规化方程

吴恩达机器学习笔记——七、过拟合和正则化_第5张图片
则参数向量为:
吴恩达机器学习笔记——七、过拟合和正则化_第6张图片

在Logistics回归中使用正则化

在这里插入图片描述
接下来按照梯度下降的方法循环更新参数θ:吴恩达机器学习笔记——七、过拟合和正则化_第7张图片
表达式和加入正则化项的线性回归的参数更新表达式相同,但其实里面的假设函数hθ(x(i))是不同的,Logistics回归中是Sigmoid函数,而线性回归中hθ(x(i)) = θT·(x(i))

总结

总体步骤不变,就是在定义代价函数时加上了正则化项,以后再分别关于θj对惩罚函数J求偏导即可,然后同步更新θ

你可能感兴趣的:(机器学习,算法,逻辑回归)