提取神经网络数学表达式


来自《神经网络之家》 www.nnetinfo.com

作者:xiaoH   日期:2015-07-16 12:08:27.0

当我们在matlab训练好网络后,可以使用神经网络工具箱的sim(net,x)函数进行预测输出。但往往想提取出它的数学表达式,该怎么提取呢?

下面以《一个简单的神经网络例子》中的模型为例,提取神经网络表达式。

在《一个简单的神经网络例子》中我们设置的模型为:

1:节点个数设置: 输入层、隐层、输出层的节点个数分别为[2 ,3,1]。

2:传递函数设置:隐层( tansig函数)。输出层(purelin函数)。

3:训练方式:trainlm。

 

(1)先根据我们之前所设置的BP神经网络模型,写出它的数学表达式:

(1)

表达式就参数较多,但实际只有两类参数:权重w和阈值b。

代表这个权值是第2层的第1个节点到第3层的第1个节点的权值。

 

(2)在matlab中提取:

输入代码:

w12 = net.iw{1,1} %第1层(输入层)到第2层(隐层)的权值

b2 = net.b{1}    %第2层(隐层)的阈值

 

w23 = net.lw{2,1} %第2层(输入层)到第3层(输出层)的权值

b3 = net.b{2}    %第3层(输出层)的阈值

 

可以得到w和b的值。

 

(3)代回表达式。

填入式(1)即得:

其中

你可能感兴趣的:(神经网络初级学习)