目录
- 引言
- 一、先看整体结构:这是一个“期望损失”
- 二、重点拆解:括号里的π θ ( y t ∣ y < t , x ; θ ) \pi_\theta(y_t \mid y_{<t}, x; \theta)πθ(yt∣y<t,x;θ)
- 1. 竖线 `|`:条件概率的核心标志
- 2. 逗号 `,`:多个条件“同时成立”
- 3. 分号 `;`:模型参数的“说明书”
- 三、整合理解:把碎片拼成完整画面
- 四、通用公式阅读法(万能模板)
- ✅ 通用模板:
- 五、举一反三:试试这个公式
- 六、结语
引言
如何看懂机器学习论文里的复杂公式?从|、,、;开始;很多同学在读深度学习或推荐系统论文时,常常被公式吓退。尤其是看到像下面这样的表达式:
L PG = − E y ∼ π θ [ ∑ t = 1 T log π θ ( y t ∣ y < t , x ; θ ) ⋅ A t ] \mathcal{L}_{\text{PG}} = -\mathbb{E}_{y \sim \pi_\theta} \left[ \sum_{t=1}^{T} \log \pi_\theta(y_t \mid y_{<t}, x; \theta) \cdot A_t \right]LPG=−Ey∼πθ[t=1∑Tlogπθ(yt∣y<t,x;θ)⋅At]
心里一慌:“这啥啊?竖线、逗号、分号、期望下标……到底哪个是条件?哪个是参数?”
其实,这些符号并不是故弄玄虚,而是一套高度规范化的“数学语言”。只要掌握几个核心规则,你就能像读代码一样读懂公式!
今天我们就以这个典型公式为例,手把手教你拆解每一个符号的含义,最后总结出一套通用的“公式阅读法”,让你以后看到任何类似表达都能从容应对。
一、先看整体结构:这是一个“期望损失”
公式最外层是:
L = − E y ∼ π θ [ ⋯ ] \mathcal{L} = -\mathbb{E}_{y \sim \pi_\theta}[\cdots]L=−Ey∼πθ[⋯]
这是强化学习中常见的策略梯度(Policy Gradient)损失函数。
- E \mathbb{E}E表示“期望”(Expectation)
- 下标y ∼ π θ y \sim \pi_\thetay∼πθ表示:从策略模型π θ \pi_\thetaπθ中采样完整的输出序列y yy
- 负号是因为我们要最小化损失,但目标是最大化奖励
✅规律1:
E a ∼ p ( a ) [ f ( a ) ] \mathbb{E}_{a \sim p(a)}[f(a)]Ea∼p(a)[f(a)]的意思是:对随机变量a aa按分布p ( a ) p(a)p(a)采样,计算f ( a ) f(a)f(a)的平均值。
二、重点拆解:括号里的π θ ( y t ∣ y < t , x ; θ ) \pi_\theta(y_t \mid y_{<t}, x; \theta)πθ(yt∣y<t,x;θ)
这是整个公式最“符号密集”的部分。我们一层一层剥开。
1. 竖线|:条件概率的核心标志
写法:p ( A ∣ B ) p(A \mid B)p(A∣B)
含义:在 B 已知的前提下,A 发生的概率
在这里:
- y t y_tyt:第 t 步要预测的动作(比如第3个推荐商品)
- y < t y_{<t}y<t:前 t-1 步已经生成的内容(如 [手机, 耳机])
所以y t ∣ y < t y_t \mid y_{<t}yt∣y<t表示:已知前面选了什么,现在预测下一个—— 这就是自回归(Autoregressive)的本质。
2. 逗号,:多个条件“同时成立”
y < t , x y_{<t}, xy<t,x表示两个条件一起作为前提:
- y < t y_{<t}y<t:历史生成序列
- x xx:外部输入(用户画像、上下文等)
✅规律2:
竖线
|右边的所有内容都是“已知条件”;逗号表示多个条件并列(逻辑 AND)。
3. 分号;:模型参数的“说明书”
π θ ( ⋯ ; θ ) \pi_\theta(\cdots; \theta)πθ(⋯;θ)中的; \theta表示:
“这个概率是由参数为θ \thetaθ的模型计算出来的”
⚠️ 注意:θ \thetaθ不是随机变量,也不是条件!它只是模型的“设置”,就像手机的系统版本。
❌ 错误理解:把θ \thetaθ当成条件 →p ( y t ∣ y < t , x , θ ) p(y_t \mid y_{<t}, x, \theta)p(yt∣y<t,x,θ)
✅ 正确理解:θ \thetaθ是模型本身的一部分
✅规律3:
分号
;后面的内容是“模型参数”或“超参数”,回答的问题是:“用哪个模型算的?”
三、整合理解:把碎片拼成完整画面
现在重新读这一项:
log π θ ( y t ∣ y < t , x ; θ ) \log \pi_\theta(y_t \mid y_{<t}, x; \theta)logπθ(yt∣y<t,x;θ)
完整含义是:
“使用参数为θ \thetaθ的策略模型,在已知历史序列y < t y_{<t}y<t和输入上下文x xx的条件下,输出第t tt个动作y t y_tyt的概率的对数。”
放进整个期望中:
“从当前策略π θ \pi_\thetaπθ中采样多条完整序列y yy,对每条序列的每个位置t tt:
- 计算模型在该步输出实际动作y t y_tyt的 log 概率,
- 乘上该动作的‘优势值’A t A_tAt(奖励信号),
- 最后求和并取平均。”
加上负号后,最小化这个损失,就等价于让模型更倾向于做出高奖励的动作。
四、通用公式阅读法(万能模板)
当你看到一个复杂公式时,按以下顺序解读:
| 符号 | 名称 | 作用 | 提问方式 |
|---|---|---|---|
| E a ∼ p \mathbb{E}_{a \sim p}Ea∼p | 期望下标 | 说明对什么采样、从哪采样 | “谁被采样?服从什么分布?” |
| | 竖线 | 表示条件概率 | “在什么条件下?” |
, | 逗号 | 多个条件并列 | “还有哪些已知信息?” |
; | 分号 | 模型参数 / 超参数 | “用哪个模型算的?” |
| log p ( ⋯ ) \log p(\cdots)logp(⋯) | 对数似然 | 衡量模型对真实结果的置信度 | “模型觉得这个结果有多可能?” |
✅ 通用模板:
E 样本 ∼ 模型 [ log 模型 ⏟ ; θ ( 目标 ⏟ 左 | 条件1, 条件2 ⏟ 右, 逗号分隔 ) ] \mathbb{E}_{\text{样本} \sim \text{模型}} \left[ \log \underbrace{\text{模型}}_{\text{;} \theta} \left( \underbrace{\text{目标}}_{\text{左}} \,\middle|\, \underbrace{\text{条件1, 条件2}}_{\text{右, 逗号分隔}} \right) \right]E样本∼模型log;θ模型左目标右,逗号分隔条件1,条件2
五、举一反三:试试这个公式
E ( x , y ) ∼ D [ − log p ϕ ( y ∣ x ; ϕ ) ] \mathbb{E}_{(x,y) \sim \mathcal{D}} \left[ -\log p_\phi(y \mid x; \phi) \right]E(x,y)∼D[−logpϕ(y∣x;ϕ)]
你能解读吗?
✅ 答案:
这是标准监督学习的交叉熵损失!
- 从数据集D \mathcal{D}D采样( x , y ) (x, y)(x,y)
- 用参数为ϕ \phiϕ的模型预测y yy给定x xx的概率
- 取负对数求平均
六、结语
看公式,不是背符号,而是理解“谁依赖谁、谁生成谁、谁是参数”。
只要掌握:
|→ 给定(条件),→ 和(多个条件);→ 用这个模型(参数)- E a ∼ p \mathbb{E}_{a \sim p}Ea∼p→ 对 a 从 p 中采样求平均
你就拥有了阅读90%机器学习论文公式的能力!
下次再看到复杂公式,别慌——它只是在用数学语言讲故事,而你,已经学会了这门语言。