ch2
ch2
xiaoyu第二章:数学回顾及机器学习概述。
这一章 PPT 分成两大部分:
第二章
├── 第一部分:数学知识回顾
│ ├── 线性代数:标量、向量、矩阵、张量、点积、范数
│ ├── 微积分:导数、梯度、链式法则、自动微分、计算图
│ └── 概率统计:概率、条件概率、贝叶斯、期望、方差、常见分布
└── 第二部分:机器学习概述
├── 什么是机器学习
├── 机器学习三要素:模型、学习准则、优化
├── 分类、聚类、回归
├── 损失函数、经验风险最小化
├── 梯度下降
└── 过拟合与正则化
第二章 PPT 主要就是这些内容。
你是小白,所以我们不按“数学教材”的方式讲。我们按考试和深度学习理解来讲:
第二章的数学不是为了证明定理,而是为了看懂神经网络怎么计算、怎么求导、怎么训练。
第二章总思维导图
你先看整体关系:
1 | 数据怎么表示? → 线性代数模型怎么变好? → 微积分不确定性怎么描述? → 概率统计机器怎么学习? → 模型 + 损失 + 优化 |
也就是说:
| 第二章内容 | 在深度学习里干什么 |
|---|---|
| 标量、向量、矩阵、张量 | 表示数据和参数 |
| 点积、矩阵乘法 | 神经网络前向计算 |
| 范数 | 衡量大小、误差、正则化 |
| 导数、梯度 | 判断参数该怎么改 |
| 链式法则 | 反向传播的数学基础 |
| 自动微分 | PyTorch 自动求梯度 |
| 概率分布 | 描述数据和预测不确定性 |
| 损失函数 | 衡量模型错多少 |
| 梯度下降 | 让模型越来越准 |
| 过拟合、正则化 | 防止模型只会背训练集 |
今天我们先讲第一块:线性代数基础。
一、标量 Scalar
标量就是一个单独的数字。
比如:
1 | 35.6-20.98 |
在深度学习里,标量可以表示:
1 | 一个损失值一个概率一个学习率一个权重一个标签 |
比如:
1 | 学习率 α = 0.01损失 loss = 2.35概率 p = 0.92 |
考试回答:
标量是只包含一个数值的量。
第二章 PPT 也是这样定义标量的:标量仅包含一个数值。
二、向量 Vector
向量就是一排数字。
比如:
1 | [1, 2, 3] |
你可以理解成:
向量 = 多个标量排成一组。
例如一个学生有三个特征:
1 | [出勤率, 作业成绩, 期末成绩] |
一个房子有三个特征:
1 | [面积, 卧室数, 卫生间数] |
一个图片像素点也可以用向量表示:
1 | [R, G, B] |
第二章 PPT 里说,向量是由多个数值构成的一组列表,在深度学习教材中通常把向量写成列向量。
向量在神经网络里有什么用?
神经元接收多个输入:
1 | x1, x2, x3 |
我们可以把它写成向量:
1 | x = [x1, x2, x3] |
权重也可以写成向量:
1 | w = [w1, w2, w3] |
这样神经元计算就可以写得更简洁。
三、矩阵 Matrix
矩阵就是二维表格。
比如:
1 | [ [1, 2, 3], [4, 5, 6]] |
它有:
1 | 2 行3 列 |
所以形状是:
1 | 2 × 3 |
第二章 PPT 说,矩阵可以看成由多维向量构成的二阶张量,m × n 矩阵有 m 行 n 列;当 m = n 时叫方阵,转置在 PyTorch 中可以写成 A.T。
矩阵在深度学习里有什么用?
很重要。
一批数据通常就是矩阵。
比如有 4 个学生,每个学生有 3 个特征:
1 | [ [学生1出勤率, 学生1作业, 学生1期末], [学生2出勤率, 学生2作业, 学生2期末], [学生3出勤率, 学生3作业, 学生3期末], [学生4出勤率, 学生4作业, 学生4期末]] |
这个矩阵形状就是:
1 | 4 × 3 |
含义是:
1 | 4 个样本 × 3 个特征 |
考试看到矩阵,要立刻想到:
矩阵可以表示一批样本的数据,也可以表示神经网络中的权重参数。
四、张量 Tensor
张量是矩阵的推广。
这个第一章我们讲过,第二章又继续讲。
你可以这样记:
1 | 0维:标量,一个数1维:向量,一排数2维:矩阵,一张表3维及以上:张量 |
第二章 PPT 里明确说:张量是矩阵的推广,即 3 阶及更高阶多维数组。
张量为什么重要?
因为深度学习处理的数据经常不是简单表格。
比如:
1 | 一张 RGB 图片:高度 × 宽度 × 颜色通道一批图片:批量大小 × 高度 × 宽度 × 通道数视频:批量大小 × 时间 × 高度 × 宽度 × 通道数 |
所以深度学习大量使用 Tensor。
一句话:
深度学习里的数据和参数,基本都可以用张量表示。
五、Hadamard 积
这个名字看起来吓人,其实很简单。
Hadamard 积就是对应位置相乘。
比如:
1 | A = [1, 2, 3]B = [4, 5, 6] |
Hadamard 积:
1 | A * B = [1×4, 2×5, 3×6] = [4, 10, 18] |
如果是矩阵:
1 | A =[ [1, 2], [3, 4]]B =[ [5, 6], [7, 8]] |
对应位置相乘:
1 | A * B =[ [1×5, 2×6], [3×7, 4×8]]=[ [5, 12], [21, 32]] |
第二章 PPT 说,Hadamard 积不同于向量内积,它是两个张量对应位置元素相乘,PyTorch 中可以直接写成 A * B。
考试记忆:
Hadamard 积是元素级乘法,要求两个张量形状相同或可以广播。
六、点积 Dot Product
点积也非常重要,因为神经元计算本质上就是点积。
两个向量:
1 | x = [x1, x2, x3]w = [w1, w2, w3] |
它们的点积是:
$$
w⋅x=w1x1+w2x2+w3x3w\cdot x=w_1x_1+w_2x_2+w_3x_3w⋅x=w1x1+w2x2+w3x3
$$
比如:
1 | x = [2, 3, 4]w = [1, 5, 2] |
点积:
1 | 2×1 + 3×5 + 4×2= 2 + 15 + 8= 25 |
结果是一个标量。
第二章 PPT 里说,PyTorch 中点积用 torch.dot(x, y) 表示,结果为一个标量。
点积和神经元有什么关系?
我们第一章讲过神经元:
1 | y = f(w1x1 + w2x2 + w3x3 + b) |
里面的:
1 | w1x1 + w2x2 + w3x3 |
就是点积。
所以神经元也可以写成:
1 | y = f(w · x + b) |
小白理解:
点积就是把“输入”和“权重”一一相乘再加起来。
考试如果问点积,你可以说:
点积是两个向量对应元素相乘后再求和,结果是一个标量。在神经网络中,神经元的加权求和可以看作输入向量和权重向量的点积。
七、矩阵-向量乘法
这个在神经网络里也很常见。
假设一个网络层有多个神经元。
每个神经元都有一组权重。
如果一个神经元是:
1 | 神经元1:w11x1 + w12x2 + w13x3 |
另一个神经元是:
1 | 神经元2:w21x1 + w22x2 + w23x3 |
再一个神经元是:
1 | 神经元3:w31x1 + w32x2 + w33x3 |
它们可以统一写成矩阵乘法:
1 | W x |
其中:
1 | W = 权重矩阵x = 输入向量 |
小白版:
矩阵-向量乘法就是一次性算出多个神经元的输出。
所以神经网络为什么喜欢矩阵?
因为矩阵可以让计算更整齐、更快,尤其适合 GPU。
八、矩阵-矩阵乘法
如果一次输入一个样本,可以用矩阵-向量乘法。
如果一次输入一批样本,就用矩阵-矩阵乘法。
比如:
1 | X = 一批样本W = 权重矩阵 |
前向传播可以写成:
1 | XW |
这就是深度学习里最常见的操作之一。
你不需要现在手算复杂矩阵乘法,只要知道:
神经网络每一层的大量计算,本质上就是矩阵乘法 + 激活函数。
九、降维操作 sum
第二章 PPT 里讲了用 sum() 做降维操作。
小白版:
降维就是把某个方向上的数字加起来,让维度变少。
比如一个 2 × 3 的矩阵:
1 | X =[ [1, 2, 3], [4, 5, 6]] |
全部求和:
1 | 1 + 2 + 3 + 4 + 5 + 6 = 21 |
结果从矩阵变成一个标量。
如果按列求和:
1 | [1+4, 2+5, 3+6] = [5, 7, 9] |
如果按行求和:
1 | [1+2+3, 4+5+6] = [6, 15] |
axis 是什么?
axis 表示沿着哪个维度操作。
你先这样理解:
1 | axis=0:按列方向压缩,经常得到每一列的结果axis=1:按行方向压缩,经常得到每一行的结果 |
对矩阵:
1 | [ [1, 2, 3], [4, 5, 6]] |
sum(axis=0):
1 | [5, 7, 9] |
sum(axis=1):
1 | [6, 15] |
PPT 里还提到 keepdim=True,它的意思是:
求和降维以后,仍然保留原来的维度位置,方便后续广播计算。
考试一般不会太难,知道作用就行。
十、范数 Norm
范数是第二章线性代数里很重要的概念。
范数就是衡量向量或矩阵“大小”的量。
第二章 PPT 里也说:范数表示向量大小,并提到范数有非负性、缩放因子、三角不等式等基本特征,以及常见的 L2 范数和 Frobenius 范数。
1. L2 范数
L2 范数可以理解成向量长度。
比如向量:
1 | x = [3, 4] |
它的 L2 范数是:
$$
∥x∥2=x12+x22+⋯+xn2|x|_2=\sqrt{x_1^2+x_2^2+\cdots+x_n^2}∥x∥2=x12+x22+⋯+xn2
$$
所以:
1 | ||x||2 = sqrt(3² + 4²) = sqrt(9 + 16) = 5 |
这和直角三角形的斜边长度一样。
小白版:
L2 范数就是向量离原点有多远。
2. Frobenius 范数
Frobenius 范数一般用于矩阵。
它就是把矩阵里每个元素平方,加起来,再开根号。
比如:
1 | A =[ [1, 2], [3, 4]] |
Frobenius 范数:
1 | sqrt(1² + 2² + 3² + 4²)= sqrt(30) |
考试不用太深入,记住:
1 | L2 范数:常用于向量Frobenius 范数:常用于矩阵 |
十一、范数在深度学习中有什么用?
范数不是为了纯数学,它在深度学习里有实际作用。
作用 1:衡量误差大小
比如预测值和真实值之间有差距。
我们可以用范数衡量这个差距有多大。
作用 2:正则化
后面会讲过拟合。
如果模型参数太大,模型可能太复杂,容易过拟合。
所以我们可以惩罚大的权重,比如 L2 正则化。
也就是让模型:
1 | 不要把权重学得太夸张 |
作用 3:衡量向量长度或矩阵大小
在神经网络、优化算法、相似度计算中都可能用到。
十二、线性代数这一节考试重点
你现在需要掌握这些:
1 | 1. 标量:一个数2. 向量:一组数3. 矩阵:二维数组/表格4. 张量:矩阵的推广,高维数组5. Hadamard 积:对应位置相乘6. 点积:对应位置相乘后求和,结果是标量7. 矩阵乘法:神经网络前向传播的重要计算8. sum 降维:沿某个维度求和9. 范数:衡量向量或矩阵大小 |
十三、考试万能答法
题 1:什么是张量?
张量是矩阵的推广,可以表示多维数组。0 维张量是标量,1 维张量是向量,2 维张量是矩阵,3 维及以上可以表示更复杂的数据,如图像、视频等。在深度学习中,数据和模型参数通常都用张量表示。
题 2:什么是 Hadamard 积?
Hadamard 积是两个形状相同的张量对应位置元素相乘得到的新张量。在 PyTorch 中可以使用
A * B表示。
题 3:什么是点积?
点积是两个向量对应元素相乘后再求和,结果是一个标量。在神经网络中,神经元的加权求和可以看作输入向量和权重向量的点积。
题 4:什么是范数?
范数是衡量向量或矩阵大小的量。常见范数包括 L2 范数和 Frobenius 范数。L2 范数常用于衡量向量长度,Frobenius 范数常用于衡量矩阵大小。
十四、这一小节最短背诵版
你先背这个:
1 | 标量是一个数,向量是一组数,矩阵是二维数组,张量是更高维数组。Hadamard 积是对应位置相乘,点积是对应位置相乘后求和。神经网络中的加权求和本质上就是点积,多个神经元可以用矩阵乘法统一表示。范数用于衡量向量或矩阵的大小,常见的有 L2 范数和 Frobenius 范数。 |
十五、用一句话总结
线性代数就是深度学习的数据语言:张量负责装数据,点积和矩阵乘法负责计算,范数负责衡量大小。
好,继续第二章的第二块:微积分回顾。
这一块你别被“微积分”吓到。对深度学习来说,微积分主要解决一个问题:
模型错了以后,参数应该往哪个方向改,才能让错误变小?
第二章 PPT 里微积分部分包括:标量求导、梯度、链式法则、自动微分、计算图,以及通过链式法则理解正向传播和反向传播。
一、为什么深度学习需要求导?
我们训练神经网络时,目标是让损失函数变小。
比如模型预测房价:
1 | 真实房价:100 万 |
我们希望模型下次预测更准,也就是:
1 | 损失 loss 变小 |
但问题是:
1 | 权重 w 应该变大还是变小? |
这就需要导数/梯度。
简单说:
导数/梯度告诉我们:参数往哪个方向改,损失会下降。
二、导数是什么?
导数可以理解成:
函数在某一点的变化速度。
比如你走在山坡上:
1 | 坡很陡 → 导数大 |
如果函数是损失函数:
1 | 横轴:参数 w |
导数就告诉我们:
1 | 当 w 改变一点点时,loss 会怎么变? |
最常见例子:
$$
f(x)=x^2,\quad f’(x)=2x
$$
如果:
1 | x = 3 |
说明在 x=3 附近,x 增大时,函数值上升得比较快。
如果:
1 | x = -3 |
说明在 x=-3 附近,x 增大时,函数值反而下降。
三、导数和训练模型有什么关系?
假设损失函数是:
1 | L(w) = w² |
我们的目标是:
1 | 让 L(w) 最小 |
这个函数最低点在:
1 | w = 0 |
如果现在:
1 | w = 3 |
导数是:
1 | L'(w) = 2w = 6 |
导数为正,说明如果继续增大 w,损失会上升。
所以我们应该:
1 | 让 w 变小 |
如果现在:
1 | w = -3 |
导数是:
1 | L'(w) = -6 |
导数为负,说明如果增大 w,损失会下降。
所以我们应该:
1 | 让 w 变大 |
你发现规律了吗?
想让损失下降,就沿着导数的反方向走。
这就是梯度下降的核心思想。
四、梯度 Gradient 是什么?
如果只有一个参数,比如只有 w,我们叫导数。
如果有很多参数,比如:
1 | w1, w2, w3, b |
每个参数都要求导数。
这些导数组合起来,就叫梯度。
$$
\nabla L=(\frac{\partial L}{\partial w_1},\frac{\partial L}{\partial w_2},\cdots,\frac{\partial L}{\partial w_n})
$$
你可以这样理解:
1 | 导数:一个参数怎么改 |
比如一个神经网络里有很多权重:
1 | w1、w2、w3、w4、w5…… |
梯度会告诉模型:
1 | w1 应该调大一点 |
考试记忆:
梯度是由函数对各个参数的偏导数组成的向量,表示函数变化最快的方向。在深度学习中,梯度用于指导模型参数更新。
五、偏导数是什么?
偏导数就是:
多个变量中,只看其中一个变量变化对结果的影响,其他变量暂时当常数。
比如损失函数:
1 | L = w1² + 3w2² |
对 w1 求偏导:
1 | 只把 w1 当变量,w2 当常数 |
对 w2 求偏导:
1 | 只把 w2 当变量,w1 当常数 |
神经网络参数很多,所以训练时大量用偏导数。
六、梯度下降是什么?
梯度下降就是:
每次让参数朝着梯度的反方向移动一点点,让损失逐渐变小。
公式:
$$
w \leftarrow w-\alpha\frac{\partial L}{\partial w}
$$
这里:
| 符号 | 含义 |
|---|---|
w |
参数 |
L |
损失函数 |
∂L/∂w |
损失对参数的梯度 |
α |
学习率 |
小白版:
1 | 新参数 = 旧参数 - 学习率 × 梯度 |
为什么是减号?
因为梯度方向是函数上升最快的方向。
我们要让损失下降,所以往反方向走。
七、学习率 α 是什么?
学习率就是:
每次更新参数时走多大一步。
你可以把训练想象成下山找最低点。
1 | 学习率太小:走得太慢,训练很久 |
考试如果问学习率:
学习率是梯度下降中的超参数,用来控制每次参数更新的步长。学习率过小会导致收敛速度慢,学习率过大可能导致训练不稳定甚至无法收敛。
八、链式法则是什么?
链式法则是这一节最重要的内容。
第二章 PPT 明确说:深度学习中的预测模型多为复合函数,因此求导或求梯度时需要应用链式法则。
什么叫复合函数?
就是一个函数套一个函数。
比如:
1 | y = (3x + 2)² |
它其实分成两步:
1 | 第一步:u = 3x + 2 |
这就是复合函数。
链式法则告诉我们:
$$
\frac{dy}{dx}=\frac{dy}{du}\cdot\frac{du}{dx}
$$
小白版:
总影响 = 后面这一段的影响 × 前面这一段的影响。
九、用例子理解链式法则
假设:
1 | u = 3x + 2 |
要求:
1 | dy/dx |
第一步:
1 | dy/du = 2u |
第二步:
1 | du/dx = 3 |
所以:
1 | dy/dx = dy/du × du/dx |
因为:
1 | u = 3x + 2 |
所以:
1 | dy/dx = 6(3x + 2) |
比如 x=1:
1 | u = 3×1 + 2 = 5 |
十、链式法则和神经网络有什么关系?
神经网络就是一个超大的复合函数。
比如:
1 | 输入 x |
写成形式就是:
1 | L = loss(f3(f2(f1(x)))) |
一层套一层。
所以反向传播要算:
1 | 损失 L 对每一层参数的影响 |
这就必须用链式法则。
你可以把反向传播理解成:
1 | 从最后的损失开始 |
所以考试非常爱问:
链式法则和反向传播有什么关系?
你可以答:
神经网络是由多层函数复合而成的模型,损失函数对前面各层参数的梯度需要通过链式法则计算。反向传播算法本质上就是利用链式法则,将误差或梯度从输出层逐层向前传播,并计算各层参数的梯度,从而更新模型参数。
十一、正向传播和反向传播
第二章 PPT 里把正向传播、反向传播放在链式法则后面讲,意思就是:先正向算结果,再反向算梯度。
1. 正向传播 Forward
正向传播是:
1 | 输入 → 一层层计算 → 输出预测 → 计算损失 |
比如:
1 | 图片 → CNN → 分类结果 → loss |
它回答的是:
1 | 模型预测了什么? |
2. 反向传播 Backward
反向传播是:
1 | 损失 → 从后往前计算梯度 → 更新参数 |
它回答的是:
1 | 每个参数应该怎么改? |
所以:
| 过程 | 方向 | 作用 |
|---|---|---|
| 正向传播 | 从输入到输出 | 得到预测和损失 |
| 反向传播 | 从损失到前面层 | 计算梯度并更新参数 |
最短记法:
1 | 正向传播:算答案 |
十二、计算图是什么?
计算图就是:
把一个复杂计算拆成很多简单步骤,并用图表示它们之间的依赖关系。
第二章 PPT 里说,计算图会把运算分解成最基本的方程,并构造有向无环图来表示运算;TensorFlow/Theano/MXNet 可以显性构造,PyTorch/MXNet 可以隐性构造。
举个例子:
1 | z = (x + y) × 2 |
可以拆成:
1 | a = x + y |
计算图就是:
1 | x ─┐ |
为什么需要计算图?
因为反向传播要知道:
1 | 每一步是谁算出来的? |
十三、自动微分 AD 是什么?
自动微分,英文是 Automatic Differentiation,AD。
小白版:
自动微分就是框架自动帮你求导。
第二章 PPT 里说,自动微分会把符号微分法应用于最基本的算子,然后代入数值,应用到整个函数。
你写 PyTorch 时,不需要手算每个参数的导数。
你只要:
1 | loss.backward() |
PyTorch 就会根据计算图自动计算梯度。
所以:
1 | 计算图:记录计算过程 |
这三个是连在一起的。
十四、符号微分、数值微分、自动微分区别
PPT 提到了自动微分,也提到其他常见微分法包括符号微分法和数值微分法。
你简单了解:
| 方法 | 小白理解 | 缺点/特点 |
|---|---|---|
| 符号微分 | 像数学课一样推公式 | 复杂函数公式会很长 |
| 数值微分 | 用很小变化近似导数 | 可能不精确,计算慢 |
| 自动微分 | 记录计算图,自动精确求梯度 | 深度学习框架常用 |
考试重点是:
PyTorch 主要使用自动微分来计算梯度。
十五、把训练过程完整串起来
现在你已经能理解训练神经网络的完整流程了:
1 | 1. 初始化参数 w、b |
这就是深度学习训练的核心。
十六、考试重点总结
这一节你必须会答:
1 | 1. 导数:函数变化率 |
十七、考试万能答法
题 1:什么是梯度?
梯度是函数对各个参数的偏导数组成的向量,表示函数变化最快的方向。在深度学习中,梯度用于衡量损失函数对模型参数的影响,从而指导参数更新。
题 2:什么是梯度下降?
梯度下降是一种优化算法,它通过计算损失函数对参数的梯度,并沿着梯度的反方向更新参数,使损失函数逐步减小。学习率用于控制每次参数更新的步长。
题 3:链式法则为什么重要?
神经网络通常由多层函数复合而成,损失函数对前面层参数的梯度无法直接计算,需要利用链式法则逐层传递梯度。因此,链式法则是反向传播算法的数学基础。
题 4:什么是自动微分?
自动微分是一种自动计算导数的方法,它将复杂函数分解为基本运算,并根据计算图应用链式法则计算梯度。PyTorch 等深度学习框架通过自动微分实现反向传播。
十八、最短背诵版
你考前背这个:
1 | 导数表示函数变化率,梯度是多个参数偏导数组成的向量。 |
一句话总结:
微积分在深度学习里的作用就是:用梯度告诉模型怎么改参数,用链式法则让多层神经网络也能一步步把错误传回去。
下一步我们继续第二章第三块:概率与统计基础,包括概率、条件概率、贝叶斯、期望、方差、伯努利分布、二项分布和高斯分布。
好,继续第二章第三块:概率与统计基础。
这一块在 PPT 里主要包括:概率、随机变量、概率分布、条件概率、贝叶斯公式、期望、方差、伯努利分布、二项分布、高斯分布等内容。
你先记住一句话:
概率统计在深度学习里,是用来描述“不确定性”的。
比如模型识别一张图片:
1 | 猫:0.80 |
这其实就是概率思想:模型不是绝对说“它一定是猫”,而是说“它有 80% 的把握是猫”。
一、概率是什么?
概率就是:
某个事件发生的可能性大小。
概率的范围是:
1 | 0 到 1 |
比如:
1 | 概率 = 0 → 绝不发生 |
例子:
1 | 抛硬币正面朝上的概率 = 0.5 |
考试答法:
概率表示随机事件发生的可能性大小,其取值范围在 0 到 1 之间。
二、随机变量是什么?
随机变量就是:
结果不确定,但可以用变量表示的量。
比如掷骰子:
1 | X = 掷出的点数 |
那么 X 可能取:
1 | 1, 2, 3, 4, 5, 6 |
所以 X 就是随机变量。
再比如:
1 | X = 明天是否下雨 |
X 可以取:
1 | 下雨 |
或者用数字表示:
1 | 下雨 = 1 |
深度学习里很多东西都可以看成随机变量,比如:
1 | 输入图片 X |
考试答法:
随机变量是用数值表示随机试验结果的变量。例如掷骰子的点数可以看作随机变量,其取值为 1 到 6。
三、概率分布是什么?
概率分布就是:
随机变量每种可能取值对应的概率。
比如掷一个公平骰子:
| X 的取值 | 概率 |
|---|---|
| 1 | 1/6 |
| 2 | 1/6 |
| 3 | 1/6 |
| 4 | 1/6 |
| 5 | 1/6 |
| 6 | 1/6 |
这就是概率分布。
概率分布要满足两个条件:
1 | 1. 每个概率都 ≥ 0 |
考试答法:
概率分布描述随机变量取各个可能值的概率,并且所有可能取值的概率之和为 1。
四、条件概率是什么?
条件概率是第二章很重要的概念。
它表示:
在某个条件已经发生的情况下,另一个事件发生的概率。
比如:
1 | 普通情况下,一个人感冒的概率是 10% |
但是如果条件变成:
1 | 这个人淋雨了 |
那么感冒概率可能变成:
1 | 40% |
这就是条件概率。
记号:
1 | P(Y | X) |
读作:
1 | 在 X 发生的条件下,Y 发生的概率 |
比如:
1 | P(感冒 | 淋雨) |
意思是:
1 | 已经知道这个人淋雨了,他感冒的概率是多少? |
PPT 里也讲到条件概率:对于离散随机向量,已知 X=x 的条件下,Y=y 的概率就是条件概率。
考试答法:
条件概率表示在某个事件已经发生的条件下,另一个事件发生的概率,记为 P(Y|X)。
五、贝叶斯公式
贝叶斯公式是概率统计里非常经典的公式。
$$
P(Y|X)=\frac{P(X|Y)P(Y)}{P(X)}
$$
你不用一开始就怕这个公式。它表达的是:
看到现象 X 之后,反推原因 Y 的可能性。
举个例子:
1 | X = 检测结果为阳性 |
那么:
1 | P(Y | X) |
意思是:
1 | 已知检测阳性,真正患病的概率是多少? |
这就是贝叶斯思想:根据观察到的新证据,更新我们对某件事的判断。
贝叶斯公式每一项是什么意思?
| 项 | 含义 |
|---|---|
| P(Y|X) | 后验概率:看到 X 后,Y 发生的概率 |
| P(X|Y) | 似然:如果 Y 发生,看到 X 的概率 |
| P(Y) | 先验概率:还没看到 X 前,Y 本来发生的概率 |
| P(X) | 证据概率:X 发生的总体概率 |
小白版:
1 | 先验:原来怎么想 |
考试答法:
贝叶斯公式描述了两个条件概率之间的关系,可以根据先验概率和观测证据计算后验概率,常用于根据已知现象推断原因。
六、期望是什么?
期望就是:
随机变量的平均结果,或者长期平均值。
比如一个游戏:
1 | 50% 概率赢 10 元 |
那么平均来看,每玩一次能赚:
1 | 0.5 × 10 + 0.5 × (-4) |
所以期望是 3 元。
离散变量的期望公式:
E(X)=\sum_i x_i p_i
意思是:
1 | 每个取值 × 它的概率 |
比如掷公平骰子:
1 | E(X) = 1×1/6 + 2×1/6 + 3×1/6 + 4×1/6 + 5×1/6 + 6×1/6 |
注意,期望可以不是实际会出现的结果。
骰子不会掷出 3.5,但长期平均值是 3.5。
考试答法:
期望表示随机变量在概率意义下的平均取值。对于离散随机变量,期望等于各个取值与其概率乘积的总和。
七、方差是什么?
方差用来衡量:
数据分散程度有多大。
如果数据都很接近,方差小。
如果数据差异很大,方差大。
比如两个班考试:
1 | A 班成绩:79, 80, 81 |
两个班平均分可能都差不多,但 B 班成绩波动明显更大。
所以:
1 | A 班方差小 |
方差公式:
$$
Var(X)=E[(X-E(X))^2]
$$
小白解释:
1 | 1. 先算平均值 |
为什么要平方?
因为有的差值是正,有的是负,如果直接加会抵消。
考试答法:
方差用于衡量随机变量取值围绕其期望的离散程度。方差越大,说明数据波动越大;方差越小,说明数据越集中。
八、伯努利分布
伯努利分布是最简单的分布之一。
它描述的是:
一次试验只有两个结果。
比如:
1 | 抛硬币:正面 / 反面 |
通常用:
1 | 1 = 事件发生 |
如果事件发生概率是 μ,那么:
1 | P(X=1) = μ |
PPT 里也讲到,伯努利分布是在一次试验中,事件 A 出现的概率为 μ,不出现的概率为 1-μ,变量 X 取值为 0 和 1。
考试答法:
伯努利分布描述一次只有两个可能结果的随机试验,随机变量通常取 0 或 1,其中事件发生的概率为 μ,不发生的概率为 1-μ。
九、二项分布
二项分布可以理解成:
重复做 n 次伯努利试验,统计事件发生了几次。
比如:
1 | 抛硬币 10 次,正面出现几次? |
如果一次成功的概率是 p,重复 n 次,成功 k 次的概率就是二项分布。
$$
P(X=k)=\binom{n}{k}p^k(1-p)^{n-k}
$$
你不用死扣公式推导,理解最重要:
1 | 伯努利分布:做 1 次,看成不成功 |
PPT 里也讲到,在 n 次伯努利分布中,变量 X 表示事件 A 出现的次数,取值为 0 到 n。
考试答法:
二项分布描述 n 次独立伯努利试验中,事件成功发生 k 次的概率。它可以看作多次伯努利试验的结果分布。
十、高斯分布
高斯分布也叫:
1 | 正态分布 |
它是最常见的连续概率分布。
形状像钟:
1 | ^ |
中间最高,两边越来越低。
很多自然现象近似服从高斯分布,比如:
1 | 人的身高 |
高斯分布有两个重要参数:
1 | 均值 μ |
均值 μ
决定中心在哪里。
比如平均身高 170cm,那么图像中心大概在 170。
方差 σ²
决定分布宽不宽。
1 | 方差小:数据集中,曲线窄而高 |
考试答法:
高斯分布又称正态分布,是常见的连续概率分布,其图像呈钟形。它由均值和方差决定,均值表示分布中心,方差表示数据离散程度。
十一、概率统计和深度学习有什么关系?
你可能会问:这些概率分布和神经网络有什么关系?
关系很大。
1. 分类结果通常是概率
比如模型输出:
1 | 猫:0.8 |
这就是概率分布。
2. Softmax 输出概率
第三章会讲 Softmax 回归。
Softmax 可以把模型输出变成概率分布。
比如原始分数:
1 | [3, 1, 0] |
变成:
1 | [0.84, 0.11, 0.05] |
所有概率加起来等于 1。
3. 损失函数和概率有关
分类问题常用交叉熵损失。
交叉熵本质上就是比较两个概率分布差多少。
4. 数据本身有不确定性
比如同样一张模糊图片,有人觉得是猫,有人觉得是狗。
深度学习不能完全避免不确定性,所以要用概率描述。
十二、这一节考试重点
你要掌握这些:
1 | 1. 概率:事件发生可能性,范围 0 到 1 |
十三、考试万能答法
题 1:什么是条件概率?
条件概率表示在某个事件已经发生的条件下,另一个事件发生的概率,记为 P(Y|X)。例如,在已知某人淋雨的条件下,他感冒的概率就是条件概率。
题 2:什么是贝叶斯公式?
贝叶斯公式描述了两个条件概率之间的关系,可以根据先验概率和观测证据计算后验概率。它常用于根据已知现象推断原因。
题 3:期望和方差分别表示什么?
期望表示随机变量在概率意义下的平均取值;方差表示随机变量取值围绕期望的离散程度。方差越大,说明数据波动越大,方差越小,说明数据越集中。
题 4:伯努利分布和二项分布有什么区别?
伯努利分布描述一次只有两个结果的随机试验,随机变量取 0 或 1;二项分布描述 n 次独立伯努利试验中事件成功发生的次数。因此,二项分布可以看作多次伯努利试验的结果分布。
题 5:什么是高斯分布?
高斯分布又称正态分布,是一种常见的连续概率分布,其曲线呈钟形,由均值和方差决定。均值决定分布中心,方差决定数据分散程度。
十四、最短背诵版
你考前可以背这个:
1 | 概率表示事件发生的可能性,随机变量表示随机试验的结果,概率分布描述随机变量各取值的概率。 |
一句话总结:
概率统计帮助深度学习描述不确定性:概率表示可能性,分布描述整体规律,期望表示平均水平,方差表示波动大小。
下一步我们进入第二章最后一大部分:机器学习概述,也就是模型、损失函数、经验风险、梯度下降、过拟合和正则化。




