⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 neuralnetwork_rbf_regression.m

📁 稀土测量 matlab 源程序 粒子群优化算法的改进 lS-SVM等源程序
💻 M
字号:

clc
clear
close all

%---------------------------------------------------
% 产生训练样本与测试样本
load input;

P1 = input(1:100,1:4); 
P1=P1'% 训练样本,每一列为一个样本
T1 = input(1:100,5);               % 训练目标
T1=T1'
P2 = input(101:150,1:4); 
P2=P2'% 训练样本,每一列为一个样本
T2 = input(101:150,5);               % 训练目标
T2=T2'
             

%---------------------------------------------------
% 归一化

[PN1,minp,maxp,TN1,mint,maxt] = premnmx(P1,T1);
PN2 = tramnmx(P2,minp,maxp);
TN2 = tramnmx(T2,mint,maxt);

%---------------------------------------------------
% 训练

switch 2
case 1

% 神经元数是训练样本个数
spread =0.1;                    % 此值越大,覆盖的函数值就大(默认为1)
net = newrbe(PN1,TN1,spread);

case 2
    
% 神经元数逐步增加,最多就是训练样本个数
goal = 1e-10;                   % 训练误差的平方和(默认为0)
spread =0.1;                   % 此值越大,需要的神经元就越少(默认为1)
MN = 100  %  size(PN1,2);       % 最大神经元数(默认为训练样本个数)
DF = 1;                         %    显示间隔(默认为25)
net = newrb(PN1,TN1,goal,spread,MN,DF);

case 3
    
spread = 0.1;                   % 此值越大,需要的神经元就越少(默认为1)
net = newgrnn(PN1,TN1,spread);
    
end

%---------------------------------------------------
% 测试

YN1 = sim(net,PN1);             % 训练样本实际输出
YN2 = sim(net,PN2);             % 测试样本实际输出

MSE1 = mean((TN1-YN1).^2)       % 训练均方误差
MSE2 = mean((TN2-YN2).^2)       % 测试均方误差

%---------------------------------------------------
% 反归一化

Y2 = postmnmx(YN2,mint,maxt);

%---------------------------------------------------
% 结果作图

plot(1:length(T2),T2,'rd-',1:length(Y2),Y2,'b.:')
title('+为真实值,o为预测值')


⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -