Skip to content

数学基础


🧮 线性代数:深度学习的语法

想象一下,你要建一栋大楼(深度学习模型),线性代数就是你的砖块、水泥和钢筋。它不是大楼本身,但整个大楼都由它们构成。数据、模型参数、计算过程,几乎一切都是用线性代数的语言描述的。


一、数学对象:从点到体

1. 标量 (Scalar) - "一个数"

  • 是什么:就是一个简单的数字,比如 3, -5.2, π
  • 大白话:就像你体温计上的读数 36.5℃,它是一个单一、独立的值。
  • 表示:通常用普通小写字母表示,如 aa, bb, cc
  • 例子: a=5a = 5, temperature=36.5temperature = 36.5

2. 向量 (Vector) - "一串数/一个方向"

  • 是什么:是一列有序排列的数字。它可以表示一个点的坐标,也可以表示一个有方向和大小的箭头(向量)。

    x=(x1x2xn)\mathbf{x} = \begin{pmatrix} x_1 \\ x_2 \\ \vdots \\ x_n \end{pmatrix}

  • 大白话
    • 数据角度:一个人的体检报告 [身高(m), 体重(kg), 年龄] = [1.75, 70, 25],这就是一个3维向量,描述了这个人一个样本的特征。
    • 几何角度:从原点 (0,0) 指向点 (3,4) 的箭头,它的向量表示就是 (34)\begin{pmatrix} 3 \\ 4 \end{pmatrix}
  • 表示:用粗体小写字母表示,如 x\mathbf{x}, y\mathbf{y}。它的维度(dimension)就是它包含的数字个数。
  • 例子: 一个点的坐标或一个人的特征 v=(23)\mathbf{v} = \begin{pmatrix} 2 \\ 3 \end{pmatrix}, person=(1.757025)\mathbf{person} = \begin{pmatrix} 1.75 \\ 70 \\ 25 \end{pmatrix} (身高m, 体重kg, 年龄)

3. 矩阵 (Matrix) - "一个表格"

  • 是什么:一个二维的数字表格,有行有列。它是向量的拓展。

    A=(A1,1A1,2A1,nA2,1A2,2A2,nAm,1Am,2Am,n)A = \begin{pmatrix} A_{1,1} & A_{1,2} & \cdots & A_{1,n} \\ A_{2,1} & A_{2,2} & \cdots & A_{2,n} \\ \vdots & \vdots & \ddots & \vdots \\ A_{m,1} & A_{m,2} & \cdots & A_{m,n} \end{pmatrix}

  • 大白话
    • 数据角度:一个班级所有学生的成绩单。每一行是一个学生(一个样本),每一列是一门科目(一个特征)。这是一个 (学生数量 × 科目数量) 的矩阵。
    • 变换角度:矩阵可以看作一个函数或一个动作。一个矩阵可以作用在一个向量上,对其进行旋转、拉伸、缩放等操作。
  • 表示:用粗体大写字母表示,如 A\mathbf{A}, W\mathbf{W}。它的形状是 (行数 × 列数)
  • 例子: 两个学生的成绩单(语文、数学、英语) Grades=(859092708075)\mathbf{Grades} = \begin{pmatrix} 85 & 90 & 92 \\ 70 & 80 & 75 \end{pmatrix}
    • 第一行学生: [85, 90, 92]
    • 第二行学生: [70, 80, 75]

4. 张量 (Tensor) - "一组表格/一个数据立方体"

  • 是什么:超过两维的数组。你可以理解为"矩阵的堆叠"。
  • 大白话
    • 一张彩色图片就是一个3维张量。它的形状是 (高度, 宽度, 通道数)。比如 (224, 224, 3) 表示一张224像素高、224像素宽、有3个颜色通道(红、绿、蓝)的图片。
    • 一个视频就是一个4维张量 (帧数, 高度, 宽度, 通道数)
    • 一个批量(Batch)的图片也是一个4维张量 (批量大小, 高度, 宽度, 通道数)
  • 表示:通常用普通大写字母表示,如 AA, XX在深度学习中,数据基本都是张量形式。
  • 例子: 一个包含2张3x3大小RGB图片的批量数据 shape = (2, 3, 3, 3) (批量大小, 高, 宽, 通道数)

二、简单运算:如何操作这些对象

1. 矩阵转置 (Transpose) - "行列互换"

  • 操作:将矩阵的行变成列,列变成行。

    A=(abcd),AT=(acbd)A = \begin{pmatrix} a & b \\ c & d \end{pmatrix}, \quad A^T = \begin{pmatrix} a & c \\ b & d \end{pmatrix}

  • 为什么重要:为了满足矩阵乘法的维度要求。比如,一个列向量 x\mathbf{x} 的转置 xT\mathbf{x}^T 就是一个行向量,这样才能和另一个列向量进行乘法 xTy\mathbf{x}^T \mathbf{y}(得到一个标量,即内积)。
  • 例子: A=(123456)A = \begin{pmatrix} 1 & 2 \\ 3 & 4 \\ 5 & 6 \end{pmatrix}, 则 AT=(135246)A^T = \begin{pmatrix} 1 & 3 & 5 \\ 2 & 4 & 6 \end{pmatrix}
    • 计算: 第一行 [1,2] 变为第一列 (12)\begin{pmatrix} 1 \\ 2 \end{pmatrix},第二行 [3,4] 变为第二列 (34)\begin{pmatrix} 3 \\ 4 \end{pmatrix},以此类推。

2. 矩阵乘法 (Matrix Multiplication) - "核心中的核心"

  • 规则:不是对应位置相乘!如果 AAm×nm \times n 的矩阵,BBn×pn \times p 的矩阵,那么它们的乘积 C=ABC = AB 是一个 m×pm \times p 的矩阵。 CC 中第 ii 行第 jj 列的元素,等于 AA 的第 ii 行 和 BB 的第 jj对应元素相乘再求和

    Ci,j=Ai,1B1,j+Ai,2B2,j+...+Ai,nBn,j=k=1nAi,kBk,jC_{i,j} = A_{i,1}B_{1,j} + A_{i,2}B_{2,j} + ... + A_{i,n}B_{n,j} = \sum_{k=1}^{n} A_{i,k}B_{k,j}

  • 大白话:像用 AA 的每一行去"扫描" BB 的每一列,做点乘。
  • 几何意义连续的空间变换。如果 AABB 都是变换矩阵,那么 C=ABC=AB 表示先做 BB 变换,再做 AA 变换的复合变换。
  • 在深度学习中的应用神经网络的前向传播就是一场巨大的矩阵乘法盛宴。一层的输出(一个向量/矩阵)乘以下一层的权重矩阵,得到下一层的输入。
  • 例子: A=(1234)A = \begin{pmatrix} 1 & 2 \\ 3 & 4 \end{pmatrix}, B=(5678)B = \begin{pmatrix} 5 & 6 \\ 7 & 8 \end{pmatrix}
    • C=ABC = AB
    • 计算:
      • C1,1=A1,1B1,1+A1,2B2,1=(1×5)+(2×7)=5+14=19C_{1,1} = A_{1,1}B_{1,1} + A_{1,2}B_{2,1} = (1\times5) + (2\times7) = 5 + 14 = 19
      • C1,2=A1,1B1,2+A1,2B2,2=(1×6)+(2×8)=6+16=22C_{1,2} = A_{1,1}B_{1,2} + A_{1,2}B_{2,2} = (1\times6) + (2\times8) = 6 + 16 = 22
      • C2,1=A2,1B1,1+A2,2B2,1=(3×5)+(4×7)=15+28=43C_{2,1} = A_{2,1}B_{1,1} + A_{2,2}B_{2,1} = (3\times5) + (4\times7) = 15 + 28 = 43
      • C2,2=A2,1B1,2+A2,2B2,2=(3×6)+(4×8)=18+32=50C_{2,2} = A_{2,1}B_{1,2} + A_{2,2}B_{2,2} = (3\times6) + (4\times8) = 18 + 32 = 50

      C=(19224350)C = \begin{pmatrix} 19 & 22 \\ 43 & 50 \end{pmatrix}

    • 重要提示: ABBAAB \neq BA (矩阵乘法不满足交换律) BA=(5678)(1234)=(23343146)CBA = \begin{pmatrix} 5 & 6 \\ 7 & 8 \end{pmatrix}\begin{pmatrix} 1 & 2 \\ 3 & 4 \end{pmatrix} = \begin{pmatrix} 23 & 34 \\ 31 & 46 \end{pmatrix} \neq C

