感知器的几何表示(人工神经网络)

时间:2014-03-01 22:53:41

标签: machine-learning neural-network perceptron

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

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

如果我的权重向量(偏差为0)为[w1 = 1,w2 = 2]且训练案例为{1,2,-1}和{2,1,1} 我猜{1,2}和{2,1}是输入向量。它如何以几何形式表示?

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

以下是ppt的文字:

1.重量空间每重量一维。

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

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

我怀疑是上面的第三点。请帮助我理解。

7 个答案:

答案 0 :(得分:8)

如果你仔细研究数学,可能更容易解释。基本上,神经网络的单层在输入矢量上执行某些功能,将其转换为不同的矢量空间。

你不想在三维中直接思考这个问题。从较小的方面开始,很容易制作1-2维度的图表,并且几乎不可能在3维中绘制任何有价值的东西(除非你是一位出色的艺术家),并且能够将这些东西描绘出来是非常宝贵的。

让我们采用最简单的情况,在你接收长度为2的输入向量时,你有一个维度2x1的权重向量,它意味着一个长度为1的输出向量(实际上是一个标量)

在这种情况下,很容易想象你有这样的形式:

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

如果我们假设weight = [1, 3],我们可以看到,并希望知道我们的感知器的响应将是这样的: enter image description here

对于不同的权重向量值,行为基本不变。

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

当你进入更高的维度时,这变得越来越难以可视化,但是如果你想象所展示的那个平面不仅仅是一个二维平面,而是一个平面或一个超平面,你可以想象这个相同的过程发生的情况。

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

希望能够解决问题,如果您有更多问题,请告诉我。

答案 1 :(得分:5)

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

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

enter image description here

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

  

w ^ T * x + b = 0

但是我们可以重写它反之亦然,使 x 组件成为矢量系数而 w 是矢量变量:

  

x ^ T * w + b = 0

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

enter image description here

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

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

enter image description here

可以在数据空间X中显示为:

enter image description here

希望它能稍微澄清数据空间/权重空间的相关性。随意提问,很乐意更详细地解释。

答案 2 :(得分:3)

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

plane

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

一架飞机总是自然地将一个空间分成2个(在每个方向上将平面延伸到无限远)

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

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

答案 3 :(得分:2)

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

答案 4 :(得分:2)

我认为培训案例可以表示为超平面的原因是因为...... 让我们说吧 [j,k]是权重向量和 [m,n]是训练输入

training-output = jm + kn

鉴于此视角中的训练案例是固定的且权重变化,训练输入(m,n)成为系数,权重(j,k)成为变量。 正如在任何教科书中,z = ax + by是一个平面, training-output = jm + kn也是由training-output,m和n定义的平面。

答案 5 :(得分:1)

通过原点的平面的方程式以下列形式写出:

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 ==&gt; 0级

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

在这种情况下; a,b&amp; c是weights.x,y&amp; z是输入功能。

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

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

2a+3b+4c=0

通过原点。

我希望,现在,你了解它。

答案 6 :(得分:0)

Example

考虑一下,我们有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确定飞机,根据标签,权重矢量必须位于飞机的特定一侧才能给出正确答案。