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

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

相关推荐
磊磊落落37 分钟前
编写一个 VS Code 扩展:将 Copilot 支持的大模型通过 REST API 方式暴露出来
人工智能
格林威40 分钟前
多相机拼接:消除重叠区域的6个核心方法,附OpenCV+Halcon实战代码!
人工智能·数码相机·opencv·计算机视觉·机器人·视觉检测·制造
Aspect of twilight40 分钟前
LeetCode华为2025年秋招AI大模型岗刷题(四)
算法·leetcode·职场和发展
小白量化2 小时前
聚宽策略分享-1年化98国九条后中小板微盘小改
大数据·数据库·人工智能·量化·qmt
张拭心6 小时前
Cursor 又偷偷更新,这个功能太实用:Visual Editor for Cursor Browser
前端·人工智能
吴佳浩7 小时前
大模型 MoE,你明白了么?
人工智能·llm
im_AMBER8 小时前
Leetcode 74 K 和数对的最大数目
数据结构·笔记·学习·算法·leetcode
Blossom.1188 小时前
基于Embedding+图神经网络的开源软件供应链漏洞检测:从SBOM到自动修复的完整实践
人工智能·分布式·深度学习·神经网络·copilot·开源软件·embedding
t198751288 小时前
电力系统经典节点系统潮流计算MATLAB实现
人工智能·算法·matlab
万悉科技8 小时前
比 Profound 更适合中国企业的GEO产品
大数据·人工智能