第 5 周:线性代数
2026/6/13 0:41:20 网站建设 项目流程

一、本周知识结构总览

数学概念

直观理解

NumPy 对应

向量

一列数 / 空间中的点

np.array

矩阵

向量的集合 / 线性变换

np.array(2D)

加减法

同位置相加减

+ -

乘法

行 × 列(核心是点积)

@/np.dot

转置

行列互换

.T

逆矩阵

“撤销”一次变换

np.linalg.inv

维度变换

reshape / broadcast

.reshape


二、向量(Vector)

数学定义

v=​v1​v2​⋮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=[a11​a21​​a12​a22​​]

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∑​Aik​Bkj​

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

A + B

AB

A @ B

AT

A.T

A−1

np.linalg.inv(A)

reshape

A.reshape(...)


十一、本周最小实践任务(建议)

✅ 自己完成这 5 件事就算过关:

  1. 手写一个(3,3)矩阵

  2. 做加法、乘法、转置

  3. 计算一个矩阵的逆

  4. 故意制造维度错误并观察报错

  5. 用 reshape 改变向量形状

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询