验证感知器学习示例
Verifying a Perceptron Learning Example
我试图通过一位教授举的例子来理解 perceptron learning algorithm。这是我的理解。谁能看看我的理解是否正确?
假设我有输入
x1 x2 结果(y)
1 3 +1
-1 -2 -1
1 -1 1
-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 -1 1 [3,-1]
-2 1 -1 [5,2]
我的理解正确吗?或者我在进行迭代时错误地选择了权重。
看起来你做的是正确的,但是有很多评论:
你声明,最初,w0 = 0。这没有多大意义,因为您稍后将其添加到维度 2 的向量中。我猜您的意思是 w0 = [0, 0].
仅供参考:
更通用的感知器学习算法不会 add/subtract 错误分类的实例,而是针对乘以一些 0 < α ≤ 1[= 的缩放版本执行此操作30=]。您上面的算法使用 α = 1.
人为地在感知器输入前加上常数项 1 是很常见的。因此,如果原始输入是维度 2 的向量,您将处理维度 3 的向量,其中每个向量的第一项是 1。
我试图通过一位教授举的例子来理解 perceptron learning algorithm。这是我的理解。谁能看看我的理解是否正确?
假设我有输入
x1 x2 结果(y)
1 3 +1
-1 -2 -1
1 -1 1
-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 -1 1 [3,-1]
-2 1 -1 [5,2]
我的理解正确吗?或者我在进行迭代时错误地选择了权重。
看起来你做的是正确的,但是有很多评论:
你声明,最初,w0 = 0。这没有多大意义,因为您稍后将其添加到维度 2 的向量中。我猜您的意思是 w0 = [0, 0].
仅供参考:
更通用的感知器学习算法不会 add/subtract 错误分类的实例,而是针对乘以一些 0 < α ≤ 1[= 的缩放版本执行此操作30=]。您上面的算法使用 α = 1.
人为地在感知器输入前加上常数项 1 是很常见的。因此,如果原始输入是维度 2 的向量,您将处理维度 3 的向量,其中每个向量的第一项是 1。