【问题标题】:Verifying a Perceptron Learning Example验证感知器学习示例
【发布时间】:2016-06-20 14:01:37
【问题描述】:

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

假设我有输入

x1 x2 结果(y)

1 3 +1

-1 -2 -1

1 -1 1

-2 1 -1

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

w0=0

1)y1(w0x1)

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

2)y2(w1,x2)

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

3)y3(w2,x2)>=0

因此没有迭代

4)y4(w2,x4)

因此 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]

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

【问题讨论】:

    标签: algorithm machine-learning neural-network perceptron


    【解决方案1】:

    看起来你做的是正确的,但是有很多cmets:

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

    2. 仅供参考:

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

      2. 人为地在感知器输入前添加一个常量 1 项是很常见的。因此,如果原始输入是维数为 2 的向量,您将处理维数为 3 的向量,其中每个向量的第一项是 1。

    【讨论】:

    • 是 w0=[0,0] ,在这个过程中我们是否找到每个数据集的权重,或者如果我们找到所有的权重。即:在上面的例子中,如果我计算天气权重 [3,-1] 适用于所有数据集
    • 这个想法是您迭代地更新权重:w0, w1, w2... 每个样本一个(就像您所做的那样)。请注意,您不一定只在数据集上迭代一次(特别是,如果学习率小于 1)。您返回最新的 wn 作为最终答案。
    • 好的,所以输出将只是一个权重,而不是像我在上面的迭代中所做的那样的权重组合,就像在上面的迭代中一样,尽管权重是 [1,3][ 3,-1][5,-2] 等。你有什么链接可以让我用例子来学习吗?因为大多数材料我都提供了数学但没有例子。
    • 也许可以试试this
    • @asj177 由于您似乎比较新,请注意,如果答案解决了您的问题,您可以接受或投票。
    猜你喜欢
    • 2014-07-03
    • 1970-01-01
    • 2017-05-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-05
    • 2017-03-18
    • 2017-11-26
    相关资源
    最近更新 更多