机器学习西瓜书学习笔记【第八章】
第八章 集成学习
8.1个体与集成
集成学习:通过构建并结合多个学习器来完成学习任务。
集成类型
同质:个体学习器全是同一类型。——基学习器
异质:个体学习器包含不同类型得学习算法。
获得良好集成性能,分类器应满足的条件
- 基分类器要有一定的性能,至少不差于随机猜测的性能,即基分类器准确率不低于50%。
- 基学习器要具有多样性,即基学习器间要有差异性。
集成学习方法
集成学习方法的分类
- 序列集成方法,其中参与训练的基础学习器按照顺序生成(例如 AdaBoost)。原理是利用基础学习器之间的依赖关系。通过对之前训练中错误标记的样本赋值较高的权重,可以提高整体的预测效果。
- 并行集成方法,其中参与训练的基础学习器并行生成(例如 Random Forest)。原理是利用基础学习器之间的独立性,通过平均可以显著降低错误。
8.2 Boosting
基本模型
- 每一次迭代都是在上一轮的基础上拟合原数据,可以保证偏差持续降低——选择弱模型(深度很浅的决策树)
- 模型较复杂,则方差相对较大,产生过拟合。
关注点
降低偏差
特点
每一次迭代时训练集的选择与前面各轮的学习结果有关,而且每次是通过更新各个样本权重的方式来改变数据分布。
两种模型范式(个体学习器)
串行集成学习:利用模型相关性(如果第一个分类器分错了,第二个分类器要纠正第一个分类器的错误)。
并行集成学习:利用模型独立性——得到泛化能力强的模型
Adaboosting
实现boosting方法的最典型代表——Adaboosting算法
算法过程
前一个分类器改变权重w后,成为后一个新的分类器。如果一个训练样本在前一个分类器中被误分,那么它的权重会被加大,相反,被正确分类的样本权重会降低。
优点
- 是一种有高精度的分类器
- 可以使用各种方法构建子分类器,adaboost算法提供的是一种框架
- 基本分类器构建简单,易于理解
- 算法过程简单,不用做特征筛选
- 不易发生过拟合
8.3Bagging与随机森林
Bagging
基本模型
决策树和神经网络
思想
把训练集看做全体数据的子集,训练集对全体数据中某参数的估计等价于用训练集子采样获得的数据来估计训练集。
特点
每次迭代不依赖之前建立的模型,即生成的各个弱模型之间没有关联,因此就可以彻底实现数据并行训练。
自助采样法
有放回的随机抽样
关注点
降低方差
随机森林
基本思想
构造多棵相互独立的 C A R T CART CART决策树,形成一个森林,利用这些决策树共同决策输出类别。
两个随机过程(避免过拟合)
-
输入数据是随机的:从全体训练数据中选取一部分来构建一棵决策树,并且是有放回的选取
-
每棵决策树的构建所需的特征是从全体特征中随机选取的
优缺点
优点
- 两个随机性的引入,使得随机森林抗噪声能力强,方差小泛化能力强,不易陷入过拟合(因此不需要剪枝)
- 易于高度并行训练,且训练速度快,适合处理大数据
- 能够处理高维度(特征多)的数据,事先不用做特征选择
- 消除了决策树容易过拟合的缺点
- 相对于 b o o s t i n g boosting boosting系列算法,实现简单
- 由于随机森林对误差率是无偏估计,因此在算法中不需要再进行交叉验证或者设置单独的测试集来获取测试集上误差的无偏估计
缺点
对于取值划分比较多的特征,容易对随机森林的决策产生较大影响,从而影响拟合效果。
8.4结合策略
平均法
对数值型输出 h i ( x ) ∈ R hi(x)∈R hi(x)∈R,最常见的结合策略是使用平均法(averaging)。
简单平均法
公式: H ( x ) = 1 T ∑ i = 1 T h i ( x ) H(x)=\frac{1}{T} \sum_{i=1}^{T} h_i(x) H(x)=T1∑i=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)
其中 w i w_i wi是个体学习器 h i h_i hi的权重,通常要求 w i ⩾ 0 w_i⩾0 wi⩾0, ∑ i = 1 T w i = 1 \sum_{i=1}^{T} w_i=1 ∑i=1Twi=1。
使用场景:个体学习器性能相差较大
投票法
对于分类任务来说,最常见的结合策略是使用投票法(voting),分为:
- 绝对多数投票法(majority voting):即若某标记得票过半数,则预测为该标记;否则拒绝预测。
- 相对多数投票法(plurality voting):即预测为得票最多的标记,若同时有多个标记获最高票,则从中随机选取一个。
- 加权投票法(weighted voting):与加权平均法类似。
如果分类器输出的是类标记(例如0,1),则称为“硬投票”。如果分类器输出的是类概率,则称为“软投票”。不同类型的分类器输出值不能混用。
学习法
使用场景:训练数据很多
典型代表:Stacking。
把个体学习器称为初级学习器,用于结合的学习器称为次级学习器或元学习器。
Stacking算法
使用方法:交叉验证或留一法
优点
-
提高预测性能。
-
灵活性。
-
可解释性。
缺点
-
计算资源和时间消耗。
-
风险过拟合:当基础模型过于复杂或训练数据集过小时,Stacking容易过度依赖训练数据,导致在测试数据上的性能下降。
-
超参数选择。
8.5多样性
误差-分歧分解
回归任务
误差-分歧中的分歧表征了个体学习器在样本x上的不一致性,即一定程度反映了个体学习器的多样性。
分类任务
多样性度量,典型做法是考虑个体分类器的两两相似/不相似性。
多样性度量
-
不合度量
-
马修斯相关系数
- 公式: ρ i j = a d − b c ( a + b ) ( a + c ) ( c + d ) ( b + d ) \rho _{ij}=\frac{ad-bc}{\sqrt{(a+b)(a+c)(c+d)(b+d)} } ρij=(a+b)(a+c)(c+d)(b+d)ad−bc
- ρ i j 的值域为 [ − 1 , 1 ] , 若 h i 与 h j 无关,则值为 0 ; 若 h i 与 h j 正相关则值为正,否则为负 . \rho_{ij}的值域为[-1,1],若 h_i 与h_j无关,则值为0;若 h_i与h_j正相关则值为正,否则为负. ρij的值域为[−1,1],若hi与hj无关,则值为0;若hi与hj正相关则值为正,否则为负.
- 相关系数越小,表明两个分类器相似度越小,差异性越大。
-
Q-统计量
-
k-统计量
多样性增强
- 数据样本扰动
- 输入属性扰动
- 算法参数扰动