归纳迁移学习算法---Adaboost 算法实例解析四
来源:互联网 发布:腾讯视频2017网络剧 编辑:程序博客网 时间:2024/05/29 17:37
在数据的挖掘和分析中,最基本和首要的任务是对数据进行分类,解决这个问题的常用方法是机器学习技术。通过使用已知实例集合中所有样本的属性值作为机器学习算法的训练集,导出一个分类机制后,再使用这个分类机制判别一个新实例的属性,并且可以通过不间断的学习,持续丰富和优化该分类机制,使机器具有像大脑一样的思考能力。
常用的分类方法有决策树分类、贝叶斯分类等。然而这些方法存在的问题是当数据量巨大时,分类的准确率不高。对于这样的困难问题,Boosting及其衍生算法提供了一个理想的解决途径。
Boosting算法是一种把若干个分类器整合为一个分类器的方法,其基本思想是:把一个复杂的分类任务分配给多位专家进行判断。这些专家可能并不是真正的专家,而仅仅是比普通人专业一点,他们称为弱分类器,依据一定机制,综合各位专家的结论,形成强分类器,得到最终的判断。
Boosting算法中应用最为广泛也最为有效的是1995年提出的AdaBoost(Adaptive Boosting,自适应增强)方法,其自适应之处在于前一个基本分类器分错的样本会得到加强,加权后的全体样本再次被用来训练下一个分类器,每一轮训练都会产生一个弱分类器,直到达到某个预订的足够小的错误率或者达到预先定义的最大迭代次数。
具体来说,整个AdaBoost迭代算法分为3步:
- 初始化训练数据的权值分布。如果有N个样本,则每一个训练样本最开始时都被赋予相同的权值:1/N。
- 训练弱分类器。具体训练过程中,如果某个样本点已经被准确地分类,那么在构造下一个训练集中,它的权值就被降低;相反,如果某个样本点没有被准确地分类,那么它的权值就得到提高。然后,权值更新过的样本集被用于训练下一个分类器,整个训练过程如此迭代地进行下去。
- 将各个训练得到的弱分类器组合成强分类器。各个弱分类器的训练过程结束后,加大分类误差率小的弱分类器的权重,使其在最终的分类函数中起着较大的决定作用,而降低分类误差率大的弱分类器的权重,使其在最终的分类函数中起着较小的决定作用。换言之,误差率低的弱分类器在最终分类器中占的权重较大,否则较小。
以下是AdaBoost算法在线训练流程:
离线检测流程图:
AdaBoost与以往Boosting算法不同的是,AdaBoost的各个弱分类器是通过改变数据分布来实现的,每次训练后,根据弱分类器的评价结果,更新样本权重,进而影响下一次训练。使用AdaBoost分类器可以排除一些次要的训练数据特征,将注意力放在关键的特征上面。
下边代码是参考赵春江博客里的一个AdaBoost算法的应用,假定有如下两类样本,一类是Red,一类是Blue,样本分布如下。AdaBoost根据提供的样品进行训练分类器,之后输入新的坐标点(55,25),用来判断输入是Red,还是Blue:
转载出处:http://blog.csdn.net/dcrmg/article/details/53038993
0 0
- 归纳迁移学习算法---Adaboost 算法实例解析四
- 归纳迁移学习算法---Adaboost 算法实例解析
- 归纳迁移学习算法---Adaboost 算法实例解析二
- 归纳迁移学习算法---Adaboost 算法实例解析三
- 归纳迁移学习算法---Adaboost 算法的原理与推导
- Adaboost 算法实例解析
- Adaboost 算法实例解析
- 归纳迁移学习算法---TradaBoost算法
- Adaboost算法原理及实例解析
- 【机器学习笔记之四】Adaboost 算法
- 迁移学习:经典算法解析
- AdaBoost 算法解析
- AdaBoost算法学习
- 机器学习算法-Adaboost
- Adaboost算法学习
- 机器学习-AdaBoost算法
- 机器学习--AdaBoost算法
- 集成学习---AdaBoost算法
- [Android 编译(一)] Ubuntu 16.04 LTS 成功编译 Android 6.0 源码教程
- linux总结07-Ubuntu操作系统root账户密码设置
- C++函数之函数模板浅析
- notepad++插件NppFTPa以及安装vsftpd相关配置
- 教你初步了解红黑树
- 归纳迁移学习算法---Adaboost 算法实例解析四
- 【BZOJ3110】K大数查询(ZJOI2013)-整体二分+线段树
- PAT 1049.数列的片段和
- 哪些中药最清肝明目 这4味中药最牛
- View如何加载到窗口
- 老夏书单第一弹——吉祥纹莲花楼
- 使用字符映射完成简单的对称加密
- floyg最短路径算法
- 雷神:视音频数据处理入门——001