多输入多输出 | MATLAB实现PSO-BP多输入多输出
本程序基于MATLAB实现PSO-BP多输入多输出回归型预测,3个输入,2个输出。
粒子群优化(Particle Swarm Optimization, PSO),又称粒子群算法、微粒群算法,来源于对一个简化社会模型的模拟。其中“群(swarm)”来源于微粒群符合 M. M. Millonas 在开发应用于人工生命(artificial life)的模型时所提出的群体智能的5个基本原则。“粒子(particle)”是一个折衷的选择,因为既需要将群体中的成员描述为没有质量、没有体积的,同时也需要描述它的速度和加速状态。
主程序代码如下:
%% 清除工作空间中的变量和图形
clc
clear
%% 构造样本集
load dataOTH input output
%%节点个数
inputnum=3;
hiddennum=6;
outputnum=2;
numsum=inputnum*hiddennum+hiddennum+hiddennum*outputnum+outputnum;
%划分训练、测试样本
input_train=input(1:72,:)';
input_test=input(73:108,:)';
output_train=output(1:72,1:2)';
output_test=output(73:108,1:2)';
%数据归一化
[inputn,inputps]=mapminmax(input_train);
[outputn,outputps]=mapminmax(output_tr