在第3期 “#3 集成学习–机器学习中的群策群力” 中我们谈到, 集成学习是使用一系列学习器进行学习,以某种规则把各个学习结果进行整合,从而获得比基学习器有更好学习效果的集成学习器.
集成学习之所以有更好的学习效果, 与单个基学习器的“多样性”或者说“差异性”密不可分.
正像大自然万物的多样性随处可见, 生物繁衍产生下一代的过程.
集成学习的关键是允许每个单个学习器有各自的差异性, 同时又有一定错误率上界的情况下, 集成所有单个学习器. 正如在繁衍下一代时, 父母各自贡献自己的DNA片段, 取长补短, 去重组得到新的下一代基因组合.
对此, [Krogh and Vedelsby, 1995]给出了一个称之为”误差-分歧分解“(error-ambiguity decomposition)的漂亮式子:
表示集成后模型的泛化误差.
表示个体学习器范化误差的加权均值.
表示个体学习器的加权分歧项, 即个体学习器差异性的度量最后加权平均.
这个式子表明: 个体学习器准确性越高, 同时, 多样性越大, 则集成效果越好.
但是同时做到这两点, 其实在实际训练中是有难度的. 因为不能直接去优化, 难以直接用作为优化对象.
好了, 根据核心式子 , 我们知道, 集成学习模型的优劣与所有单个学习器的”多样性”, 或”差异性”息息相关.
那么, 如何增强集成学习时的多样性 ? 书上提供了几种多样性增强方法:
数据样本扰动
数据样本扰动通常是基于采样法, 给定初始数据集, 可从中产生不同数据子集, 再利用不同数据子集训练出不同的个体学习器(或称基学习器). 常见的基学习器, 例如决策树, 神经网络等, 训练样本稍加变化就会导致学习器有显著变动, 数据样本扰动法对这样的”不稳定学习器“很有效.
但是, 有一些基学习器, 对数据样本扰动不敏感, 例如线性学习器, 支持向量机, 朴素贝叶斯, k邻近学习器等, 这样的学习器称为”稳定学习器“.
输入属性扰动
训练样本通常由一组属性描述, 不同的”子空间”(subspace), 提供了观察数据的不同视角. 随机子空间(random subspace)算法[Ho, 1998]就依赖于输入属性扰动, 从初始属性集中抽取若干个属性子集, 再基于每个属性子集训练一个基学习器, 算法描述如下:
输出表示扰动
有时候我们也可以用如”翻转法”(Flipping Output)[Breiman, 2000]随机改变一些训练样本的标记. 也可以用如”输出调整法”(Output Smearing)[Breiman, 2000]将分类输出转化为回归输出后构建个体学习器. 总之, 是一些对输出的变换操控.
算法参数扰动
对基学习器的参数, 进行不同的配置, 也可以达到训练出多样基学习器的目的. 例如, 神经网络的隐层神经元个数, 初始连接权值等, 通过随机设置不同参数, 往往可以产生差别较大的个体学习器.
另外, 不同的多样性增强方法, 可以同时使用.
参考文献:
- 《机器学习》——周志华 , 清华大学出版社
David 9
Latest posts by David 9 (see all)
- 修订特征已经变得切实可行, “特征矫正工程”是否会成为潮流? - 27 3 月, 2024
- 量子计算系列#2 : 量子机器学习与量子深度学习补充资料,QML,QeML,QaML - 29 2 月, 2024
- “现象意识”#2:用白盒的视角研究意识和大脑,会是什么景象?微意识,主体感,超心智,意识中层理论 - 16 2 月, 2024