3. 元素积 (Hadamard Product) - "温和的对应位置操作"

  • 操作:两个形状完全相同的矩阵(或张量),对应位置的元素相乘。

    C=AB,Ci,j=Ai,j×Bi,jC = A \odot B, \quad C_{i,j} = A_{i,j} \times B_{i,j}

  • 大白话:不像矩阵乘法那样产生全局影响,它只是局部调整。比如在注意力机制中,会用 mask(掩码)矩阵通过元素积来屏蔽掉无效位置的信息。
  • 例子: A=(1234)A = \begin{pmatrix} 1 & 2 \\ 3 & 4 \end{pmatrix}, B=(5678)B = \begin{pmatrix} 5 & 6 \\ 7 & 8 \end{pmatrix}
    • AB=((1×5)(2×6)(3×7)(4×8))=(5122132)A \odot B = \begin{pmatrix} (1\times5) & (2\times6) \\ (3\times7) & (4\times8) \end{pmatrix} = \begin{pmatrix} 5 & 12 \\ 21 & 32 \end{pmatrix}

4. 逆矩阵 (Inverse Matrix) - "时光倒流"

  • 定义:如果存在一个矩阵 A1A^{-1},使得 A1A=AA1=IA^{-1}A = AA^{-1} = I(单位矩阵),那么 A1A^{-1} 就是 AA 的逆矩阵。
  • 大白话:如果矩阵 AA 代表一种变换(比如旋转90度),那么逆矩阵 A1A^{-1} 就代表这个变换的逆操作(再旋转回来,即-90度)。不是所有矩阵都可逆,只有方阵(行数=列数)且是满秩的才可能可逆。
  • 例子: A=(4726)A = \begin{pmatrix} 4 & 7 \\ 2 & 6 \end{pmatrix}, 其逆矩阵 A1=1(4×6)(7×2)(6724)=110(6724)=(0.60.70.20.4)A^{-1} = \frac{1}{(4\times6)-(7\times2)}\begin{pmatrix} 6 & -7 \\ -2 & 4 \end{pmatrix} = \frac{1}{10}\begin{pmatrix} 6 & -7 \\ -2 & 4 \end{pmatrix} = \begin{pmatrix} 0.6 & -0.7 \\ -0.2 & 0.4 \end{pmatrix}
    • 验证: A1A=(0.60.70.20.4)(4726)=((0.64+0.72)(0.67+0.76)(0.24+0.42)(0.27+0.46))=(1001)=IA^{-1}A = \begin{pmatrix} 0.6 & -0.7 \\ -0.2 & 0.4 \end{pmatrix}\begin{pmatrix} 4 & 7 \\ 2 & 6 \end{pmatrix} = \begin{pmatrix} (0.6*4 + -0.7*2) & (0.6*7 + -0.7*6) \\ (-0.2*4 + 0.4*2) & (-0.2*7 + 0.4*6) \end{pmatrix} = \begin{pmatrix} 1 & 0 \\ 0 & 1 \end{pmatrix} = I

三、线性方程组:一切的起源

  • 形式

    Ax=bA\mathbf{x} = \mathbf{b}

    其中 AA 是系数矩阵,x\mathbf{x} 是未知数向量,b\mathbf{b} 是常数向量。
  • 几何解释:寻找一个向量 x\mathbf{x},使得经过矩阵 AA 代表的线性变换后,恰好落在目标向量 b\mathbf{b} 上。
  • 解的情况(非常重要)
    • 有唯一解AA 是方阵且可逆(满秩)。这意味着变换后没有丢失信息,可以完美地逆变换回去找到 x=A1b\mathbf{x} = A^{-1}\mathbf{b}。就像在一个平面上,两条不平行且不重合的直线相交于一点。
    • 无解:方程数多于未知数 (m>nm > n),且方程之间存在矛盾。这通常意味着我们的模型太简单(容量低),无法完美拟合所有数据点(欠拟合)。就像想用一条直线去拟合三个不在一条直线上的点。
    • 有无穷多解:方程数少于未知数 (m<nm < n),或者方程之间存在依赖关系。这意味着变换过程中丢失了信息,有无数种方式可以映射到 b\mathbf{b}。这通常意味着我们的模型太复杂,有很多组参数都能完美拟合训练数据(过拟合)。就像想用一个平面去拟合一条直线,整个平面上的点都满足条件。

四、范数 (Norm):衡量"大小"的尺子

范数是用来衡量向量(或矩阵)大小 的函数。不同的范数有不同的衡量方式。

1. LpL^p 范数家族

对于一个 nn 维向量 x\mathbf{x},其 LpL^p 范数定义为:

xp=(i=1nxip)1/p||\mathbf{x}||_p = \left( \sum_{i=1}^{n} |x_i|^p \right)^{1/p}

  • L2L^2 范数 (欧几里得范数)

    x2=i=1nxi2||\mathbf{x}||_2 = \sqrt{\sum_{i=1}^{n} x_i^2}

    • 大白话:就是向量的几何长度。从原点出发到向量所指点的直线距离。在深度学习中最常用,比如用作损失函数(MSE)。
  • 例子: x=(34)\mathbf{x} = \begin{pmatrix} 3 \\ 4 \end{pmatrix} - x2=32+42=9+16=25=5||\mathbf{x}||_2 = \sqrt{3^2 + 4^2} = \sqrt{9 + 16} = \sqrt{25} = 5 - 几何意义: 这个向量的长度就是5。

  • L1L^1 范数

    x1=i=1nxi||\mathbf{x}||_1 = \sum_{i=1}^{n} |x_i|

    • 大白话:各个维度坐标值的绝对值之和。它的几何形状是菱形,在优化中会产生稀疏解(即让很多参数变成0),用于特征选择。
    • 例子: x=(34)\mathbf{x} = \begin{pmatrix} 3 \\ -4 \end{pmatrix}
      • x1=3+4=3+4=7||\mathbf{x}||_1 = |3| + |-4| = 3 + 4 = 7
  • LL^\infty 范数 (最大范数)

    x=maxixi||\mathbf{x}||_\infty = \max_i |x_i|

    • 大白话:只关心向量中绝对值最大的那个分量。表示向量分量中的最大幅度。
    • 例子: x=(375)\mathbf{x} = \begin{pmatrix} 3 \\ -7 \\ 5 \end{pmatrix}
      • x=max(3,7,5)=7||\mathbf{x}||_\infty = \max(|3|, |-7|, |5|) = 7

