为了账号安全,请及时绑定邮箱和手机立即绑定

人工神经网络:计算权重?

人工神经网络:计算权重?

C#
万千封印 2021-05-17 17:23:37
我编写了一个人工神经网络,它适用于简单的任务,但是如果我尝试更复杂的任务(在我的情况下使用28x28px图像检测笔迹),权重就会随机产生[在非常高的跳动下不规则地增加和减少:例如,输出神经元为1,在下一次训练后为0.1,在下一次训练后为0.9]。我的ANN会计算0到1之间的值。我的计算方式:float value = 0;foreach (Connection c in connections){    value += c.GetValue();}value = MathA.Sigmoid(value);this.value = value;我现在计算新权重的方式:float newWeight = currentWeight * lernRate * entrieNeuronValue * (answer - expectedAnswer);有谁知道更好的重量计算方法?

1 回答

?
大话西游666

TA贡献1817条经验 获得超14个赞

我认为问题出在这部分(answer - expectedAnswer)。根据answer结果的值,(answer - expectedAnswer)可以是正值或负值。该计算的负结果导致负权重。负权重会使您对下一个答案和/或权重的计算混乱。权重必须在0到1之间。


查看完整回答
反对 回复 2021-05-23

添加回答

代码语言

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号