gpt4 book ai didi

neural-network - 神经网络 : classification using Encog

转载 作者:行者123 更新时间:2023-12-05 01:24:13 25 4
gpt4 key购买 nike

我正在尝试开始使用神经网络解决分类问题。我选择使用 Encog 3.x 库,因为我正在处理 JVM(在 Scala 中)。如果这个问题可以由其他图书馆更好地处理,请告诉我。

我一直在使用弹性反向传播。我有 1 个隐藏层,例如3 个输出神经元,一个用于 3 个目标类别。所以理想的输出是 1/0/0、0/1/0 或 0/0/1。现在,问题是训练试图最小化错误,例如如果理想输出为 1/0/0,则将 0.6/0.2/0.2 变为 0.8/0.1/0.1。但由于我选择最高值作为预测类别,这对我来说无关紧要,我希望训练花费更多精力来实际减少错误预测的数量。

所以我了解到我应该使用 softmax 函数作为输出(虽然我不清楚这是否成为第 4 层或者我应该用 softmax 替换第 3 层的激活函数),然后进行训练减少交叉熵。现在我认为这个交叉熵需要在整个网络或整个输出层上计算,但是可以自定义的 ErrorFunction 会在逐个神经元的基础上计算误差(读取理想输入和实际输入的数组,写入错误值的数组)。那么如何使用 Encog(或者我应该选择哪个其他基于 JVM 的库)实际进行交叉熵最小化?

最佳答案

我也在使用 Encog,但使用的是 Java,但我认为这并没有真正的区别。我有类似的问题,据我所知你必须编写自己的函数来最小化交叉熵。

据我了解,softmax 应该只替换您的第 3 层。

关于neural-network - 神经网络 : classification using Encog,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22918526/

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