【发布时间】:2011-04-25 04:51:52
【问题描述】:
我正在尝试添加单层神经网络的代码,该网络以位图作为输入,并有 26 个输出用于字母表中每个字母的可能性。
我的第一个问题是关于添加的单个隐藏层。我认为隐藏层只有自己的一组输出值和权重是否正确?不需要有自己的偏见吗?
我是否也可以确认我正在正确考虑前馈方面?这是一些伪代码:
// input => hidden
for j in hiddenOutput.length:
sum=inputs*hiddenWeights
hiddenOutput[j] = activationFunction(sum)
// hidden => output
for j in output.length:
sum=hiddenOutputs*weights
output[j] = activationFunction(sum)
假设这是正确的,培训会是这样的吗?
def train(input[], desired[]):
iterate through output and determine errors[]
update weights & bias accordingly
iterate through hiddenOutput and determine hiddenErrors[]
update hiddenWeights & (same bias?) accordingly
提前感谢您的帮助,我已经阅读了很多示例和教程,但我仍然无法确定如何正确执行所有操作。
【问题讨论】:
-
这是作业吗?如果是这样,请将其标记为这样。不管是不是,实验;我从介绍性神经网络模拟的失败中学到了很多东西。这不像你会意外地创建天网和人类的衰落或sumptin。
-
是的,现在已标记。我一直在尝试,但不幸的是,当前状态的表现非常糟糕,所以我显然做错了什么
标签: java neural-network backpropagation