机器学习Adaboost算法----SAMME算法和SAMME.R算法

Adaboost算法----SAMME算法

自适应提升机(Adaptive Boosting,简称 AdaBoost)是一种集成学习算法,通过组合多个弱分类器(弱分类器有多种选择,如决策树)来构建一个强分类器。AdaBoost在Python环境SKlearn里主要包含了SAMME算法和SAMME.R算法。

AdaBoost SAMME算法的核心思想是逐步调整训练数据的权重,使得模型能够专注于那些难以分类的样本。基于超声雷达回波数据对目标障碍物进行高低分类属于二分类机器学习任务,使用AdaBoost算法比较合适。

在使用AdaBoost对目标数据集进行训练时,首先会对所有目标样本进行权重初始化,假设当前目标样本数量为N个,则单个样本的初始权重为:

在第一次迭代时,第一个弱分类器会根据当前的所有训练样本进行预测,并筛选出所有被错误分类的样本,然后用错误分类的样本的权重计算当前弱分类器的加权误差:

并用加权误差计算当前弱分类器的最终权重:

\\alpha_t 即为当前弱分类器的最终权重,并用于更新样本权重作为下一个弱分类器的样本权重,以此进行迭代计算:

使用adaboost算法进行二分类任务模型训练时,算法会把所有样本标签转为 1 或 -1 用于训练。 模型训练好后用于对目标cluster进行高低分类预测时,每一个弱分类器都会对目标障碍物进行预测并输出预测结果(预测结果为 1或-1),最后对所有弱分类器的输出结果进行相加,根据结果的正负作为最终的预测结果(大于0为正样本,小于0为负样本)。为避免出现所有弱分类器和为0的情况(一般不会出现),弱分类器个数可设为奇数。

Adaboost算法----SAMME.R算法

在AdaBoost中使用SAMME.R算法(Stagewise Additive Modeling using a Multi-class Exponential loss function with Real-valued predictions)进行二分类时,基分类器(决策树)的行为与SAMME有本质区别:

1. ​​SAMME.R的核心要求​​

  • SAMME.R要求基分类器能够输出类别概率(即软分类),而非离散的类别标签。
  • 算法利用这些概率计算加权的类别概率估计,并直接更新加法模型的输出(无需显式的基分类器权重αt)。

2. ​​决策树叶节点的输出​​

  • ​在训练时​​:决策树会按照标准方法构建(例如使用加权基尼指数或加权熵选择分裂),但在叶节点处需要输出​​属于每个类别的概率估计​​(而不仅仅是多数票类别)。
  • ​概率计算方式​ :
    • 对于二分类问题,假设叶节点包含样本的权重向量wi和类别标签(0或1)。

    • 计算该叶节点中每个类别的权重和:

      复制代码
      S0​=∑​wi​,yi​=0
      S1​=∑​wi​,yi​=1
    • 叶节点输出概率为归一化的权重比例:

      复制代码
      p0​=S0​/(S1+​S0)​​,p1​=S1/(S0+​S1)​​
    • 因此,叶节点输出是一个概率向量,例如[p_0, p_1](二分类时两个值)。

3. ​​AdaBoost SAMME.R的训练过程​​

  • 算法根据基分类器输出的概率pt(x)计算加权概率估计,并更新加法模型:

    复制代码
    Fk​(x)←Fk​(x)+(K−1)(logpt​(k∣x)−K1​j=1∑K​logpt​(j∣x))

    其中K为类别数(二分类时K=2)。

  • 注意:不需要计算基分类器的权重αt,因为直接使用概率输出。

以上就是Adaboost算法----SAMME算法和SAMME.R算法的解释,希望能帮助到各位。

相关推荐
奇树谦19 小时前
朴素贝叶斯(Naive Bayes)详解
机器学习·1024程序员节
企业数字化笔记20 小时前
视频人体姿态怎么做三维可视化?2D关键点、深度局限与技术选型
人工智能·算法·音视频
古希腊掌管代码的神THU20 小时前
为什么DPO中chosen/rejected概率同时下降?
人工智能·深度学习·机器学习·自然语言处理·面试
?abc!21 小时前
(数组)581. 最短无序连续子数组
数据结构·算法·leetcode
临床数据科学和人工智能兴趣组1 天前
提取匹配模式的第一个值
人工智能·r语言·1024程序员节·r语言-4.2.1·临床试验·临床科研·科学问题
2601_967980111 天前
Python开发的顶级开源项目全景图:2025-2026年生态概览
python·机器学习·开源项目·数据科学·生态概览
小郎君6581 天前
MPTT树复选框的半选状态:一棵百万节点树从递归到计数器,再到区间覆盖
算法
酌沧1 天前
MemT让记忆成为模型内生能力
jvm·人工智能·算法
Shimeri1 天前
越卷越像:我用遗传算法做了个"内卷"实验
算法·three.js·数据可视化·遗传算法·进化算法
2601_967980111 天前
奇异值分解(SVD)理论与python实现
机器学习·奇异值分解·图像压缩·矩阵分解·python实现