【SVM分類】基于粒子群算法優(yōu)化支持向量機實現(xiàn)葡萄酒數(shù)據(jù)分類附matlab代碼
1 簡介
在機器學習領域,要處理的數(shù)據(jù)的規(guī)模越來越大,而學習算法在數(shù)據(jù)的特征過多的時候,往往會產生性能上的下降。作為解決這個問題的有效手段,特征選擇一直以來都得到了廣泛的關注。粒子群優(yōu)化算法作為一種優(yōu)化方法,具有較好的局部搜索能力,所以利用粒子群優(yōu)化方法來解決特征選擇問題成為一個研究熱點。
粒子群優(yōu)化的特征選擇方法通過引導粒子的搜索進行特征選擇,從而提高粒子群優(yōu)化算法在特征選擇問題中的搜索效率。本實驗針對“wine”數(shù)據(jù)集,通過粒子群優(yōu)化算法進行特征選擇,并對特征選擇后的數(shù)據(jù)進行SVM分類。將直接SVM分類的結果,和使用粒子群算法進行特征選擇后再進行SVM分類的結果進行對比。對比兩者的實驗結果,結果表明使用粒子群優(yōu)化算法進行特征選擇能夠提高SVM的分類精度。綜上所述,所得的實驗結果與預期結果一致。
2 部分代碼
%% I. 清空環(huán)境
clc
clear
%% II. 聲明全局變量
global data
data=xlsread('BreastCancer_data');
%% III. 參數(shù)初始化
c1 = 0.25;
c2 = 0.25;
maxgen = 16; ? % 進化次數(shù) ?
sizepop = 4; ? %種群規(guī)模
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('最優(yōu)個體適應度','fontsize',12);
xlabel('進化代數(shù)','fontsize',12);ylabel('適應度','fontsize',12);
3 仿真結果




4 參考文獻
[1]鄒心遙, 陳敬偉, 姚若河. 采用粒子群優(yōu)化的 SVM 算法在數(shù)據(jù)分類中的應用[J]. 華僑大學學報:自然科學版, 2016, 37(2):4.
博主簡介:擅長智能優(yōu)化算法、神經(jīng)網(wǎng)絡預測、信號處理、元胞自動機、圖像處理、路徑規(guī)劃、無人機等多種領域的Matlab仿真,相關matlab代碼問題可私信交流。
部分理論引用網(wǎng)絡文獻,若有侵權聯(lián)系博主刪除。
