【问题标题】:Artificial neural networks人工神经网络
【发布时间】:2011-11-19 09:22:37
【问题描述】:

我想知道人工神经网络是否可以应用于离散值输入?我知道它们可以应用于连续值输入,但它们可以应用于离散值输入吗?此外,对于离散值输入是否会表现良好?

【问题讨论】:

  • 如果所有输入都是离散的,那么您只有有限数量的输入组合。如果这个数字不是很大,你甚至可以在完全不使用人工神经网络的情况下计算出最佳输出。

标签: artificial-intelligence neural-network


【解决方案1】:

好吧,好问题让我说!

首先让我直接回答你的问题!

答案意味着要考虑有关网络本身的使用和实施的几个方面。

让我解释一下原因:

  • 最简单的方法是像往常一样规范化输入,这是 NN 的第一条经验法则, 而不是让神经网络计算任务,一旦你有了输出,反转归一化以获得原始范围内的输出但仍然是连续的,要返回离散值,只需考虑输出的整数部分。这很容易,它可以工作并且很好,完成!好的结果取决于您为网络设计的拓扑。

作为一个优点,您可以考虑在层之间使用“step”传递函数,而不是“tan-sigmoid”,以加强和模拟一种强制输出仅为 0 或 1 的数字化。但您应该还要重新考虑开始标准化以及使用经过良好调整的阈值。

注意:后一种技巧并不是真正必要的,但可能会带来一些次要的好处;也许在您的开发的第二阶段对其进行测试并查看差异。

PS:请允许我提出一些适用于您的问题的建议;如果您很聪明,请考虑在您的学习算法中使用一些模糊逻辑;-)

干杯!

【讨论】:

  • 为什么这个答案投了反对票,没有评论解释原因?
【解决方案2】:

神经网络的目的是通过插值样本来逼近复杂的函数。因此,它们往往不适合离散数据,除非该数据可以通过对连续函数进行阈值化来表示。根据您的问题,可能会有更有效的学习方法。

【讨论】:

    【解决方案3】:

    是的,人工神经网络可以应用于具有离散值输入变量的数据。在最常用的神经网络架构(数值型)中,离散输入通常由一系列虚拟变量表示,就像在统计回归中一样。此外,与回归一样,需要比不同值虚拟变量的数量少一个。还有其他方法,但这是最直接的。

    【讨论】:

      【解决方案4】:

      我在这个问题上迟到了,但这可能会对某人有所帮助。

      假设您有一个分类输出变量,例如 3 个不同的类别(0、1 和 2),

      输出

      0
      2
      1
      2
      1
      0
      

      然后变成

      1, 0, 0
      0, 0, 1
      0, 1, 0
      0, 0, 1
      0, 1, 0
      1, 0, 0
      

      一个可能的NN输出结果是

      0.2, 0.3, 0.5  (winner is categ 2) 
      0.05, 0.9, 0.05  (winner is categ 1)
      ... 
      

      那么在这种情况下,您的 NN hill 有 3 个输出节点,因此取最大值。 为了改善这一点,在输出层使用熵作为误差度量和 softmax 激活,使输出总和为 1。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-01-22
        • 2011-07-13
        • 2017-10-10
        • 1970-01-01
        • 1970-01-01
        • 2012-04-29
        • 2013-04-27
        相关资源
        最近更新 更多