1集成学习概念
集成学习是集成多个“个体学习器”。
主要是通过构建并结合多个学习器来完成学习任务,也被称为多分类器系统。
集成学习结构:先产生一组个体学习器,再用某种策略将他们结合起来。
2个体学习器概念
个体学习器一般是由一个现有的学习算法从训练数据产生的。例如C4.5决策树,BP神经网络等。
- 集成学习分类
集成学习分类 |
组件 |
同质集成中的个体学习器名称 |
同质集成 |
集成中只包含同种类型的个体集成器。 |
基学习器 |
异质集成 |
集成中包含不同类型的个体集成器 |
组件学习器 |
3 boosting bagging
当基学习器的误差相互独立时,个体分类器数量越大,集成的错误率越低。然而,在现实任务中,由于个体学习器是为了解决同一个问题训练出来的,是不可能相互独立的。因此,个体学习器的多样性和准确性存在冲突。
根据个体学习器的生成方式,集成学习被分为两大类:
分类 |
类别特性 |
代表方法 |
1 |
集成学习的个体学习器间存在强依赖关系,必须串行生成的序列化方法 |
Boosting |
2 |
个体学习器间不存在强依赖关系,可同时生成的并行化方法 |
Bagging 随机森林 |
Boosting:
Boosting是一族将弱学习器提升为强学习器的算法。
Boosting工作机制:
- 先从初始训练集训练出一个基学习器,再根据该基学习器的表现调整训练的样本分布,使得后续训练时更多的关注该基学习器做错的训练样本。
- 然后基于调整后的样本分布继续训练下一个基学习器
- 重复训练每个基学习器,直到基学习器的数量达到原先设定的数目T。最终将这T个基学习器进行加权足组合集成。
Boosting族算法的代表:AdaBoost(adaptive boosting,自适应增强)
其自适应性在于:前一个分类器分错的样本会被用来训练下一个分类器。
特点:AdaBoost方法对于噪声数据和异常数据很敏感。
Bagging:
Bagging(Booststrap aggregating,引导聚焦算法,又称装袋算法)每个个体学习器使用的样本是相互有交叠的样本子集。
算法宗旨:提高准确率、稳定性以降低结果的方差,避免过拟合。
bagging算法步骤
Step1:给定一个大小为n的训练集D,Bagging算法从中均匀,有放回的(即使用自助抽样法)选出m个大小为的子集作为新的训练集;
Step2:在这m个训练集上使用分类、回归等算法分别训练出m个模型model;
Step3:再通过取平均值(回归任务),投票法取多数票(分类任务)等方