多输入多输出 | MATLAB实现PSO-RBF粒子群优化径向基神经网络多输入多输出预测
目录
- 多输入多输出 | MATLAB实现PSO-RBF粒子群优化径向基神经网络多输入多输出预测
- 预测效果
- 基本介绍
- 程序设计
- 往期精彩
- 参考资料
预测效果
基本介绍
Matlab实现PSO-RBF粒子群优化径向基神经网络多输入多输出预测(优化扩散值)
1.data为数据集,10个输入特征,3个输出变量。
2.MainPSORBFNM.m为主程序文件。
RBF(Radial Basis Function, 径向基函数)网络一般来说,是一种单隐层三层架构的前馈神经网络神经网络,其包括输入层、隐层、输出层。从输入空间到隐层空间的变换是非线性的,而从隐层空间到输出层空间变换是线性的。它使用径向基函数作为隐含层神经元激活函数,而输出层则是对隐含层神经元输出的线性组合。
- RBF网络的基本思想是:用RBF作为隐单元的“基”构成隐含层空间,这样就可以将输入矢量直接映射到隐空间,而不需要通过权连接。
- 当RBF的中心点确定以后,这种映射关系也就确定了。而隐含层空间到输出空间的映射是线性的,即网络的输出是隐单元输出的线性加权和,此处的权即为网络可调参数。其中,隐含层的作用是把向量从低维度的p映射到高维度的h,这样低维度线性不可分的情况到高维度就可以变得线性可分了,主要就是核函数的思想。
- 这样,网络由输入到输出的映射是非线性的,而网络输出对可调参数而言却又是线性的。网络的权就可由线性方程组直接解出,从而大大加快学习速度并避免局部极小问题。
程序设计
- 完整程序和数据下载方式私信博主回复:MATLAB实现PSO-RBF粒子群优化径向基神经网络多输入多输出预测。
%--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
%% 清空环境变量
warning off % 关闭报警信息
close all % 关闭开启的图窗
clear % 清空变量
clc % 清空命令行
%--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
%% 导入数据
res = xlsread('data.xlsx');
%-------------------------------------------------------------
%% 数据归一化
[p_train, ps_input] = mapminmax(P_train, 0, 1);
p_test = mapminmax('apply', P_test, ps_input);
%--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[t_train, ps_output] = mapminmax(T_train, 0, 1);
t_test = mapminmax('apply', T_test, ps_output);
%--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
%% 仿真测试
t_sim1 = sim(net, p_train);
t_sim2 = sim(net, p_test );
%--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
%% 数据反归一化
T_sim1 = mapminmax('reverse', t_sim1, ps_output);
T_sim2 = mapminmax('reverse', t_sim2, ps_output);
往期精彩
MATLAB实现RBF径向基神经网络多输入多输出预测
MATLAB实现BP神经网络多输入多输出预测
MATLAB实现DNN神经网络多输入多输出预测
参考资料
[1] https://blog.csdn.net/kjm13182345320/article/details/126864256
[2] https://blog.csdn.net/kjm13182345320/article/details/126019698
[3] https://blog.csdn.net/kjm13182345320/article/details/125237445