• 过度拟合现象的解决方案


    1.定义

    标准定义:给定一个假设空间H,一个假设h属于H,如果存在其他的假设h’属于H,使得在训练样例上h的错误率比h’小,但在整个实例分布上h’比h的错误率小,那么就说假设h过度拟合训练数据。 —-《Machine Learning》Tom M.Mitchell

    2.出现过拟合的一些原因

    (1)建模样本抽取错误,包括(但不限于)样本数量太少,抽样方法错误,抽样时没有足够正确考虑业务场景或业务特点,等等导致抽出的样本数据不能有效足够代表业务逻辑或业务场景; 
    (2)样本里的噪音数据干扰过大,大到模型过分记住了噪音特征,反而忽略了真实的输入输出间的关系; 
    (3)建模时的“逻辑假设”到了模型应用时已经不能成立了。任何预测模型都是在假设的基础上才可以搭建和应用的,常用的假设包括:假设历史数据可以推测未来,假设业务环节没有发生显著变化,假设建模数据与后来的应用数据是相似的,等等。如果上述假设违反了业务场景的话,根据这些假设搭建的模型当然是无法有效应用的。 
    (4)参数太多、模型复杂度高 
    (5)决策树模型。如果我们对于决策树的生长没有合理的限制和修剪的话,决策树的自由生长有可能每片叶子里只包含单纯的事件数据(event)或非事件数据(no event),可以想象,这种决策树当然可以完美匹配(拟合)训练数据,但是一旦应用到新的业务真实数据时,效果是一塌糊涂。 
    (6)神经网络模型。 
    a.由于对样本数据,可能存在隐单元的表示不唯一,即产生的分类的决策面不唯一.随着学习的进行, BP算法使权值可能收敛过于复杂的决策面,并至极致. 
    b.权值学习迭代次数足够多(Overtraining),拟合了训练数据中的噪声和训练样例中没有代表性的特征.

    3.解决方案及原理

    (1)权值衰减. 主要应用在神经网络模型中 
    它在每次迭代过程中以某个小因子降低每个权值,这等效于修改E的定义,加入一个与网络权值的总量相应的 
    惩罚项,此方法的动机是保持权值较小,避免weight decay,从而使学习过程向着复杂决策面的反方向偏。 
    (2)适当的stopping criterion 

    在二次误差函数的情况下,关于早停止和权值衰减类似结果的原因说明。椭圆给出了常数误差函数的轮廓线,Wml表示误差函数的最小值。如果权向量的起始点为原点,按照局部负梯度的方向移动,那么它会沿着曲线给出的路径移动。通过对训练过程早停止,我们找到了一个权值向量w。定性地说,它类似于使用检点的权值衰减正则化项,然后最小化正则化误差函数的方法得到的权值。 
    (3)验证数据 
    一个最成功的方法是在训练数据外再为算法提供一套验证数据,应该使用在验证集合上产生最小误差 
    的迭代次数,不是总能明显地确定验证集合何时达到最小误差. 
    Typically 30% of training patterns;Validation set error is checked each epoch; 
    Stop training if validation error goes up 
    (4)交叉验证 
    交叉验证方法在可获得额外的数据提供验证集合时工作得很好,但是小训练集合的过度拟合问题更为严重. 
    原理图 
     
    (5)添加正则项。L1正则更加容易产生稀疏解、L2正则倾向于让参数w趋向于0. 
    (6)针对树模型 
    a.在树过于大之前便停止生长 
    每个叶中至少需要多少个数据(threshold) 
    如何判断这个阈值(threshold)是重点【可以考虑用假设检验/P-值】 
    b.等树生长到足够大之后进行修剪 
    修剪枝叶,直到任何改动都会降低正确率

    4.Tip

    (1)增加样本的全面性和数量; 
    (2)控制模型的复杂度; 
    (3)不要过度训练 
    (4)模型融合本质上也是一种提高泛化能力的方法 

  • 相关阅读:
    AC自动机学习笔记(模板)
    codeforces1328E
    Codeforces 1288E- Messenger Simulator (树状数组)
    线性基小记
    HDU3949
    矩阵快速幂小记
    5E
    5D
    5C
    5B
  • 原文地址:https://www.cnblogs.com/zhouxiaohui888/p/6008429.html
Copyright © 2020-2023  润新知