基于粒子群优化和引力搜索混合优化算法改进的前馈神经网络(Matlab代码实现)

简介: 基于粒子群优化和引力搜索混合优化算法改进的前馈神经网络(Matlab代码实现)

💥1 概述


本文利用粒子群优化(PSO)和引力搜索算法(GSA)的混合体,称为PSOGSA,用于训练前馈神经网络(FNN)。该算法应用于众所周知的鸢尾花数据集。该程序是一个改进的前馈神经网络,使用称为PSOGSA的混合算法。

文献来源:



肤色识别的应用在基于内容的分析和人机交互中的应用得到了扩展。因此,实现一种有用的方法来分割皮肤像素可以帮助解决所呈现的问题。该文提出一种混合PSOGSA -ANN作为前馈神经网络(FNNs)的新训练方法,以研究解决皮肤分类问题的高效率。所提出的颜色分割算法直接应用于RGB色彩空间,无需色彩空间转换。实验结果表明,所提方法能够显著提高MLP算法在皮肤颜色识别问题上的性能。


📚2 运行结果

部分代码:

x=sortrows(iris,2);
 H2=x(1:150,1);
 H3=x(1:150,2);
 H4=x(1:150,3);
 H5=x(1:150,4);
 T=x(1:150,5);
 H2=H2';
 [xf,PS] = mapminmax(H2);
 I2(:,1)=xf;
 H3=H3';
 [xf,PS2] = mapminmax(H3);
 I2(:,2)=xf;
 H4=H4';
 [xf,PS3] = mapminmax(H4);
 I2(:,3)=xf;
 H5=H5';
 [xf,PS4] = mapminmax(H5);
 I2(:,4)=xf;
 Thelp=T;
 T=T';
 [yf,PS5]= mapminmax(T);
 T=yf;
 T=T';
 %% /FNN initial parameters//
HiddenNodes=15;       %Number of hidden codes
Dim=8*HiddenNodes+3;  %Dimension of masses in GSA
TrainingNO=150;       %Number of training samples
%% GSA/
%Configurations and initializations
noP = 30;             %Number of masses
Max_iteration  = 500; %Maximum number of iteration
CurrentFitness =zeros(noP,1);
G0=1; %Gravitational constant
CurrentPosition = rand(noP,Dim); %Postition vector
velocity = .3*randn(noP,Dim) ; %Velocity vector
acceleration=zeros(noP,Dim); %Acceleration vector
mass(noP)=0; %Mass vector
force=zeros(noP,Dim);%Force vector
%Vectores for saving the location and MSE of the best mass
BestMSE=inf;
BestMass=zeros(1,Dim);
ConvergenceCurve=zeros(1,Max_iteration); %Convergence vector
%Main loop
Iteration = 0 ;
while  ( Iteration < Max_iteration )
    Iteration = Iteration + 1;
    G=G0*exp(-20*Iteration/Max_iteration);
    force=zeros(noP,Dim);
    mass(noP)=0;
    acceleration=zeros(noP,Dim);
%Calculate MSEs
    for i = 1:noP
        for ww=1:(7*HiddenNodes)
            Weights(ww)=CurrentPosition(i,ww);
        end
        for bb=7*HiddenNodes+1:Dim
            Biases(bb-(7*HiddenNodes))=CurrentPosition(i,bb);
        end
        fitness=0;
        for pp=1:TrainingNO
            actualvalue=My_FNN(4,HiddenNodes,3,Weights,Biases,I2(pp,1),I2(pp,2), I2(pp,3),I2(pp,4));
            if(T(pp)==-1)
                fitness=fitness+(1-actualvalue(1))^2;
                fitness=fitness+(0-actualvalue(2))^2;
                fitness=fitness+(0-actualvalue(3))^2;
            end
            if(T(pp)==0)
                fitness=fitness+(0-actualvalue(1))^2;
                fitness=fitness+(1-actualvalue(2))^2;
                fitness=fitness+(0-actualvalue(3))^2;   
            end
            if(T(pp)==1)
                fitness=fitness+(0-actualvalue(1))^2;
                fitness=fitness+(0-actualvalue(2))^2;
                fitness=fitness+(1-actualvalue(3))^2;              
            end
        end
        fitness=fitness/TrainingNO;
        CurrentFitness(i) = fitness;
    end
    best=min(CurrentFitness);
    worst=max(CurrentFitness);

🌈3 Matlab代码实现

🎉4 参考文献

部分理论来源于网络,如有侵权请联系删除。


@inproceedings{Mohseni2013TrainingFN, title={Training feedforward neural networks using hybrid particle swarm optimization and gravitational search}, author={Mahmood Mohseni and Mehdi Ramezani}, year={2013} }  

相关文章
|
机器学习/深度学习 人工智能 自然语言处理
Transformer:Attention机制、前馈神经网络、编码器与解码器
Transformer:Attention机制、前馈神经网络、编码器与解码器
560 1
|
机器学习/深度学习 编解码 数据可视化
图神经网络版本的Kolmogorov Arnold(KAN)代码实现和效果对比
目前我们看到有很多使用KAN替代MLP的实验,但是目前来说对于图神经网络来说还没有类似的实验,今天我们就来使用KAN创建一个图神经网络Graph Kolmogorov Arnold(GKAN),来测试下KAN是否可以在图神经网络方面有所作为。
486 1
|
机器学习/深度学习 监控 数据可视化
|
机器学习/深度学习 自然语言处理 PyTorch
【chatgpt问答记录】前馈神经网络
【chatgpt问答记录】前馈神经网络
185 1
|
机器学习/深度学习 TensorFlow API
Keras是一个高层神经网络API,由Python编写,并能够在TensorFlow、Theano或CNTK之上运行。Keras的设计初衷是支持快速实验,能够用最少的代码实现想法,并且能够方便地在CPU和GPU上运行。
Keras是一个高层神经网络API,由Python编写,并能够在TensorFlow、Theano或CNTK之上运行。Keras的设计初衷是支持快速实验,能够用最少的代码实现想法,并且能够方便地在CPU和GPU上运行。
|
机器学习/深度学习 传感器 算法
【红外图像】利用红外图像处理技术对不同制冷剂充装的制冷系统进行性能评估(Matlab代码实现)
【红外图像】利用红外图像处理技术对不同制冷剂充装的制冷系统进行性能评估(Matlab代码实现)
|
机器学习/深度学习 传感器 算法
【视频去噪】基于全变异正则化最小二乘反卷积是最标准的图像处理、视频去噪研究(Matlab代码实现)
【视频去噪】基于全变异正则化最小二乘反卷积是最标准的图像处理、视频去噪研究(Matlab代码实现)
|
2月前
|
机器学习/深度学习 算法 机器人
【水下图像增强融合算法】基于融合的水下图像与视频增强研究(Matlab代码实现)
【水下图像增强融合算法】基于融合的水下图像与视频增强研究(Matlab代码实现)
204 0
|
2月前
|
数据采集 分布式计算 并行计算
mRMR算法实现特征选择-MATLAB
mRMR算法实现特征选择-MATLAB
153 2
|
3月前
|
传感器 机器学习/深度学习 编解码
MATLAB|主动噪声和振动控制算法——对较大的次级路径变化具有鲁棒性
MATLAB|主动噪声和振动控制算法——对较大的次级路径变化具有鲁棒性
205 3

热门文章

最新文章