随机森林(Random Forest)的基本思想来源于集成学习(Ensemble Learning)的Bagging方法。如下图所示,Bagging方法的思想是采用自助采样法(Bootstap sampling)进行T次的随机采样,得到T个子训练集,对于这T个子训练集,分别独立的训练出T个弱学习器(也即个体学习器),再对这T个弱学习器通过结合策略来得到最终的强学习器。
关于集成学习,可参考《机器学习之集成学习》
随机森林在bagging方法的基础上更进一步:
1、样本的随机:从样本集中用Bootstrap随机选取n个样本;
2、特征的随机:从所有属性中随机选取K个属性,选择最佳分割属性作为节点建立CART决策树;
3、重复以上两步m次,即建立了m棵CART决策树;
4、 这m个CART形成随机森林,通过投票表决结果,决定数据属于哪一类(投票机制有一票否决制、少数服从多数、加权多数);
需注意的是,在随机森林中,CART决策树的生成遵循以下几个特点:
1、如果训练集大小为N,对于每棵树而言,随机且有放回地从训练集中的抽取N个训练样本(这种采样方式称为bootstrap sample方法),作为该树的训练集