【问题标题】:Geometric representation of Perceptrons (Artificial neural networks)感知器的几何表示(人工神经网络)
【发布时间】:2014-04-03 00:11:40
【问题描述】:

我正在 Coursera 中学习 Geoffrey Hinton 的神经网络课程(不是当前课程)。

我对权重空间有一个非常基本的疑问。 https://d396qusza40orc.cloudfront.net/neuralnets/lecture_slides%2Flec2.pdf 第 18 页。

如果我有一个权重向量(偏差为 0)为 [w1=1,w2=2],训练案例为 {1,2,-1} 和 {2,1,1} 我猜 {1,2} 和 {2,1} 是输入向量。怎么用几何表示?

我无法想象它?为什么训练案例给出一个将权重空间分成 2 的平面?有人可以用 3 维坐标轴来解释吗?

以下是ppt中的文字:

1.重量空间每个重量都有一个维度。

2.空间中的一个点对所有的权重都有特定的设置。

3.假设我们已经消除了阈值,每个超平面可以表示为一个通过原点的超平面。

我的疑问在上面的第三点。请帮助我理解。

【问题讨论】:

  • @kosmos 得到我的回答了吗?有点难以解释
  • @SlimJim 仍然不清楚。我提供了更多信息,请您现在帮助我。

标签: machine-learning neural-network perceptron


【解决方案1】:

假设我们有 2 个权重。所以w = [w1, w2]。假设我们输入了x = [x1, x2] = [1, 2]。如果使用权重进行预测,则有z = w1*x1 + w2*x2 和预测y = z > 0 ? 1 : 0

假设输入x 的标签是1。因此,我们希望y = 1,因此我们希望z = w1*x1 + w2*x2 > 0。考虑向量乘法,z = (w ^ T)x。所以我们想要(w ^ T)x > 0。这个表达式的几何解释是wx之间的夹角小于90度。例如,绿色向量是w 的候选者,在这种情况下会给出正确的预测值 1。实际上,相对于w1 + 2 * w2 = 0 的线,位于同一侧的任何向量作为绿色向量都会给出正确的解决方案。但是,如果它像红色向量那样位于另一侧,那么它会给出错误的答案。 但是,假设标签为 0。那么情况正好相反。

上面的案例让直觉理解,只是说明了讲座幻灯片中的 3 点。测试用例 x 确定平面,根据标签,权重向量必须位于平面的特定一侧才能给出正确答案。

