Adaboost算法流程和证明.pdfVIP

  • 5
  • 0
  • 约5.48千字
  • 约 5页
  • 2020-09-10 发布于天津
  • 举报
Adaboost 算法 1、Adaboost 算法简介 Adaboost 算法是 Freund和 Schapire 根据在线分配算法提出的,他 们详细分析了 Adaboost 算法错误率的上界,以及为了使强分类器达到 错误率,算法所需要的最多迭代次数等相关问题。与 Boosting 算法不 同的是, Adaboost 算法不需要预先知道弱学习算法学习正确率的下限 即弱分类器的误差,并且最后得到的强分类器的分类精度依赖于所有 弱分类器的分类精度,这样可以深入挖掘弱分类器算法的能力。 2、Adaboost 算法基本原理 Adaboost 是一种迭代算法,其核心思想是针对同一个训练集训练 不同的分类器 ( 弱分类器 ) ,然后把这些弱分类器集合起来,构成一个 更强的最终分类器 ( 强分类器 ) 。其算法本身是通过改变数据分布来实 现的,它根据每次训练集之中每个样本的分类是否正确,以及上次的 总体分类的准确率,来确定每个样本的权值。将修改过权值的新数据 集送给下层分类器进行训练,最后将每次训练得到的分类器最后融合 起来,作为最后的决策分类器。使用 Adaboost 分类器可以排除一些不 必要的训练数据特征,并将关键放在关键的训练数据上面。 Adaboost 算法中不同的训练集是通过调整每个样本对应的权重来 实现的。开始时,每个样本对应的权重是相同的,即其中 n 为样本个 数,在此样本分布下训练出一弱分类器。对于分类错误的样本,加大 其对应的权重;而对于分类正确的样本,降低其权重,这样分错的样 本就被突出出来,从而得到一个新的样本分布。在新的样本分布下, 再次对弱分类器进行训练,得到弱分类器。依次类推,经过 T 次循环, 得到 T 个弱分类器,把这 T 个弱分类器按一定的权重叠加 (boost) 起 来,得到最终想要的强分类器。 Adaboost 算法的具体步骤如下: 设输入的 n 个训练样本为: {( x , y ),( x , y ), L ,( x , y )} , 其中 x 1 1 2 2 n n i 是输入的训练样本, yi {0,1 } 分别表示正样本和负样本,其中正样本 数为 l ,负样本数 m 。 n l m ,具体步骤如下: ⑴初始化每个样本的权重 w , i D (i ) ; i ⑵对每个 t 1,L ,T ( T 为弱分类器的个数 ) : ①把权重归一化为一个概率分布 ②对每个特征 f ,训练一个弱分类器 hj 计算对应所有特征的弱分 类器的加权错误率 ③选取最佳的弱分类器 h ( 拥有最小错误率 ) : t t ④按照这个最佳弱分类器,调整权重 其中 i 0 表示被正确地分类, i 1,表示被错误地分类 ⑶最后的强分类器为: T T

文档评论(0)

1亿VIP精品文档

相关文档