Adaboost

来源:互联网 发布:qq飞车改装数据 编辑:程序博客网 时间:2024/06/06 05:44

(一)Boosting

Boosting方法是一种用来提高弱分类算法准确度的方法,这种方法通过构造一个预测函数系列,然后以一定的方式将他们组合成一个预测函数;

1.模型:加法模型


其中b为基函数(弱分类器),gama为基函数的参数;beta为基函数的权重;

2.学习策略:


3.学习算法:前向分步算法


这样,前向分布算法将同时求解从m=1到M所有参数beta,gama的优化问题简化为逐次求解各个beta,gama的优化问题;

(二)Adaboost简介

1.Adaboost是一种迭代算法,其核心思想是针对同一个训练集训练不同的分类器(弱分类器),然后把这些弱分类器集合起来,构成一个更强的最终分类器(强分类器);

2.Adaboost在每一轮如何改变训练数据的权值以及如何将弱分类器组合成一个强分类器的做法如下:

(1)提高那些被前一轮弱分类器错误分类样本的权值,而降低那些被正确分类样本的权值,这样一来,那些没有得到正确分类的数据,由于其权值的加大而受到后一轮的弱分类器的更大关注;

(2)Adaboost采用加权多数表决的方法,具体地,加大分类误差率小的弱分类器的权值,使其在表决中起较大的作用,减小分类误差率大的弱分类器的权值,使其在表决中起较小的作用;

(三)Adaboost算法

1.初始化训练数据的权值分布:


2.Adaboost反复学习基本分类器,在每一轮m=1,2,…M顺次地执行下列操作:

(1)使用具有权值分布的训练数据集学习,得到基本分类器:


(2)计算的分类误差率:


(3)计算的权值:(分类误差率越小,权值越大)


(4)更新训练数据集的权值:


3.构建基本分类器的线性组合:

得到最终分类器:

PS:adaboost模型可以看成模型为加法模型,损失函数为指数函数,学习算法为前向分步算法的二类分类学习方法;

                    

(1)AdaBoost的训练误差界:
这里写图片描述
用到的函数:
这里写图片描述

(2)二类分类的AdaBoost的训练误差界:
这里写图片描述
这里写图片描述
(3)推论,若存在gama>0,对所有的m有gama m >= gama,则:
这里写图片描述

原创粉丝点击