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

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

相关推荐
Orange_sparkle2 分钟前
解决Dify中接入xinference模型无法开关思考模式和使用function calling的问题
人工智能·深度学习·语言模型·chatgpt
xiaozhazha_12 分钟前
低代码与AI技术在企业ERP系统构建中的实践应用——以快鹭云平台为例
人工智能·低代码
明天再做行么14 分钟前
AI 时代,我们是否应该重温极限编程?
人工智能·低代码·极限编程
听情歌落俗20 分钟前
MATLAB3-1变量-台大郭彦甫
开发语言·笔记·算法·matlab·矩阵
Codebee28 分钟前
ood 框架深度解析:OneCode-RAD 跨平台移动开发套件的技术演进之路
人工智能·低代码
量子炒饭大师30 分钟前
收集飞花令碎片——C语言关键字typedef
c语言·c++·算法
SmartBrain33 分钟前
DeerFlow实践:华为ITR流程的评审智能体设计
人工智能·语言模型
澡点睡觉35 分钟前
【数据结构与算法Trip第4站】摩尔投票法
算法
程序员鱼皮40 分钟前
我做了个 AI 文档阅读神器,免费开源!
人工智能·程序员·ai编程
袁庭新1 小时前
职场人为什么必须学AI?
人工智能·aigc