找回密码
 注册
关于网站域名变更的通知
查看: 604|回复: 3
打印 上一主题 下一主题

bp神经网络

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2021-3-4 13:23 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
用bp神经网络确定抽水试验含水层参数。但所求结果与实际相差较大
' K& m& m; m8 h/ R2 P1 Lclear all; close all;clc4 m+ h+ _, f- H
load t.txt    %导入数据+ `$ h: n9 z2 _
load newinput.txt; I6 R0 ~4 J& s+ A
% 随机生成测试和验证数据+ V5 G6 D7 R3 H4 Y
T = 0.12 + 0.04*rand(1,120), L0 x( h+ F7 y8 M' Z6 h, ?
U = 0.0002 +0.0001*rand(1,120)
2 \6 y6 I$ o  {6 e- Q- y6 ]& L0 T4 T
%根据公式计算求得输入数据8 M% _+ y; s* O# N; H# Q
, y7 ?# ~( ^4 I7 d
M=zeros(18,120)0 Z$ @  F+ _6 P$ L% S  K( L
for i=1:1209 z8 L5 [1 L; P* T( J% A% U# I) U
    for c=1:18) W# i9 @2 a5 h+ J4 C* n' R+ }
    m=43*43*U(1,i)/4/T(1,i)/t(c,1);n=-0.577216-log(m)+m;s=1*n/4/T(1,i )/pi;M(c,i)=s;
9 a6 J# W/ B  @3 O  E    end+ ^4 S8 |' D/ F0 t  P
end8 i9 H8 k; r9 c3 L- v1 p* ^
, |! B( }7 n5 ]4 }( R0 a- N- |
data  = [T;U]
. k3 z: M2 r2 G  W" ]7 @0 E; E( S7 n# r! I: \. S0 E1 e8 I: X  ]
p = M
/ e) B6 c- S8 Qt = data
) ^7 }1 m" W3 _6 r1 p. P% 划分数据,分成测试和验证数据) t/ {7 r( a, O3 c! B
[trainsample.p,valsample.p,testsample.p] =dividerand(p,0.8,0.15,0.15) ;2 Z. e% e' `/ U! {4 N4 r
[trainsample.t,valsample.t,testsample.t] =dividerand(t,0.8,0.15,0.15);
* S9 Y0 h3 l2 f3 Y3 R6 D# m& J' X2 F4 e) U8 h% J! m
% 数据归一化处理
( [) G/ N' S( N/ O[trainsample.P, ps] = mapminmax(trainsample.p,0,1)# f# z. q5 J' o, k3 A% v. I# I+ ?
testsample.P = mapminmax('apply',testsample.p,ps)* n/ P! V, |: U, o: E$ H+ _- Z
[trainsample.T, ts] = mapminmax(trainsample.t, 0,1)
( S4 ?3 M# [4 v* `9 |" X
8 }/ }$ s# E6 {2 Z( _% 初始化网络
  C; |& v/ e3 N# ~  _) h) cnet = newff(trainsample.P,trainsample.T,[1,27])2 [- _! P: S; O! ~

+ o" }7 ^# a: S/ w, d% 设置网络参数, i7 I8 l' I8 T, x/ P' K: K# ^3 h
net.trainParam.epochs = 50000;
# s8 X& g& _% E7 _) x3 b) P3 Wnet.trainParam.show=50;
3 h; y2 U2 I0 Onet.trainParam.lr = 0.68;7 M0 L0 X, n, A- g2 H- O- S, a
net.trainParam.goal = 1E-15;# K, A9 j3 g$ \4 w, z

' H1 n2 p% H( j. L  f8 U2 R7 b* \net.traiNFCn='trainbr';
3 S8 P+ g' G6 B[net,tr]=train(net,trainsample.P,trainsample.T);
. C- r3 {3 Z# H6 M: x
& h" |4 K1 G% D: G% 仿真处理
; G2 B4 h1 o5 op_sim=sim(net,testsample.P);' c# q+ |. u. u& [
P_sim = mapminmax('reverse', p_sim, ts);8 ~2 ^( U0 z/ d, J
6 i' C' D5 A& ~' L2 S  e, ~
% 数据预测
3 k+ K5 ]$ ^: w/ w% c  W; jnewinput = mapminmax('apply', newinput, ps);
) @' ?4 X1 u  \5 s( {& G1 rnewOutput = sim(net, newinput);
7 ~% f: g2 W8 }% t5 X) U% CnewOutput = mapminmax('reverse',newOutput, ts)
+ w4 V" L& ]4 ~
1 h' j/ ~  ?4 F7 n

8 H: c  A3 }7 M 9 r7 v4 Z- `* z/ w: B* Q

该用户从未签到

2#
发表于 2021-3-4 13:33 | 只看该作者
帮你顶一下

该用户从未签到

3#
发表于 2021-3-4 15:53 | 只看该作者
我的理解是:
. o1 M' y4 n3 d- k①有一组已知数据来自t.txt,它们是某模型的输入变量;该模型另有参数U和参数T;模型的输出为形如newinput.txt中的数据。' M+ d, u, v% r; Z
②目标是根据实际输出newinput.txt中的数据,拟合得到参数U和参数T的数值。( o; |; _% p, e3 s
③实现过程则是,先随机生成一系列的参数U和T,并根据该模型计算得到对应的输出;接着构造一个神经网络,使用前述模型计算输出作为训练的输入,使用参数U和T的数据作为训练的输出,开始进行反馈训练;最后使用经过训练的神经网络,完成目标②。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-11-24 01:24 , Processed in 0.156250 second(s), 26 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表