Boosting算法,常看常新

集成学习:体现在能够把一些弱学习器集成成为一个强学习器。

(1)弱学习器 vs 强学习器 定义:

强学习器就是准确率更高?仅此而已吗

强学习器的通俗理解就是预测的准确度很高。如果给它足够多的训练样本,那么它最终能够实现任意小的一个错误率。

但是弱学习器的预测准确度很低,可能只比随机猜测好一些(1%),而且有个预测准确率的极限,就是无论再怎样增大样本数量,预测准确度也无法提升了。

实际中,找到一个强学习器可能会很难,但找到弱学习器却很简单,Boosting算法就是能够把不同的(不要求是同一类,可以是神经网络+决策树)弱学习器集成成为强学习器,达到“三个臭皮匠,赛过诸葛亮”的目的。

(2)Boostings算法实例: Adaboost

Adaboost的原理通过调整每轮中错误样本的权重(增大)和弱学习器的权重,在之前的错误上不断迭代,最终的学习器就成为一个比较强的学习器。

Adaboost的优势仅止于此吗?那也不至于成为这样一个写进教科书里的算法。其实另外的优势是,能够很好地防止过拟合。也就是模型在训练集上效果很好后,在测试集上的效果不会下降,反而还能继续提升。

是怎么做到的呢?其实体现在采用了“margin”的思想。回想SVM,最大化样本离分界面的距离,实现一个最优的分割。在boosting论文提到了他的损失函数里其实也包含了这样一个margin,这样就可以让训练数据上的错误率达到零之后,效果还能不断继续改进,不断增大决策的信心。

(3)boosting算法的应用有哪些呢?

比如:人脸图像分割。现在手机拍照里就能够实时检测到人脸,决策一张图片是不是人脸,弱学习器可以就是简单地看人脸特征的某个值是否大于某个threshold,可以简单地用一个条件判断语句来形容。当然效果不太好,但是用到boosting算法就可以很好解决。

另外 XGboost,已成为Kaggle竞赛上的常见获奖算法,是实现了 Gradient Boosting 的算法,计算速度快且耗用内存很小。 作者:幽灵公主喵 https://www.bilibili.com/read/cv14581546?spm_id_from=333.999.0.0 出处:bilibili

【随心记】Boosting算法随想相关推荐

  1. 《机器学习》随心记-周志华版 评估方法

    这学期,将学习周志华老师的<机器学习>这本书,一周两章,每章我都会做上一点笔记,笔记或多或少,或工整或潦草,一切根据我当时的时间和心情而定,简单的定义或者易理解的知识我可能附上定义甚至不写 ...

  2. Boosting算法

    \quad\quadboosting算法是目前工业界广泛使用的基于树的集成算法之一,该算法有诸多的优势,包括对过拟合的处理,对缺失数据的处理,对大多数损失函数的支持等等.不过该算法有诸多的变体,有些也 ...

  3. xgboost 正则项_深入理解Boosting算法(4)-XGBoost

    导语:记得第一次使用XGBoost的时候还是2016年,那会的XGBoost工具还不完善,深度模型还没有怎么样火起来,大家用的最多的还是Sklearn里面的GBDT,或者R语言的GBM.后来在工作中也 ...

  4. [机器学习] Boosting算法4 --- LightGBM介绍与分布式

    [机器学习] Boosting算法1 --- AdaBoost [机器学习] Boosting算法2 --- GBDT [机器学习] Boosting算法3 --- XGBoost [机器学习] Bo ...

  5. [机器学习] Boosting算法2 --- GBDT

    [机器学习] Boosting算法1 --- AdaBoost [机器学习] Boosting算法2 --- GBDT [机器学习] Boosting算法3 --- XGBoost [机器学习] Bo ...

  6. [机器学习] Boosting算法1 --- AdaBoost

    [机器学习] Boosting算法1 --- AdaBoost [机器学习] Boosting算法2 --- GBDT [机器学习] Boosting算法3 --- XGBoost [机器学习] Bo ...

  7. 数据挖掘—K-中心点聚类算法(Java实现)

    K-中心点聚类算法 (1)任意选择k个对象作为初始的簇中心点 (2)指派每个剩余对象给离他最近的中心点所表示的簇 (3)选择一个未被选择的中心点直到所有的中心点都被选择过 (4)选择一个未被选择过的非 ...

  8. boosting算法_集成学习:boosting、BDT、GBDT的概括理解

    boosting是一种集成学习的方法,与bagging并列形成俩中不同的集成学习算法,本文主要概括boosting方法. boosting在训练过程中,它通过改变训练样本的权重,学习多个学习器,然后将 ...

  9. Boosting算法与假设间隔

    Boosting算法与假设间隔 间隔概念 AdaBoost算法 AdaBoost 平均间隔 参考资料 间隔概念 间隔是一种几何度量,能够用于度量分类器预测的可信程度.间隔的两种定义:①样本间隔: 被预 ...

最新文章

  1. MySQL GROUP BY
  2. Centos7安装防火墙firewall
  3. Codeforces 947E/923E Perpetual Subtraction (线性代数、矩阵对角化、DP)
  4. python property方法_Python——property(使一个方法看起来就像类属性一样)
  5. Java类类getPackage()方法及示例
  6. 软件测试工程师和WGT,软件系统测试(WGT)工程师---ATK
  7. 【BZOJ4774】修路 [斯坦纳树]
  8. ASP.NET Core——身份验证UI安装
  9. 浏览器中json的使用 与jquery无关 json2.js
  10. 阶段1 语言基础+高级_1-3-Java语言高级_08-JDK8新特性_第1节 常用函数接口_6_函数式接口作为方法的返回值类...
  11. 如何安装PANABIT?
  12. android仿微信点击好友,安卓开发仿微信联系人列表-机器人列表视图仿微通道聊天多久最底部滑动...
  13. linux命令 - tail:查看文件最后几行的命令
  14. 每个系统管理员都要知道的 30 个 Linux 系统监控工具
  15. 计算机科学与技术的年崭,计算机科学与信息技术学院举行2019届毕业典礼暨表彰大会...
  16. 微信小程序商城项目实战(第七篇:生成订单支付页)
  17. C++求N以内所有的质数
  18. U-Boot1.2.0移植YC2440
  19. Linux安装NS3
  20. bicq php,BICQ   1、首先 软件跟QQ和MSN有很多类似的地方。因为现在 用户群在使用 WEB(ASP,PHP,...) 256万源代码下载- www.pudn.com...

热门文章

  1. 功能兼容IP5407具有DCP协议的2A移动电源充放电管理芯片SM5307
  2. Tracking Learning Detection (TLD)目标跟踪算法原理详解~PPT版
  3. 学习笔记 --- KF、EKF、IKF、ESIKF 公式推导 --Part 1
  4. 数据库连接报错:The server time zone value '�й���׼ʱ��' is unrecognized
  5. java 处理pdb文件格式_科学网—PDB文件格式说明 - 李继存的博文
  6. shell脚本中$0,$1,$2的含义
  7. ffmpeg使用qsv解码碰到的问题
  8. 工作第四五周 : 博客专家哈哈哈
  9. 解决Bitlocker加密暂停无法继续也无法取消
  10. babel源码解析之(@babel/preset-env)