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

系列文章目录

第一章 【机器学习】初识机器学习

第二章 【机器学习】【监督学习】- 逻辑回归算法 (Logistic Regression)

第三章 【机器学习】【监督学习】- 支持向量机 (SVM)

第四章【机器学习】【监督学习】- K-近邻算法 (K-NN)

第五章【机器学习】【监督学习】- 决策树 (Decision Trees)

第六章【机器学习】【监督学习】- 梯度提升机 (Gradient Boosting Machine, GBM)

第七章 【机器学习】【监督学习】-神经网络 (Neural Networks)

第八章【机器学习】【监督学习】-卷积神经网络 (CNN)

第九章【机器学习】【监督学习】-循环神经网络 (RNN)

第十章【机器学习】【监督学习】-线性回归

第十一章【机器学习】【监督学习】-局部加权线性回归 (Locally Weighted Linear Regression, LWLR)

第十二章【机器学习】【监督学习】- 岭回归 (Ridge Regression)

十三、【机器学习】【监督学习】- Lasso回归 (Least Absolute Shrinkage and Selection Operator)

十四、【机器学习】【监督学习】- 弹性网回归 (Elastic Net Regression)

十五、【机器学习】【监督学习】- 神经网络回归 

十六、【机器学习】【监督学习】- 支持向量回归 (SVR)

十七、【机器学习】【非监督学习】- K-均值 (K-Means) 

十八、【机器学习】【非监督学习】- DBSCAN (Density-Based Spatial Clustering of Applications with Noise)十九、【机器学习】【非监督学习】- 层次聚类 (Hierarchical Clustering)二十、【机器学习】【非监督学习】- 均值漂移 (Mean Shift)

二十一、【机器学习】【非监督学习】- 谱聚类 (Spectral Clustering)​​ 


目录

系列文章目录

一、基本定义

(一)、监督学习

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

(三)、监督学习分类算法(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因其简单、有效和适应性强的特点,在机器学习领域得到了广泛的应用和研究。

 

  • 20
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值