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

kos*_*mos 11 machine-learning perceptron neural-network

我正在Geoffrey Hinton教授神经网络课程(不是最新的).

我对体重空间有一个非常基本的疑问. https://d396qusza40orc.cloudfront.net/neuralnets/lecture_slides%2Flec2.pdf Page 18. 在此输入图像描述

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

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

以下是ppt的文字:

1.重量空间每重量一个维度.

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

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

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

Sla*_*off 8

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

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

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

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

input = [x, y]
weight = [a, b]
output = ax + by
Run Code Online (Sandbox Code Playgroud)

如果我们假设weight = [1, 3],我们可以看到,并希望我们的感知器的反应将是这样的: 在此输入图像描述

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

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

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

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

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


Den*_*gin 5

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

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

在此输入图像描述

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

w ^ T*x + b = 0

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

x ^ T*w + b = 0

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

在此输入图像描述

其中红线和绿线是样品,蓝点是重量.

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

在此输入图像描述

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

在此输入图像描述

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


Sli*_*Jim 3

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

飞机

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

平面总是将空间自然地分成两部分(将平面在每个方向上延伸至无穷大)

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

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