1 简介 在机器学习领域,要处理的数据的规模越来越大,而学习算法在数据的特征过多的时候,往往会产生性能上的下降。作为解决这个问题的有效手段,特征选择一直以来都得到了广泛的关
1 简介
在机器学习领域,要处理的数据的规模越来越大,而学习算法在数据的特征过多的时候,往往会产生性能上的下降。作为解决这个问题的有效手段,特征选择一直以来都得到了广泛的关注。粒子群优化算法作为一种优化方法,具有较好的局部搜索能力,所以利用粒子群优化方法来解决特征选择问题成为一个研究热点。
粒子群优化的特征选择方法通过引导粒子的搜索进行特征选择,从而提高粒子群优化算法在特征选择问题中的搜索效率。本实验针对“wine”数据集,通过粒子群优化算法进行特征选择,并对特征选择后的数据进行SVM分类。将直接SVM分类的结果,和使用粒子群算法进行特征选择后再进行SVM分类的结果进行对比。对比两者的实验结果,结果表明使用粒子群优化算法进行特征选择能够提高SVM的分类精度。综上所述,所得的实验结果与预期结果一致。
2 部分代码
%% I. 清空环境clc
clear
%% II. 声明全局变量
global data
data=xlsread('BreastCancer_data');
%% III. 参数初始化
c1 = 0.25;
c2 = 0.25;
maxgen = 16; % 进化次数
sizepop = 4; %种群规模
Vmax = 0.25;
Vmin = -0.25;
popmax = 1;
popmin = 0;
for m=1:9
if zbest(m)>=0.5
selection(n)=m;
n=n+1;
end
end
disp(['基于粒子群算法的SVM特征选择的结果为:特征 ',num2str(selection)]);
disp(['基于粒子群算法的SVM特征选择的分类准确率为:',num2str(fitnesszbest),'%']);
figure
plot(yy)
title('最优个体适应度','fontsize',12);
xlabel('进化代数','fontsize',12);ylabel('适应度','fontsize',12);
3 仿真结果
4 参考文献
[1]邹心遥, 陈敬伟, 姚若河. 采用粒子群优化的 SVM 算法在数据分类中的应用[J]. 华侨大学学报:自然科学版, 2016, 37(2):4.
博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,相关matlab代码问题可私信交流。
部分理论引用网络文献,若有侵权联系博主删除。