机器学习入门学习笔记(七)集成学习

集成学习 (ensemble learning) 通过构建并结合多个学习器来完成学习任务,有时也被称为多分类器系统 (multi-classifer system) 、基于委员会的学习 (committee-based learning) 等。

一、集成学习的结构

一般结构:先产生一组“个体学习器” (individual learner),再用某种策略将它们结合起来。
在这里插入图片描述
个体学习器:通常由一个现有的学习算法从训练数据产生。例如 C4.5决策树算法、BP神经网络算法等。

同质集成 与 异质集成

同质集成:集成中只包含同种类型的个体学习器,例如“决策树集成”中全是决策树,“神经网络集成”中全是神经网络,称集成是“同质”的(homogeneous)。
同质集成中的个体学习器亦称 “基学习器”(base learner) ,相应的学习算法称为 “基学习算法”(base learning algorithm)。

异质集成:集成中的个体学习器由不同的学习算法生成,例如同时包含决策树和神经网络,这样的集成是“异质”的(heterogenous)。
异质集成中个体学习器常称为 “组件学习器”(component learner) 或直接称为个体学习器。

集成学习可获得比单一学习器显著优越的泛化性能,对 “弱学习器” (weak learner) 尤为明显。
要获得好的集成,个体学习器要有一定的“准确性”,并且要有“多样性”(diversity),即学习器间具有差异。

以二分类问题为例

y∈{-1,+1} ,真实函数为 f(x),
假定基分器的错误率为 ε,对每个基分类器 hi 有:
在这里插入图片描述
假设集成通过 简单投票法 对 T 个基分类器判断,则当超过半数的基分类器正确,集成分类就正确:
在这里插入图片描述
(Note:1、基分类器 hi 取值为 -1和 1,求和结果为整数
2、sign 是符号函数,大于 0 输出 1,小于 0 输出 -1)

假设基分类器的错误率相互独立,则由Hoeffding不等式可知,集成的错误率为:
在这里插入图片描述
随着集成中个体分类器数目 T 的增大,集成的错误率将指数级下降,最终趋向于零。

在现实任务中,个体学习器不可能相互独立,其“准确性”和“多样性”本身就存在冲突。一般的,准确性很高之后,要增加多样性就需牺牲准确性。如何产生并结合“好而不同”的个体学习器,恰是集成学习研究的核心。

二、集成学习方法

根据个体学习器的生成方式,集成学习方法分为两类:

  • 个体学习器间存在强依赖关系、必须串行生成的序列化方法。以 Boosting 为代表。
  • 个体学习器间不存在强依赖关系、可同时生成的并行化方法。以 Bagging 和 “随机森林”(Random Forest) 为代表。

2.1 Boosting

Boosting 是一族可将弱学习器提升为强学习器的算法。

2.1.1 工作流程

1、先从初始训练集训练出一个基学习器
2、根据基学习器的表现对训练样本分布进行调整,使得先前基学习器做错的训练样本在后续受到更多关注
3、然后基于调整后的样本分布来训练下一个基学习器
重复2-3步骤,直至基学习器数目达到事先指定的值 T,最终将这 T 个基学习器进行加权结合。

2.1.2 AdaBoost 算法

AdaBoost 算法是 Boosting 族算法最著名的代表。

使用 指数损失函数

AdaBoost 算法有多种推导方式,比较容易理解的是基于“加性模型”(additive mode),即基学习器的线性组合:
在这里插入图片描述
来最小化指数损失函数(exponential loss function):
在这里插入图片描述
(Note:考察 集成 H 在 样本分布 D下的损失值)

若 H(x) 能令指数损失函数最小化,则考虑式 (8.5) 对 H(x) 的偏导:
在这里插入图片描述
令式(8.6)为零可解得:
在这里插入图片描述
因此,有:
在这里插入图片描述
(Note:“arg max XX函数 ”的意思是 求取使得 XX函数达到最大值时的变量的取值)

由此看出,若指数损失函数最小化,则分类错误率也将最小化,所以用指数损失函数是分类任务原本0/1损失函数的一致的替代损失函数,而且具有更好的数学性。

算法描述

1、初始化样本权值分布 D1 (算法第 1行)
2、基于分布 Dt 从数据集D中训练出分类器 ht (算

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值