Matlab实现Bagging(集成学习)算法

实验环境:

Matlab2016a

实验内容:

实现Bagging算法,训练多个分量分类器,比较分量分类器和最后的总分类器的分类准确率。

Bagging算法:

从大小为n的原始数据集中,分别独立随机地选取n’个样本组成自助数据集,并且将这个过程独立进行许多次,直到产生很多个独立的自助数据集。然后,每个自助数据集都被独立地用于训练一个“分量分类器”,最终分类器的判决将根据这些“分量分类器”各自的判决结果投票决定。通常,这些分量分类器的模型形式都是一样的。它们的具体模型参数不同,这是由于各自的训练集的不同而引起的。

数据集:

数据集为红酒质量分类数据,大小为12*1600,总共分为10个类,为了实验的简便,这里我处理成二分类,将5分以上的类设为1,5分以下的设为-1。数据的80%用来训练,20%用来测试,实验训练11个分量分类器,每个分量分类器的训练集都是从总训练集随机选取40%。训练完成后,用11个分量分类器对测试集进行分类,分别求出它们的准确率,然后利用它们的分类结果投票作为总的分类器结果,将分量分类器的准确率和总分类器分类准确率对比。

数据集下载:sample_ex7.mat

基分类器:

本实验采用RBF神经网络作为分量分类器,RBF网络的设计及参数初始化可以参考博文

你可能感兴趣的:(机器学习)