机器学习之【提升方法】
机器学习【提升方法】
一、Adaboost的起源
1.强可学习与弱可学习
1984年,Kearns 和 Valiant 提出的强可学习(strongly learnable)和弱可学习(weakly learnable)
• 在概率近似正确(probably approximately correct, PAC)学习的框架中,一个概念(类),如果存在一个多项式的学习算法能够学习它,并且正确率很高,称这个概念是强可学习的;
• 一个概念(类),如果存在一个多项式的学习算法能够学习它,学习的正确率仅比随机猜测略好,则称这个概念是弱可学习的。
• 1989年, Schapire 证明:
• 在PAC学习的框架下,一个概念是强可学习的充分必要条件是这个概念是弱可学习。
二、怎样实现弱学习转为强学习
例如:学习算法A在a情况下失效,学习算法B在b情况下失效,那么在a情况下可以用B算法,在b情况下可以用A算法解决。这说明通过某种合适的方式把各种算法组合起来,可以提高准确率。
为实现弱学习互补,面临两个问题:
(1)怎样获得不同的弱分类器?
(2)怎样组合弱分类器?
1.怎样获得不同的弱分类器?
◆使用不同的弱学习算法得到不同的基本学习器
◆使用相同的弱学习算法,但用不同的参数
----◆K-Means不同的K,神经网络不同的隐含层…
◆相同输入对象的不同表示凸显事物不同的特征
◆使用不同的训练集
◆装袋(Bagging)
◆提升(Boosting)
Bagging
- 也称为自举汇聚法(Bootstrap AGGregatIGN)
- 从原始数据集选择S次后得到S个新数据集
- 新数据集和原数据集的大小相等
- 每个数据集都是通过在原始数据集中有放回地随机选择样本而得到的。
- S个数据集建好之后,将某个学习算法分别作用于每个数据集就得到S个分类器。
- 选择分类器投票结果中最多的类别作为最后的分类结果。
- 改进的Bagging算法,如随机森林等。
原数据集:{(x 1 , y 1 ), (x 2 , y 2 ), (x 3 , y 3 ), (x 4 , y 4 )} u 0 = (1, 1, 1, 1)
采样1: {(x 2 , y 2 ), (x 2 , y 2 ), (x 3 , y 3 ), (x 4 , y 4 )} u 1 = (0, 2, 1, 1)
采样2: {(x 1 , y 1 ), (x 1 , y 1 ), (x 1 , y 1 ), (x 4 , y 4 )} u 2 = (3, 0, 0, 1)
Bagging的弊端
• Bagging的可能弊端?
学习器是根据分布大致相同的数据学习的,它们学到的规则可能都是一样的!
• 能否控制权重u,让各个子模型学到不同的规则?
Boosting的基本思想:一个一个地训练子模型,在下一次训练的时候,当前分类错误的样本的权重增大,分类正确的样本的权重减小。那么下一次训练的时候就可以更加关注当前分类错误的样本。
2.怎样组合弱分类器?
◆多专家组合
一种并行结构,所有的弱分类器都给出各自的预测结果,通过“组合器”把这些预测结果转换为最终结果。如投票(voting)及其变种、混合专家模型
◆多级组合
一种串行结构,其中下一个分类器只在前一个分类器预测不够准(不够自信)的实例上进行训练或检测。如级联算法(cascading)
三、Adaboost的提出
• 1990 年 , Schapire 最 先 构 造 出 一 种 多 项 式 级 的 算 法 , 即 最 初 的Boosting算法;
• 1993年,Drunker和Schapire第一次将神经网络作为弱学习器,应用Boosting算法解决OCR问题;
• 1995年,Freund和Schapire提出了Adaboost (Adaptive Boosting)算法,效率和原来Boosting算法一样,但是不需要任何关于弱学习器性能的先验知识,可以非常容易地应用到实际问题中。
四、Adaboost的基本概念
- 两个问题如何解决:
• 每一轮如何改变训练数据的权值或概率分布?
• AdaBoost:提高那些被前一轮弱分类器错误分类样本的权值,降低那些被正确分类样本的权值
• 如何将弱分类器组合成一个强分类器?
• AdaBoost:加权多数表决,加大分类误差率小的弱分类器的权值,使其在表决中起较大的作用,减小分类误差率大的弱分类器的权值,使其在表决中起较小的作用。
五、Adaboost算法
Adaboost算法说明
六、示例
七、Boosting illustration
相关文章
- 机器学习笔记,统计模型觉得难,不妨来看点概念吧
- 机器学习超参调优:常用8种方法
- 机器学习模型评估的方法总结(回归、分类模型的评估)
- python归一化函数_机器学习-归一化方法
- 10个机器学习中常用的距离度量方法
- 机器学习中分类准确率的评估方法
- 统计机器学习方法 for NLP:基于CRF的词性标注
- Science Advances:社会和健康科学中用于描述、预测和因果推理的机器学习方法
- CADD、人工智能和机器学习在药物发现中的应用:方法概述
- 深度解析机器视觉四大光学成像方法
- halcon是什么软件?机器视觉软件HALCON中文版,HALCON下载安装
- 图解 72 个机器学习基础知识点
- 伊利诺伊理工舒凯招收全奖博士生,数据挖掘/机器学习/NLP/人工智能方向
- 线上分享 | 入门机器学习,掌握学习方法迫在眉睫!
- 【2023新书】机器学习集成方法
- TensorFlow 机器学习秘籍第二版:6~8
- 使用sklearn机器学习库实现线性回归详解编程语言
- Linux下查看机器名称的简便方法(linux查看机器名称)
- Linux系统如何修改机器名(linux修改机器名)
- 远程Linux机器上执行命令的新方法(远程执行命令linux)
- MIT研发的柔性机器鱼与真正的鱼群融为一体
- 加强版 Captcha 让机器彻底蒙圈,正误验证码傻傻分不清