分類預測 | 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