【问题标题】:What does bit fail mean?位失败是什么意思?
【发布时间】:2018-07-10 14:31:32
【问题描述】:

我的神经网络有 22 个输入,包含 5184 个值(两位数值,图像转换为字节),我尝试设置 2 个输出神经元,其值为 01,例如:

<input data line with 5184 values>
0 1
<input data line with 5184 values>
1 0
<input data line with 5184 values>
.
.
.

来自训练结果:

Epochs            1. Current error: 0.3750000000. Bit fail 33.

这个位失败是什么? The documentation says:

失败位数;表示输出神经元的数量 差异超过位失败限制。

我怎样才能让 33 个输出神经元失败,而只有 2 个输出神经元?我想这 33 个可能来自总共 44 个输出(22 个输入中的每个输出 2 个)。但文档并未证实这一点。

【问题讨论】:

    标签: neural-network fann


    【解决方案1】:

    数字“33”是在神经网络训练期间,您的输出与预期目标输出之间的“差”以上的数量。这仅表示您的神经网络与所需输出的偏差“太多”了 33 位。请注意,它会计算所有输出并给出当前的“错误率”,对您来说是 37.5%。根据文档,标准错误率容差为 0.35,因此假设这一点,在 33*40 = 1320 位输出中对应于 33 位的错误位有 2.5% 太多。或者至少这是我从这些文档页面中了解到的。

    您可能不小心有超过 2 个输出。 1320/22 = 60。

    【讨论】:

    • 感谢您的回答!我不明白这个33*40,你是说33*44?或者这个40 来自哪里?另外,如果我打印fann_num_output_train_data,我得到2,所以看起来输出是正确的。无论如何,你确实帮助澄清了一些失败的东西,谢谢!
    • 40 来自 2.5%。 2.5 * 40 = 100%,这应该是你的全部。根据这三个事实,我可以使用一些基本数学计算最后一个值。当然,我假设错误信息是正确的。
    • 我将1320 理解为(33/2.5)*100=1320。但我仍在试图弄清楚这个40...如果我做 1320/33 我得到 40,但这个 40 到底意味着什么?
    • 1 / 2.5 * 100 = 40。换句话说,“A 是 B 的 2.5%”等同于“B 是 A 的 40 倍”。 2.5% 是 1/40,这就是它的来源。
    猜你喜欢
    • 2015-06-10
    • 2011-11-12
    • 1970-01-01
    • 1970-01-01
    • 2014-01-04
    • 2014-08-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多