用于公式分类/计算的人工神经网络



我正在尝试创建一个用于计算/分类任何公式的ANN。

我最初试图复制斐波那契序列。I使用输入:

  • [1,2]输出[3]
  • [2,3]输出[5]
  • [3,5]输出[8]
  • 等等

我试图克服的问题是,如何规范可能是无限的或指数级的数据?然后,我试图创建一个ANN来计算斜率截距公式y=mx+b(2x+2),输入

  • [1] 输出[4]
  • [2] 输出[6]
  • 等等

同样,我不知道如何规范数据。如果我只对训练数据进行归一化,那么网络如何能够使用归一化所用之外的输入进行计算或分类?

那么,是否可以创建一个ANN来计算/分类公式((a+2b+c^2+3d-5e)模2),其中公式是未知的,但给出了输入(一些)a、b、c、d和e以及输出?本质上分类计算输出是奇数还是偶数,输入在-+无穷大之间。。。

好吧,我想我明白你现在想做什么了。基本上,你将有一组表示函数系数的输入。您希望ANN告诉您,具有这些系数的函数将产生偶数输出还是奇数输出。如果这是错误的,请告诉我。这里有几个潜在的问题:

首先,虽然使用神经网络进行加法是可能的,但它通常不是很有效。您还需要以一种非常具体的方式设置ANN,要么使用与通常使用的不同的节点类型,要么设置复杂的递归拓扑。这将解释你在斐波那契序列和线性方程方面缺乏成功的原因。

但还有一个更根本的问题。你可能听说过Ann是一般函数逼近器。然而,在这种情况下,神经网络正在学习的函数将不是你的公式。当你有一个ANN,它正在学习输出0或1来响应一组输入时,它实际上是在尝试学习一条线(或一组线,或超平面,取决于拓扑结构)的函数,该函数将输出应该为0的所有输入与输出应该为1的所有输入分离。(如需更全面的解释,请参阅此问题的答案,并附图片)。因此,问题是,是否存在一个超平面,它将导致偶数输出的系数与导致奇数输出的系数分离开来。

我倾向于说这个问题的答案是否定的。例如,如果你在你的例子中考虑a系数,你会发现每次你把它增加或减少1,正确的输出就会切换。c、d和e项也是如此。这意味着没有大量相对相似的输入都返回相同的输出。

为什么你需要知道一个未知函数的输出是偶数还是奇数?可能还有其他更合适的技术。

最新更新