集成学习是一种通过整合多个模型的显著特点来达成共识的方法。通过将多个模型的预测结果进行综合,集成学习框架能够提高预测的稳健性,从而减少预测误差。通过融合多个模型的不同优势,集成学习能够更好地适应复杂的数据分布和不确定性,提高预测的准确性和鲁棒性。
简单来理解,集成学习从不同的模型中捕获互补信息。
本文,我们来看看什么情况会使用集成学习,以及了解集成学习都有哪些算法和技术?
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)
“最大规则”集成方法依赖于每个分类器生成的概率分布。该方法采用了分类器“预测置信度”的概念,对于分类器预测的类别,检查相应的置信度分数。将最高置信度分数分类器的预侧视为集成框架的预测。
概率平均
在這種整合技術中,首先計算多個模型的機率分數。然後,對資料集中所有類別的所有模型的分數進行平均。機率分數是特定模型預測的置信度。因此,匯集了幾個模型的置信度來產生集成的最終機率分數。平均操作後具有最高機率的類別被指定為預測。
加權機率平均
與機率平均的方法類似,機率或置信度分數是從不同的貢獻模型中提取的。但不同的是,會計算機率的加權平均值。此方法中的權重指的是每個分類器的重要性,即在資料集上的整體性能優於另一個分類器的分類器在計算整合時被賦予更高的重要性,從而使整合框架具有更好的預測能力。
#以上是介紹整合學習的定義、使用場景、演算法和技術的詳細內容。更多資訊請關注PHP中文網其他相關文章!