找回密码
 注册
Simdroid-非首页
查看: 129|回复: 5

关于神经网络拟合函数问题

[复制链接]
发表于 2011-4-16 10:46:17 | 显示全部楼层 |阅读模式 来自 山东济南
本人对神经网络了解不是特别深入,看到有人用神经网络拟合函数,可是大多只介绍了如何训练神经网络,最后函数是如何求得的呢?在matlab中用什么命令让它输出这个函数呢?还请大侠指教一二!感激不尽!
 楼主| 发表于 2011-4-20 09:03:37 | 显示全部楼层 来自 山东济南
Simdroid开发平台
我做了一个只有一层隐藏层的神经网络,输入与输出函数使用的是默认的tansig和purelin,我理解的是,输入乘以权重再减去阀值,作为tansig函数的输入,然后计算后,再乘以隐藏层输出的权重减去阀值,作为输出层地输出,使用purelin函数输出,这样计算,应该是与训练好的神经网络计算预测值的过程一致吧?可是为什么我编写的函数,计算出来的预测值,与神经网络计算出来的数值不一样呢?请高手指教一二!下面是我的计算函数,还请大侠指教!
%%
%取输入层到隐层的权值
InW=net.iw{1,1};
InW;
%取隐层到输出层的权值
LaW=net.lw{2,1};
LaW;
%取隐层阈值
bias1=net.b{1};
bias1;
%取输出层阈值
bias2=net.b{2};
bias2;
%%
j=0;
for i=1:4  %隐层有四个神经元
    j=tansig(inputn_test(1)*InW(i)-bias1(i))*LaW(i)+j;     %inputn_test(1)是使用神经网络预测的输入值
end
j=purelin(j-bias2);
f=j-an(1);  %an(1)是对应的神经网络输出值,f为误差
回复 不支持

使用道具 举报

 楼主| 发表于 2011-4-20 09:04:20 | 显示全部楼层 来自 山东济南
斑竹給力啊!群里的大仙们!高手们!救救我把~
回复 不支持

使用道具 举报

 楼主| 发表于 2011-4-20 09:05:57 | 显示全部楼层 来自 山东济南
对了,补上一句,输入只有一个节点,对应的输出也只有一个节点。大侠们救命啊!
回复 不支持

使用道具 举报

 楼主| 发表于 2011-8-11 09:56:03 | 显示全部楼层 来自 山东济南
还是我自己解答吧,神经网络分为几个神经节点,按照选择的神经网络类型和节点里面的算法,顺着神经网络的计算流程把公式写一遍,那么拟合出来的经验公式就推导出来了,公式不是一般般的大,最好用矩阵的形式表示:victory:

评分

1

查看全部评分

回复 不支持

使用道具 举报

发表于 2011-8-25 15:42:11 | 显示全部楼层 来自 安徽合肥
如果训练好了net,可以用这个函数t=sim(net,p)。保存训练好的net用save 自己取net名称 net。调用用load。程序中每次初始化的权值都不一样,是随机取的数字(阈值一般初始化为1),如果你的训练次数比较少每次算出来肯定差别比较大,但是如果训练次数上去了慢慢的就差不多了。
回复 不支持

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|小黑屋|联系我们|仿真互动网 ( 京ICP备15048925号-7 )

GMT+8, 2024-5-21 19:00 , Processed in 0.048999 second(s), 17 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表