集成学习 (ensemble learning)
的概念在於透过结合多个不同的模型来达到不同模型之间彼此互补的效果,简单来说就是 「三个臭皮匠胜过一个诸葛亮」。
为了方便,我们会使用 MLP、CNN 及 RNN
来表示上述实验所提到的 MLP(两层隐藏层,L = 2,tanh)、multi-scale CNN with attention mechanism(tanh) 及 LSTM-RNN with attention mechanism(tanh)三种模型。
在今天的内容中我们会介绍三种 ensemble learning 的方式:
Bagging 的流程会分为三个步骤:
balanced bootstrap sampling
),共进行 k 轮选取,建构出 k 个训练集(每一轮建构出的训练集,可能会缺少原始训练集中的部份样本,并且可能会包含多个重复的样本)。图1 为 bagging 训练过程的流程图
图1: Bagging训练过程流程图。黑色箭头表示训练阶段,红色箭头表示测试阶段
除了一般的 bagging之 外,我们也会对 bagging 的训练过程做部份的调整并比较不同 bagging 之间的结果。对於 bagging 训练过程的调整包含以下三种:
在每一轮的训练过程中随机从三种分类器(MLP、CNN、RNN)中选出一种做为此轮的分类模型
。random missing data
的机制。此机制会根据遗失率(missing ratio)m(设定为 10%)随机丢弃部份的资料,经过 random missing data 的机制所产生的资料集称为不完整训练集(incomplete training set)
,其资料总数会比原始训练集少。random missing feature
的机制。此机制与 random missing data 类似,差异点在於此步骤是随机的将部份特徵值丢弃。静态模型与动态模型特徵向量维度的变化如下:
经过以上三个部份的调整後,bagging 的训练过程如图 2。
图2: 调整过後bagging训练过程流程图。黑色箭头表示训练阶段,红色箭头表示测 试阶段
我们先透过下表来观察一般的 bagging 结果
Base classifier | # bootstrap (k) | UA recall |
---|---|---|
MLP | 10,20 | 45.8%,46.0% |
CNN | 10,20 | 45.4%,45.6% |
RNN | 10,20 | 45.7%,45.9% |
表1: 一 般bagging实验结果 。# bootstraps (k)表示 balanced bootstrap sampling 次数
而经过调整过後的 bagging 结果如表2。
Adjust method | Base classifier | # bootstrap (k) | UA recall |
---|---|---|---|
Bagging with random base classifier | MLP or CNN or RNN | 10,20,30 | 46.2%,47.5%,48.0% |
Bagging with random base classifier and random missing data | MLP or CNN or RNN | 10,20,30 | 47.0%,47.7%,48.2% |
Bagging with random base classifier and random missing data and random missing feature | MLP or CNN or RNN | 10,20,30 | 45.9%,47.3%,47.7% |
表2: 调整过後bagging实验比较。# bootstraps (k)表示 balanced bootstrap sampling 次数
从结果中可得知一般的 bagging 无法提升效能而调整後的 bagging 能够提升至 48.2%。主要原因为一般的 bagging 差异性只来自於不同的训练集,导致 bagging 过程中每一轮训练得到的分类器差异性不大无法达到互补的效果。
进一步观察表 2 可发现加入 random missing data 後 UA recall 有些微的提升而再加入 random missing feature 後 UA recall 反而是下降的,主要原因应是将部份的特徵丢弃之後可能使神经网路无法藉由剩下的特徵学习到不同类别间的差异,导致分类器的辨识能力降低
。
明天将续介绍另外两种 ensemble learning 的方法。
今天去打疫苗,想说做个感染人的坏东西,可惜没时间好好美化他,主要做出以下功能 设定两个角色(Frie...
人脸辨识建置的类型有两种: 第一种为使用云端计算,因需要使用云端计算,所以需要确保网路连线顺畅,在将...
前言 Hi, 我是鱼板伯爵今天要教大家 Column 这个容器,教学内容只会撷取片段程序码,建议大家...
tags: OC 30 day @property参数 @property可以带参数的 @propo...
工厂模式主要有三种不同的实作: Simple Factory Pattern Factory Met...