首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

MultiAdaBoost原理与实现

1 引言

各位朋友大家好,欢迎来到月来客栈,我是掌柜空字符。

由AdaBoost算法中分类器权重的计算公式

可知

我们可以得到模型误差与模型权重之间的函数关系,如图1所示。

图 1. 模型误差与模型权重函数关系图

从图1可以看出,当模型误差

大于0.5时,模型权重

将会小于0,而根据式

可知

此时

将会乘以一个小于1的数,从而使得

朝着错误的方向(变小)进行更新,这显然与Adaboost的思想相违背(越容易分错的样本点对应的样本权重越大)。

由于在二分类场景下,我们总能相对容易地找到误差小于0.5(可以近似的看成准确率)的模型,但是随着分类数量的增加初始时模型的误差很难再小于0.5,而这将导致被上一个模型分类错误的样本在下一个模型中同样得不到修正。

图 2. 三分类中迭代次数与测试误差、模型权重和样本权重关系图(图片来自[2])

如图2所示为AdaBoost模型在某个三分类数据集上(训练集和测试集随机划分10次)训练后在测试集上的平均结果。从图2左侧的结果可知,AdaBoost在迭代伊始测试误差便大于0.5,且随着迭代次数的增加最终稳定在0.53左右,也就是说随着迭代过程的增加模型的拟合能力并没有提升。根据图2中间的结果可知,模型误差

先是小于0.5,然后在若干次迭代之后便稳定在了0.5附近,而这也导致模型权重

从一开始的大于0到在若干次迭代后便一直处于0附近,如图2右所示。根据式

可知,当

时,

将会保持不变,进而使得被错分类的样本点得不到修正。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20230201A00C4700?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券