集成学习专栏——集成学习概述

声明:

author:修远

此系列专栏为Datawhale下开源项目《李宏毅机器学习》集成学习的补充内容。作者水平有限,还望学习者批评指正。

1.目录
  • github链接
  • 集成学习概述
  • 集成学习主要思想
  • 集成学习主要组合策略
  • 为什么要进行集成学习
2.github链接

在李宏毅老师的集成学习课程中,集成学习这个名词只是带过了一下。这篇博客主要讲解我个人课下对集成学习的理解。

github链接:https://github.com/datawhalechina/leeml-notes

集成学习在线阅读地址:https://datawhalechina.github.io/leeml-notes/#/chapter38/chapter38

3.集成学习概述

集成学习是一个通过组合多个模型(分类器或者回归其)来减少泛化误差的技术。其原理是单独训练数个不同的模型,然后让多个模型通过一定的组合策略,最终形成一个强学习器。这是一个在机器学习中普遍应用的被称作model averaging(模型平均) 的策略

正如李宏毅老师在课堂中说的那样:Ensemble的方法就是一种团队合作,集合在一起发挥更强大的功能。
在这里插入图片描述

4.集成学习主要思想
  • Bagging
  • Boosting
  • Stacking
5.集成学习的组合策略

前面说到:集成学习是让多个模型通过一定的组合策略,接下来我们就对组合策略进行。假设集合包含T个学习器 ( h 1 , h 2 , . . . h T ) (h_1,h_2,...h_T) (h1,h2,...hT)

5.1平均法(回归问题)

对于数值类的回归预测问题,通常使用的结合策略是平均法。

简单平均:

H ( x ) = 1 T ∑ i = 1 T h i ( x ) H(x)=\frac{1}{T}\sum_{i=1}^Th_i(x) H(x)=T1i=1Thi(x)

加权平均:

H ( x ) = ∑ i = 1 T w i h i ( x ) H(x)=\sum_{i=1}^T w_ih_i(x) H(x)=i=1Twihi(x)

可以看到Bagging采用的是简单平均法,而Boosting采样的是加权平均。

5.2投票法(分类问题)

对于离散型的分类问题,通常使用的是投票法。假设预测类别为 ( c 1 , c 2 , . . . c k ) (c_1,c_2,...c_k) (c1,c2,...ck),T个弱学习器的预测结果为 h 1 ( x ) , h 2 ( x ) , . . . h T ( x ) h_1(x),h_2(x),...h_T(x) h1(x),h2(x),...hT(x)

5.2.1相对多数投票法

相对多数投票法,在T个弱学习器的预测结果中,选择数量最多的类别作为最终的分类类别,如果不止一个类别获得最高票,则随机选择一个做最终类别。

H ( x ) = c a r g m a x j ∑ i = 1 T h i j ( x ) H(x)=c_{argmax_j}\sum_{i=1}^T h_i^j(x) H(x)=cargmaxji=1Thij(x)

5.2.2绝对多数投票法

在相对多数投票法的基础上,不光要求获得最高票,还要求票过半数。

H ( x ) = { c j i f , ∑ i = 1 T h i j ( x ) > 0.5 ∑ k = 1 N ∑ i = 1 T h i k ( x ) r e j e c t o t h e r w i s e H(x)=\left\{\begin{matrix} c_j &if, \sum_{i=1}^T h_i^j(x)>0.5\sum_{k=1}N \sum_{i=1}^Th_i^k (x) \\ reject & otherwise \end{matrix}\right. H(x)={cjrejectif,i=1Thij(x)>0.5k=1Ni=1Thik(x)otherwise

5.2.3加权投票法

每个弱学习器的分类票数要乘以一个权重,最终将各个类别的加权票数求和,最大的值对应的类别为最终类别。

H ( x ) = c a r g m a x j ∑ i = 1 T w i h i j ( x ) H(x)=c_{argmax_j}\sum_{i=1}^Tw_ih_i^j(x) H(x)=cargmaxji=1Twihij(x)

6.为什么进行集成学习
  • 弱分类器间存在一定的差异性,这会导致分类的边界不同,也就是说可能存在 错误。那么将多个弱分类器合并后,就可以得到更加合理的边界,减少整体的错 误率,实现更好的效果
  • 对于数据集过大或者过小,可以分别进行划分和有放回的操作产生不同的数据 子集,然后使用数据子集训练不同的分类器,最终再合并成为一个大的分类器
  • 如果数据的划分边界过于复杂,使用线性模型很难描述情况,那么可以训练多个模型,然后再进行模型的融合
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值