随机森林
集成学习的核心思想是将若干个个体学习器以一定的策略结合起来,最终形成一个强学习器,以达到博采众长的目的.
集成学习有两个流派,一个是boosting,特点是各个弱学习器之间有依赖关系;一个是bagging,特点是各个弱学习器之间没依赖关系,可以并行拟合。
算法流程
比较全面的随机森林算法总结
2018-12-02 12:51
前言
上节介绍了集成学习方法包括bagging法和boosting法,随机森林是基于bagg ing框架的决策树模型,本文详细的总结了随机森林算法,尽可能的让大家对随机森林有一个全面的认识。
目录
随机森林的算法流程
随机森林的应用场景
随机森林的相关性理解
随机森林蕴含的思想
随机森林的模型估计方法
总结
随机森林的算法流程
随机森林是基于bagging框架下的决策树模型,随机森林包含了很多树,每棵树给出分类结果,每棵树的生成规则如下:
(1)如果训练集大小为N,对于每棵树而言,随机且有放回地从训练中抽取N个训练样本,作为该树的训练集,重复K次,生成K组训练样本集。
(2)如果每个特征的样本维度为M,指定一个常数m<<M,随机地从M个特征中选取m个特征。
(3) 利用m个特征对每棵树尽最大程度的生长,并且没有剪枝过程
随机森林的分类算法流程如下图:
吴恩达老师在《机器学习》公开课讲过,如何优化当前的机器学习模型,首先你要知道当前的模型是处于高方差状态还是高偏差状态,高方差需要增加训练数据或降低模型的复杂度,高偏差则需要优化当前模型,如增加迭代次数或提高模型的复杂度等。
随机森林是基于bagging思想的模型框架,bagging法的模型偏差与子模型的偏差接近,方差较子模型的方差减小。所以,随机森林的主要作用是降低模型的复杂度,解决模型的过拟合问题。
随机森林的相关性理解
随机森林的相关性包括子数据集间的相关性和子数据集间特征的相关性。相关性在这里可以理解成相似度,若子数据集间重复的样本或子数据集间重复的特征越多,则相关性越大。
随机森林分类效果(错误率)与相关性的关系:
(1)森林中任意两棵树的相关性越大,错误率越大;
(2)减小子数据间的特征选择个数,树的相关性和分类能力也会相应的降低;增大特征个数,树的相关性和分类能力会相应的提高。
结论:(1)是随机有放回抽取的,相关性大小具有随机性,因此,特征个数是优化随机森林模型的一个重要参数。
随机森林蕴含的思想
我们再回顾随机森林学习模型的步骤:
(1)对原始数据集进行可放回随机抽样成K组子数据集;
(2)从样本的N个特征随机抽样m个特征;
(3)对每个子数据集构建最优学习模型
(4)对于新的输入数据,根据K个最优学习模型,得到最终结果。
思想:(2)的随机抽样的结果是子数据集间有不同的子特征,我们把不同的特征代表不同的领域,(3)表示在不同领域学习到最顶尖的程度,(4)表示对于某一个输入数据,用不同领域最顶尖的观点去看待输入数据,得到比较全面的结果.
RF的主要优点有:
1) 训练可以高度并行化,对于大数据时代的大样本训练速度有优势。个人觉得这是的最主要的优点。
2) 由于可以随机选择决策树节点划分特征,这样在样本特征维度很高的时候,仍然能高效的训练模型。
3) 在训练后,可以给出各个特征对于输出的重要性
4) 由于采用了随机采样,训练出的模型的方差小,泛化能力强。
5) 相对于Boosting系列的Adaboost和GBDT, RF实现比较简单。
6) 对部分特征缺失不敏感。
RF的主要缺点有:
1)在某些噪音比较大的样本集上,RF模型容易陷入过拟合。
2) 取值划分比较多的特征容易对RF的决策产生更大的影响,从而影响拟合的模型的效果。