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

时间:2014-09-15 02:14:23

标签: machine-learning neural-network

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

我最初试图复制Fibonacci序列。我使用输入:

  • [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以及输出?基本上分类计算输出是奇数还是偶数,输入介于 - +无穷大......

之间

1 个答案:

答案 0 :(得分:0)

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

首先,虽然可以使用神经网络进行添加,但通常效率不高。您还需要以非常特定的方式设置ANN,方法是使用与通常使用的不同的节点类型,或者通过设置复杂的循环拓扑。这可以解释您对Fibonacci序列和线方程式的不成功。

但是有一个更基本的问题。您可能听说人工神经网络是一般函数逼近器。但是,在这种情况下,ANN正在学习的功能将不是您的公式。当你有一个人工神经网络学习输出0或1以响应一组输入时,它实际上是在尝试学习一条线(或一组线,或超平面,取决于拓扑)的函数,它分隔所有的输出应为0的输入,输出应为1的所有输入。(有关图片的详细解释,请参阅this question的答案)。因此,问题在于是否存在一个超平面,该超平面将系数分开,这些系数将导致系数的偶数输出,从而产生奇数输出。

我倾向于说这个问题的答案是否定的。例如,如果您考虑示例中的a系数,则每次将其递增或递减1时都会看到正确的输出切换。 c,d和e术语也是如此。这意味着没有大块相对相似的输入都会返回相同的输出。

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