随机森林(RF)的原理
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了随机森林(RF)的原理相关的知识,希望对你有一定的参考价值。
参考技术A 集成学习有两个流派,一个是boosting派系,它的特点是各个弱学习器之间有依赖关系。另一种是bagging流派,它的特点是各个弱学习器之间没有依赖关系,可以并行拟合。本文就对集成学习中Bagging与随机森林算法做一个总结。
随机森林是集成学习中可以和梯度提升树GBDT分庭抗礼的算法,尤其是它可以很方便的并行训练,在如今大数据大样本的时代很有诱惑力。
bagging集成学习方法可以利用下图说明:
上面我们对bagging算法的原理做了总结,这里就对bagging算法的流程做一个总结。相对于Boosting系列的Adaboost和GBDT,bagging算法要简单的多。
输入为样本集D=(x1,y1),(x2,y2),...(xm,ym),弱学习器算法, 弱分类器迭代次数T。输出为最终的强分类器f(x).
1)对于t=1,2...,T:
理解了bagging算法,随机森林(Random Forest,以下简称RF)就好理解了。它是Bagging算法的进化版,也就是说,它的思想仍然是bagging,但是进行了独有的改进。我们现在就来看看RF算法改进了什么。
首先,RF使用了CART决策树作为弱学习器,这让我们想到了梯度提升树GBDT。第二,在使用决策树的基础上,RF对决策树的建立做了改进,对于普通的决策树,我们会在节点上所有的n个样本特征中选择一个最优的特征来做决策树的左右子树划分,但是RF通过随机选择节点上的一部分样本特征,这个数字小于n,假设为nsub,然后在这些随机选择的nsub个样本特征中,选择一个最优的特征来做决策树的左右子树划分。这样进一步增强了模型的泛化能力。
如果nsub=nnsub=n,则此时RF的CART决策树和普通的CART决策树没有区别。nsubnsub越小,则模型越健壮,当然此时对于训练集的拟合程度会变差。也就是说nsubnsub越小,模型的方差会减小,但是偏倚会增大。在实际案例中,一般会通过交叉验证调参获取一个合适的nsubnsub的值。
除了上面两点,RF和普通的bagging算法没有什么不同, 下面简单总结下RF的算法。
输入为样本集D=(x1,y1),(x2,y2),...(xm,ym),弱分类器迭代次数T。输出为最终的强分类器f(x):
随机森林算法推广
由于RF在实际应用中的良好特性,基于RF,有很多变种算法,应用也很广泛,不光可以用于分类回归,还可以用于特征转换,异常点检测等。下面对于这些RF家族的算法中有代表性的做一个总结。
Bootstrap经典语录
作为一个可以高度并行化的算法,RF在大数据时候大有可为。这里也对常规的随机森林算法的优缺点做一个总结。
RF的主要优点有:
1)训练可以高度并行化,对于大数据时代的大样本训练速度有优势。
2)由于可以随机选择决策树节点划分特征,这样在样本特征维度很高的时候,仍然能高效的训练模型。
3)在训练后,可以给出各个特征对于输出的重要性
4)由于采用了随机采样,训练出的模型的方差小,泛化能力强。
5)相对于Boosting系列的Adaboost和GBDT, RF实现比较简单。
6)对部分特征缺失不敏感。
RF的主要缺点有:
1)在某些噪音比较大的样本集上,RF模型容易陷入过拟合。
2)取值划分比较多的特征容易对RF的决策产生更大的影响,从而影响拟合的模型的效果。
原文
以上是关于随机森林(RF)的原理的主要内容,如果未能解决你的问题,请参考以下文章