2. Frobenius 范数 (矩阵的范数)

  • 定义:把所有元素平方求和再开根号,其实就是把矩阵拉直成一个向量后求其 L2L^2 范数。

    AF=i=1mj=1nAij2||A||_F = \sqrt{\sum_{i=1}^{m} \sum_{j=1}^{n} A_{ij}^2}

  • 大白话:衡量整个矩阵的"能量"或"大小"。在深度学习中,我们经常在正则化(如权重衰减)中使用它,通过限制权重矩阵的 Frobenius 范数来防止模型过拟合。公式 MSE+λw22\text{MSE} + \lambda ||\mathbf{w}||_2^2 里的 w22||\mathbf{w}||_2^2 其实就是权重向量的 L2L^2 范数的平方,对于矩阵就是 Frobenius 范数的平方。
  • 例子: A=(1234)A = \begin{pmatrix} 1 & 2 \\ 3 & 4 \end{pmatrix}
    • AF=12+22+32+42=1+4+9+16=305.477||A||_F = \sqrt{1^2 + 2^2 + 3^2 + 4^2} = \sqrt{1 + 4 + 9 + 16} = \sqrt{30} \approx 5.477

    • 这个值衡量了矩阵中所有元素的"总强度"。在正则化中,我们通过惩罚这个值来限制模型复杂度。

    • 建筑材料采购与成本控制

      • 你是建筑设计师,采购不同规格木材构建房屋框架。用矩阵 (A=(210315420))(A = \begin{pmatrix}2 & 10 \\ 3 & 15 \\ 4 & 20\end{pmatrix}) 表示木材采购信息,行代表木材类型,列分别是长度(米)和每米价格(元)。计算其 Frobenius 范数 (AF=22+102+32+152+42+202=75427.46)(||A||_F = \sqrt{2^2 + 10^2 + 3^2 + 15^2 + 4^2 + 20^2} = \sqrt{754} \approx 27.46),此值为采购方案“综合成本强度”。若超预算,可构建“预算矩阵” (B)(B) 并计算其 (BF)(||B||_F),对比 (AF)(||A||_F)(BF)(||B||_F) 后调整采购方案。
    • 图像处理示例:图像噪声控制

      • 把灰度图像看作矩阵,如 (A=(10203040))(A = \begin{pmatrix}10 & 20 \\ 30 & 40\end{pmatrix}),其元素是像素灰度值。计算(AF=102+202+302+402=300054.77)(||A||_F = \sqrt{10^2 + 20^2 + 30^2 + 40^2} = \sqrt{3000} \approx 54.77)。再收集正常无噪图像计算其 Frobenius 范数范围。若当前图像该值超出此范围,可能受噪声干扰,超出幅度越大噪声影响越重。

✅ 总结

概念数学本质核心比喻在深度学习中的作用
标量单个数字一个温度值学习率、偏置等单个参数
向量一串数字/一个方向一个人的特征向量单样本数据、一层神经元的输出
矩阵二维表格/一种变换全班成绩单/一个变换动作权重矩阵、整个批次的数据
张量高维数组一个数据立方体输入数据(如图片)、中间特征
矩阵乘法行点乘列用A的行扫描B的列神经网络前向传播的核心计算
线性方程组Ax=bA\mathbf{x} = \mathbf{b}寻找一个变换后的目标模型拟合的本质,解的情况对应欠/过拟合
L2L^2范数平方和开根几何长度损失函数(MSE)、权重正则化
Frobenius范数所有元素平方和开根矩阵的"能量"权重矩阵的正则化,防止过拟合

🎲 概率论:描述不确定性的语言

如果说线性代数是深度学习的骨架,那么概率论就是它的灵魂。它让机器学会在不确定的环境中做出最优决策。


一、随机变量 (Random Variable) - “不确定的量”

  • 理论:一个其值取决于随机现象结果的变量。它不是传统的“变量”,而是一个函数,将随机实验的每一个可能结果映射到一个数值。
  • 大白话:就像一个即将掷出的骰子朝上的点数,在掷出之前,它的值是不确定的(可能是1到6中的任何一个)。我们用一个大写字母(如 XX)来表示这个“未来的数字”。
  • 例子
    • XX: 掷一枚公平骰子一次的结果。XX 的可能取值是 {1, 2, 3, 4, 5, 6}。
    • YY: 明天中午的气温。
    • ZZ: 某条新闻是假新闻的概率。
  • 类型
    • 离散随机变量:取值是可数的(如骰子点数、次数)。
    • 连续随机变量:取值在连续区间内(如温度、身高、概率)。
  • 核心思想:随机变量 XX 是一个函数,它将随机实验的样本空间(所有可能结果的集合)映射到实数集。我们关心的是这些数字的概率。

二、概率分布 (Probability Distribution) - “可能性地图”

  • 理论:描述一个随机变量所有可能取值及其对应可能性的规则
  • 大白话:一张告诉你哪个结果更可能出现、哪个结果不太可能出现的地图说明书
  • 例子:对于公平骰子 XX,它的概率分布告诉我们每个点数出现的可能性都是 1/61/6
  • 关系:PMF 和 PDF 是描述概率分布的两种主要数学工具。

三、概率质量函数 (PMF) - “离散变量的分布说明书”

  • 理论专门用于离散随机变量的函数 P(X=x)P(X=x),它给出了随机变量 XX 恰好等于某个特定值 xx 的概率。
  • 必须满足
    1. 0P(X=x)10 \leq P(X=x) \leq 1 (概率值在0到1之间)
    2. \sum_{\text{所有 } x} P(X=x) = 1 (所有可能情况的概率之和为1)
  • 例子:不公平骰子,其PMF如下:
    • P(X=1)=0.1P(X=1) = 0.1
    • P(X=2)=0.1P(X=2) = 0.1
    • P(X=3)=0.2P(X=3) = 0.2
    • P(X=4)=0.2P(X=4) = 0.2
    • P(X=5)=0.3P(X=5) = 0.3
    • P(X=6)=0.1P(X=6) = 0.1
    • 检查:0.1+0.1+0.2+0.2+0.3+0.1=1.00.1+0.1+0.2+0.2+0.3+0.1 = 1.0,满足条件。

四、概率密度函数 (PDF) - “连续变量的相对可能性手册”

  • 理论专门用于连续随机变量的函数 p(x)p(x)注意:对于连续变量,取某个精确值的概率为0(因为点无穷多)。PDF p(x)p(x)值本身不是概率,但其在某个区间上的积分代表概率。
  • 必须满足
    1. x,p(x)0\forall x, p(x) \geq 0 (密度非负)
    2. p(x)dx=1\int_{-\infty}^{\infty} p(x) dx = 1 (总面积为1)
  • 大白话:PDF值高的地方,表示随机变量落在该值附近的可能性更大。概率是PDF曲线下一块面积
  • 例子:成年男性身高 HH 近似服从正态分布,PDF为 p(h)p(h)
    • 身高在170cm到175cm之间的概率是多少?P(170<H<175)=170175p(h)dhP(170 < H < 175) = \int_{170}^{175} p(h) dh (求曲线下从170到175的面积)。
    • P(H=172.5000...)P(H = 172.5000...) (精确到无穷位)的概率是多少?几乎是0。

