0
点赞
收藏
分享

微信扫一扫

多输入多输出 | MATLAB实现PSO-RBF粒子群优化径向基神经网络多输入多输出预测


多输入多输出 | MATLAB实现PSO-RBF粒子群优化径向基神经网络多输入多输出预测


目录

  • 多输入多输出 | MATLAB实现PSO-RBF粒子群优化径向基神经网络多输入多输出预测
  • 预测效果
  • 基本介绍
  • 程序设计
  • 往期精彩
  • 参考资料


预测效果

多输入多输出 | MATLAB实现PSO-RBF粒子群优化径向基神经网络多输入多输出预测_粒子群优化径向基神经网络


多输入多输出 | MATLAB实现PSO-RBF粒子群优化径向基神经网络多输入多输出预测_多输入多输出预测_02


多输入多输出 | MATLAB实现PSO-RBF粒子群优化径向基神经网络多输入多输出预测_RBF_03

多输入多输出 | MATLAB实现PSO-RBF粒子群优化径向基神经网络多输入多输出预测_粒子群优化径向基神经网络_04

多输入多输出 | MATLAB实现PSO-RBF粒子群优化径向基神经网络多输入多输出预测_多输入多输出预测_05

基本介绍

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);


举报

相关推荐

0 条评论