机器学习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算法的解释,希望能帮助到各位。

相关推荐
通信小呆呆13 小时前
当算法有了“五感”:多模态数据融合如何向人体感官协同学习?
人工智能·学习·算法·机器学习·机器人
xiao5kou4chang6kai414 小时前
MATLAB机器学习、深度学习--从数据预处理到模型训练
深度学习·机器学习·matlab·数据预处理
benben04414 小时前
强化学习之DQN算法族(基于gymnasium开发)
算法
code_pgf15 小时前
端到端自动驾驶 BEV stack
人工智能·机器学习·自动驾驶
何以解忧,唯有..15 小时前
Go语言循环语句详解:for、range与循环控制
开发语言·算法·golang
Godspeed Zhao16 小时前
Level 4自动驾驶系统设计3——功能与场景3
人工智能·机器学习·自动驾驶
想吃火锅100516 小时前
【leetcode】88.合并两个有序数组js
算法
生成论实验室16 小时前
机器人:一个自主运动的系统
人工智能·算法·语言模型·机器人·自动驾驶·agi·安全架构
Qres82116 小时前
算法复键——树状数组
数据结构·算法