机器学习模型——集成算法(三)

前面我们说了bagging算法和Boosting算法 接下来我们学习Adaboost算法

Adaboost基本概念:

AdaBoost (Adaptive Boosting,自适应提升): 算法原理是将多个弱学习器进行合理的结合,使其成为一个强学习器。

Adaboost采用迭代的思想,继承了Boosting算法,每次迭代只训练一个弱学习器,训练好的弱学习器将参与下一次迭代。

也就是说,在第N次迭代中,一共有N个弱学习器,其中N-1个是以前训练好的,其各种参数都不会改变,本次训练第N个学习器。

其中弱学习器的关系是第N个弱学习器更可能分对前N-1个弱学习器没分对的数据,最终分类输出要看这N个分类器的综合效果。

Adaboost算法流程:

初始化训练数据的权重分布。每个训练样本最初都被赋予相同的权重1/N,其中N是训练样本的数量。

对于每一个弱分类器: a. 使用带权重的训练数据进行训练,得到一个弱分类器。 b. 计算该弱分类器在训练数据上的错误率,即被错误分类的样本权重之和除以所有样本权重之和。 c. 更新训练样本的权重,降低正确分类样本的权重,提高错误分类样本的权重。这样,后续的弱分类器会更加关注那些被前一个弱分类器错误分类的样本。 d. 计算该弱分类器的权重,即其错误率的对数值的相反数。错误率越低,弱分类器的权重越高。

将所有弱分类器按照其权重进行加权求和,得到最终的强分类器。

对于新的输入样本,将其分别送入所有的弱分类器进行预测,然后将各个弱分类器的预测结果按照其权重进行加权求和,得到最终的预测结果。

Adaboost的工作方式:

弱分类器:Adaboost不需要精确的预测模型,而是使用简单的、准确率略高于随机猜测的弱分类器。这些弱分类器通常在训练数据的子集上训练得到,并且可以是基于各种特征的简单决策规则或分类器。

权重更新:在每一轮迭代中,Adaboost根据当前弱分类器的表现调整训练样本的权重。分类错误的样本将获得更高的权重,而正确分类的样本将获得较低的权重。这样,后续的弱分类器将更加关注难以分类的样本。

弱分类器权重:每个弱分类器都有一个权重,该权重基于其在加权训练数据上的性能。错误率越低的弱分类器将获得更高的权重。

加权投票:在最终的决策中,每个弱分类器的预测结果将按其权重进行加权,通过加权投票的方式得到最终的预测结果。这确保了性能较好的弱分类器对最终结果有更大的影响。

迭代过程:Adaboost是一个迭代过程,每一步都添加一个新的弱分类器并更新样本权重。这个过程持续进行,直到达到最大迭代次数或者满足某个停止条件(例如,当错误率达到某个阈值以下时)。

相关推荐
Lecea_L1 分钟前
🔍 找到数组里的“节奏感”:最长等差子序列
java·算法
飞哥数智坊2 分钟前
从零构建自己的MCP Server
人工智能
是Dream呀4 分钟前
ResNeXt: 通过聚合残差变换增强深度神经网络
人工智能·算法
项目申报小狂人15 分钟前
CUDA详细安装及环境配置——环境配置指南 – CUDA+cuDNN+PyTorch 安装
人工智能·pytorch·python
林泽毅15 分钟前
SwanLab Slack通知插件:让AI训练状态同步更及时
深度学习·机器学习·强化学习
suke28 分钟前
一文秒懂AI核心:Agent、RAG、Function Call与MCP全解析
人工智能·程序员
oil欧哟33 分钟前
😎 MCP 从开发到发布全流程介绍,看完不踩坑!
人工智能·typescript·node.js
学习2年半38 分钟前
53. 最大子数组和
算法
Code_流苏1 小时前
AI知识补全(十四):零样本学习与少样本学习是什么?
人工智能·元学习·少样本学习·零样本学习·语义嵌入