2016-03-07 66 views
1

我想通过教授提供的示例来了解perceptron learning algorithm。这是我的理解。任何人都可以检查如果我的理解是正确的?验证感知器学习示例

可以说我有输入

X1 X2结果(Y)

-1 -2 -1

1-11

- 2 1 -1

现在我用下面的算法得到权重

W0 = 0

1)Y1(w0x1)< = 0

因此W1 = W0 + Y1 * X1 = [1,3]

2)Y2(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-11 [3,-1]

-2 1 -1 [5,2]

我的理解是正确的?还是我犯错误与权重选择/或错误而使得迭代。

回答

1

它看起来像你的所作所为是正确的,但也有一些评论:

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

  2. FYI:

    1. 一个更普遍的感知学习算法不会加/减错误分类情况,而是做了一定比例的版本乘以一些 α 。上述算法使用α = 1

    2. 人为地将感知器输入前置一个常数是一个常数。因此,如果原始输入是2维的矢量,你对矢量工作与尺寸3,其中每个矢量的第一项是1

+0

是W0 = [0,0],在这个过程中,我们是否可以找到每个数据集的权重,或者我们是否找到所有共有的权重。即:在上例中,如果我计算天气权重[3,-1]适用于所有数据集 –

+0

想法是你迭代地更新权重:* w0,w1,w2 ... *每个样本一个(和你一样)。请注意,您不一定只在数据集上迭代一次(特别是,如果学习率小于1)。作为最终答案,你返回最新的* wn *。 –

+0

好吧,所以输出将只是一个权重而不是权重的组合,就像我在上面的迭代中一样,在上面的迭代中,虽然权重是[1,3] [3,-1] [5 ,-2]等。你有什么链接,我可以通过这个例子来学习。作为大多数材料,我提供了数学但没有例子。 –