高级算法梳理-随机森林

高级算法梳理-随机森林首先,随机森林是集成学习的一部分,属于bagging方法那么,需要首先解释一下什么是bagging方法,bagging方法最主要的特点是个体学习器之间不存在强依赖关系,可同时生成的并行化方法。个体学习器可以有很多种,本文中以决策树算法作为个体学习器的方法进行说明。bagging方法是从原始数据集中采样出T个包含m个训练样本的采样集,然后基于每个采样集训练处一个基学习器,再将这...

高级算法梳理-随机森林

高级算法梳理-随机森林

首先,随机森林是集成学习的一部分,属于bagging方法

那么,需要首先解释一下什么是bagging方法,bagging方法最主要的特点是 个体学习器之间不存在强依赖关系,可同时生成的并行化方法。个体学习器可以有很多种,本文中以决策树算法作为个体学习器的方法进行说明。

bagging方法是从原始数据集中采样出T个包含m个训练样本的采样集,然后基于每个采样集训练处一个基学习器,再将这些基学习器进行结合,这就是bagging的基本流程。

bagging方法通常对分类任务使用简单投票法,对回归任务使用简单平均法。

从偏差-方差的角度看,bagging主要关注降低方差。方差是由于分类器对样本分布过于敏感,导致训练样本数较少是,产生过拟合。

随机森林是bagging的一个扩展变体,它是在以决策树为基学习器构建bagging集成的基础上,进一步在决策树的训练过程中引入了随机属性选择。具体来说,对每个决策树的每个节点,先从该节点的属性集合中随机选择一个包含$k$个属性的子集,然后在从这个子集中选择一个最优属性用于划分,这里的$k$控制了随机性的引入程度,推荐$k=log_2d$,$d​$是样本集特征总数。

随机森林对bagging只是做了小改动,bagging只是通过样本扰动来体现多样性,随机森林的基学习器的多样性不仅来自样本扰动,还来自属性扰动,这就使得最终集成的泛化性能可通过个体学习器之间差异度的增加而进一步提升。

下面通过几个问题来加深对随机森林的理解。

1,可否将随机森林中的基分类器由决策树替换为线性分类器或者K-近邻?

不能,随机森林属于bagging集成方法,bagging的主要好处是集成后的分类器的方差,比基分类器的方差小。所以bagging所采用的基分类器,最好是本身对样本分布较为敏感的(即所谓的不稳定的分类器),但线性分类器或者K近邻都是较为稳定的分类器,本身方差就不大,如果将其作为基分类器,不仅集成后的效果没有提升,反而可能导致基分类器在训练中无法收敛,从而增大集成分类器的偏差。

源文地址:https://www.guoxiongfei.cn/csdn/7574.html