Adaboost算法

Adaboost 算法的思想是合并多个“弱”分类器的输出以产生有效分类。其主要步骤为 :

(1)首先给出弱学习算法和样本空间(x, y) ,从样本空间中找出 m 组训练数据,每组训练数据的权重都是 1 /m。X是特征向量,Y是标签,二分类标签一般分为-1和+1。

(2)用弱学习算法迭代运算 T 次,每次运算后都按照分类结果更新训练数据权重分布,对于分类失败的训练个体赋予较大权重,下一次迭代运算时更加关注这些训练个体。弱分类器通过反复迭代得到一个分类函数序列 f1, f2 , … , fT ,每个分类函数赋予一个权重,分类结果越好的函数,其对应权重越大。利用上一个弱分类器的准确率和权重来调整数据,获得下一个分类器。

(3)T 次迭代之后,最终强分类函数 F 由弱分类函数加权得 。

这里的弱分类器可以使用任意的分类器如:K-NN分类器、朴素贝叶斯分类器、决策树分类器、logistic回归分类器等等,作为弱分类器,简单分类器的效果更好。

错误率:未正确样本数 / 所有样本数

        \varepsilon = \frac{error}{all}

alpha:每个弱分类器一个权重值α,基于该分类器错误率来计算α

        \alpha = \frac{1}{2}ln(\frac{1-\varepsilon}{\varepsilon })

 权重向量D:每个样本初始化一个权重值,构成向量D,使用α不断更新D到下一个分类器

        D_{i}^{i+1} = \frac{D_{i}^{i}e^{-\alpha }}{sum(D)}

该分类器权重向量D和预测情况 决定了下一个弱分类器的情况。

具体步骤如下:

数据选择与网络初始化 ;

随机选择m组训练数据;

初始化分布权值D(I)=1/m;

弱分类器预测;

 训练n个弱分类器,得到预测序列g(t)的预测误差和et;

计算预测序列权值;

根据预测序列g(t)的预测误差et计算序列的权重alpha;

测试权重调整,根据上一轮调整下一轮训练样本的权重;

强分类函数,训练n轮后得到n组弱分类函数f(gt,at),得到强分类函数h(x)。

这里简单介绍一下BP-Adaboost ,因为弱分类器很多类别,所以效果还是要做实验来分析。

BP-Adaboost 

 BP-Adaboost 模型即把 BP 神经网络作为弱分类器,反复训练 BP 神经网络预测样本输出,通过 Adaboost 算法得到多个 BP 神经网络弱分类器组成的强分类器。

SVM-Adaboost

KNN-Adaboost

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值