奎克的藏经阁 · 原书印刷页

人工智能与大数据技术导论 · 第 183 页

PDF 物理页索引 199 · 第6章

书名
人工智能与大数据技术导论
作者
未记录
印刷页
183
PDF 物理页
199(从 0 开始)
章节
第6章
UUID
cd4f7678-cd9b-4971-bde0-e9ad46a6cc71
来源类型
original_book
页面 SHA-256
d83be2077368aa687a0fc60d39ceb04bad933ff0d00ab6470fc506b6fba00642

6.6.2 集成算法之 Bagging

Bagging 是将一系列弱分类器 F1(x),F2(x),...,Fb(x)并行进行训练,然后对结果取平均值(Regression),或者投票(Classification)而产生最终预测结果,其基本流程如图6-27所示。Bagging整个过程一共进行了T轮训练,每一轮使用的弱分类器都是二叉树,但读取的训练数据集不同。在每个弱分类器训练中,从样本中随机有放回地抽取N个样本,N是样本集样本的个数。在这个过程中,某一个特定的样本X(i)可能被使用多次,也可能未被使用。各个弱分类器抽取样本的过程是独立的。

RandomForest(随机森林)是最著名也是最实用的Bagging算法之一。正如其名字一般,“随机森林”由多棵树组成,单独一棵树是一个弱分类器,将很多树组合在一起,就形成了具有强大预测能力的“森林”。这个组合的过程就是通过Bagging完成的。每一棵树是一个弱分类器,在样本集的一个Bootstrap上训练完成。最终将T棵树的结果汇总(投票或取平均值),生成最终的输出。

但随机森林不止如此。在上述介绍Bagging的基础上,对于每一个弱分类器,在训练前除了随机选择样本(Bagging的基本定义)外,还要从特征集中随机选出一个特征子集来训练。这样做是为了让每棵树学习得不要太相似—如果有几个特征和目标变量是强相关的,那么这些特征在所有树中都会被挑选出来。随机森林算法从n个特征中随机选出其中的p个用于训练,可以有效防止这种情况发生,每棵树在受限的p个变量中进行训练,可以让不同的树“长得更不一样”。

下面我们给出随机森林的具体算法:

第6章 机器学习算法

183