Adaboost算法
来源:互联网 发布:java iterator 实现类 编辑:程序博客网 时间:2024/06/05 16:24
AdaBoost是一种“集成方法”,通过将同一个弱分类器串行训练后,得到一个强分类器,进而实现较高精度的分辨能力。
算法流程:
假定给定一个二元分类的训练数据集
其中,
初始化训练数据的权值分布
D1=(w11,,w12,...,w1N),w1i=1N,i=1,2,...,N 对m=1,2,…,M
(a)使用具有权值分布Dm 的训练数据集学习,得到基本分类器Gm(x):χ→{−1,1}
(b)计算Gm(x) 在训练集中的分类误差率em=P(Gm(xi)≠yi)=∑i=1Nwmi
(c)计算Gm(x) 的系数αm=12log1−emem
这里的对数是自然对数
(d)更新数据集的权值分布Dm+1=(wm+1,1,,wm+1,2,...,wm+1,N) wm+1,1=wmiZmexp(−αmyiGm(xi)),i=1,2,...,N
其中,Zm 是规范化因子Zm=∑i=1Nwmiexp(−αmyiGm(xi)) - 构建基本分类器的线性组合,也即是最终的强分类器
f(x)=∑m=1MαmGm(x) G(x)=sign(f(x))
补充说明:
AdaBoost解决了两个问题:
一.如何在每一轮中改变训练的数据的权值分布
二.如何将弱分类器组合成一个强分类器,使得精度升高
对于一,是在每次的训练中,提高那些前一轮训练中被分类错误的样本的权值,降低前一轮训练中被分类正确的样本的权值,具体做法在算法里面的 2.(d)里面
对于二,解决方法是加大分类误差小的弱分类器的权值,减小分类误差大的弱分类器的权值,具体做法是在
0 0
- adaboost算法
- AdaBoost算法
- AdaBoost 算法
- Adaboost算法
- adaboost算法
- adaboost算法
- AdaBoost算法
- Adaboost算法
- AdaBoost算法
- Adaboost 算法
- Adaboost算法
- Adaboost 算法
- adaBoost算法
- AdaBoost算法
- Adaboost 算法
- AdaBoost算法
- Adaboost 算法
- adaboost算法
- 虚拟机安装centos7后出现的问题
- C++初级主题--(4)引用
- [Android 开发工具] 网络抓包Charles
- JavaScript常用对象
- 用Spark Streaming+Kafka实现订单数和GMV的实时更新
- Adaboost算法
- CUDA从入门到精通
- setEnabled() 和 setClickable() 的区别
- linux内核list代码queue.h实现“头插法”
- sonarQube 汉化
- [luogu P2526][SHOI2001]小狗散步(二分图最大匹配)
- JS中typeof与instanceof的区别
- Log4j详解
- 使用MyEclipse自带的jar搭建SSH框架