随机森林算法简介

随机森林(Random Forest) 实际上是一种改进的bagging方法,它将CART树用作bagging中的模型。

普通决策树在节点上所有的样本特征中选择一个最优的特征来作为左右子树的划分,
随机森林(RF)通过随机选择节点上的一部分特征,然后再这些随机算则的样本特征中,选择一个最优的特征作为左右子树的划分,从而增强了泛化能力。相当于对于样本和特征都进行了采样。

随机森林算法流程:

输入:样本集D={(x,y1),(x2,y2),…(xm,ym)},弱分类器迭代次数T。
输出:最终的强分类器f(x)
过程:
   1)对于t=1,2…,T:
    a)对训练集进行第t次随机采样,共采集m次,得到包含m个样本的采样集Dt
    b)用采样集Dt训练第t个决策树模型Gt(x),在训练决策树模型的节点的时候, 在节点上所有的样本特征中选择一部分样本特征, 在这些随机选择的部分样本特征中选择一个最优的特征来做决策树的左右子树划分
   2)如果是分类算法预测,则T个弱学习器投票得出类别或者类别之一为最终类别。如果是回归算法,T个弱学习器得到的回归结果进行算术平均得到的值为最终的模型输出。

投票法有:绝对多数投票法,相对多数投票法,加权投票法等。

RF的主要优点有:

1) 训练可以高度并行化,对于大数据时代的大样本训练速度有优势。
2)由于可以随机选择决策树节点划分特征,这样在样本特征维度很高的时候,仍然能高效的训练模型。
3)在训练后,可以给出各个特征对于输出的重要性
4)由于采用了随机采样,训练出的模型的方差小,泛化能力强。
5)相对于Adaboost和GBDT,实现比较简单。
6)对部分特征缺失不敏感。

RF的主要缺点有:

1)在某些噪音比较大的样本集上,RF模型容易陷入过拟合。
2)取值划分比较多的特征容易对RF的决策产生更大的影响,从而影响拟合的模型的效果。


Ref:
https://www.cnblogs.com/pinard/p/6156009.html

猜你喜欢

转载自blog.csdn.net/rover2002/article/details/106213946