二十九、【人工智能】【机器学习】【监督学习】- AdaBoost算法模型

192 阅读6分钟

目录

一、基本定义

(一)、监督学习

(二)、监督学习的基本流程

(三)、监督学习分类算法(Classification)

二、 AdaBoost

(一)、定义

(二)、基本概念

(三)、训练过程概要

(四)、训练过程详细解释

1、 初始化样本权重

2、迭代训练弱分类器

3、更新样本权重

4、构建强分类器

(五)、特点

(六)、适用场景

(七)、扩展

三、总结


一、基本定义

(一)、监督学习

监督学习(Supervised Learning)是机器学习中的一种主要方法,其核心思想是通过已知的输入- 输出对(即带有标签的数据集)来训练模型,从而使模型能够泛化到未见的新数据上,做出正确的预测或分类。在监督学习过程中,算法“学习”的依据是这些已标记的例子,目标是找到输入特征与预期输出之间的映射关系。

(二)、监督学习的基本流程

数据收集:获取包含输入特征和对应正确输出标签的训练数据集。
数据预处理:清洗数据,处理缺失值,特征选择与转换,标准化或归一化数据等,以便于模型学习。
模型选择:选择合适的算法,如决策树、支持向量机、神经网络等。
训练:使用训练数据集调整模型参数,最小化预测输出与实际标签之间的差距(损失函数)。
验证与调优:使用验证集评估模型性能,调整超参数以优化模型。
测试:最后使用独立的测试集评估模型的泛化能力,确保模型不仅在训练数据上表现良好,也能在未见过的新数据上做出准确预测。

(三)、监督学习分类算法(Classification)

定义:分类任务的目标是学习一个模型,该模型能够将输入数据分配到预定义的几个类别中的一个。这是一个监督学习问题,需要有一组已经标记好类别的训练数据,模型会根据这些数据学习如何区分不同类别。
例子:垃圾邮件检测(垃圾邮件 vs. 非垃圾邮件)、图像识别(猫 vs. 狗)。


二、 AdaBoost

(一)、定义

AdaBoost是一种集成学习方法,最初由Yoav Freund和Robert Schapire在1995年提出。它是一种迭代的算法,用于提升弱分类器的表现,将其组合成一个强分类器。弱分类器是指那些仅比随机猜测略好的分类器,而AdaBoost通过加权组合这些弱分类器,可以得到一个表现显著优于单个弱分类器的强分类器。

(二)、基本概念

  • 弱分类器 :能够对数据集进行分类,但是准确率略高于随机猜测的分类器。
  • 强分类器 :由多个弱分类器组合而成,能够对数据集进行更准确的分类。
  • 样本权重 :在AdaBoost中,每个训练样本都有一个权重,错误分类的样本权重会被提高,以便后续的弱分类器更加关注这些样本。
  • 弱分类器权重 :每个弱分类器在最终强分类器中的贡献程度,是由其在训练集上的分类错误率决定的。

(三)、训练过程概要

  1. 初始化样本权重 :最初,所有训练样本的权重相等。
  2. 训练弱分类器 :在每一轮中,使用当前的样本权重训练一个弱分类器。
  3. 计算弱分类器误差率 :评估弱分类器在带权重训练集上的分类错误率。
  4. 更新弱分类器权重 :根据分类器的误差率,计算其在强分类器中的权重。
  5. 更新样本权重 :分类错误的样本权重增加,正确分类的样本权重降低,以便下一轮训练时更多关注错误分类的样本。
  6. 迭代训练 :重复上述过程T次(T是预设的迭代次数或直到达到某个停止条件),每次迭代都会产生一个新的弱分类器。
  7. 组合弱分类器 :最终,所有弱分类器按照其权重被组合成一个强分类器。

(四)、训练过程详细解释

1、 初始化样本权重

  • 开始时,给定训练数据集 D={(x1,y1),(x2,y2),...,(xN,yN)},其中 xi 是特征向量,yi是对应的类标。
  • 每个样本 i 的初始权重 设为 ,这意味着所有样本在第一轮中具有相同的权重。

2、迭代训练弱分类器

对于 t=1,2,...,T(T是预设的迭代次数或弱分类器的数量):

  1. 训练弱分类器 :使用当前的样本权重 wi(t),训练一个弱分类器 ht(x)。弱分类器的目标是使加权训练误差最小。
  2. 计算分类器错误率 :计算弱分类器 htht​ 在带权重的训练数据集上的错误率 ϵt:

其中,2 是指示函数,如果条件成立返回1,否则返回0。

3. 计算分类器权重 :基于分类器的错误率 ϵt​,计算分类器 htht​ 的权重 αt:

如果 ϵt≥0.5,则舍弃该分类器,因为其性能不优于随机猜测。

3、更新样本权重

根据弱分类器 ht的性能,更新下一个迭代中每个样本的权重:

其中,Zt 是规范化因子,确保所有样本权重之和为1:

4、构建强分类器

当所有 T 个弱分类器都被训练完毕,最终的强分类器 H(x) 为:

(五)、特点

  • 自适应性 :AdaBoost能够自动调整训练样本的权重,使分类器更关注难以分类的样本。
  • 鲁棒性 :对异常值和噪声有较好的抵抗能力,因为它会自动减少异常值的权重。
  • 易于实现 :基于简单的弱分类器,如决策树桩,易于实现和应用。
  • 潜在过拟合 :在迭代次数过多时,AdaBoost可能会过度拟合训练数据,需要适当控制迭代次数或采用其他正则化技术。

(六)、适用场景

  • 二分类问题 :AdaBoost最初设计用于解决二分类问题,但也可以通过One-vs-One或One-vs-All策略扩展到多分类问题。
  • 特征选择 :由于AdaBoost能够突出重要特征,因此它也被用于特征选择。
  • 数据不平衡问题 :通过调整样本权重,AdaBoost能够处理类别不平衡的数据集。

(七)、扩展

  • 多类AdaBoost :通过扩展AdaBoost到多类分类问题,如AdaBoost.M1、AdaBoost.MH和AdaBoost.MR。
  • 回归问题 :AdaBoost可以被修改以解决回归问题,如AdaBoost.R1和AdaBoost.R2。
  • 其他集成学习方法 :AdaBoost启发了其他集成学习方法,如Gradient Boosting Machine(GBM)和XGBoost,这些方法在AdaBoost的基础上进行了改进,以提高性能和处理更复杂的数据。

三、总结

AdaBoost因其简单、有效和适应性强的特点,在机器学习领域得到了广泛的应用和研究。