1. 个体与集成
- 集成学习通过构建并结合多个学习器完成学习任务,常可获得比单一学习器显著优越的泛化性能
- 集成学习对于弱学习器的集成效果最明显
- 实践中往往使用较强的学习器以减少学习器的使用数量,或重用关于常见学习器的一些经验
image-20200528115445126.png
-
同质集成与异质集成
- 同质集成中的个体学习器称为“基学习器”,相应学习算法称为“基学习算法”
- 异质集成中的个体学习器称为“组件学习器”
集成学习的结果根据“投票法”产生(少数服从多数)
image-20200528120038731.png
- 二分类问题
和真实函数
,假定基分类器的错误率为
,对每个基分类器
有
假设集成通过简单投票法结合(方便起见设为奇数)个基分类器,若有超过半数判为正确则集成分类正确:
各个基分类器的分类结果求和之后数字的正、负或0,代表投票法产生的结果,即“少数服从多数”,符号函数,将正数变成1,负数变成-1,0仍然是0,所以
是由投票法产生的分类结果
由不等式可知集成错误率为
随着个体分类器数目的增大,集成错误率将指数下降趋于零
* 证明
由基分类器相互独立,设为每个分类器分类正确的次数,则
假设随机变量为
个基分类器分类正确的次数,则
由不等式知
令有
等价于
令得到
2.Boosting
-
工作机制
先从初始训练集训练出一个基学习器,
再根据基学习器的表现对训练样本分布进行调整,使得先前基学习器做错的训练样本在后续受到更多关注
基于调整后的样本训练下一个基学习器
如此重复进行直到基学习器数目(训练轮数)达到事先指定的值T,最终将T个基学习器进行加权结合
-
Adaboost算法
image-20200528125326366.png-
基于“加性模型”最小化指数损失函数
加性模型(基学习器线性组合)
该分类器的权重只与分类器的错误率负相关(错误率越大权重越低)-
指数损失函数
- 若预测结果正确,则
,
,且
越大(视为分类器对预测结果的信心),损失函数值越小。
接近0,则损失函数值较大
- 若预测结果错误,则
,
,且
越大(视为分类器对预测结果的信心),损失函数值越大。
接近0,则损失函数值较小
- 若预测结果正确,则
-
寻找这样的
使得指数损失函数最小化,对
求偏导
令上式取0,得到
取符号函数,得到
达到了贝叶斯最优错误率
若指数损失函数最小化,则
,分类错误率也将最小化
指数损失函数是分类任务原本0/1损失函数的一致的替代损失函数
确定基分类器的权重
为了得到使得指数损失函数尽可能小的,应确定
使得每次添加的
最小化指数损失函数
对求偏导
令偏导数取0,得到的闭式解
-
对样本分布进行调整,使得下一轮的基学习器
能纠正
的一些错误
要求最小化
由于,
,得到
由此得出理想的基学习器应满足这样的约束
其中是一个常数
令
表示一个分布
等价于令
由于,有
则理想的基学习器将在分布下最小化分类误差,因此弱分类器的训练集将基于分布
来训练,且分类误差应小于0.5
考虑到和
的关系,有
-
-
总结
- Boosting算法在训练过程中的每一轮中,根据样本分布为每个训练样本重新赋予一个权重
- 对无法接受带权样本的基学习算法,通过重采样法来处理
- Boosting算法在训练每一轮都要检查当前生成的基学习器是否满足基本条件(
)分类结果比随机猜测好(学习过程停止,重采样与重启动?)
- Boosting主要关注降低偏差,因此能基于泛化性能弱的数据集构建出很强的集成