过拟合及解决方案--过拟合主要是有两个原因造成的:数据太少 + 模型太复杂

https://www.jianshu.com/p/a9019afc8129
是什么

过拟合(overfitting)是指在模型参数拟合过程中的问题,由于训练数据包含抽样误差,训练时,复杂的模型将抽样误差也考虑在内,将抽样误差也进行了很好的拟合。

具体表现就是最终模型在训练集上效果好;在测试集上效果差。模型泛化能力弱。
解决过拟合的 方法
在这里插入图片描述
过拟合及解决方案--过拟合主要是有两个原因造成的:数据太少 + 模型太复杂_第1张图片
过拟合的主要原因就是数据太少—+模型太复杂
1、获取更多的数据,让模型看见很多尽可能多的例外情况,它就会不断的修正自己,从而得到更好的结果
如何获取更多的数据呢:
根据当前的数据集分布生成数据–一般不用,因为估计分布参数的过程也会带入抽样误差
数据增强:data augmentation:就是使得输入数据成倍的增长,数据越多越好,不容易发生过拟合,保证不论进行什么变换,label值不变,就是不影响它的分类
比如对一张图片而言:水平翻转、随机裁剪,一张图片被裁剪成很多小部分,例如只剩下猫头,猫爪子,会不会误导模型,不会,对于一个输入数据,自己给自己找麻烦,自己发生一些遮蔽,光照等不同个情况,能够使模型更强壮。把图片进行放大缩小变换(scales)translation(平移),rotation(角度变换,旋转)stretching(
数据增强(Data Augmentation):通过一定规则扩充数据。如在物体分类问题里,物体在图像中的位置、姿态、尺度,整体图片明暗度等都不会影响分类结果。我们就可以通过图像平移、翻转、缩放、切割等手段将数据库成倍扩充;
二、使用合适的模型
不是不会过拟合,而是在满足一定的条件下不容易过拟合。特征参数要足够多,特征参数之间相关性尽量低。
知乎用户
Breiman的这句话完全错误,根本没有不过拟合的学习方法!
对于随机森林来说: 在有躁音的情况下(注意,现实世界应用中躁音不能忽略),树太少很容易过拟合,增加树可以减小过拟合,但没有办法完全消除过拟合,无论你怎么增加树都不行。

随机森林
决策树主要流行的算法有ID3算法,C4.5算法、CART算法,主要花费时间在建决策树和剪枝过程中,但一旦建成决策树,由于他是树形结构能够直观的显示出模型,而且在后期的分类过程中也比较容易分类,但决策树有一些不好的地方,比如容易过拟合。为了减少决策树的不足,近年来又提出了许多模型组和+决策树的算法,这些算法都是生成N棵决策树,虽然这N棵树都很简单,但是它们综合起来就很强大了,有点类似与adaboost算法。
随机森林主要思想是先对原始样本随机选出N 个训练子集用于随机生成N颗决策树,针对每个样本集在构建决策树的选择最优属性进行划分时是随机选择m个属性,而不是像常用的决策树将所有的属性参与选择,再由这些决策树构成一个森林,随机森林的每一棵决策树之间是没有关联的。在得到森林之后,当有一个新的输入样本进入的时候,就让森林中的每一棵决策树分别进行一下判断,看看这个样本应该属于哪一类,然后看看哪一类被选择最多,就预测这个样本为那一类。
随机森林算法三个步骤:
(1)为每棵决策树抽样产生训练集
随机森林算法采用Bagging抽样技术从原始训练集中产生N 个训练子集(假设要随机生成N颗决策树),每个训练子集的大小约为原始训练集的三分之二,每次抽样均为随机且放回抽样,这样使得训练子集中的样本存在一定的重复,这样做的目的是为了在训练的时候,每一棵树的输入样本都不是全部的样本,使森林中的决策树不至于产生局部最优解。
(2)构建决策树
为每一个训练子集分别建立一棵决策树,生成N棵决策树从而形成森林,每棵决策树不需要剪枝处理。
由于随机森林在进行节点分裂时,随机地选择某m个属性(一般是随机抽取指定logM +1个随机特征变量,m< (3)森林的形成
随机森林算法最终的输出结果根据随机构建的N棵决策子树将对某测试样本进行分类,将每棵子树的结果汇总,在所得到的结果中哪个类别较多就认为该样本是那个类别。
由于上面两个随机采样(从原始训练集中随机产生N个训练子集用于随机生成N颗决策树和在针对每个样本集构建决策树过程中随机地选择m个属性)的过程保证了随机性,所以不会出现过拟合over-fitting。随机森林中的每一棵数分类的能力都很弱,但是多棵树组合起来就变的NB,因为每棵树都精通某一方面的分类,多棵树组成一个精通不同领域的决策专家。
随机森林优缺点
优点:
1、随机森林可以处理高维数据,并确定变量的重要性,是一个不错的降维方法;
2、对数据缺失,随机森林也能较好地保持精确性;
3、当存在分类不平衡的情况时,随机森林能够提供平衡数据集误差的有效方法;
缺点:
1、随机森林算法可以解决回归问题,但是由于不能输出一个连续型值和作出超越训练集数据范围的预测,导致在对某些噪声的数据进行建模时出现过度拟合;
2、随机森林算法类似于黑盒子,由于几乎无法控制模型内部的运行,只能在不同的参数和随机种子之间进行尝试

你可能感兴趣的:(过拟合及解决方案--过拟合主要是有两个原因造成的:数据太少 + 模型太复杂)