python机器学习 - 走进集成学习的世界(装袋法 - bagging,自适应增强 - adaptive boosting)

source:python machine learning 3rd

集成学习是机器学习领域相当重要的一个概念,本篇文章中所关注的集成学习就是使用多个模型,采用同一训练集进行训练后,对样本运行多数投票的方式来确定分类,如果你不关注多数投票而是渴求更加高深莫测的算法,那么这篇基础性的文章将不值得你花费时间

如果完全掌握集成学习的是你的目标,阅读原著会带来更好的效果:)

集成学习,who are you?


我们对集成学习首先要有一个整体的把握和初步的了解,为此,以下几个概念需要重点掌握

集成(ensembles)

集成顾名思义,就是多个不同的模型所构成的集合,而如何获得集成则因具体的集成学习算法决定,这将在我们后文中提到。

总体而言,有两种思路可以帮助我们获得集成:

  • 同一数据集,同一训练集,不同预测模型,比如使用逻辑回归,SVM,适应机等算法模型对同一组训练集进行训练后,这些不同的算法模型就组成了一组集成
  • 同一数据集,不同训练集,同一预测模型, 最典型的就是随机森林,将训练集分成多个子集,模型算法相同,不同子集训练出来的各个模型组成一组集成

多数投票

多数投票是集成学习中最有效,最常用的决策机制,而且它同样可以运用到多类分类问题中:
多数

  • 绝对多数(majority):应用于二分类问题,样本分类结果为总投票中超过50%的分类
  • 相对多数(plurality):应用于多类分类问题,样本分类结果为总投票中相对其它投票而言票数最多的分类

wrap up

拥有了集成和多数投票,集成学习算法对新数据进行预测就是顺水推舟的事情了,一图以弊之:
预测

集成学习,要你何用?

大幅排版已经飘过,但谁能告诉我为什么要使用这玩意?

不妨假设一个集成中有11个模型,平均预测准确度为0.25,于是,将这个模型视为一个11重伯努利问题,开动数学脑筋,我们可以将预测错误的概率用如下方式表达:
P ( y ≥ k ) = ∑ k n ⟨ k n ⟩ ε k ( 1 − ε ) n − k = ε ensemble  P(y \geq k)=\sum_{k}^{n}\left\langle_{k}^{n}\right\rangle \varepsilon^{k}(1-\varepsilon)^{n-k}=\varepsilon_{\text {ensemble }} P(yk)=knknεk(1ε)nk=εensemble 
于是乎:
P ( y ≥ k ) = ∑ k = 6 11 C 11 k 0.2 5 k ( 1 − 0.25 ) 11 − k = 0.034 P(y \geq k)=\sum_{k=6}^{11}C_{11}^k 0.25^{k}(1-0.25)^{11-k}=0.034 P(yk)=k=611C

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值