随机森林概述******
在我们学习随机森林前,要对决策树有一定了解,尤其对其中决策树生成算法要做理解,详见博客。
森林顾名思义,由很多棵树组成,这一颗颗树就是我们需要构造的决策树,由这些树组成的森林就是随机森林,
当我们输入一个要预测分类的数据时,每个决策树都会接收数据并产生一个分类结果,然后采用‘投票机制’,认为哪个结果出现次数最多就归为哪一类。
随机森林构造过程*
随机森林构造过程分为四步:随机样本的选取,随机选择特征,构建决策树,随机森林投票分类
1.随机样本的选取
我们采用bootstrap自助法进行样本选择,假设有训练数据有N个,我们有放回的采取N个样本,构成新的训练集。简单来说,就是取样N次,每次随机选取一个样本后,再放回,直至选取够N个样本。每次构造决策树时都要进行一次随机样本的选取。
2.随机选择特征
对于每颗要生成的决策树,我们要从p维的特征中选取m个特征来进行构造,m的取值关系到决策树之间的关联性,m大关联性就大,误差就大,所以m选取一般要比p小,一般都选在p的平方根
3.构建决策树
这一步我们可以参考博客中的决策树算法,可以采用信息熵或者GINI系数作为分裂特征的选择,关于构建多少颗树,一般选择在100左右,有关详见http://www.docin.com/p-1188586178.html,注意我们得到的决策树可以不进行剪枝,因为前面两个随机选择,使得树在一定程度上能减轻过拟合,但不能完全消除过拟合,过拟合和样本质量,样本数量,样本特征数量和特征相关性都有关系。
4.随机森林投票
当所有决策树构造完成时,我们的随机森林就形成了,现在就可以对要预测的数据进行分类,采用专家投票机制,选定出现次数最多的类别作为预测的类别
随机森林的优缺点*********
优点:
它能够处理很高维度(feature很多)的数据,并且不用做特征选择;
由于随机选择样本导致的每次学习决策树使用不同训练集,所以可以一定程度上避免过拟合;
缺点:
随机森林已经被证明在某些噪音较大的分类或回归问题上会过拟合;
对于有不同级别的属性的数据,级别划分较多的属性会对随机森林产生更大的影响,所以随机森林在这种数据上产出的属性权值是不可信的