基于Bagging采样下的集成学习模型汇总.docx
- 文档编号:9343923
- 上传时间:2023-02-04
- 格式:DOCX
- 页数:43
- 大小:77.92KB
基于Bagging采样下的集成学习模型汇总.docx
《基于Bagging采样下的集成学习模型汇总.docx》由会员分享,可在线阅读,更多相关《基于Bagging采样下的集成学习模型汇总.docx(43页珍藏版)》请在冰豆网上搜索。
基于Bagging采样下的集成学习模型汇总
基于Bagging采样下的集成学习模型
信息与计算科学14-1班
摘要本文采用Bagging-并行化的个体学习器,即有放回地抽取训练样本集,每个基学习器只使用了初始训练集中约63.2%的样本,剩下的约36.8%的样本可用作验证集来对泛化性能进行包外估计(out-of-bagestimate)。
采用libsvm方法得到个体学习器的泛化误差及强学习器的包外泛化误差及运行时间。
得到个体学习器的准确率及强学习器的包外误差,结论个体学习器良好,强学习器较差。
关键词集成学习、Bagging、泛化误差、svm支持向量机
一集成学习理论
1.1集成学习
集成学习(ensemblelearning)是通过构建并结合多个学习器来完成学习任务的,因此有写文章中也称其为多分类器系统(multi-classifiersystem)或者是委员会学习(committee-basedlearning)。
下图是集成学习的一般结构,将一组“个体学习器”(individuallearner)用一些何理的策略结合起来,这些个体学习器可以是各种弱分类器,例如决策树算法,BP神经网络等。
若所有的个体学习器是同种类型的,则称这样的集成是“同质”的(homogeneous),此时的学习器也可以称作是“基学习器”(baselearner),相应的学习算法则为“基学习算法”(baselearningalgorithm).若集成中的个体学习器包含不同的学习器,则称这样的集成为“异质”的(heterogenous),此时的个体学习器则被称为是“组件学习器”(componentlearner)也可以被直接称为个体学习器。
弱学习器:
指泛化性能略优于随机猜测的学习器;例如在二分类问题中精确度略高于50%的分类器。
1.2Bagging与随机森林学习方法
本文说明采用并行化的个体学习器生成方式,和上文的Boosting串行化要求个体学习器存在强依赖关系不同的是,该生成方式是基于个体学习器应尽可能相互独立。
独立的个体学习器可以得到泛化性能强的集成;当然现实中不存在绝对的独立,不过可以设法使基学习器尽可能具有较大差异。
一种方法就是对训练样本进行采样,产生出若干个不同的子集,再从每个数据集子集中训练出一个基学习器。
不过如果采样出的每个子集完全不同,那么每个基学习器只用到了部分训练数据,可能都无法进行有效学习。
因此,考虑使用相互有交叠的采样子集。
假定基学习器的计算复杂度为O(m),则Bagging的复杂度大致为T(O(m)+O(s)),因采样与投票/平均过程的复杂度O(s)很小,且T是一个不太大的常数(训练轮数),因此,训练一个Bagging集成与直接使用基学习算法训练一个学习器的复杂度同阶,可见Bagging是一个高效的集成学习算法。
与标准的AdaBoost算法只适用于二分类任务不同,Bagging能不经修改地用于多分类、回归等任务。
自助采样过程还给Bagging带来一个优点:
由于每个基学习器只使用了初始训练集中约63.2%的样本,剩下的约36.8%的样本可用作验证集来对泛化性能进行包外估计(out-of-bagestimate),为此需记录每个基学习器所使用的训练样本。
令Dt表示ht实际使用的训练样本集,令Hoob(x)表示对样本x的包外预测,即仅考虑哪些未使用x训练的基学习器在x上的预测,有:
则Bagging泛化误差的包外估值为:
事实上,包外样本还有其他用途,如当基学习器是决策树时,可使用包外样本来辅助剪枝,或用于估计决策树中各结点的后验概率以辅助对零训练样本结点的处理;当基学习器是神经网络时,可使用包外样本来辅助早起停止以减小过拟合风险。
从偏差-方差分解的角度看,Bagging主要关注降低方差,因此它在不剪枝决策树、神经网络等易受样本扰动的学习器上效用更为明显。
二个体学习器
2.1libsvm个体学习器
LIBSVM是台湾大学林智仁(LinChih-Jen)教授等2001年开发设计的一个简单,易于使用和快速有效的SVM模式识别与回归的软件包,他不但提供了编译好的可在Windows系列系统的执行文件,还提供了源代码,方便改进,修改以及在其它操作系统上应用;该软件对SVM所涉及的参数调节相对比较少,提供了很多的默认参数,利用这些默认参数可以解决很多问题;
2.2执行参数
2.2.1svmtrain的用法
svmtrain我们在前面已经接触过,他主要实现对训练数据集的训练,并可以获得SVM模型.
用法:
svmtrain[options]training_set_file[model_file]
training_set_file是要进行训练的数据集;model_file是训练结束后产生的模型文件,文件中包括支持向量样本数,支持向量样本以及lagrange系数等必须的参数;该参数如果不设置将采用默认的文件名,也可以设置成自己惯用的文件名.
默认情况下,只需要给函数提供一个样本文件名就可以了,但为了能保存结果,还是要提供一个结果文件名,比如:
test.model,则命令为:
svmtraintest.txttest.model
2.2.2svmpredict 的用法
svmpredict是根据训练获得的模型,对数据集合进行预测.
用法:
svmpredict[options]test_filemodel_fileoutput_file
其中,options为操作参数,可用的选项即表示的涵义如下所示:
-bprobability_estimates:
是否需要进行概率估计预测,可选值为0或者1,默认值为0.
model_file:
是由svmtrain产生的模型文件;
test_file:
是要进行预测的数据文件,格式也要符合libsvm格式, 即使不知道label的值, 也要任意填一个,svmpredict会在output_file中给出正确的label结果,如果知道label的值,就会输出正确率;
output_file:
是svmpredict的输出文件,表示预测的结果值.
2.2获取训练集
输出的bagging训练集及其他函数详见附录A
…
三测试
3.1个体学习器错误率
表3.1个体学习器错误率
学习器
1
2
3
4
5
6
7
8
9
10
错误率
0.34
0.355
0.313
0.319
0.343
0.33
0.288
0.365
0.27
0.299
时间
0.193
0.1617
0.1556
0.1189
0.1723
0.2281
0.1585
0.1579
0.2812
0.2245
3.2强学习器泛化误差
表3.2强学习器泛化误差
学习器
1
正确率
0.4414
0.3345
0.3621
0.3276
0.3448
0.3759
0.3759
0.3517
0.3172
0.3621
时间
0.0057
四分析
4.1结论分析
从表3.1中我们看到基学习器误差平均30%左右,学习结论良好。
从表3.2中我们看到个体学习器误差平均68%左右,泛化结论差。
附录A
A.1
matlab函数:
集成算法主函数:
function[PRE,out,accuracy,time]=MainUniStudy(T)
%out--强学习器的最终分类标签
%PRE--强学习器后的测试样本x的泛化误差
%T--基学习器的数量
[model,D,d,predict_label,accuracy]=InfoDealTest(T);
label=[];test=[];time=[]
tic;
fori=1:
T
Data=predict_label{1,i};
label=[label,Data(1:
290,1)];
%Y=[tabulate(x(i,:
))];%获得每一行数据出现频率的的统计
yuan=d{1,i};%取出随机后样本的数据的分类标签
test=[test,yuan(1:
290,1)];%预测标签最少的所有行
%Y=[tabulate(x(i,:
))];%获得每一行数据出现频率的的统计
end
[out]=ReturnMax(label);
out=out';%强学习器的最终label输出,,用的是投票方法
PRE=[];
forj=1:
T
check=test(:
j);
count=0;
fori=1:
size(out,1)
if(out(i,1)==check(i,1))
count=count+1;
end
end
rate=count/size(out,1);
PRE=[PRE,rate];
end
time=[time,toc];
数据处理函数:
function[model,D,d,predict_label,acc,time]=InfoDeal(T)
%data--所有的数据集[]
%rate--从数据集中取出的样本比率如0.8
%T--训练集的个数
load('data.mat');
[row,col]=size(data);
%total=round(row*rate);%选出的训练集个数
D=[];d=[];time=[];
fori=1:
T
%shunxu=randi((row-total),1);%顺序取连续样本的起点
%shunxu,(shunxu+total-1)
%number=row-total;%将样本重复取值增加为所有数据集个数
choose=randi(row,row,1);%随机重复取值
label=data(choose,19);
inst=data(choose,1:
18);
[m,n]=hist(choose,unique(choose));%对相同行的数据统计
n=n';
[rows]=Find(1:
row,n);
rows=rows';
label1=data(rows,19);
inst1=data(rows,1:
18);
tic;
model{i}=svmtrain(label,inst,'-s1-t0');
[predict_label{i},accuracy{i},e]=svmpredict(label1,inst1,model{i});
time=[time,toc];
D{i}=[label,inst];d{i}=[label1,inst1];
end
acc=[];
fori=1:
10
a=accuracy{1,i};
acc=[acc,0.01*(100-a(1,1))];
end
返回矩阵中每行出现最多的数据值:
function[out]=ReturnMax(Data)%返回矩阵中每行出现最多的数据值
forir=1:
size(Data,1)%行数
foric=1:
size(Data,2)%列数
temp(ic)=size(find(Data(ir,:
)==Data(ir,ic)),2);
end
[dataid]=max(temp,[],2);
out(ir)=Data(ir,id);
end
将两个一维矩中不同的数据输出(已排序的矩阵)
function[C]=Find(A,B)%将两个一维矩中不同的数据输出(已排序的矩阵)
la=length(A);
lb=length(B);
s=1;
fori=1:
la
isequal=0;
forj=1:
lb
ifA(i)==B(j)
isequal=1;
break;
end
end
ifisequal==0
C(s)=A(i);
s=s+1;
end
end
A.2随机数据集采样
基学习器1
49746942096710195342214722457319470014188197
3985184207727184352116119952019872911196199
4803864130598134511812615225913576123179188
4105521072076011218312416722170119766020191203
4893677172628157421912517436712663522198205
3834170155657144461914116830914771412188195
386426412254614846191431703191718713179182
4924682170588165402014918140916461811200208
4104551052166811205322316922162321671918189196
21055410621568102083224166217640218691423189199
4933466140567130511812015125111462529201207
498541041865910213322417222366521773126186195
210751103182561121331241622266732177224188198
2105541002206910221302517023271820273013187199
386456612657814846191451703211868607179182
210654101222671222230251732287212007034187201
41015310320363919534221622105712106855191198
28837571326261355018125151265144831616180184
394397518472815542191331753651457045192200
4863889176599169392013219042814867733193202
499508820464101853522159209517193661211194201
4109511001975910192342216121055319564143196202
3993874184666164392013119341413771222200202
190446915264713549181451652721627532187191
398528620769519233221612125702217546194195
189407715965914446191411683141437005190200
4793972127539142481913516529514477721181189
4873885177618164402012918640213063125198205
386457315263614944191451703351767161189196
4954296197659178372114119947414967129193200
49952104177551021032241662196572157332187194
410752103186571121431241622176761896665189198
4101511052126810209322416222265322473523186195
49848101195611120731231522276501937157189196
31055180207716195332215921457918875620194194
3874260116516150461914116932417185214178182
4893669142577135501812615426612866336193203
310253101238724238282616326784424285722184184
4106491071945711214312416122467017267039192206
4974781183648168392015019342618270112192198
18740811626810146461913916731715770013189199
4104551052166811205322316922162321671918189196
497377616960816141201311893911367200188192
188426415162813051181421502531616332203210
3954773195707167382015218443018569919200206
49858101208651222630251822257482167161185196
1864066139597122541713914522514363711202208
393458620169718435221452035231837204194197
190446915264713549181451652721627532187191
310757106179518257262817227595423283220181184
28837571326261355018125151265144831616180184
1864478164689142461814716830517170111190201
2107551032136811219302517222170921670107187197
2110531042236610211322416422365921067516190203
2904372172598154421914417436015861159203209
18942661255371315118144162254162731017188191
4103541072186412222302517422172819967018189200
283375413161413550181271522711418536180183
3983870186686164392013618941312971317200203
4102541011905810222302517122472820371136189198
194356614762913150181271592581156687196201
4108551052306811218302417122870921069144190197
1924062144598127521713914924115062131204210
1843770150617137491814015627812164023196205
3985184207727184352116119952019872911196199
19745881736710157432015717336515767812192200
4923874178629161412013518138813263729197206
41045510522370102233025177237737218751411188196
193417915963814446191501653091346749195203
393458620169718435221452035231837204194197
2101511122015911214322416222366719465036190206
397457218771516140201441783991867077196203
292378018067815443191291803531446969190195
4975596170541021631241732196852187504184193
38944701586461414718143
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 Bagging 采样 集成 学习 模型 汇总