五、边缘概率 (Marginal Probability) - “从表格中求总和”

  • 理论:在联合概率分布(多个变量的分布)中,忽略其他变量,只关心某一个变量的概率。
  • 大白话:有一个学生成绩和性别的联合分布表。如果你只想知道学生的成绩分布(不管性别),就把表中同一成绩下不同性别的概率都加起来。这个“加起来”的过程就是边缘化
  • 例子:随机调查一个人的眼睛颜色 (EE) 和头发颜色 (HH),得到联合概率表(简化):
金发 (H1)棕发 (H2)边缘概率 P(E)
蓝眼 (E1)0.20.10.3
棕眼 (E2)0.10.60.7
边缘概率 P(H)0.30.71.0
  • P(蓝眼) = P(E1) 的边缘概率 = P(E1,H1)+P(E1,H2)=0.2+0.1=0.3P(E1, H1) + P(E1, H2) = 0.2 + 0.1 = 0.3
  • P(棕发) = P(H2) 的边缘概率 = P(E1,H2)+P(E2,H2)=0.1+0.6=0.7P(E1, H2) + P(E2, H2) = 0.1 + 0.6 = 0.7
  • 对于连续变量:p(x)=p(x,y)dyp(x) = \int p(x, y) dy
  • 核心思想:边缘概率是通过对联合概率分布进行边缘化(求和或积分)得到的。

