集成学习是一种通过融合两个或多个模型的显着特性来在预测中达成共识的方法。最终的集成学习框架比构成集成的单个模型更稳健,因为集成减少了预测误差。
简单来理解,集成学习从不同的模型中捕获互补信息。
本文,我们来看看什么情况会使用集成学习,以及了解集成学习都有哪些算法和技术?
集成学习的应用
1.无法选择最佳模型
不同模型在数据集中的某些分布上表现更好,而模型的集合可能会在所有三类数据之间绘制出更具辨别力的决策边界。
2.数据过剩/不足
在有大量数据可用的情况下,我们可以在不同的分类器之间划分分类任务并在预测时间内将它们集成,而不是试图用大量数据训练一个分类器。而在可用数据集较小的情况下,可以使用引导集成策略。
3.置信度估计
集成框架的核心是基于对不同模型预测的置信度。
4.问题复杂度高
单个分类器可能无法生成适当的边界。多个线性分类器的集合可以生成任何多项式决策边界。
5.信息融合
使用集成学习模型的最普遍原因是信息融合以提高分类性能。也就是说,在预测时间内使用已针对属于同一组类别的不同数据分布进行训练的模型,以获得更稳健的决策。
集成学习的算法和技术
Bagging集成算法
作为最早提出的集成方法之一。从数据集中创建子样本,它们被称为“自举抽样”。简单来说,数据集的随机子集是使用替换创建的,这意味着相同的数据点可能存在于多个子集中。
这些子集现在被视为独立的数据集,多个机器学习模型将适用于这些数据集。在测试期间,所有此类模型在相同数据的不同子集上训练的预测都会被考虑在内。最后会有一种聚合机制用于计算最终预测。
Bagging的机制中会发生并行处理流,其主要目的是减少集成预测中的方差。,因此,所选的集成分类器通常具有高方差和低偏差。
因此,所选的集成分类器通常具有高方差和低偏差。
Boosting集成算法
与Bagging集成算法不同,Boosting集成算法不是并行处理数据,而是对数据集进行顺序处理。第一个分类器输入整个数据集,并对预测进行分析。如未能产生正确预测的实例会被馈送到第二个分类器。然后计算所有这些先前分类器的集合以对测试数据进行最终预测。
Boosting算法的主要目的是减少集成决策中的偏差。因此,为集成选择的分类器通常需要具有低方差和高偏差,即具有较少可训练参数的更简单模型。
stacking集成算法
此算法模型的输出都被用作另一个分类器(元分类器)的输入,并且最终预测样本。使用两层分类器的目的是确定训练数据是否已被学习,帮助元分类器在做出最终预测之前纠正或改进。
混合专家系统(Mixture of Experts)
此方法会训练多个分类器,然后输出使用广义线性规则进行集成。分配给这些组合的权重由“Gating Network”进一步确定,“Gating Network”也是一个可训练模型,通常是一个神经网络。
Majority Voting
Majority Voting是文献中最早和最简单的集成方案之一。在这种方法中,选择了奇数个有贡献的分类器,并且对于每个样本计算来自分类器的预测。然后,从分类器池中获取大部分被视为集合的预测类。
这种方法适用于二值分类问题,因为只有两个候选分类器可以投票。不过就当下而言基于置信度得分的方法更可靠。
最大规则(Max rule)
“最大规则”集成方法依赖于每个分类器生成的概率分布。该方法采用了分类器“预测置信度”的概念,对于分类器预测的类别,检查相应的置信度分数。将最高置信度分数分类器的预侧视为集成框架的预测。
概率平均
在这种集成技术中,首先计算多个模型的概率分数。然后,对数据集中所有类别的所有模型的分数进行平均。概率分数是特定模型预测的置信度。因此,汇集了几个模型的置信度来生成集成的最终概率分数。平均操作后具有最高概率的类被指定为预测。
加权概率平均
与概率平均的方法类似,概率或置信度分数是从不同的贡献模型中提取的。但不同的是,会计算概率的加权平均值。该方法中的权重指的是每个分类器的重要性,即在数据集上的整体性能优于另一个分类器的分类器在计算集成时被赋予更高的重要性,从而使集成框架具有更好的预测能力。