Statistics|周志华Boosting25年(一)
Boosting 25年 地址:https://www.bilibili.com/video/av28102016
导言: 集成学习Ensemble learning:多个学习器解决问题。
学习器可以同质,可以异质。
要求:个体尽可能精确,且差异大。
按照个体分:
文章图片
数据挖掘领域很牛逼的KDD CUP被集成学习攻陷啦。
文章图片
文章图片
别的比赛也是这样,如Netflix比赛。
文章图片
具体的展开部分可以去看书《Ensemble Methods Foundations and Algorithms》,作者是周老师。
AdaBoost: 优势在于1. 可以做精确的预测 2. 非常简单(十行代码)
现在应用很广泛,且有很好的理论支撑。
文章图片
Boosting25年,要从AdaBoost的出身讲起。
它是一个1989年提出的问题引起的,弱可学习的和强可学习的是不是等价?
强可学习:存在一个多项式的算法,有很大的把握,得到很高的精度。
弱可学习:我做的比随机猜好一点点。
现实生活中,做到强可学习很难,但弱可学习没有那么难。能不能通过什么方法把容易得到的弱可学习模型转化为强可学习的模型?
文章图片
这个答案的结果在直觉上是否定的。
但1990年,Schapire证明了这是对的。弱学习可以变成强学习(存在性的证明),且给出了构造性证明(告诉你具体怎么做可以做成)。
这个构造本身就是第一个Boosting算法。
Boosting算法的另一个源头是,1993年Freund提出的,用很多弱学习器通过投票结合。
但以上所有的算法,只能在理论上的意义,难以解决实际问题,因为它要求你知道一些不可能知道的东西:比如你这个学习器在学习之前,最坏情况下最好能做多少。
到1997(发表在1995年)年,两人提出了实际使用的方法。
【Statistics|周志华Boosting25年(一)】所以AdaBoost就伴随着这一个重要的理论问题出世了。
文章图片
题外话,因为截图有些不清晰,另找了一篇讲AdaBoost算法的。符号表示可能不一致,但想法肯定是一致的。https://blog.csdn.net/v_july_v/article/details/40718799
简单思想:调整权重,做的不对的样本的权重大点,更加重视,做得对的就不那么重视了。最后用投票法把这些结合起来。
文章图片
文章图片
直观过程:
拿到初始训练数据Dataset 1,训练一个学习器做预测,做完肯定有对有错;对于做错的样本,让它的权重,或者代表分布的取值变大,让它以更大的几率出现在Dataset 2,…,做到最后就越来越关注做错的那些样本。这在统计上其实是残差逼近。
最后把所有的学习器加权结合起来。
文章图片
这个过程很容易理解,它的意义有几点。
第一,这个方法很简单而且很优秀。
算法太复杂的时候大家就不太愿意用了。
Boosting/AdaBoost的想法也影响着别的领域。比如图像的人脸检测。
文章图片
文章图片
第二,它不是简简单单的一个算法。它其实是一个General的Boosting的过程。我根据一个分布生成学习器,然后判断它做的好不好,根据它做的好不好调整好分布,不断迭代就好了。
文章图片
第三,Boosting还有很好的理论保证,这是最根本的。
对于训练集,只要你能保证学习器的效果比随机好,那么随着训练轮数的迭代,它最后效果一般还挺不错的。(误差指数级下降,很快能学到不错的结果)
当然很多人会说,这是对于训练样本,训练误差。你处理新数据的泛化误差如何?
又有理论证明泛化误差也是有bound的。这是很好的。
文章图片
推荐阅读
- 二战周志华《机器学习》--概率图模型推断
- Boosting 25年(2014 周志华老师)报告笔记
- Linux之ss命令
- 代做Statistics|代做Statistics 106作业、代写Java、Python,c/c++程序语言作业、代做Box-Cox作业代写Web开发|帮做Java程序
- 讲解(CS|讲解:CS 2033、HTML, CSS、JavaHaskell| Statistics、、)
- Coursera|Coursera Inferential Statistics 笔记
- 机器学习-周志华|机器学习-周志华 神经网络
- 《机器学习》(周志华)第四章(决策树)总结
- Facts|Facts and Statistics
- Biostatistics(8)概率与概率分布