我正在尝试添加单层神经网络的代码,该网络将位图作为输入,并且具有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)
Run Code Online (Sandbox Code Playgroud)
假设这是正确的,培训会是这样的吗?
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
Run Code Online (Sandbox Code Playgroud)
在此先感谢您的帮助,我已经阅读了很多示例和教程,我仍然无法确定如何正确地完成所有操作.