Labfans是一个针对大学生、工程师和科研工作者的技术社区。 论坛首页 | 联系我们(Contact Us)
MATLAB爱好者论坛-LabFans.com
返回   MATLAB爱好者论坛-LabFans.com > 人工智能 > 深度神经网络/深度学习
深度神经网络/深度学习 A discussion board for Deep Neural Network|Deep Learning.
回复
 
主题工具 显示模式
旧 2009-05-13, 08:48   #1
hufanxing1086
初级会员
 
注册日期: 2009-05-13
住址: 沈阳
年龄: 39
帖子: 1
声望力: 0
hufanxing1086 正向着好的方向发展
帖子 新手关于bp网络的一个问题

大家好,我是matlab新手,昨天用matlab做神经网络的仿真,可仿真结果与我预想的不一样,想请高手帮忙。以下是问题的描述:
我写的是两层sigmoid单元,8个输入单元,3个隐藏单元,8个输出单元,全相连。希望通过网络训练能使输出和输入一致,如输入【0 0 0 0 1 0 0 0】则输出为【0 0 0 0 1 0 0 0】。初始的网络权值都设为0,所有的mc设为0,lr设为0.3,并将biasConnect全设为0。用adapt函数训练样例:输入【1 0 0 0 0 0 0 0】训练值为【1 0 0 0 0 0 0 0】一次。
输出 =
0.5018
0.4982
0.4982
0.4982
0.4982
0.4982
0.4982
0.4982
输出层权值 =
0.0047 0.0047 0.0047
-0.0047 -0.0047 -0.0047
-0.0047 -0.0047 -0.0047
-0.0047 -0.0047 -0.0047
-0.0047 -0.0047 -0.0047
-0.0047 -0.0047 -0.0047
-0.0047 -0.0047 -0.0047
-0.0047 -0.0047 -0.0047
然而,按照我的计算,对于输出层的sigmiod单元的梯度方向是:d = o*(1-o)*(t -o)*x,其中d为梯度,o为网络输出,t为训练值,x为隐藏层的输出。w = w + d*lr ,其中w是输出层权值,d是梯度方向,lr是学习数率。按照我的计算,按上面的训练过程,所有o = 0.5,x = 0.5,对于第一个输出单元t = 1。这样d = 0.5*(1-0.5)*(1-0.5)*0.5 = 0.0625,而w = 0+0.0625*0.3 = 0.01875 。与仿真实验不符!
上传的附件
文件类型: rar neural.rar (409 字节, 25 次查看)
hufanxing1086 当前离线   回复时引用此帖
旧 2009-05-14, 20:54   #2
fcm340
初级会员
 
注册日期: 2009-05-05
年龄: 39
帖子: 3
声望力: 0
fcm340 正向着好的方向发展
默认 回复: 新手关于bp网络的一个问题

多用一些样本,进行训练,试一下。并检查一下误差是多少
fcm340 当前离线   回复时引用此帖
回复


发帖规则
不可以发表新主题
不可以发表回复
不可以上传附件
不可以编辑自己的帖子

启用 BB 代码
论坛启用 表情符号
论坛启用 [IMG] 代码
论坛禁用 HTML 代码



所有时间均为北京时间。现在的时间是 22:34


Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.