Skip to content

Latest commit

 

History

History
53 lines (30 loc) · 4.53 KB

集成学习.md

File metadata and controls

53 lines (30 loc) · 4.53 KB

集成学习

集成学习通过构建并结合多个学习器来完成学习任务,有事也被称为多分类系统、基于委员会的学习等。

一般结构:先产生一组“个体学习器”,再用某种策略将它们结合起来。个体学习器通常由一个现有的学习算法从训练数据中产生,例如决策树算法、BP神经网络算法;此时集成中只包含同种类型的个体学习器,例如“决策树集成”中全是决策树,这样的集成是“同质”的,同质集成中的个体学习器亦称“基学习器”相应的学习算法称为“基学习算法”。集成也可包含不同类型的个体学习器,例如同时包含决策树和神经网络,这样的集成是“异质”的;相应的个体学习器称为“组件学习器”或直接称为个体学习器。 集成学习通过对多个学习器进行结合,常和获得比单一学习器显著优越的泛化性能。这对弱学习器尤为明显(弱学习器常指泛化能力略优于随机猜测的学习器)基学习器有事也被直接称为弱学习器

要获得好的集成,个体学习器应“好而不同”,即个体学习器要有一定的“准确性”,即学习器不能坏,并且要有“多样性”,即学习器间具有差异。如何产生并结合“好而不同”的学习器,恰是集成学习研究的核心。

目前的集成学习可大致分为两大类:①个体学习器间存在强依赖关系、必须串行生成的序列化方法;②个体学习器间不存在强依赖关系、可同时生成的并行化方法;前者的代表是Boosting。后者的代表是Bagging和“随机森林”

Boosting

Boosting是一族可将弱学习器提升为强学习器的算法。工作机制:先从初试训练集训练出一个基学习器,在根据基学习器的表现对训练样本进行调整,使得先前基学习器做错的样本在后续受到更多的关注,然后基于调整后的样本分布来训练下一个基学习器;如此重复进行,知道基学习器数目达到指定的T,最终将这T个基学习器进行加权结合

AdaBoost

步骤:

① 初始化训练样本的权值分布,每个训练样本的权值应该相等(如果一共有N个样本,则每个样本的权值为1/N)​
② 依次构造训练集并训练弱分类器。如果一个样本被准确分类,那么它的权值在下一个训练集中就会降低;相反,如果它被分类错误,那么它在下个训练集中的权值就会提高。权值更新过后的训练集会用于训练下一个分类器。​
③ 将训练好的弱分类器集成为一个强分类器,误差率小的弱分类器会在最终的强分类器里占据更大的权重,否则较小

算法流程:

https://zhuanlan.zhihu.com/p/62106410

Bagging

Bagging是并行式集成学习方法最著名的代表。他直接基于自助采样法:给点包含m个样本的数据集,我们先随机取出一个样本放入采样集中,再把该样本放回初始采样集,使得下次采样时该样本仍有可能被选中,经过m次随机采样操作,得到含有m个样本的采样集。初始训练集中约有63.2%的样本出现在采样集中。

Bagging基本流程:我们可采样出T个含有m个训练样本的采样集,然后基于每个采样集训练出一个基学习器,再将这些基学习器进行结合。 再对预测输出进行结合时,Bagging通常对分类任务使用简单投票法,对回归任务使用简单平均法。

RandomForest

1.一个样本容量为N的样本,有放回的抽取N次,每次抽取1个,最终形成了N个样本。这选择好了的N个样本用来训练一个决策树,作为决策树根节点处的样本。

2.当每个样本有M个属性时,在决策树的每个节点需要分裂时,随机从这M个属性中选取出m个属性,满足条件m << M。然后从这m个属性中采用某种策略(比如说信息增益)来选择1个属性作为该节点的分裂属性。

3.决策树形成过程中每个节点都要按照步骤2来分裂(很容易理解,如果下一次该节点选出来的那一个属性是刚刚其父节点分裂时用过的属性,则该节点已经达到了叶子节点,无须继续分裂了)。一直到不能够再分裂为止。注意整个决策树形成过程中没有进行剪枝。

4.按照步骤1~3建立大量的决策树,这样就构成了随机森林了。

指标

###分类: https://zhuanlan.zhihu.com/p/258596465 ###回归: https://www.jianshu.com/p/f59000aa4061

sklearn 指标都有的