随机森林(Random Forest)
随机森林是以决策树为基础的集成学习模型,它是一种bagging集成策略的扩展。决策树的主要缺点是容易造成对训练数据的过拟合,而随机森林能够很
好的解决这个问题。随机森林本质上是许多决策树的集合,其中每棵都树和其他数略有不同。随机森林背后的思想是,每棵树的预测都相对较好,但可能对部
分数据过拟合。如果构造的树够多,并且每棵树的预测都很好,但都以不同的方式过拟合,那么我们可以对这些树的结果取平均值来降低过拟合,这样既能减
少过拟合又能保持树的预测能力。
随机森林的名字来源于随机性添加到了树的构造过程中,以确保每棵树都各不相同。随机森林中树的随机化方法有两种:一种是通过随机抽样选择构造树
的数据点,另一种是通过选择每次划分测试的特征。
数据点的随机选择:要想构造一棵树,首先要对数据进行自助采样(bootstrap sample), 具体方法是从n_samples个数据点中又放回的(即同一个样本可以
被多次抽取)重复随机的抽取一个样本,共抽取n_samples个次。这样会创建一个与原始数据集大小相同的数据集,但有些数据点会缺失,原始数据集中大
约有67%的数据会被抽取到。这种随机抽取样本的方法同bagging方法一样。
特征的随机选择:在构造树的每个节点处,算法随机选择特征的一个子集,并对其中一个特征寻找最佳测试,而不是对每个节点都寻找最佳测试。选择的特
征的个数由max_features参数来控制。每个节点中特征子集的选择都是相互独立的,这样树的每个节点可以使用特征的不同子集来做出决策。
较大的max_features可能造成过拟合,较小的max_features又可能使得决策树的性能降低,因此绝大多数情况下我们选择max_feature=sqrt(n_features)。
由于使用了自助采样,随机森林中每棵决策树的数据集都略有不同,由于每个节点的特征选择,每棵树中每次划分都属于特征的不同子集。这两种方法共同
保证随机森林中所有树都不相同。

浙公网安备 33010602011771号