一、神经网络-支持向量机

支持向量机(Support Vector Machine)是Cortes和Vapnik于1995年首先提出的,它在解决小样本、非线性及高维模式识别中表现出许多特有的优势,并能够推广应用到函数拟合等其他机器学习问题中。 1 数学部分 1.1 二维空间 【SVM预测】基于蝗虫算法优化实现SVM数据分类matlab源码_matlab【SVM预测】基于蝗虫算法优化实现SVM数据分类matlab源码_预测模型_02【SVM预测】基于蝗虫算法优化实现SVM数据分类matlab源码_matlab_03【SVM预测】基于蝗虫算法优化实现SVM数据分类matlab源码_预测模型_04【SVM预测】基于蝗虫算法优化实现SVM数据分类matlab源码_matlab_05【SVM预测】基于蝗虫算法优化实现SVM数据分类matlab源码_matlab_06【SVM预测】基于蝗虫算法优化实现SVM数据分类matlab源码_预测模型_07【SVM预测】基于蝗虫算法优化实现SVM数据分类matlab源码_预测模型_02【SVM预测】基于蝗虫算法优化实现SVM数据分类matlab源码_matlab_09【SVM预测】基于蝗虫算法优化实现SVM数据分类matlab源码_预测模型_04【SVM预测】基于蝗虫算法优化实现SVM数据分类matlab源码_matlab_11【SVM预测】基于蝗虫算法优化实现SVM数据分类matlab源码_预测模型_04【SVM预测】基于蝗虫算法优化实现SVM数据分类matlab源码_matlab_13【SVM预测】基于蝗虫算法优化实现SVM数据分类matlab源码_预测模型_02【SVM预测】基于蝗虫算法优化实现SVM数据分类matlab源码_预测模型_15【SVM预测】基于蝗虫算法优化实现SVM数据分类matlab源码_预测模型_16【SVM预测】基于蝗虫算法优化实现SVM数据分类matlab源码_预测模型_17【SVM预测】基于蝗虫算法优化实现SVM数据分类matlab源码_预测模型_04​ 2 算法部分 【SVM预测】基于蝗虫算法优化实现SVM数据分类matlab源码_matlab_19【SVM预测】基于蝗虫算法优化实现SVM数据分类matlab源码_matlab_20【SVM预测】基于蝗虫算法优化实现SVM数据分类matlab源码_预测模型_21【SVM预测】基于蝗虫算法优化实现SVM数据分类matlab源码_matlab_06【SVM预测】基于蝗虫算法优化实现SVM数据分类matlab源码_matlab_23【SVM预测】基于蝗虫算法优化实现SVM数据分类matlab源码_预测模型_16【SVM预测】基于蝗虫算法优化实现SVM数据分类matlab源码_预测模型_25

 二、蝗虫算法

1.算法原理

【SVM预测】基于蝗虫算法优化实现SVM数据分类matlab源码_matlab_26

 【SVM预测】基于蝗虫算法优化实现SVM数据分类matlab源码_matlab_27

 【SVM预测】基于蝗虫算法优化实现SVM数据分类matlab源码_预测模型_28

2.算法流程

【SVM预测】基于蝗虫算法优化实现SVM数据分类matlab源码_预测模型_29

三、部分代码

%%% Designed and Developed by Dr. Gaurav Dhiman (http://dhimangaurav.com/) %%%


function[Score,Position,Convergence]=SOA(Search_Agents,Max_iterations,Lower_bound,Upper_bound,dimension,objective)

Position=zeros(1,dimension);
Score=inf; 

Positions=init(Search_Agents,dimension,Upper_bound,Lower_bound);

Convergence=zeros(1,Max_iterations);

l=0;

while l<Max_iterations
    for i=1:size(Positions,1)  
        
        Flag4Upper_bound=Positions(i,:)>Upper_bound;
        Flag4Lower_bound=Positions(i,:)<Lower_bound;
        Positions(i,:)=(Positions(i,:).*(~(Flag4Upper_bound+Flag4Lower_bound)))+Upper_bound.*Flag4Upper_bound+Lower_bound.*Flag4Lower_bound;               
        
        fitness=objective(Positions(i,:));
        
        if fitness<Score 
            Score=fitness; 
            Position=Positions(i,:);
        end
        

    end
    
    
    Fc=2-l*((2)/Max_iterations); 
    
    for i=1:size(Positions,1)
        for j=1:size(Positions,2)     
                       
            r1=rand(); 
            r2=rand(); 
            
            A1=2*Fc*r1-Fc; 
            C1=2*r2; 
            b=1;             
            ll=(Fc-1)*rand()+1;  
       
            D_alphs=Fc*Positions(i,j)+A1*((Position(j)-Positions(i,j)));                   
            X1=D_alphs*exp(b.*ll).*cos(ll.*2*pi)+Position(j);
            Positions(i,j)=X1;
            
        end
    end
    l=l+1;    
    Convergence(l)=Score;
end
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.
  • 36.
  • 37.
  • 38.
  • 39.
  • 40.
  • 41.
  • 42.
  • 43.
  • 44.
  • 45.
  • 46.
  • 47.
  • 48.
  • 49.
  • 50.
  • 51.
  • 52.
  • 53.
  • 54.
  • 55.

四、仿真结果

【SVM预测】基于蝗虫算法优化实现SVM数据分类matlab源码_预测模型_30

【SVM预测】基于蝗虫算法优化实现SVM数据分类matlab源码_预测模型_31