统计学习方法笔记 -- Boosting方法
AdaBoost算法
基本思想是,对于一个复杂的问题,单独用一个分类算法判断比较困难,那么我们就用一组分类器来进行综合判断,得到结果,“三个臭皮匠顶一个诸葛亮”
专业的说法,
强可学习(strongly learnable),存在一个多项式算法可以学习,并且准确率很高
弱可学习(weakly learnable),存在一个多项式算法可以学习,但准确率略高于随机猜测
并且可以证明强可学习和弱可学习是等价的
那么发现一个弱可学习算法是很容易的,如果将弱可学习算法boosting到强可学习算法?
AdaBoost就是这样的算法,通过反复学习,得到一组弱分类器,通过组合这些弱分类器得到强分类器
问题就是如果得到一组弱分类器?
当然你可以用不同的分类算法来训练
也可以用不同的训练集,比如bagging,对训练集进行m次随机抽样,得到m个新的训练集
AdaBoost采用的方法是,用相同的算法和训练集,但改变每个训练样本的weight,因为在求解分类器时的目标函数是,加权误差最小,所以不同的权值会得到不同的分类器参数
具体的规则,是每轮分类后, 增大分错的样本的权值,减小分对样本的权值,所有样本权值和为1
这样下一轮分类器求解,就会更关注上一轮分错的这样样本点,达到分而治之的目的
需要注意,可以想到,这个算法对离群值比较敏感,容易overfitting
并且每个弱分类器也有个weight,代表该分类器的误差率,最终用加权多数表决的方式来得到最终结果
具体算法,
1. 初始化训练样本的权值,平均分布,每个样本的概率相同
2. 反复迭代学习得到m个弱分类器,对于第m个弱分类器,
2.1 对于训练集,以加权误差最小为目标,求出分类器,Gm
2.2 算出,该弱分类器的加权误差
2.3 算出该弱分类器的权值,log函数,可见误差越小,权值越高,即在最终强分类器中的作用越大
2.4 关键的一步,更新训练样本的权值
其中,第一个式子其实是,
指数分布,小于0,取值在(0,1),大于0,取值大于1
所以意思就是,当Gm(x)=y的时候,即判断正确的样本,减小权值
判断错误的样本,增加权值
之所以要除以Zm,是因为所有权值的和要为1,用Zm来进行规范化
3. 上面我们就得到m个弱分类器,如何组合出强分类器,
很简单的,加权多数表决
其中sign函数,取值-1(x<0),0,1(x>0)
本文章摘自博客园,原文发布日期: 2014-08-26
相关文章
- 8个超实用的iPhone隐藏功能和技巧,你可能还不知道
- 支付宝闪现数字人民币
- 为什么苹果五年不卡,安卓只能用两三年?这几个原因说到点上了
- 苹果发布iOS 14.6新测试版:改进性能和Bug
- 难住了N个面试者,http协议无状态中的 "状态" 到底指的是什么?!
- 算法的艺术:MySQL order by对各种排序算法的巧用
- 教你一招把老照片无损地扫描到手机上,特别清晰,永久保存起来
- 微信群里隐藏着一个永久免费无限空间,很多人都不知道,太实用了
- 这两款iPhone不要升级iOS14.5.1,将会被降频
- 苹果 iOS 15 爆料汇总:除了新图标、新锁屏、新通知,还有这 3 大变化
- 500多位专家参与App Store的审核过程;不到1%的被拒开发者提出申诉
- 报告称美国只有4%的iOS用户选择接受广告追踪
- 取代安卓!曝华为鸿蒙OS计划适配高通平台
- 自动化做任务、收能量工具Hamibot,我愿称它为神器
- 手机系统要不要常更新?认准这三点最重要!
- iOS 14.5.1 / 12.5.3 系统来了,越狱依然支持
- 我C,MySQL双主架构,原来能这么玩
- iOS 之如何利用 RunLoop 原理去监控卡顿?
- iOS 14.5 重拳出击,外媒:阿里巴巴担心苹果全新隐私政策
- 支付宝摊上大事了!花呗、借呗将被断连,余额宝也遭了殃