04 集成学习 - Boosting - AdaBoost算法构建

03 集成学习 - Boosting - AdaBoost算法原理

十、AdaBoost算法构建

上一章最后说明了每个基模型的权值α是如何求得的,于是我就可以对模型进行更新操作了。

构建过程一

1、假设数据集: T={(X1,Y1),(X2,Y2),...(Xn,Yn)}

2、初始化训练数据权重分布:
D1={w11,w12,...,w1i,...,w1n},w1i = 1/n , i=1,2,3,...,n;
(初始化的样本等权分配,有n个样本,每个样本的权重就是1/n)
D1 - 第一个样本集。
w12 - 第1个样本集中的第2个样本。

3、使用具有权值分布Dm的训练数据集学习,得到基本分类器:
Gm(x):x → {-1,+1}
分类器得到的结果不是-1就是+1。

4、计算Gm(x)在训练集上的分类误差:

5、计算Gm(x)的权值系数αm:

04 集成学习 - Boosting - AdaBoost算法构建_第1张图片

第5步完成后,会将样本的权重进行改变,回到第1步构建D2。

总结:反复执行a~e步骤,迭代生成新的学习器。
a、更新样本权重。
b、建立"某种"基模型。
c、计算当前模型(train set)的误分率。
d、计算基模型的权值。
e、更新样本的权重,形成新的样本集。
求解顺序: D1→G1→ξ1→α1→D2....

构建过程二

6、新训练数据集的权重分布
解决问题:新的样本集的样本权重如何分配。
从下图中可以看到,从第二轮开始,样本权重不再是均分的了。
Dm+1 代表的是权重构成的向量。右边是它的计算公式。
公式分析:
wm,i 是上一轮迭代中该样本的权重。
e-αyG(x) 是上一轮迭代中的损失值。(类似损失)

样本权重的向量(左)、计算公式(右)

7、上面公式中的 Zm 是规范化因子(归一化)

04 集成学习 - Boosting - AdaBoost算法构建_第2张图片
归一化

8、构建基分类器的线性组合
求解顺序: D1→G1→ξ1→α1→D2....

04 集成学习 - Boosting - AdaBoost算法构建_第3张图片

9、得到最终分类器

04 集成学习 - Boosting - AdaBoost算法构建_第4张图片

至此,完成了整个AdaBoost的构建过程。
核心求解步骤再次强调: D1→G1→ξ1→α1→D2 ....


总结和回顾 AdaBoost和bagging算法的区别:

bagging算法不会改变原始数据集当中的数据取值,但是boosting算法会根据基模型建立的结果,通过某种方法,改变数据集的样子,来建立下一个基模型。
1、改变样本的权重。
2、改变模型权值。
改变以上两种权值,等价于改变了原始数据集的数据取值。

05 集成学习 - Boosting - GBDT初探

你可能感兴趣的:(04 集成学习 - Boosting - AdaBoost算法构建)