阶段1:基础知识储备
我们从阶段1:基础知识储备的数学基础开始,第一课聚焦于线性代数的核心概念,这是理解AI大模型(如Transformer)的基石。
第一课:线性代数基础
学习目标
理解向量、矩阵、张量的定义与操作。
掌握矩阵乘法、转置、逆矩阵等核心运算。
了解特征值分解及其在降维中的应用。
1. 核心概念
(1) 向量(Vector)
定义:一维数组,表示空间中的点或方向。
例:v=123(3维向量)。
操作:加法、标量乘法、点积(内积)。
点积:a⋅b=∑i=1naibi,用于衡量两个向量的相似性。
(2) 矩阵(Matrix)
定义:二维数组,表示线性变换或数据表。
例:A=[1324](2×2矩阵)。
核心操作:
矩阵乘法:C=AB,要求A的列数等于B的行数。
计算示例:
[1324][5768]=[1×5+2×73×5+4×71×6+2×83×6+4×8]=[19432250]
转置(Transpose):行列互换,AT的第i行第j列元素是A的第j行第i列元素。
逆矩阵:若A可逆,则A−1A=I(单位矩阵),用于解线性方程组。
(3) 张量(Tensor)
定义:多维数组(向量是1维张量,矩阵是2维张量)。
例:RGB图像是3维张量(高度×宽度×颜色通道)。
2. 实战示例:用Python和NumPy操作矩阵
(1) 安装NumPy
pip install numpy
(2) 代码演示
import numpy as np
# 定义矩阵
A = np.array([[1, 2], [3, 4]])
B = np.array([[5, 6], [7, 8]])
# 矩阵乘法
C = np.dot(A, B) # 或 A @ B
print("矩阵乘法结果:\n", C)
# 转置
A_T = A.T
print("A的转置:\n", A_T)
# 逆矩阵(若存在)
A_inv = np.linalg.inv(A)
print("A的逆矩阵:\n", A_inv)
# 验证逆矩阵:A * A⁻¹ ≈ 单位矩阵
I = A @ A_inv
print("验证逆矩阵:\n", np.round(I, 2)) # 四舍五入到小数点后两位
(3) 输出结果
矩阵乘法结果:
[[19 22]
[43 50]]
A的转置:
[[1 3]
[2 4]]
A的逆矩阵:
[[-2. 1. ]
[ 1.5 -0.5]]
验证逆矩阵:
[[1. 0.]
[0. 1.]]
3. 线性代数在AI中的应用
神经网络中的权重矩阵:全连接层的计算本质是矩阵乘法(y=Wx+b)。
注意力机制:Transformer中的Query、Key、Value通过矩阵运算实现(Attention=Softmax(dkQKT)V)。
特征值分解:用于PCA降维(从数据中提取主要特征)。
4. 练习题目
计算向量a=[2,−1,3]和b=[4,0,5]的点积。
用NumPy实现以下操作:
生成一个3×3的随机矩阵M。
计算M的转置和逆矩阵(若存在)。
(选做)推导矩阵乘法的计算过程:A=[2−113], B=[4205],求AB。
5. 扩展思考
为什么矩阵乘法不满足交换律?即AB=BA(举例说明)。
如果矩阵不可逆,可能是什么原因?如何判断矩阵是否可逆?
下一课预告
第二课:概率与统计基础
重点:贝叶斯定理、概率分布、最大似然估计。
实战:用Python模拟抛硬币实验,计算概率分布。
评论区