克拉拉 发表于 2006-7-6 17:08

【请教】BP神经网络应用于故障诊断方面的问题

目标是将神经网络应用于变压器故障诊断中,对比现有的神经网络并做些改动,看哪种神经网络最终诊断的准确率最高,效率最高。
因所学有限,有些地方实在看不懂,现诚心请教各位高手,希望能给些指点,以期能对课题研究有所帮助。
我举一个用MATLAB调用BP神经网络的例子加以说明:

p=[.......................]';
t=';
threshold=;
net=newff(threshold,,{'tansig','logsig'},'trainlm');
net.trainparam.epochs=1000;
net.trainparam.goal=0.01;
lp.lr=0.1
net=train(net,p,t);
p_test=[...............]';
y=sim(net,p_test)

请问:
1.这样用MATLAB调用生成BP神经网络的方法是不是太笼统化了?就一个newff就可以了?
2.如果我想查看神经网络工具箱里面的生成BP神经网络的代码该如何查看?
3.书上常说的改进的BP算法(增加动量因子)是如何实现的,能提供一些这方面的资料吗?最好有例子。我实在是找不到。。。

先问这么多,请各位不吝赐教,谢谢!
QQ:17695665
欢迎交流,一起进步:D:D:D

jimin 发表于 2006-7-6 21:47

1用 工具箱写起来当然比较容易些了,也可以自己写算法
2 type newff
那些函数估计很难读懂的
3把trainlm换成 traingdm就可以了,用工具箱很方便
不过工具箱好象掩盖了很多技术的东西
我也做故障诊断的,不过还没开始做
有机会可以交流交流

克拉拉 发表于 2006-7-7 09:54

首先谢谢楼上的解答,按你说的第2点,代码已经可以列出,至于读的懂读不懂就看我个人了:)
令我疑惑的是,如果都用工具箱,等于都是模仿别人的例子,没什么自己的东西
请问楼上的怎么看?
如果自己写算法,楼上的朋友又有什么建议呢?

lxq 发表于 2006-7-7 11:41

matlab 之所以好用 其实很大程度在与它有丰富的工具箱
我们手头如果已经有了个很好的适用的工具
为何还费心去再修造一个未必更好的工具呢?

增加动量,或利用自适应速率学习算法 可以避免传统BP网络的缺点
(陷入局部极小,速率慢等)

克拉拉 发表于 2006-7-8 10:04

我只所以想改,是因为我必须提出一些自己的东西,能对现有的方法做某些程度方面地改进
好的,谢谢楼上的,我去找找看

F117_ren_0 发表于 2006-7-8 16:23

原帖由 克拉拉 于 2006-7-7 09:54 发表
首先谢谢楼上的解答,按你说的第2点,代码已经可以列出,至于读的懂读不懂就看我个人了:)
令我疑惑的是,如果都用工具箱,等于都是模仿别人的例子,没什么自己的东西
请问楼上的怎么看?
如果自己写算法,楼 ...
我很不理解你疑惑的是什么?你把工具箱理解成你家的扳手工具箱了吧?
人人都调用,等于模仿?

andybeyond 发表于 2006-7-8 20:08

如果你想提出自己的改进算法,那么你可以自己从头编起,其实上也不难,估计编程高手的话,2天就可搞定

jimin 发表于 2006-7-9 18:50

就是用工具箱,还有很多地方值得研究的
初始值如果取才更有效,而不是随机取,那样很容易限入局部极小,结构参数如何设计,这些都还没有好的理论出来,另外,用并行的神经网络代替单个神经网络是不是在故障诊断的效果上要好,还可以考虑神经网络集成

克拉拉 发表于 2006-7-11 21:03

谢谢楼上的各位兄弟给我的建议,看来我的理解有偏颇
我会认真思考大家给我的提示,再次感谢你们

克拉拉 发表于 2006-7-12 16:57

初始值如果取才更有效???而不是随机取,那样很容易限入局部极小
结构参数如何设计???
用并行的神经网络代替单个神经网络???
JIMIN朋友能说的再具体点吗???
盼赐教

ericlin 发表于 2006-7-13 13:54

初始值 一般都是随机赋值,但如果你要自己编的话(可以在原代码的基础上做改进),就可以将初值自己进行设置,可以用训练过的最终权值作为下次训练的初值,结构参数应该是指隐层神经元数吧,可以通过经验试凑确定,并行的神经网络??指级联神经网络还是组合神经网络?不清楚。

克拉拉 发表于 2006-7-13 16:04

1.初始值 一般都是随机赋值,但如果你要自己编的话(可以在原代码的基础上做改进)???
2.还可以用训练过的最终权值作为下次训练的初值
楼上的朋友能针对这两点举下例子说明吗???
页: [1]
查看完整版本: 【请教】BP神经网络应用于故障诊断方面的问题