数据挖掘十大算法之AdaBoost提升算法
Posted Better Bench
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据挖掘十大算法之AdaBoost提升算法相关的知识,希望对你有一定的参考价值。
目录
1 基本概念
(1)第一种定义
AdaBoost(Adaptive Boosting)是将多个弱分类器合成一个强分类器。通过提高被前一轮弱分类器错误分类样本的权值,而降低被分类正确的样本的权值,实现在每一轮改变训练数据的权值或概率分布,从而把当前轮没有得到正确分类的数据,通过权值的加大而在后一轮的弱分类器中得到更大的关注。弱分类器的组合,采用加权多数表决的方法。
(2)第二种定义
AdaBoost算法是模型为加法模型、损失函数为指数函数、学习算法为前向分布算法的二分类学习方法。
2 算法过程
2.1 AdaBoost以第一种定义的算法过程
假设给定一个二分类的训练数据集
T
=
(
x
1
,
y
1
)
,
(
x
2
,
y
2
)
,
.
.
.
,
(
x
N
,
y
N
)
(1)
T = \\(x_1,y_1),(x_2,y_2),...,(x_N,y_N)\\\\tag1
T=(x1,y1),(x2,y2),...,(xN,yN)(1)
其中,每个样本点由实例与标记组成。实例
x
i
∈
X
⊆
R
n
x_i \\in X \\subseteq R^n
xi∈X⊆Rn,标记
y
i
∈
Y
=
−
1
,
+
1
y_i \\in Y = \\-1,+1\\
yi∈Y=−1,+1,X是实例空间,Y是标记集合。AdaBoost利用以下算法,从训练数据中学习一系列弱分类器或基本分类器,并将这些弱分类器线性组合成为一个强分类器。
输入:训练数据集T,弱分类学习算法。
输出:最终分类器 G ( x ) G(x) G(x)
(1)初始化训练数据的权值分布
D
1
=
(
w
11
,
.
.
.
,
w
1
i
,
.
.
.
,
w
1
N
)
,
w
1
i
=
1
N
,
i
=
1
,
2
,
.
.
.
,
N
(2)
D_1 = (w_11,...,w_1i,...,w_1N),w_1i = \\frac1N,i=1,2,...,N \\tag2
D1=(w11,...,w1i,...,w1N),w1i=N1,i=1,2,...,N(2)
(2)对每一个基本弱分类器,m = 1,2,…,M
a. 使用具有权值分布
D
m
D_m
Dm的训练数据集学习,得到基本分类器
G
m
(
x
)
:
X
→
−
1
,
+
1
(3)
G_m(x):X \\rightarrow \\-1,+1\\ \\tag3
Gm(x):X→−1,+1(3)
b. 计算
G
m
(
x
)
G_m(x)
Gm(x)在训练数据集上的分类误差率
e
m
=
∑
i
=
1
N
P
(
G
m
(
x
i
)
≠
y
i
)
=
∑
i
=
1
N
w
m
i
I
(
G
m
(
x
i
)
≠
y
i
)
(4)
e_m = \\sum_i=1^N P(G_m(x_i) \\not = y_i) = \\sum_i=1^Nw_miI(G_m(x_i) \\not = y_i) \\tag4
em=i=1∑NP(Gm(xi)=yi)=i=1∑NwmiI(Gm(xi)=yi)(4)
w m i w_mi wmi表示第m轮中第i个实例的权值, ∑ i = 1 N w m i = 1 \\sum_i=1^Nw_mi =1 ∑i=1Nwmi=1。
c. 计算
G
m
(
x
)
G_m(x)
Gm(x)的系数
α
m
=
1
2
l
n
(
1
−
e
m
e
m
)
,
l
n
(
⋅
)
表
示
自
然
对
数
(5)
\\alpha_m = \\frac12ln( \\frac1-e_me_m) ,\\quad ln(\\cdot)表示自然对数 \\tag5
αm=21ln(em1−em),ln(⋅)表示自然对数(5)
d. 更新训练数据集的权值分布 以上是关于数据挖掘十大算法之AdaBoost提升算法的主要内容,如果未能解决你的问题,请参考以下文章
D
m
+
1
=
(
w
m
+
1
,
1
,
.
.
.
,
w
m
+
1
,
i
,
,
.
.
.
,
w
m
+
1
,
N
w
m
+
1
,
i
=
w
m
i
Z
m
e
x
p
(
−
α
m
y
i
G
m
(
x
i
)
)
,
i
=
1
,
2
,
.
.
.
,
N
(6)
D_m+1 = (w_m+1,1,...,w_m+1,i,,...,w_m+1,N\\\\ w_m+1,i = \\fracw_miZ_mexp(-\\alpha_m y_i G_m(x_i)),i = 1,2,...,N \\tag6
Dm+1=(wm+1,1,...,wm+1,i,,...,wm+1,Nwm+1,i=Zmwmiexp(−αmyi