分类预测 | Matlab实现基于PSO-PNN粒子群算法优化概率神经网络的数据分类预测

分类预测 | Matlab实现基于PSO-PNN粒子群算法优化概率神经网络的数据分类预测

目录

    • 分类预测 | Matlab实现基于PSO-PNN粒子群算法优化概率神经网络的数据分类预测
      • 分类效果
      • 基本描述
      • 程序设计
      • 参考资料

分类效果

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

基本描述

1.Matlab实现基于PSO-PNN粒子群算法优化概率神经网络的数据分类预测(完整源码和数据)
2.多特征输入单输出的二分类及多分类模型。程序内注释详细,直接替换数据就可以用。
3.程序语言为matlab,程序可出分类效果图,混淆矩阵图,运行环境matlab2018b及以上。
4.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。
5.data为数据集,输入12个特征,分四类;main为主程序,其余为函数文件,无需运行,可在下载区获取数据和程序内容。

程序设计

  • 完整程序和数据获取方式:私信博主回复Matlab实现基于PSO-PNN粒子群算法优化概率神经网络的数据分类预测
%% 定义粒子群算法参数
% N 种群 T 迭代次数 
%% 随机初始化种群
D=dim;                   %粒子维数
c1=1.5;                 %学习因子1
c2=1.5;                 %学习因子2
w=0.8;                  %惯性权重Xmax=ub;                %位置最大值
Xmin=lb;               %位置最小值
Vmax=ub;                %速度最大值
Vmin=lb;               %速度最小值
%%
%%%%%%%%%%%%%%%%初始化种群个体(限定位置和速度)%%%%%%%%%%%%%%%%x=rand(N,D).*(Xmax-Xmin)+Xmin;
v=rand(N,D).*(Vmax-Vmin)+Vmin;
%%%%%%%%%%%%%%%%%%初始化个体最优位置和最优值%%%%%%%%%%%%%%%%%%%
p=x;
pbest=ones(N,1);
for i=1:Npbest(i)=fobj(x(i,:)); 
end
%%%%%%%%%%%%%%%%%%%初始化全局最优位置和最优值%%%%%%%%%%%%%%%%%%
g=ones(1,D);
gbest=inf;
for i=1:Nif(pbest(i)<gbest)g=p(i,:);gbest=pbest(i);end
end
%%%%%%%%%%%按照公式依次迭代直到满足精度或者迭代次数%%%%%%%%%%%%%
for i=1:Tifor j=1:N%%%%%%%%%%%%%%更新个体最优位置和最优值%%%%%%%%%%%%%%%%%if (fobj(x(j,:))) <pbest(j)p(j,:)=x(j,:);pbest(j)=fobj(x(j,:)); 

参考资料

[1] https://blog.csdn.net/kjm13182345320/article/details/129036772?spm=1001.2014.3001.5502
[2] https://blog.csdn.net/kjm13182345320/article/details/128690229