目录:
1. Boosting算法基本原理
2. Boosting算法的权重理解
3. AdaBoost的算法流程
4. AdaBoost算法的训练误差分析
5. AdaBoost算法的解释
6. AdaBoost算法的正则化
7. AdaBoost算法的过拟合问题讨论
8. 总结
Boosting的算法流程
Boosting算法是一种由原始数据集生成不同弱学习器的迭代算法,然后把这些弱学习器结合起来,根据结合策略生成强学习器。
如上图,Boosting算法的思路:
(1)样本权重表示样本分布,对特定的样本分布生成一个弱学习器。
(2)根据该弱学习器模型的误差率e更新学习器权重α。
(3)根据上一轮的学习器权重α来更新下一轮的样本权重。
(4)重复步骤(1)(2)(3),结合所有弱学习器模型,根据结合策略生成强学习器。
Boosting算法的权重理解
Boosting算法意为可提升算法,可提升方法具体表现在(一)改变训练数据的概率分布(训练数据的权值分布),(二)弱分类器权重的生成。理解这两个原理是理解AdaBoost算法的基础。
1. 训练数据的权重理解
我们对癌症病人和健康人作一个定性的分析,目的是理解Boosingt算法训练数据权重更新的思想。
如下图为分类器G(1)的分类情况,假设样本数据的权重相等。
癌症误分类成健康人的结果很可能是丧失生命,因此这种误分类情况肯定不能出现的,若我们对该误分类点的权重增加一个极大值,以突出该样本的重要性,分类结果如下图:
因此,增加误分类样本的权重,使分类器往该误分类样本的正确决策边界方向移动,当权重增加到一定值时,误分类样本实现了正确分类,因为训练样本的权重和是不变的,增加误分类样本权重的同时,也降低了正确分类样本的权重。这是Boosting算法的样本权重更新思想。
2. 弱学习器的权重理解
Boosting算法通过迭代生成了一系列的学习器,我们给予误差率低的学习器一个高的权重,给予误差率高的学习器一个低的权重,结合弱学习器和对应的权重,生成强学习器。弱学习器的权重更新是符合常识的,弱学习器性能越好,我们越重视它,权重表示我们对弱学习器的重视程度,即权重越大,这是Boosting算法弱学习器权重的更新思想。
AdaBoost算法流程
(1)如何计算弱学习器的学习误差;
(2)如何得到弱学习器的权重系数;
(3)如何更新样本权重;
(4)使用何种结合策略;
AdaBoost的训练误差是以指数速率下降的,即AdaBoost算法随着迭代次数的增加,训练误差不断减小,即模型偏差显著降低 。