本文正在参加「金石方案 . 分割6万现金大奖」
前语
关于机器学习问题,咱们最常遇到的一个问题便是过拟合。在对已知的数据调集进行学习的时分,咱们挑选习惯度最好的模型最为最终的成果。虽然咱们挑选的模型能够很好的解说练习数据调集,但却不一定能够很好的解说测验数据或许其他数据,也便是说这个模型过于精细的刻画了练习数据,关于测验数据或许其他新的数据泛化才能不强。
因而,咱们需求经过正则化的办法来防止过拟合,接下来跟博主一起来了解一下吧。
本篇将重点介绍什么是欠拟合与过拟合,是什么原因形成的,该怎么处理?
什么是欠拟合与过拟合
先来看一组图片,这三张图片是线性回归模型,拟合的函数和练习集的联系
- 第一张图片拟合的函数和练习集差错较大,咱们称这种状况为 欠拟合;
- 第二张图片拟合的函数和练习集差错较小,咱们称这种状况为 合适拟合;
- 第三张图片拟合的函数完美的匹配练习集数据,咱们称这种状况为 过拟合;
总结得出:
- 过拟合(overfitting):为练习集而非测验集供给精确的成果,存在较高的方差;
- 欠拟合(underfitting):供给的练习集和测验集成果都不太精确,存在较高的差错;
如下图所示:
假定红色的靶心区域是学习算法完美的正确猜测值,蓝色点为练习数据集所练习出的模型对样本的猜测值,当咱们从靶心逐步往外移动时,猜测作用逐步变差。
从上面的图片中很容易能够看到,左边一列的蓝色点比较会集,右边一列的蓝色点比较涣散,它们描述的是方差的两种状况。比较会集的归于方差比较小,比较涣散的归于方差比较大的状况。
咱们再从蓝色点与红色靶心区域的位置联系来看,靠近红色靶心的归于差错较小的状况,远离靶心的归于差错较大的状况。
浅显地讲,过拟合便是应试才能很强,实践运用才能很差,拿手背诵常识,却不明白得灵活利用常识;而欠拟合便是啥啥都不可;
怎么处理欠拟合问题
欠拟合问题,底子的原因是特征维度过少,导致拟合的函数无法满意练习集,差错较大。
欠拟合基本上都会发生在练习刚开始的时分,经过不断练习之后欠拟合应该不怎么考虑了。可是假如真的还是存在的话,能够 添加网络杂乱度 或许在模型中 添加特征,这些都是很好处理欠拟合的办法。
怎么处理过拟合问题
过拟合问题,底子的原因则是特征维度过多,导致拟合的函数完美的经过练习集,可是对新数据的猜测成果则较差。
详细来说形成原因的话,有以下几种:
- 练习数据集样本单一,样本缺乏。假如练习样本只要负样本,然后拿生成的模型去猜测正样本,这必定猜测不准,所以练习样本要尽或许的全面,覆盖一切的数据类型。
- 练习数据中噪声搅扰过大。噪声指练习数据中的搅扰数据。过多的搅扰会导致记录了很多噪声特征,忽略了真实输入和输出之间的联系。
- 模型过于杂乱。 模型太杂乱,现已能够 “死记硬背” 记下了练习数据的信息,可是遇到没有见过的数据的时分不能够变通,泛化才能太差。咱们期望模型对不同的模型都有安稳的输出。模型太杂乱是过拟合的重要因素 。
要想处理过拟合问题,就要显著削减测验差错而不过度添加练习差错,从而提高模型的泛化才能。咱们能够运用正则化(Regularization)办法。那什么是正则化呢?正则化是指修改学习算法,使其下降泛化差错而非练习差错。
常用的正则化办法根据详细的运用战略不同可分为:
(1) 直接供给正则化约束的参数正则化办法,如 L1/L2 正则化;
(2) 经过工程上的技巧来实现更低泛化差错的办法,如提早终止 (Early stopping) 和 Dropout;
(3) 不直接供给约束的隐式正则化办法,如数据增强等。
那接下来讲讲什么是正则化;
正则化
让咱们先回忆一下上述过拟合的例子:h(x)=0+1x+2×2+3×3+4x4h(x) = \theta_0 + \theta_1x + \theta_2x^2 + \theta_3x^3 + \theta_4x^4 ;
从图中能够看出,处理这个过拟合问题能够经过消除特征 x3x^3 和 x4x^4 的影响, 咱们称为对参数的惩罚, 也便是使得参数 3_3,4_4 接近于0。
最简单的办法是对丢失函数进行改造,例如:
这样在求解最小化丢失函数的时分使得参数 3_3,4_4 接近于0。
番外:这块假如不明白的话,能够看看博主之前写的文章:【AI】浅谈梯度下降算法(理论篇),里面有详细的算法推导进程;
正则化其实便是经过对参数 的惩罚来影响整个模型,在丢失函数上加上正则项达到目的;
正则化 详细将在下一篇 【AI】浅谈运用正则化防止过拟合(下) 中进行介绍;
后记
以上便是 浅谈运用正则化防止过拟合(上) 的全部内容了,介绍了什么是欠拟合与过拟合,是什么原因形成的,该怎么处理,经过图文结合,细致地叙述了关键,期望大家有所收成!
上篇精讲:【AI】浅谈丢失函数
我是,期待你的关注;
创作不易,请多多支持;
系列专栏:AI