目录
[🍔 为什么学习集成学习](#🍔 为什么学习集成学习)
[🍔 什么是集成学习](#🍔 什么是集成学习)
[🍔 集成学习分类的串行和并行学习算法](#🍔 集成学习分类的串行和并行学习算法)
[3.1 集成学习关键要素](#3.1 集成学习关键要素)
[3.2 集成学习器性能评估](#3.2 集成学习器性能评估)
[🍔 小结](#🍔 小结)
学习目标
🍀 知道什么是集成学习
🍀 知道集成学习的分类
🍔 为什么学习集成学习
集成学习作为机器学习领域的一项重要技术,其重要性不言而喻。它通过将多个学习器(弱学习器)的预测结果进行有效整合,以显著提升整体模型的泛化能力和预测精度。在复杂多变的现实数据环境中,单一学习器往往难以全面捕捉数据特征,导致过拟合或欠拟合问题。
集成学习通过引入多样性机制,如Bagging、Boosting等策略,有效缓解了这些问题,使得模型更加鲁棒和可靠。因此,掌握集成学习不仅是提升机器学习项目性能的关键,也是深入理解机器学习原理、探索数据科学前沿的重要途径。
集成学习是机器学习中的一种思想,它通过多个模型的组合形成一个精度更高的模型,参与组合的模型成为弱学习器(基学习器)。训练时,使用训练集依次训练出这些弱学习器,对未知的样本进行预测时,使用这些弱学习器联合进行预测。
🍔 什么是集成学习
传统机器学习算法 (例如:决策树,逻辑回归等) 的目标都是寻找一个最优分类器尽可能的将训练数据分开。集成学习 (Ensemble Learning) 算法的基本思想就是将多个分类器组合,从而实现一个预测效果更好的集成分类器。集成算法可以说从一方面验证了中国的一句老话:三个臭皮匠,赛过诸葛亮
集成学习通过建立几个模型来解决单一预测问题。它的工作原理是 生成多个分类器/模型,各自独立地学习和作出预测。这些预测最后结合成组合预测,因此优于任何一个单分类的做出预测。
集成算法大致可以分为:Bagging,Boosting和Stacking等类型。
🍔 集成学习分类的串行和并行学习算法
集成学习算法一般分为:bagging、boosting和Stacking。
随机森林是集成模型中的一种,常言道:"一个篱笆三个桩,一个好汉三个帮"。
集成分类模型便是综合考量多个分类器的预测结果,从而做出决策,集成学习分两种:
(1) 利用相同的训练数据同时搭建多个独立的分类模型,然后通过投票的方式,以少数服从多数的原则做出最终的分类决策。今天学习的随机森林就是这种方式,即在相同训练数据上同时搭建多颗决策树。在决策树中学到过一颗标准的决策树是根据每维特征对预测结果的影响程度进行排序,进而决定不同特征从上到下构建分裂节点的顺序;如果这里还按照这种方式随机森林会因为这一策略影响而构建的所有树都一致,从而丧失了多样性。因此随机森林在构建的过程中,每一颗决策树都会放弃这一个固定的算法,转而随机选取特征。
(2) 按一定的次序搭建多个分类模型。这些模型之间彼此存在依赖关系。一般后一个模型的加入都需要对现有的集成模型有一定贡献,进而不断提高更新过后的集成模型性能,并借助多个弱分类器搭建出强分类器。代表有Bossting(AdaBoost)算法。该算法与第一种的随机森林主要区别在于每一颗决策树在生成的过程中都会尽可能降低模型在训练集上的拟合或训练误差。
3.1 集成学习关键要素
俗话说:"三个臭皮匠赛过诸葛亮"。
当使用某一种分类器不能使我们达到很好的效果的时候,我们不妨设想将这些分类效果不好的分类器组合一下,再去看看效果是否有提升,这就是集成学习的思想。
集成算法(Ensemble Learning)思想:通过构建并结合多个学习器来完成学习任务,有时候我们也叫作"多分类器系统"。
我们有10个分类器,多数表决如下图,其中三角形、正方形或圆分别代表一个类别。
个体的分类器由一个现有的学习算法从训练数据产生。
例如:C4.5决策树算法,我们一般把个体分类器全部为同种的分类器称为"同质的",如全部为决策树模型。同质的集成学习中的个体学习器称为"基学习器(base learner)",相应的算法称为基学习算法。
反之,集成中包含不同种的学习器,我们称之为"异质"的,异质集成中的个体学习器包含不同的学习算法组成的,这种情况下的学习器称为"组合学习器"。相信这些名词大家能够了解。
🐻 集成学习的系统示意图:
**集成学习通过将多个学习器组合,常获得比单一学习器显著优越的泛化性能。**这对弱学习器特别明显,这里的弱学习器我们一般会使用决策树,BP神经网络和逻辑回归,有时候SVM也可以作为个体学习器。
下图是使用多数投票法通用集成方法的概念:
3.2 集成学习器性能评估
一般经验中如果把好坏不等的东西掺到一起,通常结果会比最坏的好一些,比最好的坏一些。集成学习把多个学习器结合起来,如何获得比最好的单一学习器更好的性能呢?
考虑一个例子:二分类问题中,假定三个分类器在三个测试样本上表现,如下图所示。打对勾的表示正确分类,打叉号的表示分类错误。集成学习的结果通过投票法voting产生。即少数服从多数。第一个图中每个分类器有66.6%的精度,但集成学习却达到了100%。第二个图中三个分类器没有差别,但是集成之后性能却没有什么提高。第三幅图中每个分类器的精度都只有33.3%,集成学习的结果更糟糕。
这个例子我们可以总结出:要获得好的集成,个体学习器应有一定的 准确性 ,即学习器不能太坏,并且要有"多样性",即学习器之间具有 差异 。
🍔 小结
🍬 基习器使用不同的学习方法还是相同的?
-
基础学习器可以使用不同的学习模型,比如:支持向量机、神经网络、决策树整合到一起作为一个集成学习系统
-
也可以使用相同的学习模型,比如,多个基学习器都使用决策树
-
一般情况下,我们倾向于使用相同的学习模型
🍬 这些基学习器应该注意哪些?
-
基础学习器之间要存在差异性。
-
基础学习器的能力不需要很强,只需要比随机猜测 0.5 高一点就行。