gpt4 book ai didi

java - 用于字母识别的神经网络

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:36:43 25 4
gpt4 key购买 nike

我正在尝试为单层神经网络添加代码,该网络将位图作为输入,并为字母表中每个字母的可能性提供 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

在此先感谢您的帮助,我已经阅读了如此多的示例和教程,但我仍然无法确定如何正确地完成所有操作。

最佳答案

Dylan,这可能是在你的家庭作业到期之后很久,但我确实对你发布的内容有一些想法。

  • 使隐藏层比输入位图的大小大得多。
  • 输入 -> 隐藏与隐藏 -> 输出的权重和偏差应该不同。
  • 花大量时间研究错误函数(鉴别器)。
  • 了解神经网络倾向于快速锁定一组权重(通常是不正确的)。您需要重新开始并按照不同的顺序进行训练。

我从神经网络中学到的是,你永远不知道它们为什么工作(或不工作)。仅此一点就是将其排除在医学和金融领域之外的理由。

关于java - 用于字母识别的神经网络,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3929942/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com