全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 MATLAB等数学软件专版
9266 4
2011-03-24
我总以为训练函数和学习函数是一回事,都是用来调整权值和阈值的一种方式。
请问:训练函数和学习函数各有什么作为?

BP网络GUI工具中,训练函数可以是trainlm(默认), trainbfg, trainrp, traingd, etc.中的任何一个,学习函数必须是learngd learngdm两者之一。训练函数通过调用学习函数对网络权值进行调整,那是不是说明trainlm只是Matlab中调用学习函数的函数,不具有任何调节权值的性能?但有书上这么写:matlab工具箱中函数trainlm以实现levenberg-Marquardt算法,既然trainlm调用levenverg-Marquardt算法(基于最优化理论的算法),那为选择trainlm后,还要调用learngd(梯度下降)和learngdm(带动量梯度下降)算法?一个网络可以有两种不同的算法么?
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2011-3-31 11:33:45
顶一下!!!
有哪个大侠知道的,讲解一下,谢谢
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2011-4-1 00:12:49
1# csh603

目前正在看这方面的书,关注一下~~
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2013-9-23 21:39:50
网上看的解释,感觉不错,训练函数和学习函数是两个不同的函数 ,网络设置中两个都有。简单的说,训练函数确定调整的大算法,是全局调整权值和阈值,考虑的是整体误差的最小; 学习函数决定调整量怎么确定,是局部调整权值和阈值,考虑的是单个神经元误差的最小。所以两者不冲突,可以一样也可以不同,就像你绕着楼跑步时,地球也在绕着太阳跑,是局部与整体的区别,既有联系又有区别,辩证统一。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2015-2-7 21:22:44
训练函数是如何让误差最小的一些算法,如梯度下降,共轭梯度,这里强调算法。学习函数是指,权值和阈值的调整规则,或者称更新规则。训练函数求得权值或阈值之后,由学习函数进行调整,然后再由训练函数训练新的权值或阈值,然后再调整,反复下去。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群