matlab神经网络工具箱训练出来的函数,怎么输出得到函数代码段?
答案:2 悬赏:30 手机版
解决时间 2021-04-07 09:57
- 提问者网友:niaiwoma
- 2021-04-07 02:20
matlab神经网络工具箱训练出来的函数,怎么输出得到函数代码段?
最佳答案
- 五星知识达人网友:有你哪都是故乡
- 2021-04-07 02:45
神经网络训练出来的是权值矩阵
我想你是想在matlab外用训练好的神经网络
首先你要在外部实现神经网络算法
之后你把神经网络训练出来的权值矩阵读取到你在外部实现的神经网络算法中
然后你就可以使用这个神经网络了
我想你是想在matlab外用训练好的神经网络
首先你要在外部实现神经网络算法
之后你把神经网络训练出来的权值矩阵读取到你在外部实现的神经网络算法中
然后你就可以使用这个神经网络了
全部回答
- 1楼网友:酒醒三更
- 2021-04-07 03:12
你的意思就是想训练好网络后,然后提取出网络的具体表达式吧?
你首先要知道自己的网络设置,例如我的网络是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层(输出层)的阈值
获取权值阈值后代回表达式中就可以了.
不过楼主要注意,网络是否用是归一化,若果有归一化,还要反归一化才是真正的表达式.
至于表达式怎么得来的,和具体怎么代值进去,和网络的训练,相信在这里是讲不清的.
楼主可以到 <<神经网络之家>> 去看下面几张文章:
----讲模型怎么得来的
<一个简单的神经网络例子> -------讲在matlab里怎么训练网络
<提取神经网络数学表达式>------ 讲怎么提取数学表达式.
另外还有个视频,可以看到具体的过程:
纯手打的,看官觉得精彩顺便点个!赞!.thx
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