欠拟合和过拟合

本文介绍了欠拟合和过拟合的定义、产生原因以及正则化、正则化的分类;
关键字:欠拟合 过拟合 正则化

欠拟合和过拟合的定义

欠拟合:一个假设在训练数据上不能获得更好的拟合,并且在测试数据集上也不能很好地拟合数据,此时认为这个假设出现了欠拟合的现象。(模型过于简单)高的train loss,高的test loss,得到的模型对所有的数据表现都比较差


过拟合:一个假设在训练数据上能够获得比其他假设更好的拟合, 但是在测试数据集上却不能很好地拟合数据,此时认为这个假设出现了过拟合的现象。(模型过于复杂)低的train loss,较高的test loss,得到的模型只对训练的数据表现好,换成新的数据后表现比较差


原因:存在很多无用的特征或者现实中的事物特征跟目标值的关系并不是简单的线性关系

原因以及解决办法

  • 欠拟合原因以及解决办法

原因:学习到数据的特征过少


解决办法:

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


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

  • 过拟合原因以及解决办法

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


解决办法:

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


2)增大数据的训练量,还有一个原因就是我们用于训练的数据量太小导致的,训练数据占总数据的比例过小。


3)正则化


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

正则化

  • 通过限制高次项的系数进行防止过拟合
  • 在解决回归过拟合中,我们选择正则化。但是对于其他机器学习算法如分类算法来说也会出现这样的问题,除了一些算法本身作用之外(决策树、神经网络),我们更多的也是去自己做特征选择,包括删除、合并一些特征
  • 在学习的时候,数据提供的特征有些影响模型复杂度或者这个特征的数据点异常较多,所以算法在学习的时候尽量减少这个特征的影响(甚至删除某个特征的影响),这就是正则化
  • 调整时候,算法并不知道某个特征影响,而是去调整参数得出优化的结果

正则化类别

L2正则化

作用:可以使得其中一些W的都很小,都接近于0,削弱某个特征的影响
优点:越小的参数说明模型越简单,越简单的模型则越不容易产生过拟合现象
Ridge回归

L1正则化

作用:可以使得其中一些W的值直接为0,删除这个特征的影响
LASSO回归

你可能感兴趣的:(欠拟合和过拟合)