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

前面我们说了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是一个迭代过程,每一步都添加一个新的弱分类器并更新样本权重。这个过程持续进行,直到达到最大迭代次数或者满足某个停止条件(例如,当错误率达到某个阈值以下时)。

相关推荐
阿Y加油吧几秒前
二分查找进阶:旋转排序数组的两道经典题深度解析
数据结构·算法
Rubin智造社1 分钟前
04月12日AI每日参考:企业级AI入口争夺升温,舱驾融合芯片加速落地
人工智能·openai·智能体·anthropic·企业级ai·人工智能+
薛定e的猫咪3 分钟前
2026 年 4 月实测:OpenAI Codex 保姆级教程,从安装到 MCP、Skills 与多智能体协作
前端·数据库·人工智能
想带你从多云到转晴4 分钟前
05、数据结构与算法---栈与队列
java·数据结构·算法
無限進步D5 分钟前
蓝桥杯赛后总结
算法·蓝桥杯·竞赛
d1z8886 分钟前
(二十)32天GPU测试从入门到精通-llama.cpp CPU/GPU 混合推理day18
人工智能·llama·显卡·llama.cpp
QuZero9 分钟前
ReentrantLock principle
java·算法
帐篷Li10 分钟前
MiniMax Music 2.6 博客素材分析文档
人工智能
sp_fyf_202410 分钟前
【大语言模型】 AVGen-Bench:一个用于文本到音频-视频生成的多粒度、任务驱动型评估基准
人工智能·深度学习·神经网络·机器学习·语言模型·数据挖掘·音视频
窝子面10 分钟前
NestJs+MongoDB+Deepseek+Langchain实现ai聊天助手
javascript·数据库·人工智能·mongodb