0、前言
采用优化算法优化SVM参数进行分类。包含GWO、WOA、AFSA、AO、BAT、GTO、HBA、MPA、POA、SSA、SMA、jSSA、HHO、EO、AOA、SO等优化算法对SVM的改进。
2、实现步骤
SVM 为典型的核方法,首先选定核函数,确定待优化的核参数;其次,限定待优化参数的范围,设置适应度函数,应用优化算法寻优得到最佳参数;最终采用最优参数的SVM模型实现分类。 以AOA优化SVM为例,如下图所示:
%% 优化SVM kerneltype=2;%核函数选择 [xx,trace,process]=AOASVM(P_train,P_test,T_train,T_test,kerneltype);%采用AOA优化算法优化SVM核参数 save result/AOASVMpara xx trace process%保存参数 下次就可注释掉,不用优化浪费时间 直接加载 load result/AOASVMpara figure plot(1-trace) legend('寻优进化曲线') xlabel('寻优代数') ylabel('适应度值') %% 采用优化的值重新训练svm gam=xx(1) sig2=xx(2) cmd=['-s 0 -t ',num2str(kerneltype),' -c ',num2str(sig2),' -g ',num2str(gam)]; model=svmtrain(T_train,P_train,cmd); % SVM模型训练 %% SVM网络预测 y_pre_train=svmpredict(zeros(size(P_train,1),1),P_train,model); y_pre_test=svmpredict(zeros(size(P_test,