【老计带你懂线性代数】06线性变换矩阵是怎么动空间的开头换个视角看矩阵前面我们把矩阵当成两样东西一批数据的表格以及一种变换。数据表格那个视角很好懂这一篇专门把变换这个视角讲透因为它是理解神经网络到底在干什么的钥匙。一句话先抛出来一个矩阵乘一个向量几何上就是把这个向量所在的整个空间做了一次旋转、缩放或投影。矩阵就是一个动空间的动作。这个视角一旦建立你看神经网络、看降维、看很多AI操作都会豁然开朗它们本质都是在空间里搬动、揉捏数据。什么是线性变换让空间均匀地动先说清楚线性变换的直觉。想象一张画着均匀网格的橡皮膜就是我们的空间上面每个点是一个向量。线性变换就是对这张膜做拉伸、旋转、错切但要满足两个条件网格线始终保持是直线不能弯而且原点固定不动。也就是说变换后网格可能被拉斜、转向、压扁但绝不会变成弯曲的曲线整个空间是被均匀地动了。这种规整的、不弯曲的变换就叫线性变换。而每一个线性变换都恰好对应一个矩阵。用矩阵乘向量就是在对这个向量施加对应的变换。那线性这两个字到底是什么意思为什么这么叫其实它对应两条很朴素的规则理解了能帮你抓住线性变换的本质。第一条先相加再变换等于先各自变换再相加比如把两个向量加起来再做变换和把它们分别变换后再加起来结果一样。第二条先放大再变换等于先变换再放大把向量拉长两倍再变换和先变换再拉长两倍结果一样。这两条合起来的意思是变换和加法、数乘这两个基本运算是兼容的、不打架的变换保持了向量之间的这种线性组合关系。正因如此前面那个绝招才成立任何向量都是基向量的线性组合而变换保持组合关系不变所以只要知道基向量变到哪整个空间怎么变就定了。你不用记这两条规则的术语抓住一个直觉即可线性变换是讲道理、不耍花招的变换它不会把直的弄弯、不会区别对待某个点整个空间被均匀规整地搬动。那些又弯又乱的操作是非线性得靠激活函数这类东西来实现这正是深度学习里线性变换和非线性激活要搭配的原因。打个比方线性变换像把一张贴着方格纸的橡皮膜整体拉扯你可以斜着拉、转着拉、压扁它但方格纸上的直线拉完还是直线中心那个图钉原点不动。你不能把它揉成一团皱纸那就成非线性了。看懂一个矩阵只看基向量去哪了这里有个理解矩阵变换的绝招是整个线性代数最漂亮的直觉之一要知道一个矩阵对整个空间做了什么你只需要看它把两个最基本的向量变到了哪里。二维空间里有两个最基本的向量指向右的 [1,0] 和指向上的 [0,1]它们叫基向量是空间的骨架。任何向量都可以看成这两个基向量的组合比如 [3,2] 就是3个向右加2个向上。关键来了线性变换后任何向量还是同样的组合方式只不过基向量本身被移动了。所以只要知道两个基向量变换后落到哪就能推出所有向量变换后的位置。而矩阵的两列恰好就是变换后两个基向量的新位置。这就是矩阵的列的几何含义第一列是变换后 [1,0] 的落点第二列是变换后 [0,1] 的落点。打个比方你想知道一次变换怎么改造了整座城市不用追踪每一栋楼只要看东西南北这两根标杆被挪到了哪整座城市怎么变的就全知道了因为每栋楼的位置都是相对这两根标杆确定的。矩阵的两列就是这两根标杆的新位置。几种典型变换旋转、缩放、投影有了这个视角几种常见变换就一目了然看它们把基向量变到哪恒等变换什么都不做基向量不动对应单位矩阵对角线是1、其余是0。缩放把空间沿某个方向拉长或压扁比如让所有向量的横坐标翻倍。旋转把整个空间转一个角度基向量跟着转。投影把空间压到一条线或一个平面上比如把所有点压到横轴上纵坐标全变0。投影会丢信息、降维这一点在后面PCA降维里极其重要降维本质就是一种投影。这里多说一句投影因为它在AI里分量很重。生活里投影随处可见太阳把你的身影投到地上就是把三维的你压成了地面上二维的影子影子丢掉了你的厚度信息但保留了轮廓。降维干的就是这件事把高维数据投影到低维主动丢掉一些不重要的信息换来更小的维度、更清爽的表示。关键在于投影的方向选得好不好投影方向选对了丢掉的是无关紧要的噪声、留下的是精华选差了可能把重要信息压没了。第10篇讲的PCA核心就是自动找出那个最好的投影方向让降维丢的信息最少。理解了投影是一种会丢信息的线性变换你就为后面的降维打好了地基。这些看似抽象的几何操作正是神经网络在特征空间里干的事。每一层网络的权重矩阵就是对当前特征做一次这样的变换。神经网络一层层地揉捏特征空间现在把它落到AI最核心的地方这也是本篇的重头。神经网络的每一层都在对数据所在的特征空间做一次变换。权重矩阵做线性变换旋转、缩放、投影这类空间改造激活函数再补上非线性把空间掰弯这是线性变换做不到的。一层又一层网络不断地搬动、拉伸、揉捏数据所在的空间。它揉捏的目标是什么把数据揉成一个容易完成任务的形状。举个经典画面原始数据里两类点像两条缠在一起的螺旋线用一条直线根本分不开。神经网络一层层变换就是不断地拉扯这个空间最后把两条螺旋线扯成左右分开的两坨这时候一条直线轻松就能分开它们。打个比方神经网络像一个揉面团的师傅。原始数据是一团混在一起、分不清的面。师傅一层一层地揉、压、翻折每层一次变换最后把面团整理成清清楚楚的形状让最后的分类变得轻而易举。深度学习的深就是揉的次数多揉得越充分、越能整理出好分的形状。这就是为什么线性变换是理解神经网络的钥匙深度网络的本质就是用一连串空间变换矩阵乘法加掰弯激活函数把难分的数据揉成好分的样子。输入和输出长什么样输入一个矩阵代表变换和一个或一批向量。输出变换后的新向量新位置。用矩阵乘法实现NumPy里就是矩阵 向量。上代码亲眼看矩阵怎么动空间# 依赖pip install numpyimportnumpyasnp# 两个基向量:向右和向上e1np.array([1,0])e2np.array([0,1])# 1.缩放变换:横坐标翻倍、纵坐标不变scalenp.array([[2,0],[0,1]])print(缩放矩阵把基向量变到:)print( e1 -,scale e1, e2 -,scale e2)print( 一个点[3,2]变换后:,scale np.array([3,2]))# 2.旋转变换:逆时针转90度rotatenp.array([[0,-1],[1,0]])print(\n旋转90度把基向量变到:)print( e1 -,rotate e1, e2 -,rotate e2)print( 一个点[3,2]变换后:,rotate np.array([3,2]))# 3.投影变换:把所有点压到横轴上(纵坐标变0,降维、丢信息)projectnp.array([[1,0],[0,0]])print(\n投影到横轴,把基向量变到:)print( e1 -,project e1, e2 -,project e2)ptsnp.array([[3,2],[1,5],[4,1]])print( 一批点投影后(纵坐标全变0):)print( ,(pts project.T))# 一批点做变换,用转置对齐# 关键验证:矩阵的两列 变换后两个基向量的落点print(\n旋转矩阵的两列:,rotate[:,0],rotate[:,1])print(正好是旋转后e1和e2的落点,这就是矩阵列的几何含义)运行输出示例缩放矩阵把基向量变到: e1 - [2 0] e2 - [0 1] 一个点[3,2]变换后: [6 2] 旋转90度把基向量变到: e1 - [0 1] e2 - [-1 0] 一个点[3,2]变换后: [-2 3] 投影到横轴,把基向量变到: e1 - [1 0] e2 - [0 0] 一批点投影后(纵坐标全变0): [[3 0] [1 0] [4 0]] 旋转矩阵的两列: [0 1] [-1 0] 正好是旋转后e1和e2的落点,这就是矩阵列的几何含义运行你会看到缩放把横坐标翻倍、旋转把点转了向、投影把所有点拍到横轴上纵坐标全变0丢掉了一个维度的信息最后验证了矩阵的两列正好是变换后两个基向量的落点。建议你装matplotlib把变换前后的点画出来那个空间被拉动的画面比任何文字都直观。在AI里怎么用神经网络每一层权重矩阵变换特征空间把数据揉成好分类的形状呼应《老计带你懂AI算法》的神经网络篇。降维投影PCA本质是把高维数据投影到低维投影就是一种线性变换第10篇会讲透。数据预处理标准化、白化等操作也是对数据空间做变换。图像变换旋转、缩放图片就是对像素坐标做线性变换数据增强常用。常见误区线性变换不会弯曲空间网格线变换后还是直线、原点不动把空间揉皱那是非线性激活函数干的。矩阵的列有几何含义每一列是变换后一个基向量的落点记住这个能秒懂很多矩阵。投影会丢信息从高维压到低维投影必然损失信息这是降维的代价不是bug。别只把矩阵当数据表一定要建立矩阵在动空间的画面感这是理解深度学习的关键。小结与承上启下线性变换均匀地拉伸旋转空间网格线保持直、原点不动每个线性变换对应一个矩阵。看懂矩阵的绝招只看它把基向量变到哪矩阵的列就是变换后基向量的落点。典型变换恒等、缩放、旋转、投影投影会降维丢信息。神经网络的本质一层层变换特征空间把难分的数据揉成好分的形状矩阵乘法负责变换、激活函数负责掰弯。我们已经会看一个矩阵怎么动空间了。可有个问题一堆向量或数据的一堆特征里有没有多余的、重复的数据真正有几个独立的自由度这关系到能不能降维、数据的内在结构是什么。下一篇讲线性相关、基与维度看数据到底有几个真正独立的方向。我们下一篇见。延伸阅读3Blue1Brown《线性代数的本质》线性变换与矩阵、三维空间中的变换https://www.3blue1brown.com/topics/linear-algebraNumPy 官方文档矩阵与向量运算https://numpy.org/doc/stable/reference/routines.linalg.html神经网络如何变换空间可按关键词Neural Network manifold untangling检索经典可视化说明以上为官方与经典公开资料地址可能随版本调整如打不开可用标题搜索。