集成学习通过构建并结合多个学习器来完成学习任务。集成学习示意图如下图:
集成学习示意图
一般结构:先产生一组“个体学习器”,再用某种策略将它们结合起来。个体学习器通常由一个现有的学习算法从训练数据产生,注意的是集成中只包含同种类型的个体学习器,例如“决策树集成”中全是决策树,“神经网络集成”中全是神经网络,这样的集成是“同质”的。同质集成中的个体学习器也成“基学习器”,相应的学习算法称为“基学习算法”,集成也包含不同类型的个体学习器,例如同时包含决策树和神经网络,这样的集成是“异质”的。异质集成中的个体学习器由不同的学习算法生成,这时不再有基学习算法。相应的,个体学习器一般不称为基学习器,常称为“组件学习器”或直接称为个体学习器。
集成学习通过将多个学习器进行结合,常可获得比单一学习器显著优越的泛化性能,这对“弱学习器”尤为重要,(“弱学习器”常指泛化性能略优于随机猜测的学习器;比如在二分类问题上精度略高于50%的分类器),因此,集成学习的很多理论研究都是针对弱学习器进行的,而基学习器有时也直接成为弱学习器。但是需要注意的是,虽然从理论上来说使用弱学习集成足以获得好的性能,但在实际中出于种种考虑,例如希望使用较少的个体学习器,或是重用关于常见学习器的一些经验,往往会选择使用比较强的学习器。
集成学习把多个学习器结合起来,那么,如何能获得比最好的单一学习器更好的性能呢?
举一个简单地二分类例子:假定三个分类器在三个测试样本上的表现如下图,其中√表示分类正确,×表示分类错误,集成学习的结果通过投票法产生,也就是“少数服从多数”,其中(a)图每个分类器都只有66.6%的精度,但集成学习却达到100%;(b)三个分类器没有差别,集成后性能没有提高,(c)图每个分类器精度都只有33.3%,集成学习的结果变得更糟,总之,要想有一个好的结果,必须保证每个分类器有一个好的结果。
就基学习器的误差相互独立,但是在现实任务中,个体学习器是为了解决同一个问题训练出来的,显然不独立!事实上,个体学习器的“准确性”和“多样性”本身就存在冲突。一般地,准确性很高之后,要增加多样性就需要牺牲准确性。如何产生并结合“好而不同”的个体学习器,恰是集成学习研究的核心。
根据个体学习器的生成方式,目前的集成学习大致可分为两大类,即个体学习器间存在强依赖关系、必须串行生成的序列化方法,以及个体学习器间不存在依赖关系、可同时生成的并行化方法;前者代表是boosting,后者代表是Bagging和“随机森林”。
来源:CSDN
作者:张zzz
链接:https://blog.csdn.net/weixin_41673190/article/details/94594209