AI数学基础(一):线性代数——让机器学会"看"向量
AI数学基础(一):线性代数——让机器学会”看”向量
300年前那个改变世界的夜晚
1691年的一个秋夜,法国小镇上,一个17岁的少年在昏暗的烛光下写日记。他的名字叫亚伯拉罕·棣莫弗(Abraham de Moivre)。
这个少年可能不会想到,他那天晚上在日记里随手画的一个坐标系——用两条垂直的直线来表示平面上的点的位置——会在300多年后,成为让人工智能”看见”这个世界的基础工具。
你想想看,当你用手机拍照时,照片在电脑眼里是什么?
就是一堆数字。
一张1920×1080的图片,在AI眼里就是一个1920×1080的数字矩阵。每个数字代表一个像素的亮度或颜色值。AI要”看懂”这张图,就得对这些数字进行运算——而这些运算,全都是线性代数。
所以今天,咱们就来聊聊:线性代数到底是什么?为什么AI离不开它?
一、标量、向量、矩阵:从地图坐标到Excel表格
1. 标量:就是一个数字
最简单的开始。标量(scalar)就是一个单独的数字。
1 | 5、3.14、-2、100 |
比如:”今天气温23度”——这个”23”就是标量。它只有一个数值,没有方向。
2. 向量:有方向的数组
向量(vector)是一串按顺序排列的数字,而且每个数字都有意义。
生活比喻:地图坐标
你打开手机地图,搜索”故宫”。地图上会显示一个坐标:(39.9163, 116.3972)。
这两个数放在一起,就构成了一个二维向量:
1 | [39.9163, 116.3972] |
第一个数是纬度,第二个是经度。顺序不能乱![116.3972, 39.9163]就跑到非洲去了。
再举个例子:你的个人特征
假设AI要描述你这个人,可能会用这样一个向量:
1 | [年龄, 身高, 体重, 月收入, 购物频率] |
这就是一个五维向量。虽然我们画不出五维空间(谁也画不出),但数学上完全没问题!
3. 矩阵:向量的集合
矩阵(matrix)就是多行多列的数字表格。
生活比喻:Excel表格
你打开Excel,看到的就是矩阵。比如一个班级的成绩表:
| 姓名 | 数学 | 语文 | 英语 |
|---|---|---|---|
| 小明 | 95 | 87 | 92 |
| 小红 | 88 | 92 | 96 |
| 小刚 | 76 | 85 | 80 |
用矩阵表示就是:
1 | [ |
这是一个3×3矩阵(3行3列)。
AI中的应用:图片就是矩阵
一张黑白照片,每个像素的灰度值(0-255)放在一个矩阵里:
1 | [ |
彩色照片?那就是三个矩阵(红、绿、蓝三个通道各一个)。
二、向量加减法:从”你家走到学校”
故事:两个向量的”位移”
假设你家在地图上的坐标是 A = [2, 3],学校在 B = [5, 7]。
向量减法:B - A = [5-2, 7-3] = [3, 4]
这个 [3, 4] 就是从你家走到学校的”位移向量”——往东走3公里,往北走4公里。
向量加法:如果你先走到学校([3, 4]),再走到网吧([1, 2]),那从家到网吧的总位移是:
1 | [3, 4] + [1, 2] = [4, 6] |
NumPy实战
1 | import numpy as np |
三、向量点乘:两个人”合不合拍”
直觉:点乘衡量”相似度”
向量点乘(dot product)的定义:
1 | A · B = a₁×b₁ + a₂×b₂ + ... + aₙ×bₙ |
但这公式啥意思?点乘的结果越大,说明两个向量越”相似”(方向越一致)。
生活比喻:两个人的兴趣相似度
假设用向量表示两个人的兴趣:
1 | 你: [看电影, 打游戏, 听音乐, 运动] = [5, 3, 4, 2] |
数字表示喜欢程度(1-5分)。
点乘计算:
1 | 你 · 朋友 = 5×4 + 3×5 + 4×3 + 2×1 |
如果另一个人的向量是 [1, 1, 1, 5](只喜欢运动),点乘结果会小很多——说明你们”合不来”。
AI中的应用:推荐系统
Netflix推荐电影,就是用你的观影历史和电影的特征向量做点乘,点乘越大,越推荐给你!
NumPy实战
1 | import numpy as np |
四、矩阵乘法:工厂的”原料-产品”关系
直觉:矩阵乘法就是”信息的流动”
矩阵乘法(matrix multiplication)可能是线性代数里最让人头大的概念。但用一个比喻就清楚了:
工厂比喻
假设有个工厂:
- 原料:钢铁、塑料、电子元件(3种原料)
- 产品:手机、电脑、平板(3种产品)
第一个矩阵(原料消耗矩阵):生产每个产品需要多少原料
1 | 手机 电脑 平板 |
意思是:生产1台手机需要2单位钢铁、1单位塑料、4单位电子元件。
第二个矩阵(利润矩阵):每个产品卖多少钱
1 | 利润 |
矩阵乘法:计算每个原料”贡献”了多少利润
1 | 结果 = 原料消耗矩阵 × 利润矩阵 |
AI中的应用:神经网络的一层
神经网络的每一层,本质上就是一次矩阵乘法!
输入向量 × 权重矩阵 = 输出向量
NumPy实战
1 | import numpy as np |
五、真实场景:用向量计算用户兴趣相似度
场景:给用户推荐商品
假设有个电商网站,要给用户推荐商品。我们用向量表示用户的兴趣和历史行为:
1 | import numpy as np |
这就是推荐系统的核心原理!
Amazon、淘宝、Netflix的推荐算法,本质上都在做这件事——计算向量之间的相似度。
六、总结:线性代数让AI”看见”世界
回过头看,我们从300年前少年的日记出发,走到了今天AI的核心:
- 标量:一个数字(气温23度)
- 向量:一串数字(地图坐标、个人特征)
- 矩阵:数字表格(Excel、图片)
- 向量加减:位移、变化
- 向量点乘:相似度(推荐系统)
- 矩阵乘法:信息流动(神经网络)
线性代数就是AI的”眼睛”——它把世界变成数字,让机器能”看”懂、能运算、能做决策。
下一篇,咱们聊概率论——教机器做”不确定的决策”。毕竟,现实世界不是非黑即白的。
代码示例汇总
本文所有代码都在这里,复制即可运行:
1 | import numpy as np |
下一篇预告:《AI数学基础(二):概率论——教机器做”不确定的决策”》
1654年,两个法国贵族在赌桌上吵了一架,却意外催生了概率论…
