ANN:Perceptron在确定点位置时的表现

时间:2016-04-19 09:14:08

标签: swift neural-network perceptron

所以我从机器学习和人工神经网络开始,我发现这篇文章The Nature of Code介绍了人工神经网络和感知器的概念。

通过这篇文章,他们向您展示了如何创建一个Perceptron,它能够根据函数区分位于线上方或下方的点:

  

f(x)= 2x + 1

我在Swift中开发了自己的Perceptron,并使用XCode Playgrounds来说明我的Perceptron性能。

感知器需要3个输入:x,y和偏差(总是1)。 3个输入的权重是随机生成的,经过一些训练后,它们会被调整。

第一张图显示了第一次重量超过训练的值。正如你所看到的,这个值最终稳定下来,这证明了Perceptron学会了区分点:

第二个图形表示功能线和所有训练点(随机选择)。绿点是Perceptron预测得很好的,而红点则是错误的预测:

如您所见,几乎所有的红点都位于反函数中:

  

f(x)= -2x - 1

我的问题是为什么出现这一行错误点。我认为在某一点上所有的重量都会稳定,Perceptron的性能将是100%,但它永远不会。这是因为代码错误还是ANN总是有这么小的错误间隔?

任何解释都会受到欢迎,但请记住,我是ML和ANN的新手。

非常感谢。

0 个答案:

没有答案