Adaboost算法详解
adaboosting算法原理

adaboosting算法原理Adaboosting(亦称AdaBoost)是一种集成学习(ensemble learning)方法,用于提高弱分类器的准确性,并将它们组合为强分类器。
它是由Yoav Freund和Robert Schapire于1996年提出的。
Adaboost的基本思想是通过对先前分类错误的训练样本进行加权,并重新训练分类器,使其能够更好地区分这些错误的样本。
在下一轮的训练中,对先前分类正确的样本权重进行降低,以便更多地关注分类错误的样本。
这样的迭代过程将使得一些样本在最终的分类器中具有更高的权重,从而提高整体分类性能。
以下是Adaboosting算法的基本步骤:1.初始化训练样本权重:对于具有N个训练样本的训练集,初始权重都设置为相等值(通常为1/N)。
2.对于t从1到T(迭代次数):a.使用加权训练集训练一个弱分类器。
弱分类器在训练样本上的错误分类程度将决定它的权重。
b.计算弱分类器的错误率εt。
c.根据εt计算弱分类器的权重αt,其中:αt = 0.5 * ln((1-εt)/εt)d.更新训练样本的权重,使错误分类的样本权重增加,并且正确分类的样本权重减少。
更新公式为:对于正确分类的样本:wt+1(i) = wt(i) * exp(-αt * yi * hi(xi)) / Zt对于错误分类的样本:wt+1(i) = wt(i) * exp(αt * yi * hi(xi)) / Zt其中,wt(i)是第t轮迭代时样本i的权重,yi是样本i的类别(+1或-1),hi(xi)是弱分类器在样本xi上的预测输出,Zt是用于归一化权重的因子。
3. 根据所有弱分类器的权重αt和各自的预测输出hi(xi),通过加权求和的方式得到最终的强分类器:f(x) = sign(Σt=1到T (αt * hi(x)))其中,sign(是一个符号函数,将结果转换为二元分类输出(+1或-1)。
Adaboosting的主要优点在于它能够使用一系列相对简单的弱分类器构建一个准确性更高的强分类器。
adaboost迭代终止条件

Adaboost迭代终止条件1. 引言Adaboost(Adaptive Boosting)是一种集成学习方法,通过将多个弱分类器进行组合,提高整体分类器的性能。
在Adaboost算法中,迭代终止条件的确定对于算法的性能和效率具有重要影响。
本文将重点介绍Adaboost迭代终止条件的相关概念、原理和常用方法。
2. Adaboost算法简介Adaboost算法是一种迭代算法,通过反复修改训练样本的权重,将多个弱分类器进行组合,得到一个强分类器。
其基本思想是,每一轮迭代中,根据上一轮分类结果的错误率,调整样本权重,使得错误率高的样本在下一轮中得到更多关注,从而提高分类的准确性。
3. Adaboost的迭代过程Adaboost算法的迭代过程可以分为以下几个步骤: - 初始化样本权重:将每个样本的权重初始化为相等值,通常为1/N,其中N为样本数量。
- 迭代过程: - 训练弱分类器:根据当前样本权重,训练一个弱分类器,用于对样本进行分类。
- 计算分类误差率:根据弱分类器的分类结果,计算分类误差率,即被错误分类的样本的权重之和。
- 更新样本权重:根据分类误差率,调整样本权重,使得分类误差率高的样本在下一轮迭代中得到更多关注。
- 更新强分类器权重:根据分类误差率,更新弱分类器的权重,使得分类误差率低的弱分类器在整体分类器中起更大的作用。
- 终止条件判断:根据预先设定的终止条件,判断是否终止迭代。
- 返回强分类器:将所有弱分类器进行加权组合,得到一个强分类器。
4. Adaboost迭代终止条件Adaboost的迭代终止条件是指在什么情况下终止迭代过程,即停止训练弱分类器并返回强分类器。
合理的终止条件可以提高算法的性能和效率,避免过拟合或欠拟合的问题。
4.1 最大迭代次数最常见的迭代终止条件是达到预先设定的最大迭代次数。
通过限制迭代次数,可以避免算法无限迭代,提高算法的效率。
当达到最大迭代次数时,算法会停止训练弱分类器,并返回强分类器。
Adaboost算法实例解析

Adaboost算法实例解析Adaboost 算法实例解析1 Adaboost的原理1.1 Adaboost基本介绍AdaBoost,是英⽂"Adaptive Boosting"(⾃适应增强)的缩写,由Yoav Freund和Robert Schapire在1995年提出。
Adaboost是⼀种迭代,其核⼼思想是针对同⼀个训练集训练不同的分类器(弱分类器),然后把这 Adaboost 些弱分类器集合起来,构成⼀个更强的最终分类器(强分类器)。
其算法本⾝是通过改变数据分布来实现的,它根据每次训练集之中每个样本的分类是否正确,以及上次的总体分类的准确率,来确定每个样本的权值。
将修改过权值的新数据集送给下层分类器进⾏训练,最后将每次训练得到的分类器最后融合起来,作为最后的决策分类器。
使⽤adaboost分类器可以排除⼀些不必要的训练数据特徵,并将关键放在关键的训练数据上⾯。
主要解决的问题 ⽬前,对adaBoost算法的研究以及应⽤⼤多集中于分类问题,同时近年也出现了⼀些在回归问题上的应⽤。
就其应⽤adaBoost系列主要解决了: 两类问题、多类单标签问题、多类多标签问题、⼤类单标签问题,回归问题。
它⽤全部的训练样本进⾏学习。
1.2 Adaboost算法介绍算法分析 该算法其实是⼀个简单的弱分类算法提升过程,这个过程通过不断的训练,可以提⾼对数据的分类能 Adaboost⼒。
整个过程如下所⽰: 1. 先通过对N个训练样本的学习得到第⼀个弱分类器; 2. 将分错的样本和其他的新数据⼀起构成⼀个新的N个的训练样本,通过对这个样本的学习得到第⼆个弱分类器; 3. 将1和2都分错了的样本加上其他的新样本构成另⼀个新的N个的训练样本,通过对这个样本的学习得到第三个弱分类器; 4. 最终经过提升的强分类器。
即某个数据被分为哪⼀类要通过, ……的多数表决。
Adaboost的⾃适应在于:前⼀个基本分类器分错的样本会得到加强,加权后的全体样本再次被⽤来训练下⼀个基本分类器。
adaboost算法基本原理

adaboost算法基本原理Adaboost算法是一种集成学习方法,通过组合多个弱分类器来构建一个强分类器。
它的基本原理是通过逐步调整训练样本的权重,并将每个弱分类器的分类结果进行加权投票,从而得到最终的分类结果。
Adaboost算法的核心思想是通过迭代的方式训练多个弱分类器,并根据每个分类器的性能调整样本的权重,使得那些被错误分类的样本在后续的训练中得到更多的关注。
具体来说,Adaboost算法的训练过程可以分为以下几个步骤:1. 初始化样本权重:开始时,所有样本的权重相等。
2. 迭代训练:对于每次迭代,都会训练一个新的弱分类器。
训练过程中,会根据当前的样本权重来调整训练样本的相对重要性。
3. 弱分类器训练:在每次迭代中,选择一个最佳的弱分类器来训练。
弱分类器通常是一个简单的分类模型,比如决策树桩(decision stump)。
4. 弱分类器权重计算:计算当前弱分类器的权重,该权重取决于分类器的准确性。
准确性越高的分类器,其权重越大。
5. 样本权重更新:根据当前的弱分类器的表现,调整每个样本的权重。
被正确分类的样本权重会减小,被错误分类的样本权重会增加。
6. 结果加权投票:将每个弱分类器的分类结果进行加权投票,权重为其对应的分类器权重。
最终的分类结果是投票得到的分类标签。
通过上述步骤的迭代,Adaboost算法能够不断调整样本的权重,逐渐提升弱分类器的准确性,并且将它们组合成一个强分类器。
Adaboost算法的优点在于,它能够处理多类别分类问题,并且对于噪声数据具有较好的鲁棒性。
此外,Adaboost算法还能够自动选择特征,并且减少了参数的选择。
然而,Adaboost算法也存在一些限制。
首先,它对异常值敏感,异常值可能会对训练过程产生较大的影响。
其次,Adaboost算法对于噪声数据和过拟合问题也比较敏感。
最后,Adaboost算法的训练过程是串行的,无法并行化处理。
总结起来,Adaboost算法是一种通过迭代训练多个弱分类器,并将它们进行加权投票的集成学习方法。
adaboost算法参数

adaboost算法参数摘要:1.简介2.AdaBoost 算法原理3.AdaBoost 算法关键参数4.参数调整策略与技巧5.总结正文:1.简介AdaBoost(Adaptive Boosting)算法是一种自适应提升算法,由Yoav Freund 和Robert Schapire 于1995 年提出。
它通过组合多个弱学习器(决策树、SVM 等)来构建一个更强大的学习器,从而提高分类和回归任务的性能。
2.AdaBoost 算法原理AdaBoost 算法基于加权训练样本的概念,每次迭代过程中,算法会根据当前学习器的性能调整样本的权重。
在弱学习器训练过程中,权重大的样本被优先考虑,以达到优化学习器的目的。
3.AdaBoost 算法关键参数AdaBoost 算法有以下几个关键参数:- n_estimators:弱学习器的数量,影响模型的复杂度和性能。
- learning_rate:加权系数,控制每次迭代时样本权重更新的幅度。
- max_depth:决策树的深度,限制模型复杂度,防止过拟合。
- min_samples_split:决策树分裂所需的最小样本数,防止过拟合。
- min_samples_leaf:决策树叶节点所需的最小样本数,防止过拟合。
4.参数调整策略与技巧- 对于分类问题,可以先从较小的n_estimators 值开始,逐步增加以找到最佳组合。
- learning_rate 的选择需要平衡模型的拟合能力和泛化性能,可以采用网格搜索法寻找最佳值。
- 可以通过交叉验证来评估模型性能,从而确定合适的参数组合。
5.总结AdaBoost 算法是一种具有很高实用价值的集成学习方法,通过调整关键参数,可以有效地提高分类和回归任务的性能。
adaboostclassifier()介绍

adaboostclassifier()介绍摘要:1.AdaBoost 简介2.AdaBoost 算法原理3.AdaBoost 应用实例4.AdaBoost 优缺点正文:1.AdaBoost 简介AdaBoost(Adaptive Boosting)是一种自适应的集成学习算法,主要用于解决分类和回归问题。
它通过组合多个基本分类器(弱学习器)来提高预测性能,可以有效地解决单个分类器准确率不高的问题。
AdaBoost 算法在机器学习领域被广泛应用,尤其是在图像识别、文本分类等任务中取得了很好的效果。
2.AdaBoost 算法原理AdaBoost 算法的核心思想是加权训练样本和加权弱学习器。
在每一轮迭代过程中,算法会根据样本的权重来调整训练样本,使得错误分类的样本在下一轮中拥有更高的权重。
同时,算法会根据弱学习器的权重来调整弱学习器的重要性,使得表现更好的弱学习器在下一轮中拥有更高的权重。
这个过程会一直进行,直到达到预设的迭代次数。
具体来说,AdaBoost 算法包括以下步骤:(1) 初始化:设置初始权重,通常为等权重。
(2) 迭代:a.根据样本权重,对训练样本进行加权抽样。
b.训练弱学习器,得到弱学习器的预测结果。
c.更新样本权重,将错误分类的样本权重增加,正确分类的样本权重减小。
d.更新弱学习器权重,将表现更好的弱学习器权重增加,表现较差的弱学习器权重减小。
(3) 终止条件:达到预设的迭代次数或满足其他终止条件。
(4) 集成:将多个弱学习器进行集成,得到最终的预测结果。
3.AdaBoost 应用实例AdaBoost 算法在许多领域都有广泛应用,例如:(1) 图像识别:在计算机视觉领域,AdaBoost 算法被广泛应用于图像识别任务,尤其是人脸识别、车牌识别等。
(2) 文本分类:在自然语言处理领域,AdaBoost 算法可以用于文本分类任务,例如情感分析、垃圾邮件过滤等。
(3) 语音识别:在语音识别领域,AdaBoost 算法可以用于声学模型的训练,提高语音识别的准确率。
adaboost-elm算法

Adaboost-ELM(Adaptive Boosting - Extreme Learning Machine)算法是一种结合Adaboost和ELM两种算法的集成学习算法。
1. Adaboost算法Adaboost是一种自适应boosting算法,通过迭代训练一系列弱分类器,然后将这些弱分类器加权组合成一个强分类器。
其主要思想是每一次迭代都调整样本的权重,使得前一次分类错误的样本在下一次迭代中得到更多的重视,从而加强对这些样本的分类能力。
具体步骤如下:(1)初始化训练数据的权重,每个样本的权重初始化为1/n,其中n为样本数量。
(2)对每一轮迭代,通过当前的权重分布训练一个弱分类器。
(3)计算该弱分类器的误差率,并更新样本的权重,使得分类错误的样本在下一轮中获得更高的权重。
(4)重复以上步骤,直到达到预设的迭代次数或者分类误差率满足要求。
2. ELM算法ELM是一种快速的单层前向神经网络。
与传统的神经网络算法不同,ELM不需要迭代调整权重和阈值,而是通过随机初始化输入层到隐含层的权重矩阵,然后直接求解输出层到隐含层的权重矩阵,从而极大地提高了训练速度。
其主要步骤如下:(1)随机初始化输入层到隐含层的权重矩阵和偏置向量。
(2)通过随机初始化的权重和偏置,计算隐含层的输出矩阵。
(3)利用随机生成的隐含层输出矩阵,直接求解输出层到隐含层的权重矩阵。
3. Adaboost-ELM算法Adaboost-ELM算法是将Adaboost和ELM两种算法结合起来,形成一种新的集成学习算法。
在每一轮迭代中,Adaboost算法利用ELM作为弱分类器,从而提高了Adaboost算法的准确性和泛化能力。
具体步骤如下:(1)初始化训练数据的权重,每个样本的权重初始化为1/n,其中n为样本数量。
(2)对每一轮迭代,通过当前的权重分布使用ELM作为弱分类器进行训练。
(3)计算该弱分类器的误差率,并更新样本的权重,使得分类错误的样本在下一轮中获得更高的权重。
adaboost算法参数

adaboost算法参数【原创版】目录1.AdaBoost 算法概述2.AdaBoost 算法的参数3.参数的作用及对算法性能的影响4.实际应用中的参数选择正文一、AdaBoost 算法概述AdaBoost(Adaptive Boosting)算法是一种自适应的集成学习算法,它可以将多个基本分类器(如决策树、SVM 等)组合成一个更强的集成分类器。
AdaBoost 算法的主要思想是加权训练样本和加权弱学习器,以提高分类准确率。
它具有较强的泛化能力,可以有效地解决数据不平衡和过拟合问题。
二、AdaBoost 算法的参数AdaBoost 算法有两个主要的参数:正则化参数α和迭代次数 T。
1.正则化参数α:α是一个超参数,用于控制弱学习器的权重。
它决定了每个训练样本对应的弱学习器的权重,从而影响到最终集成分类器的性能。
较小的α值会使得弱学习器更关注误分类的训练样本,提高模型的泛化能力;较大的α值则会使得弱学习器更关注分类准确的训练样本,提高模型在训练集上的准确率。
2.迭代次数 T:T 表示 AdaBoost 算法迭代训练的次数。
每次迭代都会根据当前弱学习器的预测错误率来生成一个新的训练样本分布,使得后续的弱学习器更加关注误分类的训练样本。
增加迭代次数 T 可以提高模型的准确率,但也会增加计算复杂度。
三、参数的作用及对算法性能的影响AdaBoost 算法的参数对模型的性能具有重要影响。
合适的参数设置可以使得模型在训练集和测试集上都取得较好的性能,而过度调参则可能导致模型过拟合或欠拟合。
正则化参数α的取值影响着弱学习器的权重分配,从而影响到模型的泛化能力。
较小的α值会使得弱学习器更关注误分类的训练样本,提高模型的泛化能力;较大的α值则会使得弱学习器更关注分类准确的训练样本,提高模型在训练集上的准确率。
迭代次数 T 的取值影响着模型的训练过程。
增加迭代次数可以使得模型更加关注误分类的训练样本,提高模型的准确率;但过多的迭代次数会增加计算复杂度,可能导致模型过拟合。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Gm ( x) X {1, 1}
(b) 计算 Gm(x)在训练数据集上的分类误差率
em P (Gm ( xi ) yi ) wmi I (Gm ( xi ) yi )
i 1
N
(公式 1)
(c) 计算弱分类器 Gm(x)的系数
m log
(d) 更新训练数据的权值分布
G( x) sign[ f3 ( x)] sign[0.4236G1 ( x) 0.6496G2 ( x) 0.7514G3 ( x)]
注意,G1(x),G2(x)和 G3(x),是一个 sign 函数,从图像看是一个方波图,而最终分类器 G(x)也是一个方波图,由三个波形图叠加合成。从信号的角度看,这是振幅叠加。G1(x),G2(x)和 G3(x)都是弱分类器,分类正确率仅大于 0.5,但线性组合而成的分类器 G(x)正确率是 100%,是一 个强分类器。
w1i I (G1 ( xi ) yi )
i 1
10
1 I (G1 ( xi ) yi ) 0.3 , i 1 10
10
1 e1 1 log =0.4236。 2 e1
(d) 更新训练数据的权值分布:
D2 ( w21 , w22 , w2i
, w210 )
w1i exp( 1 yi G1 ( xi )), i 1, 2, ,10 2 D2 (0.07143, 0.07143, 0.07143, 0.07143, 0.07143, 0.07143, f1 ( x ) 0.4236G1 ( x)
提升方法(boosting)详解
作者博客:@灵魂机器 /soulmachine 最后更新日期:2012-12-11 提升方法(boosting)是一种常用的统计学习方法,应用广泛且有效。在分类问题中,它通过 改变训练样本的权重,学习多个分类器,并将这些分类器进行线性组合,提高分类的性能。 本章首先介绍提升方法的思路和代表性的提升算法 AdaBoost,然后通过训练误差分析探讨 AdaBoost 为什么能够提高学习精度,并且从前向分布加法模型的角度解释 AdaBoost,最后叙述提 升方法更具体的事例——提升术 (boosting tree) 。 AdaBoost 算法是 1995 年由 Freund 和 Schapire 提 出的,提升树是 2000 年由 Friedman 等人提出的。
1
Adaboost 算法基本原理
1.1 提升方法的基本思路
提升方法是基于这样一种思想:对于一个复杂任务来说,将多个专家的判断进行适当的综合 所得出的判断, 要比其中任何一个专家单独的判断好。 通俗点说, 就是 “三个臭皮匠顶个诸葛亮” 。 Leslie Valiant 首先提出了“强可学习(strongly learnable) ”和“弱可学习(weakly learnable) ” 的概念,并且指出:在概率近似正确(probably approximately correct, PAC)学习的框架中,一个概 念(一个类) ,如果存在一个多项式的学习算法能够学习它,并且正确率很高,那么就称这个概念 是强可学习的,如果正确率不高,仅仅比随即猜测略好,那么就称这个概念是弱可学习的。2010 年的图灵奖给了 L. Valiant,以表彰他的 PAC 理论。非常有趣的是 Schapire 后来证明强可学习与弱 可学习是等价的,也就是说,在 PAC 学习的框架下,一个概念是强可学习的充要条件是这个概念 是可学习的。 这样一来, 问题便成为, 在学习中, 如果已经发现了 “弱学习算法” , 那么能否将它提升 (boost) 为“强学习算法” 。大家知道,发现弱学习算法通常比发现强学习算法容易得多。那么如何具体实 施提升, 便成为开发提升方法时所要解决的问题。 关于提升方法的研究很多, 有很多算法被提出。 最具代表性的是 AdaBoost 算法(Adaptive Boosting Algorithm) ,可以说,AdaBoost 实现了 PAC 的 理想。 对于分类问题而言,给定一个训练数据,求一个比较粗糙的分类器(即弱分类器)要比求一个 精确的分类器(即强分类器)容易得多。提升方法就是从弱学习算法出发,反复学习,得到一系列 弱分类器,然后组合这些弱分类器,构成一个强分类器。大多数的提升方法都是改变训练数据的 概率分布(训练数据中的各个数据点的权值分布) ,调用弱学习算法得到一个弱分类器,再改变训 练数据的概率分布,再调用弱学习算法得到一个弱分类器,如此反复,得到一系列弱分类器。 这样,对于提升方法来说,有两个问题需要回答:一是在每一轮如何如何改变训练数据的概 率分布;而是如何将多个弱分类器组合成一个强分类器。 关于第一个问题,AdaBoost 的做法是,提高那些被前几轮弱分类器线性组成的分类器错误分
(b) G2(x)在训练数据集上的误差率 e2=0.07143+0.07143+0.07143+0.07143,第 4,5,6 个实例被 错误分类。 (c) 计算 G2(x)的系数:α2=0.6496。 (d) 更新训练数据的权值分布:
D3 (0.0455, 0.0455, 0.0455, 0.1667, 0.1667, 0.1667, 0.1060, 0.1060, 0.1060, 0.0455) f 2 ( x) 0.4236G1 ( x) 0.6496G2 ( x)
0.16667, 0.16667, 0.16667, 0.07143)
分类器 sign[f1(x)]在训练数据集上有 3 个误分类点,因此,继续迭代。 当 m=2,进行第二轮迭代 (a) 在权值分布为 D2 的情况下, 阀值 v 取 8.5 时分类误差率最低, 故基本分类器 G2(x)=sign(x8.5)。
类的的样本的权值。这样一来,那些没有得到正确分类的数据,由于权值加大而受到后一轮的弱 分类器的更大关注。 于是, 分类问题被一系列的弱分类器 “分而治之” 。 至于第二个问题, AdaBoost 采取加权多数表决的方法。具体地,加大分类误差率小的弱分类器的权值,使其在表决中起较大 的作用,减小分类误差率大的弱分类器的权值,使其在表决中起较小的作用。 AdaBoost 的巧妙之处就在于它将这些想法自然而然且有效地实现在一种算法里。
1.3 AdaBoost 的例子
例 1 给定如表 1 所示训练数据。假设弱分类器由 G(x)=sign(x-v)产生,其中 v 为常量,表示 阀值。试用 AdaBoost 算法学习一个强分类器。
表 1 训练数据样本
序号 x y
1 0 1
2 1 1
3 2 1
4 3 -1
5 4 -1
6 5 -1
7 6 1
1.2 AdaBoost 算法
输入: 训练数据集 T={(x1,y1),(x2,y2),…,(xN,yN)}, 其中 xi∈X⊆Rn, 表示输入数据, yi∈Y={-1,+1}, 表示类别标签;弱学习算法。 输出:最终分类器 G(x)。 流程: (1) 初始化训练数据的概率分布,刚开始为均匀分布 D1=(w11,w12,…,w1N), 其中 w1i=
wm 1,i
wmi m Z e , Gm ( x)=yi m wmi e m , G ( x) y m i Zm
由此可知,被弱分类器 Gm(x)误分类的样本的权值得以扩大,而被正确分类的样本的权值得以 缩小。因此误分类样本在下一轮学习中起到更大的作用。不改变所给的训练数据,而不断改变训 练数据权值的分布,使得训练数据在基本分类器的学习中起不同的作用,这是 AdaBoost 的一个特 点。 步骤(3) 这里,αm 之和并不等于 1。f(x)的符号决定实例 x 的类别,f(x)的绝对值表示分类的确 信度。利用基本分类器进行线性组合得到最终分类器是 AdaBoost 的另一个特点。
对 AdaBoost 算法作如下说明:
(公式 7)
步骤(1) 初始时假设训练数据集具有均匀分布, 即每个训练样本在弱分类器的学习中作用相同。 步骤(2) (c) αm 表示 Gm(x)在最终分类器中的重要性。 由式(公式 2)可知, 当 em ≤1/2 时, αm≥0, 并且 αm 随着 em 的减小而增大,即意味着误差率越小的基本分类器在最终分类器中的作用越大。 (d) 式(公式 4)可以写成:
分类器 sign[f2(x)]在训练数据集上有 3 个误分类点,因此,继续迭代。 当 m=3,进行第三轮迭代 (a) 在权值分布为 D3 的情况下, 阀值 v 取 5.5 时分类误差率最低, 故基本分类器 G3(x)=-sign(x5.5),注意,这里符号反向了。 (b) G3(x)在训练数据集上的误差率 e3=0.0455+0.0455+0.0455+0.0455=0.1820,第 1,2,3,10 个实 例被误分类。 (c) 计算 G3(x)的系数:α2=0.7514。 (d) 更新训练数据的权值分布:
1 2
1 em em
(公式 2)
Dm 1 ( wm 1,1 , wm 1,1 ,..., wm 1, N )
(公式 3)
wm 1,i
这里,Zm 是规范化因子
wmi exp( m yi Gm ( x )), i 1, 2,..., N Zm
(公式 4)
Z m wmi exp( m yi Gm ( x))
1 , i=1,2,..,N N
Dm 表示在第 m 轮迭代开始前,训练数据的概率分布(或权值分布) ,wmi 表示在第 i 个样本的 权值,
w
i 1
N
mi
1。
(2) 对 m=1,2,…,M, (a) 使用具有权值分布 Dm 的训练数据集进行学习 (任意选一种模型都可以, 例如朴素贝叶斯, 决策树,SVM 等,并且每一轮迭代都可以用不同的模型) ,得到一个弱分类器
exp( yi f ( xi )) Z m
i 1 m 1