验证感知器学习示例

时间:2016-03-07 05:17:26

标签: algorithm machine-learning neural-network perceptron

我试图通过教授提供的例子来理解perceptron learning algorithm。这是我的理解。任何人都可以检查我的理解是否正确?

假设我有输入

x1 x2 result(y)

1 3 +1

-1 -2 -1

1 -1 1

-2 1 -1

现在我使用以下算法来获得权重

W0 = 0

1)Y1(w0x1)LT; = 0

因此w1 = w0 + y1 * x1 = [1,3]

2)Y 2(W1,X2)< = 0

因此w2 = w1 + y2 * x2 = [3,-1]

3)Y3(W2,X2)> = 0

因此没有迭代

4)Y4(W2,X4)< = 0

因此w3 = w2 + y4 * x4 = [5,-2]

因此现在我的权重是

x1 x2结果(y)权重

1 3 +1 [1,3]

-1 -2 -1 [3,-1]

1 -1 1 [3,-1]

-2 1 -1 [5,2]

我的理解是正确的吗?或者我在进行迭代时错误选择权重/错误。

1 个答案:

答案 0 :(得分:1)

看起来你所做的是正确的,但有很多评论:

  1. 您说,最初, w0 = 0 。这没有多大意义,因为您稍后将其添加到维度2的向量中。我猜你的意思是 w0 = [0,0]

  2. 供参考:

    1. 更通用的感知器学习算法不会添加/减去错误分类的实例,而是针对缩放版本乘以某些 0< α≤1。上面的算法使用α= 1

    2. 通常人为地在感知器输入前加上一个恒定的1项。因此,如果原始输入是维度2的向量,则您将使用维度为3的向量,其中每个向量的第一项为1.