说真的,但凡想搞懂人工智能,数学这关绕不过去。而所有数学工具里,线性代数算是最底层的那一个——不管你是做图像识别、折腾语言模型,还是鼓捣推荐系统,背后翻来覆去都离不开它。
线性代数这东西,说白了,就是一种看世界的角度:甭管多复杂的东西,都可以拆成几个特征的组合,再在某种规则下观察它怎么动、怎么变。它搭起了一座桥,把咱们这个摸得着的物理世界,映射到计算机能算的数字世界里。
【从标量到张量:维度的逐步扩展】
先从最简单的说起。
标量,就是个单独的数,整数、实数、复数都行。
把一堆标量按顺序排成一列,就变成了向量——相当于给数加了个“维度”,想找到里面某个数,得看它在第几个位置。
要是把向量的每个位置,再替换成一个向量,那就变成了矩阵。矩阵是二维的,定位一个元素需要两个坐标。
再往高维走,把矩阵里的每个元素再换成向量,那就是张量了。可以理解为维度更高的数据盒子。
举个具象的例子:一个三阶魔方,每个小方块里放一个数,整个魔方就是个三维张量;它的一面,就是一个矩阵。
计算机里也这么存的:标量是零维数组,向量是一维数组(比如一段语音),矩阵是二维数组(比如一张黑白照片),张量就是三维或更高维的数组(比如一张彩色图片,或者一段视频)。
【度量与关系:范数与内积】
有了这些基本结构,咱们得有点度量它们的办法。
范数,就是用来衡量一个向量“有多大”的。常见的L¹是绝对值加起来,L²就是咱们熟悉的长短,L∞则是看里面最大的那个数。范数只管一个向量自己的事儿。
而内积,看的是两个向量之间的关系——对应位置相乘再求和。
内积能告诉你这两个向量“有多像”。如果内积是零,在二维里就是互相垂直;放到高维空间里,叫正交。正交意味着它们彼此独立,互不牵扯。
这种独立性在实际中挺有用,比如你在做特征分析的时候,正交的特征往往意味着信息不重叠。
【空间与参考系:线性空间与正交基】
如果再往前走一步:把所有维数相同的向量放在一起,定义好加法和数乘,就形成了一个线性空间。
要是再给它加上内积运算,就成了内积空间。
在线性空间里,每个向量都可以看成空间里的一个点,反过来也一样——点和向量是一一对应的。
但问题来了:光有空间还不够,你总得有个坐标系,才能说清楚点在哪儿。
这时候就需要正交基了——一组两两正交的向量,如果每个长度都是1,就叫标准正交基。
它就像地球上的经纬度,定下来之后,每个点就有了确定的位置。
有意思的是,同一个空间可以有不同的正交基。比如二维平面,你用直角坐标也行,用极坐标也行——看问题的角度不同罢了。
【变化与观察:线性变换与矩阵】
说到这儿,就得聊聊变化了。
线性空间最大的魅力之一,就是它能描述“变”。
一个点从这儿挪到那儿,对应的向量就变了——这种变化叫线性变换,而描述它的工具,就是矩阵。
这里有个挺有意思的视角:
同一个变换,你可以理解成对象动了,也可以理解成坐标系换了。
比如矩阵乘向量Ax = y,既可以看作向量x在矩阵A作用下变成了y,也可以看作同一个对象,在不同坐标系(A和单位矩阵)下的不同表达。
矩阵,既是变化的操盘手,也是参考系本身。
【变化的核心:特征值与特征向量】
那怎么理解矩阵这个“操盘手”到底在干什么呢?
特征值和特征向量就是干这个的。
对大多数向量来说,矩阵作用上去,方向和大小都会变。
但有那么一类特殊的向量,方向不变,只伸缩——这类就叫特征向量,伸缩的比例就是特征值。
特征值代表变化的速度,特征向量代表变化的方向。
打个比方:如果矩阵是个奔跑的人,特征值就是速度,特征向量就是方向。
但这个人不是普通人,他有三头六臂——每个头朝着不同方向、以不同速度跑,合起来才是他真正的运动。
特征值分解能把这个过程拆开看,但它只适用于方阵。
对于更一般的矩阵,就得用奇异值分解了,算是特征值分解的“升级版”。
回过头来看,线性代数真正做的事,是给人工智能提供了一套抽象语言,用来描述世界的结构和变化。
它不只是一个工具包,更像是一种思维方式——把混沌的现实,拆成可计算、可操作的数学对象。
个人觉得,学线性代数最怕的就是一开始就扎进公式堆里,绕晕了。
反倒是先把这些“为什么”想清楚,知道每个概念到底在描述什么,再去碰那些计算细节,会顺很多。
毕竟,公式只是工具,背后那个“看世界的方式”,才真正值钱。
热门跟贴