中易网

介绍MATLAB在水利电力专业领域的应用实例

答案:1  悬赏:20  
解决时间 2021-01-13 16:11
介绍MATLAB在水利电力专业领域的应用实例
最佳答案
一、 BP网络
BP (Back Propagation)神经网络是一种神经网络学习算法,全称基于误差反向传播算法的人工神经网络。
拓扑结构的单隐层前馈网络,一般称为三层前馈网或三层感知器,即:输入层、中间层(也称隐层)和输出层。它的特点是:各层神经元仅与相邻层神经元之间相互全连接,同层内神经元之间无连接,各层神经元之间无反馈连接,够成具有层次结构的前馈型神经网络系统。单计算层前馈神经网络只能求解线性可分问题,能够求解非线性问题的网络必须是具有隐层的多层神经网络。
在人工神经网络发展历史中,很长一段时间里没有找到隐层的连接权值调整问题的有效算法。直到误差反向传播算法(BP算法)的提出,成功地解决了求解非线性连续函数的多层前馈神经网络权重调整问题。
BP (Back Propagation)神经网络,即误差反传误差反向传播算法的学习过程,由信息的正向传播和误差的反向传播两个过程组成。输入层各神经元负责接收来自外界的输入信息,并传递给中间层各神经元;中间层是内部信息处理层,负责信息变换,根据信息变化能力的需求,中间层可以设计为单隐层或者多隐层结构;最后一个隐层传递到输出层各神经元的信息,经进一步处理后,完成一次学习的正向传播处理过程,由输出层向外界输出信息处理结果。当实际输出与期望输出不符时,进入误差的反向传播阶段。误差通过输出层,按误差梯度下降的方式修正各层权值,向隐层、输入层逐层反传。周而复始的信息正向传播和误差反向传播过程,是各层权值不断调整的过程,也是神经网络学习训练的过程,此过程一直进行到网络输出的误差减少到可以接受的程度,或者预先设定的学习次数为止。
二、应用举例
下表为某土壤的基质吸力(基质势的绝对值)S与体积含水量θ的测定数据,设计一BP网络,完成表中土壤的基质吸力S与体积含水量θ的非线性映射。

S 695 3365 1255 447 330 259 209 168 134 106

θ 0.05 0.06 0.08 0.10 0.12 0.14 0.16 0.18 0.20 0.22

S 78 64 53 43 34 26 18 10 3 0

θ 0.24 0.26 0.28 0.30 0.32 0.34 0.36 0.38 0.40 0.41

网络结构设计:该问题中输入、输出单元个数均为1;取1个隐含层,隐含层单元数q初步取为3;隐含层和输出层的激活函数均取为对数S型(logsig)。
实现以上非线性映射的MATLAB代码为:
>> q=3;
>> s=[6975 3365 1255 447 330 259 209 168 134 106 78 64 53 43 34 26 18 10 3 0];
>> sita=[0.05 0.06 0.08 0.10 0.12 0.14 0.16 0.18 0.20 0.22 0.24 0.26 0.28 0.30 0.32 0.34 0.36 0.38 0.40 0.41];
>> net=newff([0 6975],[q 1],{'logsig' 'logsig'},'trainlm','learngdm','mae');
>> net=init(net);
>> net.trainparam.goal=0.01;
>> net.trainparam.epochs=1000;
>> net=train(net,s,sita);

>> q=3;
>> s=[6975 3365 1255 447 330 259 209 168 134 106 78 64 53 43 34 26 18 10 3 0];
>> sita=[0.05 0.06 0.08 0.10 0.12 0.14 0.16 0.18 0.20 0.22 0.24 0.26 0.28 0.30 0.32 0.34 0.36 0.38 0.40 0.41];
>> net=newff([0 6975],[q 1],{'logsig' 'logsig'},'trainlm','learngdm','mae');
>> net=init(net);
>> net.trainparam.goal=0.01;
>> net.trainparam.epochs=1000;
>> net=train(net,s,sita);
>> s1=[6975 6000 5000 4000 3500 3000 2500 2000 1800 1600 1400 1200 1000 900 800 700 600 500 400 300 250 200 180 160 140 120 100 90 80 70 60 50 40 30 20 15 10 8 6 3 1];
>> sitac=sim(net,s1);
>> semilogy(sitac,s1,sita,s,'o')
>> xlabel('θ')
>> ylabel('s')

网络训练用平均绝对误差来控制,误差限取为0.01。通过一定次数的训练达到精度要求,网络训练和仿真结果如上图所示。可以看出,BP网络能较好的反应S~θ间的关系。
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
感情这种事,强求勉强来的会幸福对么?
陈家祠堂到西关大屋怎么走
最容易被面试官PASS掉的应聘者是怎样的?
R语言中怎么让NA显示为空格?
书香文化的介绍资料有哪些?
觕豪的意思是什么?觕豪的释义是什么啊?
mht如何转化为HTML
求贾姓女孩名
求灭运图录TXT
八字硬,甲木之人,参天大树,栋梁之才是什么
巫师3武器打攻击力符文石好还是状态符文石好
馆大呀还是堂大,
紫薇花苑停车场(淄矿路363号附近紫薇花苑停车
GDB怎么调试运行着的程序
linux 5.5 ftp的详细配置
推荐资讯
有人说我长得像是南方人,我是女孩,说我不像
goc in c小熊充电热水袋香港哪些地区有卖。求
蒸水蛋的营养价值
发挥的近义词是什么?
求日语书信范文
DNF女武神85史诗套哪
华硕带aura的主板有什么效果
求火影里面佩恩六道的图片。要6个一起出现的
总共32层的高层,住四楼好不好?
仙域纪的罗刹职业好发展吗?
ps如何把一张图片中相同颜色的区域自动选区。
第61站地址在哪,我要去那里办事
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?