能否说出几种降低过拟合和欠拟合风险的方法

版权声明:点个赞,来个评论(夸我),随便转~ https://blog.csdn.net/qq_28827635/article/details/84206739

出自<百面机器学习>:https://item.jd.com/12401859.html
侵删

一、降低过拟合风险的方法

  • 增加训练数据

    ​ 首先,我们知道的是,使用更多的训练数据是解决过拟合问题最有效的手段。因为如果说我们有更多的样本,也就是有更多的训练数据的话,我们就能够让模型学习到更多更有效的特征,从而就能减小噪声的影响。所以我们能够从数据入手来获得更多的训练数据来解决过拟合问题。

    ​ 但是我们也知道直接增加这个数据一般来讲是很困难的,那么对此我们就可以通过一定的规则来扩充训练数据,比如说我们可以使用这个GAN来合成大量的新数据,再一个如果说我们在图像分类上面的话,我们可以让图像进行平移,旋转或者缩放等方式来扩充数据。

  • 降低模型的复杂度

    ​ 其次我们也知道在数据较少的时候,如果说模型是过于复杂的,也很容易产生这个过拟合问题,所以我们也可以适当的降低模型的复杂度来避免模型拟合过多的采样噪声。
    ​ 比如说我们在这个神经网络模型里边儿我们就可以减少神经元的个数就是每层的神经元个数,也可以减少神经网络模型的网络层数来解决过拟合问题。当然我们如果说在这个决策树模型中的话,我们可以通过降低树的高度,或者说对树进行剪枝等操作,也能够降低模型的复杂度。
    ​ 然后我们就能够通过降低模型的复杂度来解决过拟合的问题。

  • 增大正则化系数

    ​ 然后我们还能用最常用的方法就是正则化来解决。就是给模型里边儿的所有参数都加上一定的正则约束来避免因为权值过大产生过拟合问题。

  • 减少特征的数量

    ​ 我们还能够想的到当出现过拟合现象的时候。也有可能是因为我们的特征数量太多导致的。我们就可以通过减少相关性系数较小的特征来减少特征数量,防止过拟合的情况发生。

  • 集成学习方法

    ​ 最后就是还有一个集成学习方法。集成学习就是我们把多个模型集成到一起,然后来降低这个使用单一模型的时候产生的过拟合问题。不过这个方法我只是了解了一下,嗯,有一个叫做Bagging的方法。

    ​ 关于Bagging:https://baijiahao.baidu.com/s?id=1581775182037963646

二、降低欠拟合风险的方法

  • 添加新特征

    ​ 首先,当出现欠拟合问题的时候我们首先要想到的就是特征值不足导致的,或者说也可能是现有的特征和样本标签的相关性不是那么强。
    ​ 这样的话我们就可以通过“上下文特征”“ID类特征”或者“组合特征”来获取更多的特征,然后这样往往就能够取得更好的结果来降低欠拟合风险。
    ​ 如果是在深度学习里的话,我们可以通过很多模型来来帮助丰富特征。比如因子分解机(Factorization Machine, FM)、GBDT(梯度提升决策树)、Deep-crossing 等。

    关于FM:https://blog.csdn.net/liruihongbob/article/details/75008666

    关于GBDT:https://blog.csdn.net/google19890102/article/details/51746402/

    关于Deep-crossing:https://blog.csdn.net/m0_37721099/article/details/79265958

  • 增加模型的复杂度

    ​ 如果说现有的特征和样本标签的相关性挺强的,但是还是出现了欠拟合的情况,而且特征也特别多的时候,我们就能够通过另一个方式:增加模型的复杂度来使模型具有更强的拟合能力。
    ​ 比如说在线性模型中,我们可以添加高次项。在神经网络模型中可以增加网络层数或者每一层的神经元个数,来增加模型复杂度使模型拥有更强的拟合能力。

  • 减小正则化系数

    ​ 最后,我们还能通过减小正则化系数来这个降低欠拟合风险。正则化本来是用来防止过拟合的,但是当模型出现欠拟合现象的时候,我们也是可以有针对性地减小正则化系数来防止欠拟合情况发生。

    查看更多:http://xingtu.info

猜你喜欢

转载自blog.csdn.net/qq_28827635/article/details/84206739