第八章Adaboost提纲•AdaBoost的起源和基本概念•AdaBoost算法•前向分步训练算法•AdaBoost编程•AdaBoost实时人脸检测算法•1984,Kearns和Valiant:•强可学习(stronglylearnable)和弱可学习(weaklylearnable)•在概率近似正确(probablyapproximatelycorrect,PAC)学习的框架中,一个概念(类),如果存在一个多项式的学习算法能够学习它,并且正确率很高,称这个概念是强可学习的;•一个概念(类),如果存在一个多项式的学习算法能够学习它,学习的正确率仅比随机猜测略好,则称这个概念是弱可学习的。•1989,Schapire,证明:•在PAC学习的框架下,一个概念是强可学习的充分必要条件是这个概念是弱可学习。Adaboost的起源•问题的提出:•只要找到一个比随机猜测略好的弱学习算法就可以直接将其提升为强学习算法,而不必直接去找很难获得的强学习算法。Adaboost的起源例如:学习算法A在a情况下失效,学习算法B在b情况下失效,那么在a情况下可以用B算法,在b情况下可以用A算法解决。这说明通过某种合适的方式把各种算法组合起来,可以提高准确率。为实现弱学习互补,面临两个问题:(1)怎样获得不同的弱分类器?(2)怎样组合弱分类器?怎样实现弱学习转为强学习使用不同的弱学习算法得到不同基本学习器参数估计、非参数估计…使用相同的弱学习算法,但用不同的参数K-Mean不同的K,神经网络不同的隐含层…相同输入对象的不同表示凸显事物不同的特征使用不同的训练集装袋(bagging)提升(boosting)怎样获得不同的弱分类器•也称为自举汇聚法(boostrapaggregating)•从原始数据集选择S次后得到S个新数据集•新数据集和原数据集的大小相等•每个数据集都是通过在原始数据集中随机选择样本来进行替换而得到的。•S个数据集建好之后,将某个学习算法分别作用于每个数据集就得到S个分类器。•选择分类器投票结果中最多的类别作为最后的分类结果。•改进的Bagging算法,如随机森林等。Bagging多专家组合一种并行结构,所有的弱分类器都给出各自的预测结果,通过“组合器”把这些预测结果转换为最终结果。eg.投票(voting)及其变种、混合专家模型多级组合一种串行结构,其中下一个分类器只在前一个分类器预测不够准(不够自信)的实例上进行训练或检测。eg.级联算法(cascading)怎样组合弱分类器•1990年,Schapire最先构造出一种多项式级的算法,即最初的Boost算法;•1993年,Drunker和Schapire第一次将神经网络作为弱学习器,...