JustSong Archive Link About
Projects
Categories
Others

L8 集成学习 Ensemble Learning

Tag: OneNote 模式识别 Posted on 2020-08-11 21:07:35 Edited on 2020-08-11 21:09:26 Views: 138

重点

Ensemble: ensemble learning, bagging, random 
forests, and AdaBoost algorithm.

 

Ensemble Learning

单棵决策树的效果可能并不是很好,但是其速度很快,我们可以尝试同时训练多棵决策树,but we need to make sure they do not all just learn the same thing.

 

The generalization ability of the ensemble is usually significantly better than that of an individual learner.

 

Bagging / Bootstrap aggregating

 

@)qfÄU=@)60Df

Bootstrapping 自助法:是一种从给定训练集中有放回的均匀采样。假设给定数据集包含 d 个样本,有放回采样 d 次,则一个样本从未被选中的概率是  ,当 d 趋于无穷大时该概率趋近于 ,因此说有大概三分之一的样本从未被使用,我们称这些样本为 out-of-bag-samplesOOB)。

 

优点:

  1. 减少过拟合。
  2. 通常只使用一种分类器(因此结构比较简单)。
  3. 决策树比较流行。
  4. 易于平行化(easy to parallelize)。

 

Variable Importance Measures计算 B 个决策树上,因分割树而导致 GINI 指数减少的平均总量。(?

 

Issues每棵树的分布都是相同的(identically distributedi.d),我们希望这些数是独立同分布的(independent and identically distributedi.i.d)。

 

如果是分类算法,则 T 个弱学习器投出最多票数的类别或者类别之一为最终类别。

如果是回归算法, T 个弱学习器得到的回归结果进行算术平均得到的值为最终的模型输出。

 

Random Forest / 随机森林

随机森林是 Bagging 算法的进化版,两点不同:

  1. 使用 CART 决策树作为弱学习器。
  2. 对据测速的建立进行了改进,对于普通的决策树,我们会在节点上所有的 n 个样本特征中选择一个最优的特征来做决策树的左右子树划分,但是 RF 通过随机选择节点上的一部分样本特征,这个数字小于 n,假设为 n_sub,然后在这些随机选择的 n_sub 个样本特征中,选择一个最优的特征来做决策树的左右子树划分。这样进一步增强了模型的泛化能力

 

算法步骤

For b = 1 to B: 
(a) Draw a bootstrap sample D of size N from the training 
data. 
(b) Grow a random-forest tree to the bootstrapped data, 
by recursively repeating the following steps for each 
terminal node of the tree, until the minimum node size 
is reached. 
• Select m variables at random from the p variables. 
• Pick the best variable/split-point among the m. 
• Split the node into two daughter nodes. 
Output the ensemble of trees.

 

Random Forests Tuning

对于分类任务,m 的默认值为 ,最小节点节点数目为 1

对于回归任务,m 的默认值为 ,最小节点数目为 5

 

Bagging 类似,当模型在 OOB 上的误差稳定之后,训练就可以结束了。

 

AdaBoostAdaptive Boosting,自适应增强)

核心思想:按次序构建基分类器,后续分类器会给被之前的分类器分错的样本更多的关注。

 

通过把多个弱分类区进行线性组合来构建强分类器:

atht (X) 
t=l

 即弱分类 即我们构建的强分类器,亦即各个弱分类器的输出结果的加权和。

 

一个简易流程图:

training instances that are wrongly predicted 
by Learnerl will play more important roles in 
Original training set 
Data set I 
Learnerl 
the training of Learner, 
Data set 2 
Learner, 
wei%Zhted combination 
Data set T 
Leamerr

 

损失函数:

c

输 入 : 训 练 集 D ; { ( 叻 勖 ) , ( 吻 , 黟 2 ) , 一 , ( “ , 黟 m 〕 } ; 
基 学 习 算 法 £ ; 
训 练 轮 数 T. 
过 程 : 
1 : 0 = 
3 : 
4 : 
5 : 
7 : 
et = 螓、0@阃 不 到 ) ; 
if 酶 > 0 · 5 then break 
exp(-at), if ht(æ) = 刁 
exp(at), if ht(æ) 烈 到 
8 : endfor 
输 出 : 珥 到 一 sign ( 乥 是 , h , ))

 即第 t 个基学习器的测试误差, 即其权重。

 

f(x) 表示理想分类器,即 f(x) 的值为 x 的真实标签。

f(x) g(x) 的取值范围:{-1, 1}

对于样本 x,如果 f(x) = g(x),则 f(x)g(x) = 1,否则为 -1

可见,如果某一个样本分类错误,该样本的权重将乘以一个大于一的值,即增加了其权重。对于不支持带权样本的模型,使用重采样法(对权重高的样本多次采样)。

 

优缺点