人工神经网络

Posted

技术标签:

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

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

【问题讨论】:

与***.com/questions/3066353/…相关 如果所有输入都是离散的,那么您只有有限数量的输入组合。如果这个数字不是很大,你甚至可以在完全不使用的情况下计算出最佳输出。 【参考方案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。

【讨论】:

以上是关于人工神经网络的主要内容,如果未能解决你的问题,请参考以下文章

[人工智能-深度学习-5]:人工神经元数学模型激活函数人工神经网络

[人工智能-深度学习-7]:神经网络基础 - 人工神经网络ANN

人工智能时代,神经网络的原理及使用方法 微课堂

人工神经网络的分类 ann和bp是啥意思

初识人工神经网络

人工智能------>第四天,深度学习,人工神经网络,卷积神经网络,opencv,音频采集播放,百度AI平台的使用