更多内容关注公众号:数学的旋律

tb店铺搜:FUN STORE玩物社,专业买手挑选送礼好物
引言
Bagging基于自助采样法(bootstrap sampling),采样出T个含N个训练样本的采样集,然后基于每个采样集训练出一个基学习器,最后将这些基学习器进行结合得到最终结果。
随机森林(Random Forest,RF)是Bagging的一个扩展变体,以决策树为基学习器,并针对基决策树引入了随机属性选择,即传统决策树在选择划分属性时是在当前结点的属性集合(假定有n个属性)中选择最优属性,而RF是对基决策树的每个结点,随机选择k个属性(k≤n)进行选择。
一、Bagging
1.基本思路
Bagging基于我们在简介中介绍过的自助采样法,使用自助采样法,我们可采样出T个含N个训练样本的采样集,其中约有63.2%的样本出现在采用集中。然后基于每个采样集训练出一个基学习器,再将这些基学习器进行结合。这就是Bagging的基本流程。
在对预测输出进行结合时,Bagging通常对分类任务使用简单投票法(即在测试样本用T个基学习器进行分类后,得到的T个结果中,选择得票最高的类),对回归任务使用简单平均法。若分类预测时出现两个类收到同样票数的情形,则最简单的做法是随机选择一个,也可进一步考察学习器投票的置信度来确定最终胜者。
与标准AdaBoost只适用于二分类任务不同(为处理多分类或回归任务,AdaBoost需进行修改),Bagging能不经修改地用于多分类、回归等任务。
2.算法
算法1
输入:训练集
D
=
{
(
x
1
,
y
1
)
,
(
x
2
,
y
2
)
,
⋯
,
(
x
N
,
y
N
)
}
D=\{(x_1,y_1),(x_2,y_2),\cdots,(x_N,y_N)\}
D={(x1,y1),(x2,y2),⋯,(xN,yN)};基学习算法;训练轮数
T
T
T
过程:
for t=1,2,…,T do
用自助采样法生成一个大小为N的样本集Dt
在样本集Dt上训练一个基学习器
end for
输出:
H
(
x
)
=
a
r
g
max
y
∈
Y
∑
t
=
1
T
I
(
h
t
(
x
)
=
y
)
H(x)=arg \max_{y∈Y}\sum_{t=1}^TI(h_t(x)=y)
H(x)=argmaxy∈Y∑t=1TI(ht(x)=y)
(如果参数为真则I(.)=1,否则I(.)=0)
例1
为了说明Bagging如何进行,考虑表1给出的训练集。设x表示一维属性,y表示类标号。假设使用这样一个分类器,它是仅包含一层的二叉决策树,具有一个测试条件x≤k,其中k是使得叶结点熵最小的分类点。这样的树也称为决策树桩(decision stump)。
(关于熵的定义在决策树一文中已有介绍,这里不再重述)
| x | 0.1 | 0.2 | 0.3 | 0.4 | 0.5 | 0.6 | 0.7 | 0.8 | 0.9 | 1 |
|---|---|---|---|---|---|---|---|---|---|---|
| y | 1 | 1 | 1 | -1 | -1 | -1 | -1 | 1 | 1 | 1 |

通过对每个基分类器所作的预测使用多数表决来分类表1给出的整个训练集,下图1给出了预测结果。由于标记类别是-1或+1,因此应用多数表决等价于对y得预测值求和,然后考察结果的符号(参看图1第二行到最后一行)。注意,组合分类器完全正确地分类了原始训练集中的10个样本。

二、随机森林(Random Forest,RF)
随机森林是Bagging的一个扩展变体。RF在以决策树为基学习器构建Bagging集成的基础上,进一步在决策树的训练过程中引入了随机属性选择。
具体来说,传统决策树在选择划分属性时是在当前结点的属性集合(假定有n个属性)中选择最优属性;而在RF中,对基决策树的每个结点,先从该结点的属性集合中随机选择一个包含
k
k
k个属性的子集,然后再从这个子集中选择一个最优属性用于划分。这里的参数k控制了随机性的引入程度:若令
k
=
n
k=n
k=n,则决策树的构建与传统决策树相同;若令
k
=
1
k=1
k=1,则是随机选择一个属性用于划分;一般情况下,推荐值
k
=
l
o
g
2
n
。
k=log_2n。
k=log2n。
以上全部内容参考书籍如下:
周志华《机器学习》
《数据挖掘导论(完整版)》人民邮电出版社
Peter Harrington《Machine Learing in Action》
本文介绍了机器学习中的Bagging方法和随机森林(Random Forest, RF)算法。Bagging通过自助采样法创建多个训练集,训练多个基学习器并结合它们的预测结果。随机森林是Bagging的扩展,它在决策树构建中引入随机属性选择,提高了模型的多样性。文章详细阐述了两种方法的基本思想、算法流程,并通过实例说明其工作原理。"
17395419,1356519,树与二叉树的概念及性质解析,"['数据结构', '树型结构', '二叉树', '树的遍历', '哈夫曼树']
1039

被折叠的 条评论
为什么被折叠?



