Random Forest分类器都是统计学的概念。
随机森林:集成(ensemble)多棵决策树,以bagging的方式训练,来得到一个更加精确和稳定的预测。
随机森林的本质属于机器学习的一大分支——集成学习(Ensemble Learning)方法。随机森林的名称中有两个关键词,一个是“随机”,一个就是“森林”。“森林”我们很好理解,一棵叫做树,那么成百上千棵就可以叫做森林了,这样的比喻还是很贴切的,其实这也是随机森林的主要思想–集成思想的体现。“随机”的含义我们会在下边部分讲到。
其实从直观角度来解释,每棵决策树都是一个分类器(假设现在针对的是分类问题),那么对于一个输入样本,N棵树会有N个分类结果。而随机森林集成了所有的分类投票结果,将投票次数最多的类别指定为最终的输出,这就是一种最简单的 Bagging 思想。
随机森林的生成过程:
(1)从原始样本中采用有放回抽样的方法选取n个样本;
(2)对n个样本选取a个特征中的随机k个,用建立决策树的方法获得最佳分割点;
(3)重复m次,获得m个决策树;
(4)对输入样例进行预测时,每个子树都产生一个结果,采用多数投票机制输出。
随机性体现:
(1)数据集的随机选取:从原始的数据集中采取有放回的抽样(bagging),构造子数据集,子数据集的数据量是和原始数据集相同的。不同子数据集的元素可以重复,同一个子数据集中的元素也可以重复。
(2)待选特征的随机选取:与数据集的随机选取类似,随机森林中的子树的每一个分裂过程并未用到所有的待选特征,而是从所有的待选特征中随机选取一定的特征,之后再(3)在随机选取的特征中选取最优的特征。
随机森林的优点:
(1)实现简单,训练速度快,泛化能力强,可以并行实现,因为训练时树与树之间是相互独立的;
(2)相比单一决策树,能学习到特征之间的相互影响,且不容易过拟合;
(3)能处理高维数据(即特征很多),并且不用做特征选择,因为特征子集是随机选取的;
(4)对于不平衡的数据集,可以平衡误差;
(5)相比SVM,不是很怕特征缺失,因为待选特征也是随机选取;
(6)训练完成后可以给出哪些特征比较重要。
随机森林的缺点:
(1)在噪声过大的分类和回归问题还是容易过拟合;
(2)相比于单一决策树,它的随机性让我们难以对模型进行解释。