你的意思就是想训练好网络后,然后提取出网络的具体表达式吧?
你首先要知道自己的网络设置,例如我的网络是1个输入,1个输出,3个隐节点的神经网络,隐层传递函数为tansig,而输出层为purelin,那么函数表达式就是:
y=W1*tansig(w11*x1+b1)+W2*tansig(w12*x2+b2)+W3*tansig(w13*x3+b3)+B.
你对着拓扑图看一下就明白的了.
借助matlab神经网络工具箱,在matlab训练好网络,再通过以下代码获得公式里的阈值和权值,
w = net.iw{1,1} %第1层(输入层)到第2层(隐层)的权值
b = net.b{1} %第2层(隐层)的阈值
W = net.lw{2,1} %第2层(输入层)到第3层(输出层)的权值
B = net.b{2} %第3层(输出层)的阈值
获取权值阈值后代回表达式中就可以了.
不过楼主要注意,网络是否用是归一化,若果有归一化,还要反归一化才是真正的表达式.
至于表达式怎么得来的,和具体怎么代值进去,和网络的训练,相信在这里是讲不清的.
楼主可以到 <<神经网络之家>> 去看下面几张文章:
<BP神经网络数学模型(入门)> ----讲模型怎么得来的
<一个简单的神经网络例子> -------讲在matlab里怎么训练网络
<提取神经网络数学表达式>------ 讲怎么提取数学表达式.
另外还有个视频,可以看到具体的过程:
<BP-4_matlab实现模型求解>
纯手打的,看官觉得精彩顺便点个!赞!.thx