2018-10-29
阅读量:
847
Adaboost学习
Adaboost是boosting中较为代表的算法,基本思想是通过训练数据的分布构造一个分类器,然后通过误差率求出这个若弱分类器的权重,通过更新训练数据的分布,迭代进行,直到达到迭代次数或者损失函数小于某一阈值。
Adaboost的算法流程:
假设训练数据集为T={(X1,Y1),(X2,Y2),(X3,Y3),(X4,Y4),(X5,Y5)} 其中Yi={-1,1}
1、初始化训练数据的分布
训练数据的权重分布为D={W11,W12,W13,W14,W15},其中W1i=1/N。即平均分配。
2、选择基本分类器
这里选择最简单的线性分类器y=aX+b ,分类器选定之后,最小化分类误差可以求得参数。
3、计算分类器的系数和更新数据权重
误差率也可以求出来为e1.同时可以求出这个分类器的系数。基本的Adaboost给出的系数计算公式为
然后更新训练数据的权重分布,
4、分类器的组合
当然这种组合方式基于分类器的系数的,而分类器的系数又是根据误差率求出来的,所以Adaboots最后影响的就是如何使用误差率,以及训练数据更新权重的的计算系数。
5、Adaboost的一些问题
Adaboost中涉及到一些可以进行调整的参数和计算公式的选择主要有以下几点:
**弱分类器如何选择
**如何更好的实验误差率计算分类器的系数
**如何更好的计算训练数据的权重的分布
**弱分类器如何进行组合
**迭代次数
**损失函数的阈值选取多少






评论(0)


暂无数据
推荐帖子
0条评论
0条评论
1条评论