一、本周知识结构总览
数学概念 | 直观理解 | NumPy 对应 |
|---|---|---|
向量 | 一列数 / 空间中的点 |
|
矩阵 | 向量的集合 / 线性变换 |
|
加减法 | 同位置相加减 |
|
乘法 | 行 × 列(核心是点积) |
|
转置 | 行列互换 |
|
逆矩阵 | “撤销”一次变换 |
|
维度变换 | reshape / broadcast |
|
二、向量(Vector)
数学定义
v=v1v2⋮vn
NumPy 实现
python
python
import numpy as np v = np.array([1, 2, 3]) print(v) # [1 2 3] print(v.shape) # (3,) ← 3 维向量✅理解:
一维数组 = 列向量
形状
(n,)≠(n,1)(后面会用到)
三、矩阵(Matrix)
数学定义
A=[a11a21a12a22]
NumPy 实现
python
A = np.array([ [1, 2], [3, 4] ]) print(A.shape) # (2, 2)✅理解:
行(row)= 样本
列(column)= 特征
四、矩阵加减法
数学公式
(A+B)ij=Aij+Bij
NumPy
python
A = np.array([[1, 2], [3, 4]]) B = np.array([[5, 6], [7, 8]]) print(A + B) print(A - B)⚠️前提:
形状必须完全一致(否则广播规则生效)
五、矩阵乘法(最重要)
数学公式
(AB)ij=k∑AikBkj
NumPy(推荐)
python
A = np.array([[1, 2], [3, 4]]) B = np.array([[5, 6], [7, 8]]) C = A @ B print(C)等价写法
python
C = np.dot(A, B)✅理解口诀:
前一个矩阵的列数 = 后一个矩阵的行数
六、向量 × 矩阵(常见场景)
python
x = np.array([1, 2]) # (2,) W = np.array([[1, 3], [2, 4]]) y = x @ W # 相当于线性变换📌 对应神经网络里的:
y=xW
七、转置(Transpose)
数学
AijT=Aji
NumPy
python
A = np.array([[1, 2, 3], [4, 5, 6]]) print(A.T)✅用途:
对齐维度
机器学习中非常常见(样本 × 特征)
八、逆矩阵(Inverse)
数学条件
必须是方阵
行列式 ≠ 0
AA−1=I
NumPy
python
A = np.array([[1, 2], [3, 4]]) A_inv = np.linalg.inv(A) print(A @ A_inv)📌 结果接近单位矩阵(浮点数误差)
九、维度变换(reshape / shape)
reshape
python
a = np.arange(6) # [0 1 2 3 4 5] b = a.reshape(2, 3) print(b)常见坑
python
v = np.array([1, 2, 3]) v_col = v.reshape(-1, 1) # (3,1)✅记住:
(n,)≠(n,1)矩阵乘法前先检查 shape
十、本周「公式 ↔ NumPy」对照表(速查)
数学 | NumPy |
|---|---|
A+B |
|
AB |
|
AT |
|
A−1 |
|
reshape |
|
十一、本周最小实践任务(建议)
✅ 自己完成这 5 件事就算过关:
手写一个
(3,3)矩阵做加法、乘法、转置
计算一个矩阵的逆
故意制造维度错误并观察报错
用 reshape 改变向量形状