极客时间
21天打卡行动 11/21
<<人工智能基础课13>>集成学习
回答老师问题:
Boosting 机制和 Bagging 机制各具特色,在集成学习中发挥着不同的作用。那么能否将两者结合起来,达到互补的效果呢?
查资料分析:
结合策略有以下几个:平均法,投票法,Stacking,平均法和投票法仅是对弱学习器的结果做简单的逻辑处理,而stacking是再加上一层权重学习器(Meta Learner),基学习器(Base learner)的结果作为该权重学习器的输入,得到最终结果;
今日所学:
1,监督学习的任务是通过假设空间搜索来找到能够对特定问题给出良好预测的假设;
2,根据监督学习找到最优答案,而集成学习的作用就是将多个可以得到假设整合为单个更好的假设,其一般结构是先产生一组个体学习器,再使用某种策略将它们加以整合。每个组中的个体学习器如果属于同一类型(比如都是线性回归或者都是决策树),形成的就是同质集成;相应地,由不同类型学习器得到的集成则称为异质集成;
3,集成学习的优势:一方面,个体学习器的性能要有一定的保证,另一方面,个体学习器的性能要有一定的差异,和而不同才能取得进步;
4, 在MIMO模型中, 个体学习器的误差相互独立;集成学习的核心问题在于在多样性和准确性间做出折中,进而产生并结合各具优势的个体学习器;
5,个体学习器的生成方式很大程度上取决于数据的使用策略。根据训练数据使用方法的不同,集成学习方法可以分为两类:个体学习器间存在强依赖关系因而必须串行生成的序列化方法,和个体学习器之间不存在强依赖关系因而可以同时生成的并行化方法;
6,序列化方法中的数据使用机制被称为提升(Boosting;
7,与 Boosting 相比,并行化方法中的数据使用机制是将原始的训练数据集拆分成若干互不交叠的子集,再根据每个子集独立地训练出不同的个体学习器。这种方法被称为自助聚合(Bootstrap AGgregation),简称打包(Bagging);
8,典型的序列化学习算法是自适应提升方法(Adaptive Boosting),人送绰号 AdaBoost。在解决分类问题时,提升方法遵循的是循序渐进的原则。先通过改变训练数据的权重分布,训练出一系列具有粗糙规则的弱个体分类器,再基于这些弱分类器进行反复学习和组合,构造出具有精细规则的强分类器。从以上的思想中不难看出,AdaBoost 要解决两个主要问题:训练数据权重调整的策略和弱分类器结果的组合策略。(根据不同分布调用弱学习算法得到一系列弱学习器实现的,再将这些学习器线性组合,具体组合方法是误差率小的学习器会被增大权值,误差率大的学习器会被减小权值,典型代表adaboost算法。)
9,在训练数据的权重调整上,AdaBoost 采用专项整治的方式;
10,在 AdaBoost 的弱分类器组合中,每一轮得到的学习器结果都会按照一定比例叠加到前一轮的判决结果,并参与到下一轮次权重调整之后的学习器训练中;
11,随着训练过程的深入,弱学习器的训练重心逐渐被自行调整到的分类器错误分类的样本上,因而每一轮次的模型都会根据之前轮次模型的表现结果进行调整,这也是 AdaBoost 的名字中“自适应”的来源;
12,AdaBoost 可以视为使用加法模型,以指数函数作为损失函数,使用前向分步算法的二分类学习方法;
13,在随机森林中,每棵决策树在选择划分属性时,首先从结点的属性集合中随机抽取出包含 k 个属性的一个子集,再在这个子集中选择最优的划分属性生成决策树。
14,以 Boosting 方法为代表的序列化方法使用了全体训练数据,并根据每次训练的效果不断迭代以使损失函数最小化,因而可以降低平均意义上的偏差,能够基于泛化能力较弱的学习器构建出较强的集成。
15,以 Bagging 方法为代表的并行化方法则利用原始训练数据生成若干子集,因而受异常点的影响较小,对在每个子集上训练出的不完全相关的模型取平均也有助于平衡不同模型之间的性能,因而可以一定程度上降低方差。
名词:随机森林方法,
总结:
老师讲的重点:
1,集成学习使用多个个体学习器来获得比每个单独学习器更好的预测性能,包括序列化方法和并行化方法两类;
2,多样性要求集成学习中的不同个体学习器之间具有足够的差异性;
3,序列化方法采用 Boosting 机制,通过重复使用概率分布不同的训练数据实现集成,可以降低泛化误差中的偏差;
4,并行化方法采用 Bagging 机制,通过在训练数据中多次自助抽取不同的采样子集实现集成,可以降低泛化误差中的方差。
展开