資源簡介
臺灣大學林智仁 (Lin Chih-Jen) 教授等開發(fā)設計的 libsvm 工具箱提供了SVDD算法的MATLAB接口,其中兩個關鍵參數 c 和 g 直接影響SVDD的單值分類結果。
該代碼通過引入鯨魚優(yōu)化算法(Whale Optimization Algorithm,WOA),實現對 libsvm 工具箱中的SVDD算法的參數優(yōu)化,給出兩個實例代碼:
1. libsvm 工具箱提供的heart_scale data
2. 工業(yè)過程數據
WOA的具體描述可以參考以下文獻:
(1)Mirjalili S, Lewis A. The whale optimization algorithm[J]. Advances in engineering software, 2016, 95: 51-67.
該算法的提出者已經把代碼開源在mathworks。
注:(1)該代碼把 libsvm工具箱的svmtrain和svmpredict函數的名字分別改為libsvmtrain和libsvmpredict。
(2)WOA算法和其他群智能優(yōu)化算法一樣,容易陷入局部最優(yōu),若尋優(yōu)結果出現異常,可以嘗試多運行幾次。

代碼片段和文件信息
%%%%%%%%%%??????SVDD_WOA?(libsvm-3.23)???????????????%%%%%%%%%%%%%%%
%?Demo:?heart_scale?data
%?Created?on?1st?October?2019?by?Kepeng?Qiu.
%?---------------------------------------------------------------------%
clc?
clear?all
close?all
addpath(genpath(pwd))
global?traindata?trainlabel
%?heart_scale?data
[traindata?testdata?trainlabel?testlabel]?=?prepareData;
%?Parameter?setting?of?WOA
agent?=?10;????????????%?Number?of?search?agents
iteration?=?20;????????%?Maximum?numbef?of?iterations
lb?=?[10^-32^-4];?????%?Lower?bound?of?‘c‘?and?‘g‘
ub?=?[10^02^4];???????%?Upper?bound?of?‘c‘?and?‘g‘
dim?=?2;???????????????%?Number?of?Parameter
fobj?=?@woa_obj;???????%?objective?function
%?Parameter?optimization?using?WOA
[Best_score?Best_pos~]?=?WOA(agent?iteration?lb?ub?dim?fobj);
%?Train?SVDD?hypersphere?using?the?optimal?parameters
cmd?=?[‘-s?5?-t?2?‘?‘-c?‘?num2str(Best_pos(11))?‘?-g?‘?...
????num2str(Best_pos(12))?‘?-q‘];
model?=?libsvmtrain(trainlabel?traindata?cmd);
%?Test?
[predictlabel?accuracy?~]?=?libsvmpredict(testlabel?testdata?model);
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2019-10-16?13:05??data\
?????文件???????35936??2019-10-01?15:47??data\data_2.mat
?????文件???????28904??2012-03-19?16:52??data\heart_scale.mat
?????文件????????1128??2019-10-01?17:12??demo_1.m
?????文件????????1160??2019-10-01?17:12??demo_2.m
?????目錄???????????0??2019-10-16?13:05??func\
?????文件?????????646??2019-10-01?17:14??func\plotResult.m
?????文件?????????811??2019-10-01?16:30??func\prepareData.m
?????文件?????????684??2019-10-01?17:13??func\woa_obj.m
?????目錄???????????0??2019-10-16?13:05??libsvm-3.23\
?????文件????????9818??2018-07-15?22:16??libsvm-3.23\libsvmpredict.c
?????文件???????27648??2018-10-19?20:55??libsvm-3.23\libsvmpredict.mexw64
?????文件????????4060??2018-07-15?22:16??libsvm-3.23\libsvmread.c
?????文件???????13312??2018-10-19?20:55??libsvm-3.23\libsvmread.mexw64
?????文件???????12502??2016-12-26?19:56??libsvm-3.23\libsvmtrain.c
?????文件???????73728??2018-10-19?20:55??libsvm-3.23\libsvmtrain.mexw64
?????文件????????2326??2018-07-15?22:16??libsvm-3.23\libsvmwrite.c
?????文件???????12800??2018-10-19?20:55??libsvm-3.23\libsvmwrite.mexw64
?????文件?????????900??2018-10-19?20:55??libsvm-3.23\make.m
?????文件????????1240??2018-07-15?22:16??libsvm-3.23\Makefile
?????文件????????9815??2018-07-15?22:16??libsvm-3.23\README
?????文件????????8196??2018-07-15?22:16??libsvm-3.23\svm_model_matlab.c
?????文件?????????201??2018-07-15?22:16??libsvm-3.23\svm_model_matlab.h
?????目錄???????????0??2019-10-16?13:05??WOA\
?????文件????????3633??2016-02-10?23:43??WOA\func_plot.m
?????文件????????7725??2016-02-10?23:43??WOA\Get_Functions_details.m
?????文件????????1953??2016-02-10?23:43??WOA\initialization.m
?????文件????????3149??2016-03-03?15:32??WOA\main.m
?????文件????????4214??2016-02-10?23:43??WOA\WOA.m
?????文件?????1841081??2016-02-27?17:00??WOA\WOA.pdf
?????文件??????232696??2016-02-27?18:44??WOA\WOA.png
............此處省略0個文件信息
- 上一篇:跳頻通信系統(tǒng)MATLAB仿真
- 下一篇:基于nsct的圖像融合,
評論
共有 條評論