六、条件概率 (Conditional Probability) - “已知前提下的可能性”

  • 理论:在事件 BB 已经发生的条件下,事件 AA 发生的概率。记作 P(AB)P(A|B)
  • 公式P(AB)=P(A,B)P(B)P(A|B) = \frac{P(A, B)}{P(B)} (要求 P(B)>0P(B) > 0
  • 大白话缩小样本空间。我们把关注点从整个世界,缩小到所有满足 BB 的情况,然后再看在这些情况中 AA 也发生的比例。
  • 例子:沿用上表的例子。
    • 问题:已知一个人是金发 (H1H1),求他是蓝眼 (E1E1) 的概率?即求 P(E1H1)P(E1|H1)
金发 (H1)棕发 (H2)边缘概率 P(E)
蓝眼 (E1)0.20.10.3
棕眼 (E2)0.10.60.7
边缘概率 P(H)0.30.71.0
*   **计算**:
    *   分子 $P(E1, H1) = 0.2$ (既是蓝眼又是金发的概率)
    *   分母 $P(H1) = 0.3$ (是金发的总概率)
    *   $P(E1|H1) = \frac{0.2}{0.3} \approx 0.667$
*   **解释**:在所有金发的人中,有大约66.7%的人是蓝眼。
  • 核心思想:条件概率 P(AB)P(A|B) 是在已知信息 BB 的情况下,对 AA 发生可能性的重新评估。如果信息 BB 不能改变我们对 AA 的看法,则称 AABB 独立。

七、独立 vs. 条件独立

  1. 独立 (Independent)

    • 理论:两个事件 AABB 相互独立,意味着知道 BB 是否发生无助于你预测 AA 是否会发生。公式:P(A,B)=P(A)P(B)P(A, B) = P(A)P(B)
    • 大白话:两件完全不相关的事。比如“你扔硬币得到正面”和“我扔骰子得到6点”。
    • 例子:P(硬币正面) = 0.5, P(骰子6点) = 1/6。P(硬币正面, 骰子6点) = 0.5 \times 1/6 = 1/12。
  2. 条件独立 (Conditionally Independent)

    • 理论:在给定另一个事件 CC 发生后,AABB 变得独立了。公式:P(A,BC)=P(AC)P(BC)P(A, B | C) = P(A|C)P(B|C)
    • 大白话:本来两件事可能有关联,但一旦知道了某个“真相” CC,它们就没关系了。
    • 经典例子
      • AA: 你的草坪是湿的。
      • BB: 你邻居的草坪是湿的。
      • CC: 昨晚下雨了。
      • 分析:在不知道 CC(是否下雨)时,AABB 是相关的(你家草坪湿了,会让你觉得邻居家草坪也可能湿了)。但一旦知道昨晚下雨了 (CC),你家草坪湿 (AA) 和邻居家草坪湿 (BB) 就都得到了解释,它们之间就不再提供关于对方的额外信息,即在给定 CC 的条件下,AABB 是独立的
    • 独立性例子:掷一次公平骰子,A=\{点数为偶数\}, B=\{点数>3\}。
      • P(A)=1/2P(A)=1/2, P(B)=1/2P(B)=1/2, P(A,B)=P({4,6})=1/3P(A,B)=P(\{4,6\})=1/3.
      • P(A,B)=1/3P(A)P(B)=1/4P(A,B) = 1/3 \neq P(A)P(B) = 1/4,故 AABB 不独立

八、期望 (Expectation) - “长期平均价值”

  • 理论:随机变量 XX 的期望 E[X]\mathbb{E}[X] 是其所有可能值的加权平均,权重就是对应的概率。它表示如果你无数次重复实验,得到的平均值。
  • 公式
    • 离散:E[X]=xxP(X=x)\mathbb{E}[X] = \sum_{x} x P(X=x)
    • 连续:E[X]=xp(x)dx\mathbb{E}[X] = \int x p(x) dx
  • 大白话:一个投资的“预期回报”,或者一个游戏的“理论上的平均收益”。
  • 例子:掷不公平骰子(PMF如前所述),求期望值。 E[X]=(1×0.1)+(2×0.1)+(3×0.2)+(4×0.2)+(5×0.3)+(6×0.1)=3.7\mathbb{E}[X] = (1 \times 0.1) + (2 \times 0.1) + (3 \times 0.2) + (4 \times 0.2) + (5 \times 0.3) + (6 \times 0.1) = 3.7 这意味着长期来看,掷这个骰子的平均点数是3.7。
  • 核心思想:期望 E[X]\mathbb{E}[X] 描述分布的中心(均值),方差 Var(X)\text{Var}(X) 描述分布的分散程度(离散度)。
  • 线性性质E[aX+bY+c]=aE[X]+bE[Y]+c\mathbb{E}[aX + bY + c] = a\mathbb{E}[X] + b\mathbb{E}[Y] + c (极其重要!)

九、方差 & 协方差 (Variance & Covariance)

  1. 方差 (Variance)

    • 理论:衡量随机变量偏离其期望值的程度。方差越大,数据越分散。
    • 公式Var(X)=E[(XE[X])2]=E[X2](E[X])2\text{Var}(X) = \mathbb{E}[(X - \mathbb{E}[X])^2] = \mathbb{E}[X^2] - (\mathbb{E}[X])^2
    • 大白话:衡量“波动性”或“稳定性”。比如一只股票方差大,说明它价格波动剧烈。
    • 例子:掷公平骰子,E[X]=3.5\mathbb{E}[X] = 3.5E[X2]=(12+22+32+42+52+62)/6=91/615.167\mathbb{E}[X^2] = (1^2+2^2+3^2+4^2+5^2+6^2)/6 = 91/6 \approx 15.167Var(X)=15.167(3.5)2=15.16712.25=2.917\text{Var}(X) = 15.167 - (3.5)^2 = 15.167 - 12.25 = 2.917
    • 性质Var(aX+b)=a2Var(X)\text{Var}(aX + b) = a^2\text{Var}(X)
  2. 协方差 (Covariance)

    • 理论:衡量两个随机变量一起变化的趋势。
      • 正值:一个变大,另一个也倾向于变大。
      • 负值:一个变大,另一个倾向于变小。
      • 接近零:线性关系弱。
    • 公式Cov(X,Y)=E[(XE[X])(YE[Y])]=E[XY]E[X]E[Y]\text{Cov}(X, Y) = \mathbb{E}[(X - \mathbb{E}[X])(Y - \mathbb{E}[Y])] = \mathbb{E}[XY] - \mathbb{E}[X]\mathbb{E}[Y]
    • 大白话:衡量“协同性”。
    • 例子:身高和体重通常有正协方差。
    • 核心思想:协方差 Cov(X,Y)\text{Cov}(X,Y) 衡量两个随机变量共同变化的趋势。
  3. 协方差矩阵 (Covariance Matrix)

    • 理论:将多个随机变量(如一个向量的各个分量)之间的协方差组织成一个矩阵。

      Σ=(Var(X1)Cov(X1,X2)Cov(X2,X1)Var(X2))\Sigma = \begin{pmatrix} \text{Var}(X_1) & \text{Cov}(X_1, X_2) \\ \text{Cov}(X_2, X_1) & \text{Var}(X_2) \end{pmatrix}

    • 大白话:描述一个多维数据中,各个维度自身如何变化,以及彼此之间如何关联的总结报告。在深度学习中非常重要,例如用于PCA等算法。
    • 例子:考虑两个变量 X1X_1X2X_2 的协方差矩阵

      Σ=(Var(X1)Cov(X1,X2)Cov(X2,X1)Var(X2))\Sigma = \begin{pmatrix} \text{Var}(X_1) & \text{Cov}(X_1, X_2) \\ \text{Cov}(X_2, X_1) & \text{Var}(X_2) \end{pmatrix}

      假设 Var(X1)=4\text{Var}(X_1) = 4, Var(X2)=9\text{Var}(X_2) = 9, Cov(X1,X2)=3\text{Cov}(X_1, X_2) = 3

      Σ=(4339)\Sigma = \begin{pmatrix} 4 & 3 \\ 3 & 9 \end{pmatrix}


十、常见的概率分布

  1. 伯努利分布 (Bernoulli)

    • 描述一次试验,两个结果(成功/失败,1/0)。
    • 参数ϕ\phi (成功的概率)
    • PMFP(X=x)=ϕx(1ϕ)1xP(X=x) = \phi^x (1-\phi)^{1-x}, x{0,1}x \in \{0, 1\}
    • 例子:掷一次硬币(正面为1)。
  2. 范畴分布 (Categorical) / 多项分布 (Multinoulli)

    • 描述一次试验,kk结果。
    • 参数:向量 p=(p1,p2,...,pk)\mathbf{p} = (p_1, p_2, ..., p_k), pi=1\sum p_i = 1
    • PMFP(X=i)=piP(X=i) = p_i
    • 例子:掷一次骰子(k=6k=6)。
  3. 高斯(正态)分布 (Gaussian/Normal)

    • 描述:著名的“钟形曲线”。描述大量独立随机变量之和的分布(中心极限定理)。
    • 参数:均值 μ\mu (中心位置), 方差 σ2\sigma^2 (分散程度)
    • PDFp(x)=12πσ2exp((xμ)22σ2)p(x) = \frac{1}{\sqrt{2\pi\sigma^2}} \exp\left(-\frac{(x-\mu)^2}{2\sigma^2}\right)
    • 例子:身高、测量误差、考试成绩等都近似服从正态分布。
  4. 多元高斯分布 (Multivariate Gaussian)

    • 描述:高斯分布向高维空间的推广。
    • 参数:均值向量 \boldsymbol{\mu}, 协方差矩阵 \boldsymbol{\Sigma}
    • PDF:p(\mathbf{x}) = \frac{1}{(2\pi)^{n/2} |\boldsymbol{\Sigma}|^{1/2}} \exp\left( -\frac{1}{2} (\mathbf{x} - \boldsymbol{\mu})^T \boldsymbol{\Sigma}^{-1} (\mathbf{x} - \boldsymbol{\mu}) \right)
    • 大白话:不仅描述了每个维度的分布,还通过 \boldsymbol{\Sigma} 描述了维度之间的相关性。

十一、贝叶斯定理 (Bayes' Theorem) - “用新证据更新信念”

  • 理论:描述了在已知相关证据后,如何更新我们对某个假设的信念。
  • 公式

    P(AB)=P(BA)P(A)P(B)P(A|B) = \frac{P(B|A) P(A)}{P(B)}

    • P(A)P(A): 先验概率 (Prior)。在看到证据 BB 之前,我们对假设 AA 的初始信念。
    • P(BA)P(B|A): 似然 (Likelihood)。如果假设 AA 成立,我们看到证据 BB 的可能性有多大。
    • P(B)P(B): 证据 (Evidence)边缘似然。看到证据 BB 的总概率(考虑所有可能假设)。
    • P(AB)P(A|B): 后验概率 (Posterior)。在看到证据 BB 之后,我们对假设 AA更新后的信念
  • 大白话:“原因”导致“结果”。现在我们观察到了“结果”,反过来推断是哪个“原因”造成的可能性更大。
  • 经典例子:疾病检测
    • AA: 一个人患病。
    • BB: 检测结果为阳性。
    • 已知
      • 患病率 P(A)=0.01P(A) = 0.01 (先验)
      • 检测准确率:如果真有病,检测为阳性的概率 P(BA)=0.99P(B|A) = 0.99 (似然,真阳性率)
      • 如果没病,检测为阳性的概率 P(B¬A)=0.05P(B|\neg A) = 0.05 (假阳性率)
    • 问题:如果一个人检测结果是阳性,他真正患病的概率是多少?即求 P(AB)P(A|B) (后验)。
    • 计算
      1. 计算总阳性率 P(B)P(B) (证据): P(B)=P(B,A)+P(B,¬A)=P(BA)P(A)+P(B¬A)P(¬A)=(0.99)(0.01)+(0.05)(0.99)=0.0099+0.0495=0.0594P(B) = P(B,A) + P(B, \neg A) = P(B|A)P(A) + P(B|\neg A)P(\neg A) = (0.99)(0.01) + (0.05)(0.99) = 0.0099 + 0.0495 = 0.0594
      2. 应用贝叶斯定理: P(AB)=P(BA)P(A)P(B)=0.99×0.010.05940.00990.05940.1667P(A|B) = \frac{P(B|A)P(A)}{P(B)} = \frac{0.99 \times 0.01}{0.0594} \approx \frac{0.0099}{0.0594} \approx 0.1667
    • 结论:即使检测非常准确(99%),一个检测呈阳性的人真正患病的概率也只有16.67%。这是因为患病率(先验)太低了。这个例子凸显了理解先验概率的重要性。
  • 核心思想:贝叶斯定理提供了一个系统化的框架,用于在获得新证据后,从先验信念更新为后验信念

贝叶斯定理是贝叶斯统计、垃圾邮件过滤、医学诊断和许多机器学习算法(如朴素贝叶斯分类器)的核心。


🧠 优化:为机器学习寻找最佳配方

想象一下,你正在调一杯鸡尾酒。每种成分的量就是参数,酒的味道是模型表现,你的目标是找到最好的配方,让味道最棒。优化,就是帮你找到这个最佳配方的系统化方法。


一、基于梯度的优化 (Gradient-Based Optimization) - 指南针与地图

  • 核心思想:我们有一个需要最小化(或最大化)的函数 J(θ)J(\theta),称为目标函数(或损失函数、成本函数)。θ\theta 代表所有参数(如权重 ww 和偏置 bb)。基于梯度的优化利用函数的梯度(Gradient)来指导我们如何调整 θ\theta,以最快地到达函数的最低点。

  • 关键概念

    • 导数 f(x)f'(x) / 梯度 θJ(θ)\nabla_\theta J(\theta)
      • 理论:函数在某一点的斜率。对于多元函数,梯度是一个向量,每个分量是该点沿某个坐标轴方向的斜率。
      • 大白话指南针。它告诉你哪个方向是下山最快的方向。梯度方向是函数值上升最快的方向,所以负梯度方向就是下降最快的方向。
      • 例子f(x)=x2f(x) = x^2,在 x=3x=3 处的导数 f(3)=6>0f'(3) = 6 > 0,表示此处正在上升,要下山需向左(负方向)移动。
    • 学习率 (Learning Rate) η\eta
      • 理论:一个超参数,控制每次参数更新步长的大小。
      • 大白话步幅。步子太大(η\eta 太大)可能会跨过谷底甚至导致发散;步子太小(η\eta 太小)下山速度太慢,永远到不了底。

二、梯度下降 (Gradient Descent) - 一步步下山

  • 算法θnew=θoldηθJ(θold)\theta_{\text{new}} = \theta_{\text{old}} - \eta \nabla_\theta J(\theta_{\text{old}})

  • 几何解释:想象你蒙着眼在一个凹凸不平的山坡上,只能靠脚感受坡度。你每走一步,都朝着当下最陡的下山方向迈出一小步。梯度下降就是这个过程的形式化。

  • 例子:最小化 f(x)=x2f(x) = x^2

    • 导数 f(x)=2xf'(x) = 2x
    • 设初始点 x0=3x_0 = 3,学习率 η=0.1\eta = 0.1
    • 迭代过程
      1. x1=30.1(23)=30.6=2.4x_1 = 3 - 0.1 * (2*3) = 3 - 0.6 = 2.4
      2. x2=2.40.1(22.4)=2.40.48=1.92x_2 = 2.4 - 0.1 * (2*2.4) = 2.4 - 0.48 = 1.92
      3. x3=1.920.1(21.92)=1.920.384=1.536x_3 = 1.92 - 0.1 * (2*1.92) = 1.92 - 0.384 = 1.536
      4. ... 不断迭代,xx 会逐渐接近全局最小值点 00

可以看到,xx 的值随着迭代次数的增加,逐渐逼近理论最小值 00


三、临界点 (Critical Points) - 山谷、山顶和马鞍点

  • 定义:梯度为零的点,即 θJ(θ)=0\nabla_\theta J(\theta) = 0。在这里,“指南针”失灵了,没有明确的下降方向。
  • 种类

    1. 局部最小值 (Local Minimum)
      • 特点:该点比所有邻近点都低。
      • 比喻:一个小山谷的底部。虽然可能不是整片山区的最低点(全局最小),但你已经很难直接出去了。
      • 在深度学习中的意义:很多时候,找到一个表现良好的局部最小值就已经足够,我们不一定非要找到全局最小。
    2. 局部最大值 (Local Maximum)
      • 特点:该点比所有邻近点都高。
      • 比喻:一个小山顶
      • 在深度学习中的意义:在最小化损失函数时,这是我们想避免的。
    3. 鞍点 (Saddle Point)
      • 特点:在某些方向上是极小值,在另一些方向上是极大值。
      • 比喻马鞍的中心。沿着马头到马尾的方向,你是坐在最低点;沿着身体两侧的方向,你是坐在最高点。
      • 在深度学习中的意义:在高维空间中非常常见。梯度为零,但并不是极值点。传统的梯度下降会在鞍点附近停滞很久,需要更高级的优化器(如带动量的)才能逃离。
  • 例子:函数 f(x,y)=x2y2f(x, y) = x^2 - y^2。在点 (0,0)(0, 0) 处:

    • 沿 xx 轴方向(y=0y=0),f(x,0)=x2f(x,0)=x^2,是碗形,(0,0)(0,0) 是极小值。
    • 沿 yy 轴方向(x=0x=0),f(0,y)=y2f(0,y)=-y^2,是倒碗形,(0,0)(0,0) 是极大值。
    • 因此,(0,0)(0,0)鞍点

四、多元函数的梯度下降 - 在复杂地形下山

  • 核心:对于多元函数 J(θ1,θ2,...,θn)J(\theta_1, \theta_2, ..., \theta_n),梯度 θJ\nabla_\theta J 是一个向量:

    θJ=(Jθ1Jθ2Jθn)\nabla_\theta J = \begin{pmatrix} \frac{\partial J}{\partial \theta_1} \\ \frac{\partial J}{\partial \theta_2} \\ \vdots \\ \frac{\partial J}{\partial \theta_n} \end{pmatrix}

    更新规则完全相同:θnew=θoldηθJ(θold)\theta_{\text{new}} = \theta_{\text{old}} - \eta \nabla_\theta J(\theta_{\text{old}})

  • 例子:最小化函数 J(w,b)=(w3)2+(b2)2J(w, b) = (w - 3)^2 + (b - 2)^2。显然最小值在 (w,b)=(3,2)(w, b) = (3, 2) 处。

    • 计算梯度: Jw=2(w3)\frac{\partial J}{\partial w} = 2(w - 3)Jb=2(b2)\frac{\partial J}{\partial b} = 2(b - 2) 所以 J=(2(w3)2(b2))\nabla J = \begin{pmatrix} 2(w-3) \\ 2(b-2) \end{pmatrix}
    • 设初始点 (w0,b0)=(1,1)(w_0, b_0) = (1, 1),学习率 η=0.1\eta = 0.1
    • 第一次迭代J(1,1)=(2(13)2(12))=(42)\nabla J_{(1,1)} = \begin{pmatrix} 2(1-3) \\ 2(1-2) \end{pmatrix} = \begin{pmatrix} -4 \\ -2 \end{pmatrix}(w1b1)=(11)0.1(42)=(1+0.41+0.2)=(1.41.2)\begin{pmatrix} w_1 \\ b_1 \end{pmatrix} = \begin{pmatrix} 1 \\ 1 \end{pmatrix} - 0.1 \begin{pmatrix} -4 \\ -2 \end{pmatrix} = \begin{pmatrix} 1 + 0.4 \\ 1 + 0.2 \end{pmatrix} = \begin{pmatrix} 1.4 \\ 1.2 \end{pmatrix}
    • 这个点 (1.4,1.2)(1.4, 1.2)(1,1)(1,1) 更接近 (3,2)(3,2) 了。

五、微积分运算法则 - 计算梯度的工具包

要计算复杂函数的梯度,我们需要一些工具。最重要的是链式法则,它是反向传播算法的基石。

  1. 链式法则 (Chain Rule)

    • 理论:如果 y=f(u)y = f(u)u=g(x)u = g(x),那么 yyxx 的导数为 dydx=dydududx\frac{dy}{dx} = \frac{dy}{du} \cdot \frac{du}{dx}
    • 大白话:如果一条路是分段走的,那么总的坡度变化等于每一段路坡度变化的乘积
    • 例子y=sin(2x)y = \sin(2x)。令 u=2xu = 2x, y=sin(u)y = \sin(u)。 则 dydx=dydududx=cos(u)2=2cos(2x)\frac{dy}{dx} = \frac{dy}{du} \cdot \frac{du}{dx} = \cos(u) \cdot 2 = 2\cos(2x)
  2. 乘法法则 (Product Rule)

    • 理论(fg)=fg+fg(f \cdot g)' = f' \cdot g + f \cdot g'
    • 例子y=x2sin(x)y = x^2 \sin(x)y=(2x)sin(x)+x2cos(x)y' = (2x) \cdot \sin(x) + x^2 \cdot \cos(x)
  3. 除法法则 (Quotient Rule)

    • 理论(fg)=fgfgg2\left( \frac{f}{g} \right)' = \frac{f'g - fg'}{g^2}
    • 例子y=xx2+1y = \frac{x}{x^2+1}y=(1)(x2+1)(x)(2x)(x2+1)2=1x2(x2+1)2y' = \frac{(1)(x^2+1) - (x)(2x)}{(x^2+1)^2} = \frac{1 - x^2}{(x^2+1)^2}

六、两步求导(以神经网络为例)

神经网络的损失函数 LL 极其复杂,是嵌套了无数层的复合函数。求梯度 Lw\frac{\partial L}{\partial w} 的过程,就是反复应用链式法则,从输出层反向一步步推算到输入层,故名反向传播

  • 过程解读
    1. 前向传播:沿着 x -> z -> a -> L 计算预测值和损失。
    2. 反向传播
      • 先计算损失 LL 对最终输出 aa 的梯度 La\frac{\partial L}{\partial a}
      • 然后这个梯度被反向传递,乘以 aa 对它的输入 zz 的梯度 az\frac{\partial a}{\partial z},得到 Lz\frac{\partial L}{\partial z}
      • 这个梯度继续反向传递,乘以 zz 对参数 ww 的梯度 zw\frac{\partial z}{\partial w},最终得到我们需要的 Lw\frac{\partial L}{\partial w}
    3. 参数更新:利用计算出的梯度 g=Lwg = \frac{\partial L}{\partial w} 来更新参数:w=wηgw = w - \eta g

这个过程对于网络中的每一个参数(每一层的 wwbb)都会进行一遍,高效地计算出所有梯度。

✅ 总结

概念数学本质核心比喻在深度学习中的作用
梯度θJ\nabla_\theta J指南针指示参数更新的最快下降方向
学习率η\eta步幅控制每次参数更新的步长大小
梯度下降θ=θηJ\theta = \theta - \eta \nabla J蒙眼下山核心优化算法,迭代寻找最小值
局部最小值J=0\nabla J=0, Hessian正定小山谷优化的目标,模型的一个可能解
鞍点J=0\nabla J=0, Hessian不定马鞍高维空间中的常见陷阱,会使优化变慢
链式法则dydx=dydududx\frac{dy}{dx} = \frac{dy}{du}\frac{du}{dx}分段路的坡度反向传播算法的理论基础,用于高效计算梯度

🤖 机器学习基础:构建智能系统的蓝图

Tom Mitchell 的这段定义是理解机器学习的基石: “A computer program is said to learn from experience 𝐸 w.r.t. some class of tasks 𝑇 and performance measure 𝑃, if its performance at tasks in 𝑇, as measured by 𝑃, improves with experience 𝐸.” ---Tom Mitchell, 1997

“对于一个计算机程序,给它一些任务T性能度量P,如果通过经验E,它在T上的性能(由P评定)得到了提高,那么我们就说这个程序从E中学习了。”

这就像一个学做饭的徒弟:

  • 任务T:炒出鱼香肉丝。
  • 性能度量P:师傅打分的平均分(1-10分)。
  • 经验E:徒弟一遍遍地练习炒菜(处理食材、调味、掌控火候)。
  • 学习:如果徒弟的得分随着练习次数的增加而提高,那么他就在“学习”。

一、任务 (The Task, T) - “机器要做什么?”

任务T 是机器学习系统需要解决的具体问题。它通常被定义为机器学习系统如何处理样本 (example)。一个样本是对象或事件的特征 (feature) 的集合。

  • 分类例子:识别手写数字(MNIST数据集)。任务T:f: \text{(28x28像素图像)} \to \{0, 1, 2, ..., 9\}。
  • 回归例子:预测房价。任务T:f: \text{(面积, 位置, 卧室数量...)} \to \mathbb{R}^+(房价)。

二、性能度量 (The Performance Metric, P) - “怎么算做得好?”

P 是定量评估算法性能的方法。P 总是针对特定的 T 而定义的。

任务类型 (T)性能度量 (P)例子与说明
分类准确率 (Accuracy)(正确预测数) / (总样本数)。最直观的指标。
错误率 (Error Rate)1Accuracy1 - Accuracy。与准确率互补。
精确率/召回率 (Precision/Recall)用于类别不平衡问题(如癌症筛查)。精确率:预测为正例中真正正例的比例。召回率:真正正例中被预测出来的比例。
回归均方误差 (MSE)1mi=1m(y^(i)y(i))2\frac{1}{m} \sum_{i=1}^m (\hat{y}^{(i)} - y^{(i)})^2。衡量预测值与真实值之间的平均平方差距
平均绝对误差 (MAE)1mi=1my^(i)y(i)\frac{1}{m} \sum_{i=1}^m |\hat{y}^{(i)} - y^{(i)}|。对异常值不如MSE敏感。
生成任务BLEU Score机器翻译的常用指标,通过比较机器输出和人工翻译的重合度来打分。
人工评估对于图像生成、诗歌创作等,有时需要人类来评判质量。

黄金法则:性能度量 P 必须在测试集 (test set) 上进行评估。测试集是模型在训练过程中绝对没有见过的数据,用于模拟模型在真实世界中的表现。


三、经验 (The Experience, E) - “从哪里学习?”

根据经验 E 的类型,机器学习算法分为两大类:

  • 无监督学习例子:给定一堆新闻文章,算法自动将它们分成“体育”、“财经”、“科技”等簇(聚类)。给它的数据只有文章内容(特征),没有预先打好的标签。
  • 监督学习例子:给定一堆图片和每张图片对应的标签(“猫”、“狗”),算法学习如何从像素点预测出标签。

四、示例:线性回归 (Linear Regression) - 一个完整的机器学习过程

让我们用一个最简单的模型——线性回归,来串起 T, P, E。

  • 任务T:给定房屋特征(如面积 xx),预测其价格 yy
  • 模型y^=wx+b\hat{y} = w x + b。其中 ww (权重) 和 bb (偏置) 是我们要学习的参数
  • 性能度量P (测试集上):均方误差 MSEtest=1mi(y^(i)y(i))2MSE_{test} = \frac{1}{m} \sum_{i} (\hat{y}^{(i)} - y^{(i)})^2
  • 经验E (训练集上):我们通过最小化训练集上的MSE 来学习参数。 MSEtrain=1Ni=1N(wx(i)+by(i))2MSE_{train} = \frac{1}{N} \sum_{i=1}^N (w x^{(i)} + b - y^{(i)})^2
  • 求解:对 MSEtrainMSE_{train} 关于 wwbb 求导并令导数为零,可以找到解析解( closed-form solution): w=(x(i)x¯)(y(i)y¯)(x(i)x¯)2w = \frac{\sum (x^{(i)} - \bar{x})(y^{(i)} - \bar{y})}{\sum (x^{(i)} - \bar{x})^2}, b=y¯wx¯b = \bar{y} - w\bar{x} 其中 x¯\bar{x}y¯\bar{y} 是训练样本的均值。

五、容量、过拟合和欠拟合 (Capacity, Overfitting, Underfitting)

这是机器学习的核心矛盾。

  • 容量 (Capacity):模型拟合各种函数的能力。容量低的模型可能无法学习到数据中的有效模式。
  • 欠拟合 (Underfitting):模型在训练集上的误差就很大。表现为“学得不好”,模型太简单,无法捕捉数据中的基本特征。
  • 过拟合 (Overfitting):模型在训练集上误差很小,但在测试集上误差很大。表现为“学得太好”,把训练数据中的噪声和特例都当成了普适规律,泛化能力差。

最佳容量点是测试误差最低的地方。我们的目标就是找到这个点。


六、示例:多项式回归 - 理解过拟合与欠拟合

假设真实数据由二次函数 y=x2y = x^2 加上一些噪声生成。 我们尝试用不同次数的多项式来拟合:

  1. 0次 (常数)y^=b\hat{y} = b -> 欠拟合,模型太简单。
  2. 1次 (线性)y^=w1x+b\hat{y} = w_1x + b -> 仍然欠拟合,无法拟合曲线。
  3. 2次y^=w1x+w2x2+b\hat{y} = w_1x + w_2x^2 + b -> 容量恰当,能很好地拟合真实规律。
  4. 9次y^=b+i=19wixi\hat{y} = b + \sum_{i=1}^9 w_i x^i -> 严重过拟合,模型变得非常复杂,穿过了所有训练数据点,但在数据点之间的波动极大,预测新数据会非常差。

七、正则化 (Regularization) - 控制模型的“野心”

正则化是我们对学习算法所做的任何修改,旨在减少泛化误差而非训练误差。其核心思想是:在降低训练误差和保持模型简单性之间做一个权衡,从而避免过拟合。

最常用的方法是 L2 参数范数惩罚(又称权重衰减 - Weight Decay)。它通过向损失函数中添加一个正则项 Ω(θ)\Omega(\theta) 来惩罚大的权重: Jnew(θ)=Joriginal(θ)+λΩ(θ)=MSEtrain+λ(w12+w22+...)J_{new}(\theta) = J_{original}(\theta) + \lambda \Omega(\theta) = MSE_{train} + \lambda (w_1^2 + w_2^2 + ...) 其中

  • JJ 代表的是损失函数(Loss Function)
  • λ\lambda 是一个超参数,控制正则化的强度。
  • λ=0\lambda = 0:恢复原始损失函数,容易过拟合。
  • λ\lambda 太大:模型会变得过于简单,导致欠拟合(所有权重都被压向0)。
  • λ\lambda 适中:找到最佳平衡点,获得良好的泛化性能。

八、超参数 vs. 参数 (Hyperparameters vs. Parameters)

特征参数 (Parameters)超参数 (Hyperparameters)
定义模型从数据中学习到的内部配置。模型外部的配置,其值无法从数据中学习
例子权重 (ww)、偏置 (bb)学习率 (η\eta)、正则化强度 (λ\lambda)、网络层数、隐藏单元数
如何设定通过优化算法(如梯度下降)自动调整。由研究者/工程师基于经验、实验(在验证集上)来手动设定。
比喻厨师做菜时放的盐和油,根据菜品情况随时调整。菜谱上写的“小火慢炖10分钟”,在做菜前就定好了。

九、验证集 (Validation Set) - 超参数的“模拟考场”

我们不能用测试集来调整超参数(否则就会“泄漏”测试集信息,导致性能评估不真实)。因此,我们需要从训练集中再分出一部分作为验证集


十、最大似然估计 (Maximum Likelihood Estimation - MLE) - 概率视角的优化

MLE 是机器学习中最常用的参数估计框架之一。它的核心思想是:找到最能“解释”已观测到数据的模型参数

  • 定义:对于一组独立同分布的数据 X={x(1),x(2),...,x(N)}X = \{x^{(1)}, x^{(2)}, ..., x^{(N)}\},最大似然估计是选择使似然函数 pmodel(X;θ)p_{model}(X; \theta) 最大的参数值 θML\theta_{ML}θML=argmaxθpmodel(X;θ)=argmaxθi=1Npmodel(x(i);θ)\theta_{ML} = \arg\max_{\theta} p_{model}(X; \theta) = \arg\max_{\theta} \prod_{i=1}^N p_{model}(x^{(i)}; \theta)

  • 实际操作:通常最大化其对数似然(因为乘积取对数后变求和,更易优化): θML=argmaxθi=1Nlogpmodel(x(i);θ)\theta_{ML} = \arg\max_{\theta} \sum_{i=1}^N \log p_{model}(x^{(i)}; \theta)

  • 与MSE的联系最大化高斯分布假设下的对数似然,等价于最小化均方误差 (MSE)。这为 MSE 提供了一个强大的概率论解释。


十一、条件对数似然 (Conditional Log-Likelihood) - 监督学习的MLE

对于监督学习(输入 xx,输出 yy),我们通常要估计条件分布 P(yx;θ)P(y | x; \theta)。对应的最大似然估计变为最大化条件对数似然θML=argmaxθi=1NlogP(y(i)x(i);θ)\theta_{ML} = \arg\max_{\theta} \sum_{i=1}^N \log P(y^{(i)} | x^{(i)}; \theta)

  • 例子:在分类任务中,P(yx;θ)P(y | x; \theta) 通常是 Softmax 函数输出的类别概率。最大化条件对数似然就是最小化交叉熵损失函数

十二、随机梯度下降 (Stochastic Gradient Descent - SGD) - 大规模学习的引擎

对于大规模数据集,计算整个训练集上的损失和梯度(这称为批量梯度下降)的计算代价极高且缓慢。SGD 是解决这一问题的关键。

  • 核心思想:在每一次参数更新时,只随机抽取一个小的 minibatch(小批量)样本来计算梯度的估计,然后用这个估计来更新参数。 θnew=θoldηθJ(batch)(θold)\theta_{\text{new}} = \theta_{\text{old}} - \eta \nabla_\theta J^{(batch)}(\theta_{\text{old}})

  • 优势

    1. 极大的速度提升:一次更新只需要处理几十到几百个样本,而不是几百万个。
    2. 引入噪声有助于逃离尖锐的极小值,可能找到泛化能力更好的平坦极小值。

一个周期 (epoch) 指的是算法遍历了整个训练集(所有minibatches)一次。


✅ 总结:机器学习的完整蓝图

整篇文章参考深度学习 只链接是其中一个作者的书籍链接)(有会可能失效) 伊恩·古德费洛 (Ian Goodfellow)

知识如风,常伴吾身