比较全面的Adaboost算法总结(一)

目录:

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算法随着迭代次数的增加,训练误差不断减小,即模型偏差显著降低 。

猜你喜欢

转载自blog.csdn.net/LoveL_T/article/details/84872631