我编写了一个人工神经网络,它适用于简单的任务,但是如果我尝试更复杂的任务(在我的情况下使用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之间。
没有找到匹配的内容?试试慕课网站内搜索吧
- 1 回答
- 0 关注
- 290 浏览
添加回答
举报
0/150
提交
取消