【问题标题】:Why use binary values for inputs?为什么使用二进制值作为输入?
【发布时间】:2016-12-05 17:53:02
【问题描述】:

Andrew NG 的机器学习 Coursera 课程对每个神经网络使用二进制输入和标量输出,例如:[101011] -> [2]

为什么训练数据使用二进制而不是标量?是否与每一层的 Theta 值最初在 0 和 1 之间随机化有关?

【问题讨论】:

  • 您能提供更多关于此的背景信息吗?我已经上过这门课,而且我知道他的输入并不普遍局限于二进制。如果你能描述一个例子(特征、训练方法等),我应该能够解释其中的原理。
  • @Prune 你的权利,练习 3 和 4 是灰度输入的向量。那么问题可能是何时使用二进制表示输入?
  • 你能用二进制表示描述他在哪里吗?我对课堂材料的记忆力不够好,无法记住他在哪里以及为什么使用二进制。最常见的情况是我们将 N 个选项(列出您的选项)拆分为 N 个二元特征(每个选项对应一个)。
  • @Prune 在讲座中解释了这种表示,但我并没有详细考虑。我会再考虑一下并发布一个新问题。谢谢。

标签: machine-learning neural-network


【解决方案1】:

我不记得上下文了,但有人告诉我这个问题的答案。

基本上,以这种方式训练网络比使用标量更容易。每个位都有自己的语义含义,因此每个位都应该有自己的专用神经元。我知道,数据表示总是与神经网络混为一谈!

关于 Theta,答案是否定的。正如您所说,theta 最初是从 [0;1] 采样的,但在经过几轮算法后,它可能会变得更大(或变为负数)。这是常见的行为。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-07-28
    • 1970-01-01
    • 2020-08-01
    • 1970-01-01
    • 2014-10-15
    • 1970-01-01
    • 1970-01-01
    • 2011-11-19
    相关资源
    最近更新 更多