【讨论】:

    【解决方案2】:

    平面通过原点的方程写成:

    ax+by+cz=0
    

    如果a=1,b=2,c=3;平面方程可以写成:

    x+2y+3z=0
    

    所以,在XYZ平面上,方程:x+2y+3z=0

    现在,在权重空间中,每个维度都代表一个权重。因此,如果感知器有 10 个权重,则权重空间将是 10 维。

    感知器方程:ax+by+cz<=0 ==> Class 0

                              ax+by+cz>0  ==> Class 1
    

    在这种情况下;a、b 和 c 是权重。x、y 和 z 是输入特征。

    在权重空间中;a,b & c 是变量(轴)。

    因此,对于每个训练示例;例如:(x,y,z)=(2,3,4);将在权重空间中形成一个超平面,其方程为:

    2a+3b+4c=0
    

    经过原点。

    我希望,现在,你明白了。

    【讨论】:

      【解决方案3】:

      我在准备一篇关于线性组合的大型文章时遇到了这个问题(它是俄语,https://habrahabr.ru/post/324736/)。它有一个关于权重空间的部分,我想分享一些关于它的想法。

      让我们举一个简单的线性可分数据集的例子,它有两个类,红色和绿色:

      上图是在数据空间 X 中,其中样本由点表示,权重系数构成一条线。可以用以下公式表示:

      w^T * x + b = 0

      但是我们可以将其重写,反之亦然,使 x 分量成为向量系数,w 成为向量变量:

      x^T * w + b = 0

      因为点积是对称的。现在可以通过以下方式在权重空间中对其进行可视化:

      其中红线和绿线是样本,蓝点是权重。

      更多可能的权重仅限于以下区域(以洋红色显示):

      可以在数据空间 X 中可视化为:

      希望它能稍微澄清一下数据空间/权重空间的相关性。随时提出问题,很乐意为您提供更详细的解释。

      【讨论】:

        【解决方案4】:

        我认为训练案例可以表示为超平面的原因是...... 比方说 [j,k] 是权重向量,并且 [m,n] 是训练输入

        训练输出 = jm + kn

        假设从这个角度来看,训练案例是固定的,权重是变化的,训练输入 (m, n) 变成了系数,权重 (j, k) 变成了变量。 就像在任何教科书中 z = ax + by 是一个平面一样, training-output = jm + kn 也是由 training-output、m 和 n 定义的平面。

        【讨论】:

          【解决方案5】:

          对于具有 1 个输入和 1 个输出层的感知器,只能有 1 个 LINEAR 超平面。而且由于没有bias,超平面将无法在轴上移动,因此它将始终共享同一个原点。但是,如果存在偏差,它们可能不再共享同一点。

          【讨论】:

            【解决方案6】:

            如果您更深入地研究数学,可能会更容易解释。基本上,单层神经网络正在对您的输入向量执行某些功能,将其转换为不同的向量空间。

            您不想直接在 3 维中考虑这个问题。从小处着手,制作 1-2 维的图表很容易,几乎不可能在 3 维中画出任何有价值的东西(除非你是一位出色的艺术家),而且能够画出这些东西是非常宝贵的。

            让我们以最简单的情况为例,当您输入一个长度为 2 的向量时,您有一个维度为 2x1 的权重向量,这意味着一个长度为 1 的输出向量(实际上是一个标量)

            在这种情况下,很容易想象你得到了某种形式的东西:

            input = [x, y]
            weight = [a, b]
            output = ax + by
            

            如果我们假设weight = [1, 3],我们可以看到并希望直觉我们感知器的响应会是这样的:

            对于不同的权重向量值,行为在很大程度上没有变化。

            那么很容易想象,如果您将输出限制在二进制空间中,那么就有一个平面,可能比上面显示的平面高 0.5 个单位,构成您的“决策边界”。

            随着您进入更高维度,这变得越来越难以可视化,但如果您想象所显示的平面不仅仅是二维平面,而是二维平面或超平面,您可以想象同样的过程发生。

            由于实际创建超平面需要固定输入或输出,因此您可以将给感知器一个单一的训练值视为创建“固定”[x,y] 值。这可用于创建超平面。遗憾的是,这无法有效地可视化,因为 4-d 绘图在浏览器中并不真正可行。

            希望能解决问题,如果您还有其他问题,请告诉我。

            【讨论】:

            • 感谢您的回答。我仍然无法将您的答案与教练的这个数字联系起来。你能帮我映射这两个吗? i.stack.imgur.com/nzHSl.jpg
            • 你图中的第三维是什么? [-5,5] 的范围如何?
            • @KobyBecker 输出第三维。范围由 x 和 y 的限制决定。想象一下,真正的潜在行为类似于 2x + 3y。我希望这会有所帮助。
            【解决方案7】:

            单层感知器的“决策边界”是一个平面(超平面)

            图像中的nweight 向量w,在您的情况下为w={w1=1,w2=2}=(1,2),方向指定哪一侧是右侧。 n 与平面正交(90 度)

            一个平面总是自然地将一个空间一分为二(将平面在每个方向上扩展到无穷大)

            您也可以尝试向感知器输入不同的值,并尝试找到响应为零的位置(仅在决策边界上)。

            建议您阅读线性代数以更好地理解它: https://www.khanacademy.org/math/linear-algebra/vectors_and_spaces

            【讨论】:

            • -0 这会遗漏很多关键信息。具体来说,输入和输出向量的维度不同,这一点非常关键。
            • 我了解向量空间、超平面。但我无法看到训练案例如何在重量空间中形成平面。您能否将给定的图像i.stack.imgur.com/nzHSl.jpg 与您的解释联系起来?
            • @SlaterTyranus 这取决于您如何看待问题,您的平面表示 x、y 上的响应,或者您是否选择仅表示决策边界(在这种情况下,响应 = 0)这是一条线。这条线将具有权重向量的“方向”。忽略输入中的偏见或摆弄偏见sum(w_i*x_i) 这是wx 向量的“点”乘积,当向量是正交的(即在决策超平面上)时,它仅为零
            • 我终于明白了。在绘制几何之前,重要的是要知道你是在绘制权重空间还是输入空间。我可以绘制我的输入训练超平面并将权重空间分成两部分,或者我可以使用我的权重超平面将输入空间分成两部分,其中它成为“决策边界”。至于为什么要经过原点,如果考虑到阈值就不必了。但是如果阈值成为另一个需要学习的权重,那么我们将其设为零,因为你们都必须知道。感谢你们两位带领我找到解决方案。
            • @kosmos 你能提供更详细的解释吗?我在同一堂课上,无法理解这里发生了什么。
            猜你喜欢
            • 2015-01-17
            • 1970-01-01
            • 2019-03-10
            • 2015-12-12
            • 2011-11-19
            • 2019-01-02
            • 2011-08-13
            • 1970-01-01
            相关资源
            最近更新 更多