摘要:随机森林(Random Forest,简称RF)是Bagging技巧的一个扩展变体。RF在以决策树为基学习器构建Bagging集成的基础上,进一步字决策树的训练过程中一如了随机属性选择。随机森林算法在与其他机器学习算法的比较中,往往在故障诊断有卓越表现,同时在可解释性上有很优秀的表现。
前言:本文对随机森林算法进行总结概括,以CART决策树为背景,构建随机森林,并且解析OOB,将随机森林算法与传统的算法相比较,还将解释随机森林如何进行特征选择,最后将阐述其基本核心思想,以及优劣。
方法说明:结合林轩田老师的课程+sklearn中的数据进行实战来检验+刘峤老师提供的课件+周志华《机器学习》
正文:
- 随机森林的朴素思想
Random Forest = Bagging + 完全长成CART决策树
关于Bagging:可以简单理解为有放回的抽样。(从袋子中抽样N个样本,重复M次)往往会重复采样很多次,以期望达到一个减少方差的目的。
关于完全长成CART决策树:通过给定的数据来形成一颗二叉树,每个叶子节点代表一个决策结果,借助基尼指数来表示纯度进行分支特征选择,可以看作是在数据样本点的分布图上进行横竖的刀切割。而完全长成的决策树很容易趋于过拟合。
Def RandomForest(Data):
for t=1,2,3…,T:
Dt=从Data中抽样N′个数据
gt=DecisionTree(Dt)
return G=Uniform({gt})
上表简单地解释了随机森林算法的最朴素地思想。其中DecisionTree代表形成一个完全长成CART决策