神经网络应用

神经网络应用

基于神经网络的年径流预报分析。

  • 网络学习样本的建立

某水库实测年径流量与因子特征值 :几个重要月份的降水量(单位:mm),年径流量为 (单位:)

这样,将这4个预报因子作为输入量,年径流量 y 为输出量,构成 4 个输入,1个输出的网络,将前19个实测数据作为训练样本集,后一个实测数据作为预测检验样本。

  • 原始数据的预处理

可以看到这里的单位是不同的,在神经网络中,应首先对数据进行标准化处理,或者规格化处理。标准化公式已经很熟悉了,现在看规格化处理公式。

  • Source Code

clc,clear;
​
a = load('jingliu.txt');
a = a';
% 规格化处理
p = a([1:4],[1:end-1]); [PN,PS1] = mapminmax(p);
T = a(5,[1:end-1]); [TN,PS2] = mapminmax(T);
​
% 训练RBF神经网络
net1 = newrb(PN,TN);
​
% 预测,还原数据
x = a([1:4],end); xn = mapminmax('apply',x,PS1);
yn1 = sim(net1,xn); y1 = mapminmax('reverse',yn1,PS2);
​
% 预测的相对误差
delta1 = abs(a(5,20)-y1)/a(5,20);
​
​
% 初始化 BP 神经网络,隐含层的神经元取为4个(经验)
net2 = feedforwardnet(4);
net2 = train(net2,PN,TN);
% BP 神经网络预测,还原
yn2 = net2(xn);
y2 = mapminmax('reverse',yn2,PS2);

原文地址:https://www.cnblogs.com/TreeDream/p/8418910.html