矩阵与线性变换
向量描述到矩阵描述
学过线性代数的我们知道多元方程组是可以将其系数单独提取出来作为矩阵进行计算的。AI 相关的矩阵也是同理,如我们可以使用 n 维向量来解释一个物体,同样也可以使用一个 n 维矩阵,而矩阵又可以使用乘法来进行维度的变换。具体什么是线性变换可以看下面的详细解释。在这个方面,其实可以说是对矩阵描述的物体进行提取,获取一个更加抽象的、高级的描述。但这个过程中不可避免地会出现内容的丢失,考虑到过量的信息可能会出现过拟合等问题,这些丢失可能是必要的。
这样的描述可能看得云里雾里。打个比方,一幅画最开始是将里面的颜色全部转为矩阵,这样固然全面,但是由于每个信息都只是一个像素点,没有任何作用。我们可以使用线性变换,让像素点变为一个个电脑、手机。虽然可能无法一对一还原一个画面,但是我们将散乱的像素点描述变为了高层次、有意义的物体描述。这样的描述在现实中反而更有价值。
什么是矩阵
矩阵是一组用来描述权重的表,其每一行代表一个多元表达式,每一列代表一种属性,而其中的内容是属性对应的权重。
![![[Pasted image 20260712222941.png]]](2026-07-16d5viypime3v.png)
其实也就是向量的一个集合,将多个向量竖着拼起来形成了这个矩阵。
矩阵可以通过乘法进行维度的修改,具体式子是:
Wm×nXn=Ym
W_{m\\times n}X_n=Y_m
Wm×nXn=Ym
第一个乘数的行数代表输出的数量,列数需要与另一个乘数的行数相同。由此我们便可以修改维度,描述的内容也随之改变。
什么是线性变换
对于线性变换,上面我们简单地将其描述为维度修改的方法。具体什么是线性变换?
对于一个点 P,将其乘一个矩阵,得到了 P’。由此我们可以看出,线性变换是将一个点进行偏移。
![![[Pasted image 20260712223843.png]]](2026-07-16evyspvcsljn.png)
如果我们将内容转为一个平面呢?
A 坐标不变,其余全部发生偏移,但是边依旧是平行的、直的,面积发生了改变。
![![[Pasted image 20260712224111.png]]](2026-07-16qk51a5f5god.png)
其实为了能更好地展示,上面的图使用的是二维坐标系。事实上,如果我们将坐标系进行变换,我们会惊奇地发现坐标没有变,B=ai+bjB=ai+bjB=ai+bj 变为了 B=ai′+bj′B=ai'+bj'B=ai′+bj′。
![![[Pasted image 20260712224626.png]]](2026-07-16jgauu0fvq5y.png)
我们依旧可以使用相同的系数来表示整个图。
不过这有什么用?
![![[Pasted image 20260712225225.png]](https://i-blog.csdnimg.cn/direct/d24b6b2f6ca0444ebc3bc1cb1d37663a.png)
我们可以如上图一样对整个内容进行图形变换,像是 3D 渲染,甚至是手机里的图片旋转都是用的这个技术(可能需要加一个位移 bbb)。
y=Wx+b
y=Wx+b
y=Wx+b
这个公式不仅代表了一个图形可能的坐标变换,也能作用于神经网络。WWW 的形状决定其将几维空间转换到几维空间,bbb 则给出一个可以学习的基准偏移。训练时,WWW 和 bbb 会根据损失函数的[[梯度]]不断更新。
多次变换等于单次变换?
第一层h=W1x+b1第二层y=W2h+b2=W2(W1x+b1)+b2=(W2W1)x+(W2b1+b2)
\\begin{aligned}
\\text{第一层}\\quad h &= W_1x+b_1 \\\\
\\text{第二层}\\quad y &= W_2h+b_2 \\\\
&=W_2(W_1x+b_1)+b_2 \\\\
&=(W_2W_1)x+(W_2b_1+b_2)
\\end{aligned}
第一层h第二层y=W1x+b1=W2h+b2=W2(W1x+b1)+b2=(W2W1)x+(W2b1+b2)
你其实可以看出来,多次变换的结果我们依旧可以使用单次变换的公式表示。也就是说,即便进行多次变换,整体效果也不过是另一个旋转拉伸而已,绕不出「线性」的圈子。
如果想要将其变为非线性,或者说变换出来的形状不再两两平行,甚至是画出一个圆?打破天花板需要在层与层之间塞进一点「非线性」——那就是后面学神经网络时会遇到的激活函数。




