AdaBoost

算法:

输入:训练数据集 T={(x1,y1),(x2,y2),,(xN,yN)} ,其中 xiRn,yi{1,+1} ;弱学习算法;
输出:最终分类器 G(x) .
(1) 初始化训练数据的权值分布

D1=(w11,,w1i,,w1N),w1i=1N,i=1,2,,N

(2) 对 m=1,2,,M
(a) 使用具有权值分布 Dm 的训练数据集学习,得到基本分类器
Gm(x):X{1,+1}
(b) 计算 Gm(x) 在训练数据集上的分类误差率
em=P(Gm(xi)yi)=i=1NwmiI(Gm(xi)yi)
(c) 计算 Gm(x) 的系数
αm=12log1emem
这里的对数是自然对数 .
(d) 更新训练数据集的权值分布
Dm+1=(wm+1,1,,wm+1,i,wm+1,N)
wm+1,i=wmiZmexp(αmyiGm(xi)),i=1,2,,N
这里, Zm 是规范化因子
Zm=i=1Nwmiexp(αmyiGm(xi))
它使 Dm+1 成为一个概率分布 .
(3) 构造基本分类器的线性组合
f(x)=m=1MαmGm(x)
得到最终分类器
G(x)=sign(f(x))=sign(m=1MαmGm(x))

你可能感兴趣的:(学习笔记)