什么是神经网络的仿射变换?

数据挖掘 机器学习 神经网络
2021-10-01 17:01:19

我最近一直在阅读一篇关于Highway Neural Networks的论文,发现以下内容:

y=H(x,WH)

H通常是仿射变换,然后是非线性激活函数,但通常它可能采用其他形式。

在谷歌搜索仿射变换后,我不能说我完全理解它的含义。有人可以详细说明吗?

3个回答

仿射变换的形式为,

g((v)=Av+b
在哪里,A是表示线性变换的矩阵,并且b是一个向量。

换句话说,仿射变换是线性变换与平移的结合。

线性变换总是携带向量b= 源空间中的 0 到目标空间中的 0。

例如

y=3x+4,在学校我们称之为线性方程,但严格来说并不是线性变换,因为它有平移(+4),而线性变换不这样做。

因此,每个线性变换都是仿射的(只需将 b 设置为零向量)。然而,并不是每个仿射变换都是线性的。

现在,在机器学习的背景下,线性回归试图以最佳方式将一条线拟合到数据上,

线被定义为 , y=mx+b. 正如所解释的,它实际上不是线性函数,而是仿射函数。并且可能应该重命名。正确使用术语是件好事。

类似地,在单层神经网络中,通常在数学上表示为:

y(x)=Wx+b

W 是权重矩阵和 b是偏置向量。这个函数通常也被称为线性函数,尽管它实际上是仿射的。

这是一个线性变换。例如,在转换之前平行的线仍然是平行的。缩放、旋转、反射等。对于神经网络,通常只是输入矩阵乘以权重矩阵。

如果X是你的输入向量,一个仿射变换X将有这种形式:

是的=一个X+b

其中矩阵的系数一个和向量b是变换的参数。所以它就像一个线性函数X 但它不是向量空间的线性映射,尽管您可以使用齐次坐标将其转化为线性映射的形式。