NLP学习笔记1——过拟合和欠拟合


过拟合和欠拟合

推荐博客:Understanding the Bias-Variance Tradeoff

当我们讨论预测模型时,预测误差可以分解为两个我们关心的主要子成分:由“偏差”引起的误差和由“方差”引起的误差。模型最小化偏差和方差的能力之间存在权衡。了解这两种类型的误差可以帮助我们诊断模型结果,避免过度或欠拟合的错误。

bias and variance

每一个蓝点,都代表了一个训练模型的预测数据,即根据不同的训练集训练出一个训练模型,再用这个训练模型作出一次预测结果。如果将这个过程重复N次,相当于进行了N次射击。我们假设真实的函数关系是Y=f(x),而训练模型预测的结果是p(x),则

  • 偏差错误:偏差是衡量预测值和真实值的关系。即N次预测的平均值(也叫期望值),和实际真实值的差距。所以偏差bias=E(p(x)) - f(x)。
    即bias是指一个模型在不同训练集上的平均表现和真实值的差异,用来衡量一个模型的拟合能力
  • 方差错误:方差用于衡量预测值之间的关系,和真实值无关。即对于给定的某一个输入,N次预测结果之间的方差。variance= E((p(x) - E(p(x)))^2)。这个公式就是数学里的方差公式,反应的是统计量的离散程度。只不过,我们需要搞清楚我们计算的方差的意义,它反应的是不同训练模型针对同一个预测的离散程度。
    即variance指一个模型在不同训练集上的差异,用来衡量一个模型是否容易过拟合

高偏差,低方差:
每次射击都很准确的击中同一个位置,故极端的情况方差为0。只不过,这个位置距离靶心相差了十万八千里。对于射击而言,每次都打到同一个点,很可能是因为它打的不是靶心。对于模型而言,往往是因为模型过于简单,才会造成“准”的假象。提高模型的复杂度,往往可以减少高偏差。

高方差,低偏差:
是不是偏差越低越好?是不是低偏差时,方差也会低呢?通过对偏差的定义,不难发现,偏差是一个期望值(平均值),如果一次射击偏左5环,另一次射击偏右5环,最终偏差是0。但是没一枪打中靶心,所以方差是巨大的,这种情况也是需要改进的。

过拟合/高方差

原因

  1. 训练集数量不足,样本类型单一。
  2. 训练集中存在噪声。
  3. 模型复杂度过高。

解决方法

  1. 标注不同类型的样本,是 样本尽可能的均衡。
  2. 降低训练模型复杂度
  3. 正则化
  4. 采用 bagging(如随机森林等)集成学习方法 来 防止过拟合
  5. 交叉检验
  6. DropOut策略

欠拟合/高偏差

原因

模型没有充分学习到 数据中的特征信息,使得模型无法很好地拟合数据

解决方法

  1. 特征工程,添加更多的特征项
  2. 集成学习方法,boosting(如GBDT)能有效解决 high bias
  3. 提高模型复杂度
  4. 减小正则化系数

其他

PCA不被推荐用来避免过拟合:PCA是一种无监督学习,其存在的假设是:方差越大信息量越多。但是信息(方差)小的特征并不代表表对于分类没有意义,可能正是某些方差小的特征直接决定了分类结果,而PCA在降维过程中完全不考虑目标变量 的做法会导致一些关键但方差小的分类信息被过滤掉。


文章作者: Passerby-W
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 Passerby-W !
评论
  目录