机器学习5 过拟合

前言

过拟合问题是机器学习重要的概念同时也是性能的巨大障碍,本节将介绍什么是过拟合以及如何缓解?

什么是过拟合

过拟合简单说来就是在已知数据集有很小的误差,而在未知数据集上有很大的误差。

上图中的五个目标点是由目标函数为二次多项式生成的,而我们使用四次多项式模型进行拟合,对当前数据有很小的误差,但在数据集之外,这个模型显然会有很大的误差,这就是过拟合。而过拟合又是无法避免的,只能缓解。

有很多因素会导致过拟合,过拟合好比发生车祸。

我们使用较大的vc维,模型复杂度太高,学习能力过于强大,就好比与车开的太快,容易发生事故

噪声就好比坑坑洼洼的路面也容易发生事故

数据规模不够大就好比对路况不够熟悉也容易发生事故

我们的缓解方法也好比于安全的开车

使用简单的模型对应于开的慢一点

数据清洗/删除对应于在平坦路面

数据挖掘对应于获取更多的路面信息

正则化对应于踩刹车

验证对应于看看仪表盘

数据清洗和挖掘是机器学习重要的一部分,叫做特征工程。在这着重介绍后两项。

正则化

之前在线性模型中介绍过正则化方法:岭回归和Lasso回归。现在对正则化原理进一步介绍

以线性模型为例:我们使用十阶的多项式进行拟合,发现过拟合。如何抑制,限制为比如说二阶多项式。

我们通过添加限制条件,w3到w10为0。

换一个更宽松的限制条件:

这样比H2更灵活,也比H10风险小。

又出现一个新的问题,上述方程是NP难问题。再进行转换:

显然两者不完全一样,但一部分会重叠。此时:

所以我们线性模型的优化函数变为:

写成矩阵形式:

怎么解上述方程呢? 可以使用拉格朗日乘子法。方法可能大家都会,构建拉格朗日函数对其求偏导。对原理进行解释:在不等式的限制条件下,使等式最小化。几何化就是在圆内寻找最接近wlin的点。

当点沿圆的切线方向即w方向,则不会破坏限制条件。而我们寻找Ein(w)最小的方向是沿着-\triangledown E_{in}(w),如果-\triangledown E_{in}(w)和w不平行,可以分解为沿着w的方向不违反限制条件同时还有梯度下降的方向。二者平行时达到最小值。

w_{REG}表示最优解

这不就是我们之前介绍的岭回归吗?

稍稍增加\lambda就有明显的效果

我们换一种思考方式:

求解上式,我们可以对其两边积分,求最优化的w

我们称

w^{T}w\Omega (w), \Omega (w)的不同可分为L1正则化和L2正则化:

两者都能缓解过拟合,但各有优缺点:L1会更容易获得稀疏解,而L2更容易优化求解

验证

在现实任务中,我们往往有很多种学习算法可以使用,甚至对同一个学习算法,当使用不同的参数配置时,也会产生不同的模型,那么,我们该选用哪种模型呢?

考虑下面两张情形:

H2模型比H1模型在训练集表现更优,但我们会选择它吗?

H2过拟合,在未知数据集(测试集)误差会很大,所以在利用Ein进行选择风险很大。

那好,我们在测试集上进行选择:

但出现一个问题,我们手上没有掌握测试集数据。这时引入验证集概念,在训练集D上抽出一部分进行测试:

那如何选择验证集的大小呢?

常用的方法是交叉验证法,将训练集D划分为k个大小相似的互斥子集,每个子集都是从D中分层采样得到的(来保证数据分布的一致性),然后,每次用k-1子集的并集作为训练集,余下的那个子集作为验证集,这样就可获得k组训练/验证集,从而进行k次训练和验证,最终返回这k个验证结果的均值。显然,交叉验证法评估结果的稳定性和保真性很大程度上取决于k的取值。k通常去5,10

小结

本章介绍了产生过拟合的原因,以及如何缓解过拟合。下节将要介绍新的机器学习模型:支持向量机

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值