机器学习时模型不够复杂——欠拟合,模型过于复杂——过拟合

欠拟合与过拟合

1.定义

  • 过拟合:训练集的误差小,但测试集的误差大

一个假设在训练数据上能够获得比其他假设更好的拟合, 但是在测试数据集上却不能很好地拟合数据,此时认为这个假设出现了过拟合的现象。(模型过于复杂)

  • 欠拟合:模型很简单的时候,两个误差都比较差

一个假设在训练数据上不能获得更好的拟合,并且在测试数据集上也不能很好地拟合数据,此时认为这个假设出现了欠拟合的现象。(模型过于简单)

在这里插入图片描述

随着模型复杂度的增加误差变小,太复杂的时候,训练误差虽然越来越小,但测试误差会越来越大。

找最好的方法:测试误差和训练误差直接的误差最小的时候

2.原因以及解决办法

(1)欠拟合

1.欠拟合原因

模型过于简单。学习到数据的特征过少

2.欠拟合解决办法

使模型复杂一些。

1.**添加其他特征项。**有时候我们模型出现欠拟合的时候是因为特征项不够导致的,可以添加其他特征项来很好地解决。例如,“组合”、“泛化”、“相关性”三类特征是特征添加的重要手段,无论在什么场景,都可以照葫芦画瓢,总会得到意想不到的效果。除上面的特征之外,“上下文特征”、“平台特征”等等,都可以作为特征添加的首选项。

2.**添加多项式特征。**这个在机器学习算法里面用的很普遍,例如将线性模型通过添加二次项或者三次项使模型泛化能力更强。

(2)过拟合

1.过拟合原因

模型过于复杂。原始特征过多,存在一些嘈杂特征, 模型过于复杂是因为模型尝试去兼顾各个测试数据点。

2.过拟合解决办法

使模型简单一点。

1.重新清洗数据,不要学习到了无关数据。导致过拟合的一个原因也有可能是数据不纯导致的,如果出现了过拟合就需要我们重新清洗数据。

2.增加数据的训练量,更好的学习规律。还有一个原因就是我们用于训练的数据量太小导致的,训练数据占总数据的比例过小。

3.正则化。限制模型复杂度。

4.减少特征维度,防止维灾难

发布了532 篇原创文章 · 获赞 669 · 访问量 8万+

猜你喜欢

转载自blog.csdn.net/qq_35456045/article/details/104511963