MiniMind 学习笔记(二十二):数学 Cookbook——把概率空间、期望、似然一次讲明白

MiniMind 学习笔记(二十二):数学 Cookbook------把概率空间、期望、似然一次讲明白

学 LLM 到后面,一定会撞上一批"看起来认识、其实没想清楚"的符号: x ∼ p ( x ) x\sim p(x) x∼p(x)、 E x ∼ p ( x ) f ( x ) \mathbb{E}_{x\sim p(x)}f(x) Ex∼p(x)f(x)、 p ( x ∣ θ ) p(x\mid\theta) p(x∣θ)、 L ( θ ; x ) L(\theta;x) L(θ;x)。

这些符号在论文和代码里到处都是,但很多人是靠语感在用 ------大概知道是"求个平均""算个概率",但一旦遇到条件期望、KL 散度、最大似然估计,就会开始发懵:这个 x x x 到底是随机变量还是样本? p ( x ) p(x) p(x) 是分布还是密度?似然和条件概率是不是同一个东西?

这一篇就是来解决这批问题的。它是数学附录的导言 ,把整份数学 Cookbook 的定位和三个核心主题串起来。目标不是把你变成测度论专家,而是让上面那些符号从"靠语感"变成"真的清楚"。

文章目录

为什么需要一份"数学 Cookbook"

先说说这份附录的定位。

数学是一门很讲究定义和严谨的学科,但细节又太多太杂。如果一上来就从头啃测度论,成本太高;可如果完全不管,写公式时就容易含糊。

所以作者选了一个折中方案:做成 Cookbook ------把相关的概念整理成闭包(一个自洽、可反复查阅的小体系),需要时随时翻。

它的核心主张是一句话:

只做工程实现时,很多东西确实不用展开。但一旦进入期望、条件概率、似然、KL 散度、最大似然估计这些内容,严格区分这些对象会让公式更清楚。

这份 Cookbook 目前包含三个主题:
#mermaid-svg-wLu5sQxNuohtpVVY{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-wLu5sQxNuohtpVVY .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-wLu5sQxNuohtpVVY .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-wLu5sQxNuohtpVVY .error-icon{fill:#552222;}#mermaid-svg-wLu5sQxNuohtpVVY .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-wLu5sQxNuohtpVVY .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-wLu5sQxNuohtpVVY .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-wLu5sQxNuohtpVVY .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-wLu5sQxNuohtpVVY .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-wLu5sQxNuohtpVVY .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-wLu5sQxNuohtpVVY .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-wLu5sQxNuohtpVVY .marker{fill:#333333;stroke:#333333;}#mermaid-svg-wLu5sQxNuohtpVVY .marker.cross{stroke:#333333;}#mermaid-svg-wLu5sQxNuohtpVVY svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-wLu5sQxNuohtpVVY p{margin:0;}#mermaid-svg-wLu5sQxNuohtpVVY .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg-wLu5sQxNuohtpVVY .cluster-label text{fill:#333;}#mermaid-svg-wLu5sQxNuohtpVVY .cluster-label span{color:#333;}#mermaid-svg-wLu5sQxNuohtpVVY .cluster-label span p{background-color:transparent;}#mermaid-svg-wLu5sQxNuohtpVVY .label text,#mermaid-svg-wLu5sQxNuohtpVVY span{fill:#333;color:#333;}#mermaid-svg-wLu5sQxNuohtpVVY .node rect,#mermaid-svg-wLu5sQxNuohtpVVY .node circle,#mermaid-svg-wLu5sQxNuohtpVVY .node ellipse,#mermaid-svg-wLu5sQxNuohtpVVY .node polygon,#mermaid-svg-wLu5sQxNuohtpVVY .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-wLu5sQxNuohtpVVY .rough-node .label text,#mermaid-svg-wLu5sQxNuohtpVVY .node .label text,#mermaid-svg-wLu5sQxNuohtpVVY .image-shape .label,#mermaid-svg-wLu5sQxNuohtpVVY .icon-shape .label{text-anchor:middle;}#mermaid-svg-wLu5sQxNuohtpVVY .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-wLu5sQxNuohtpVVY .rough-node .label,#mermaid-svg-wLu5sQxNuohtpVVY .node .label,#mermaid-svg-wLu5sQxNuohtpVVY .image-shape .label,#mermaid-svg-wLu5sQxNuohtpVVY .icon-shape .label{text-align:center;}#mermaid-svg-wLu5sQxNuohtpVVY .node.clickable{cursor:pointer;}#mermaid-svg-wLu5sQxNuohtpVVY .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-wLu5sQxNuohtpVVY .arrowheadPath{fill:#333333;}#mermaid-svg-wLu5sQxNuohtpVVY .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-wLu5sQxNuohtpVVY .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-wLu5sQxNuohtpVVY .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-wLu5sQxNuohtpVVY .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-wLu5sQxNuohtpVVY .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-wLu5sQxNuohtpVVY .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-wLu5sQxNuohtpVVY .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-wLu5sQxNuohtpVVY .cluster text{fill:#333;}#mermaid-svg-wLu5sQxNuohtpVVY .cluster span{color:#333;}#mermaid-svg-wLu5sQxNuohtpVVY div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-wLu5sQxNuohtpVVY .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-wLu5sQxNuohtpVVY rect.text{fill:none;stroke-width:0;}#mermaid-svg-wLu5sQxNuohtpVVY .icon-shape,#mermaid-svg-wLu5sQxNuohtpVVY .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-wLu5sQxNuohtpVVY .icon-shape p,#mermaid-svg-wLu5sQxNuohtpVVY .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-wLu5sQxNuohtpVVY .icon-shape .label rect,#mermaid-svg-wLu5sQxNuohtpVVY .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-wLu5sQxNuohtpVVY .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-wLu5sQxNuohtpVVY .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-wLu5sQxNuohtpVVY :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} 数学 Cookbook

学 LLM 的符号地基
① 概率空间、随机变量和分布

从集合到测度
② 样本还是随机变量?

期望和分布的严格 Notation
③ Likelihood 是什么?

它和条件概率有什么区别
解决: 概率、事件、随机变量

分布、密度到底是什么关系
解决: 大写 X 和小写 x

到底该写哪个
解决: p(x|θ) 该读成

条件概率还是似然

下面按这三块来讲,每块都尽量用类比 + 一句话总结的方式。


主题一:概率空间------概率这套符号的地基

一、先看问题:一行符号压缩了多少东西?

机器学习里我们经常直接写:

x ∼ p ( x ) , E x ∼ p ( x ) f ( x ) x\sim p(x),\qquad \mathbb{E}_{x\sim p(x)}f(x) x∼p(x),Ex∼p(x)f(x)

很方便,但它把一堆底层概念压缩到了一行里:

  • 什么是样本空间?
  • 什么是事件?
  • 什么是概率?
  • 随机变量到底是不是一个"变量"?
  • 分布和密度函数又是什么关系?

二、概率空间:一个三元组

一个概率空间通常写成:

( Ω , F , P ) (\Omega,\ \mathcal{F},\ \mathbb{P}) (Ω, F, P)

符号 名称 通俗理解
Ω \Omega Ω 样本空间 所有可能实验结果的集合
F \mathcal{F} F 事件集合( σ \sigma σ-代数) 哪些集合有资格被讨论概率
P \mathbb{P} P 概率测度 给每个可测事件分配一个 0 , 1 0,1 0,1 之间的数

关键理解 :概率空间不是直接给"点"分配概率,而是先规定哪些"事件集合"可以讨论概率,再用 P \mathbb{P} P 给这些事件赋值。

掷骰子的例子:

Ω = { 1 , 2 , 3 , 4 , 5 , 6 } \Omega=\{1,2,3,4,5,6\} Ω={1,2,3,4,5,6}

事件"掷出偶数"不是单个结果,而是一个集合:

A = { 2 , 4 , 6 } , P ( A ) = 3 6 = 1 2 A=\{2,4,6\},\qquad \mathbb{P}(A)=\frac{3}{6}=\frac{1}{2} A={2,4,6},P(A)=63=21

注意 :真正被赋予概率的是事件集合 A A A,而不是"偶数"这个自然语言描述。

三、 σ \sigma σ-代数:规定"哪些问题可以被问"

F \mathcal{F} F 的作用是规定:哪些集合可以被当作事件、可以被 P \mathbb{P} P 处理。要成为 σ \sigma σ-代数,至少要满足:

条件 含义
包含全集: Ω ∈ F \Omega\in\mathcal{F} Ω∈F "总会发生点什么"也是合法事件
对补集封闭: A ∈ F ⇒ A c ∈ F A\in\mathcal{F}\Rightarrow A^c\in\mathcal{F} A∈F⇒Ac∈F "不是 A A A"也是事件
对可列并封闭 " A 1 A_1 A1 或 A 2 A_2 A2 或......"也是事件

这保证了我们平时对事件做的操作仍然是合法事件 :已知 A A A、 B B B 是事件,那么"不是 A A A"、" A A A 或 B B B"、" A A A 且 B B B"也都应该是事件。

  • 有限样本空间 :通常直接取幂集 F = 2 Ω \mathcal{F}=2^\Omega F=2Ω,即所有子集都能讨论概率;
  • 连续空间 (如 Ω = R \Omega=\mathbb{R} Ω=R):并不是所有子集都适合被赋予概率。测度论引入 σ \sigma σ-代数,就是为了避开那些过于病态、无法稳定定义测度的集合。

机器学习里不用深究这些病态集合,但知道 F \mathcal{F} F 的角色很重要 :概率不是定义在任意东西上的,而是定义在可测事件上的。

四、测度:给集合"赋大小"的函数

测度可以理解成一种"给集合赋大小"的函数,概率测度是测度的一种特殊情况:

P : F → 0 , 1 \mathbb{P}:\mathcal{F}\to0,1 P:F→0,1

概率测度至少满足三个性质:

性质 内容
非负性 P ( A ) ≥ 0 \mathbb{P}(A)\geq0 P(A)≥0
规范化 P ( Ω ) = 1 \mathbb{P}(\Omega)=1 P(Ω)=1, P ( ∅ ) = 0 \mathbb{P}(\varnothing)=0 P(∅)=0
可列可加性 A i A_i Ai 两两不相交时, P ( ⋃ i A i ) = ∑ i P ( A i ) \mathbb{P}\left(\bigcup_i A_i\right)=\sum_i\mathbb{P}(A_i) P(⋃iAi)=∑iP(Ai)

可列可加性的直观含义:如果一组事件互不重叠,那么"它们中至少发生一个"的概率,等于每个事件概率的和。

更本质的一句话 :概率论是测度论在"总大小为 1"时的一种特殊表现形式。

五、随机变量:它其实是个函数

这是最容易误解的一点:

随机变量 X X X 并不是普通意义上的"变量"。更严格地说,它是一个从样本空间到取值空间的函数。

X : Ω → X X:\Omega\to\mathcal{X} X:Ω→X

符号 含义
Ω \Omega Ω 底层样本空间,包含所有实验结果 ω \omega ω
X \mathcal{X} X 随机变量的取值空间
X ( ω ) X(\omega) X(ω) 当实验结果为 ω \omega ω 时, X X X 取到的值

#mermaid-svg-m3CG8cgntxnKpJtM{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-m3CG8cgntxnKpJtM .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-m3CG8cgntxnKpJtM .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-m3CG8cgntxnKpJtM .error-icon{fill:#552222;}#mermaid-svg-m3CG8cgntxnKpJtM .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-m3CG8cgntxnKpJtM .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-m3CG8cgntxnKpJtM .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-m3CG8cgntxnKpJtM .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-m3CG8cgntxnKpJtM .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-m3CG8cgntxnKpJtM .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-m3CG8cgntxnKpJtM .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-m3CG8cgntxnKpJtM .marker{fill:#333333;stroke:#333333;}#mermaid-svg-m3CG8cgntxnKpJtM .marker.cross{stroke:#333333;}#mermaid-svg-m3CG8cgntxnKpJtM svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-m3CG8cgntxnKpJtM p{margin:0;}#mermaid-svg-m3CG8cgntxnKpJtM .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg-m3CG8cgntxnKpJtM .cluster-label text{fill:#333;}#mermaid-svg-m3CG8cgntxnKpJtM .cluster-label span{color:#333;}#mermaid-svg-m3CG8cgntxnKpJtM .cluster-label span p{background-color:transparent;}#mermaid-svg-m3CG8cgntxnKpJtM .label text,#mermaid-svg-m3CG8cgntxnKpJtM span{fill:#333;color:#333;}#mermaid-svg-m3CG8cgntxnKpJtM .node rect,#mermaid-svg-m3CG8cgntxnKpJtM .node circle,#mermaid-svg-m3CG8cgntxnKpJtM .node ellipse,#mermaid-svg-m3CG8cgntxnKpJtM .node polygon,#mermaid-svg-m3CG8cgntxnKpJtM .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-m3CG8cgntxnKpJtM .rough-node .label text,#mermaid-svg-m3CG8cgntxnKpJtM .node .label text,#mermaid-svg-m3CG8cgntxnKpJtM .image-shape .label,#mermaid-svg-m3CG8cgntxnKpJtM .icon-shape .label{text-anchor:middle;}#mermaid-svg-m3CG8cgntxnKpJtM .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-m3CG8cgntxnKpJtM .rough-node .label,#mermaid-svg-m3CG8cgntxnKpJtM .node .label,#mermaid-svg-m3CG8cgntxnKpJtM .image-shape .label,#mermaid-svg-m3CG8cgntxnKpJtM .icon-shape .label{text-align:center;}#mermaid-svg-m3CG8cgntxnKpJtM .node.clickable{cursor:pointer;}#mermaid-svg-m3CG8cgntxnKpJtM .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-m3CG8cgntxnKpJtM .arrowheadPath{fill:#333333;}#mermaid-svg-m3CG8cgntxnKpJtM .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-m3CG8cgntxnKpJtM .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-m3CG8cgntxnKpJtM .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-m3CG8cgntxnKpJtM .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-m3CG8cgntxnKpJtM .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-m3CG8cgntxnKpJtM .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-m3CG8cgntxnKpJtM .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-m3CG8cgntxnKpJtM .cluster text{fill:#333;}#mermaid-svg-m3CG8cgntxnKpJtM .cluster span{color:#333;}#mermaid-svg-m3CG8cgntxnKpJtM div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-m3CG8cgntxnKpJtM .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-m3CG8cgntxnKpJtM rect.text{fill:none;stroke-width:0;}#mermaid-svg-m3CG8cgntxnKpJtM .icon-shape,#mermaid-svg-m3CG8cgntxnKpJtM .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-m3CG8cgntxnKpJtM .icon-shape p,#mermaid-svg-m3CG8cgntxnKpJtM .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-m3CG8cgntxnKpJtM .icon-shape .label rect,#mermaid-svg-m3CG8cgntxnKpJtM .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-m3CG8cgntxnKpJtM .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-m3CG8cgntxnKpJtM .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-m3CG8cgntxnKpJtM :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} 随机变量 X 是个函数
底层实验结果 ω

(样本空间 Ω)
我们关心的值

(取值空间 X)

掷骰子的例子 :如果底层结果就是点数,可以定义 X ( ω ) = ω X(\omega)=\omega X(ω)=ω;如果只关心"是不是偶数",就定义另一个随机变量:

Y ( ω ) = { 1 , ω ∈ { 2 , 4 , 6 } 0 , ω ∈ { 1 , 3 , 5 } Y(\omega)=\begin{cases}1,&\omega\in\{2,4,6\}\\0,&\omega\in\{1,3,5\}\end{cases} Y(ω)={1,0,ω∈{2,4,6}ω∈{1,3,5}

X X X 和 Y Y Y 是两个不同的随机变量 ------面对同一个底层结果,但提取的信息不同。

在机器学习里 ,底层样本空间 Ω \Omega Ω 往往不会显式写出来。我们说"一条训练样本 X X X 来自数据分布",真正关心的是 X X X 的取值空间 (文本序列、图片张量、token id 序列),而不是底层的 ω \omega ω。但从严格数学上说,随机变量仍然是从 Ω \Omega Ω 到取值空间的映射。

六、分布:随机变量把概率"推"过去的结果

有了 X X X 之后,我们关心的是: X X X 落到某个取值集合 A A A 里的概率是多少?

但 A A A 是取值空间 里的集合,而原始概率测度 P \mathbb{P} P 定义在样本空间 上,不能直接作用在 A A A 上。所以要先把它"拉回来":

X − 1 ( A ) = { ω ∈ Ω : X ( ω ) ∈ A } X^{-1}(A)=\{\omega\in\Omega:X(\omega)\in A\} X−1(A)={ω∈Ω:X(ω)∈A}

再定义一个新测度:

μ X ( A ) = P ( X − 1 ( A ) ) \mu_X(A)=\mathbb{P}\bigl(X^{-1}(A)\bigr) μX(A)=P(X−1(A))

这就是 X X X 在取值空间上诱导出来的分布,也叫"推前测度"。

一句话 :分布不是凭空出现的函数,而是随机变量把底层概率测度 P \mathbb{P} P "推"到取值空间之后得到的测度。
#mermaid-svg-xGk1O3g045twAYuq{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-xGk1O3g045twAYuq .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-xGk1O3g045twAYuq .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-xGk1O3g045twAYuq .error-icon{fill:#552222;}#mermaid-svg-xGk1O3g045twAYuq .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-xGk1O3g045twAYuq .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-xGk1O3g045twAYuq .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-xGk1O3g045twAYuq .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-xGk1O3g045twAYuq .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-xGk1O3g045twAYuq .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-xGk1O3g045twAYuq .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-xGk1O3g045twAYuq .marker{fill:#333333;stroke:#333333;}#mermaid-svg-xGk1O3g045twAYuq .marker.cross{stroke:#333333;}#mermaid-svg-xGk1O3g045twAYuq svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-xGk1O3g045twAYuq p{margin:0;}#mermaid-svg-xGk1O3g045twAYuq .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg-xGk1O3g045twAYuq .cluster-label text{fill:#333;}#mermaid-svg-xGk1O3g045twAYuq .cluster-label span{color:#333;}#mermaid-svg-xGk1O3g045twAYuq .cluster-label span p{background-color:transparent;}#mermaid-svg-xGk1O3g045twAYuq .label text,#mermaid-svg-xGk1O3g045twAYuq span{fill:#333;color:#333;}#mermaid-svg-xGk1O3g045twAYuq .node rect,#mermaid-svg-xGk1O3g045twAYuq .node circle,#mermaid-svg-xGk1O3g045twAYuq .node ellipse,#mermaid-svg-xGk1O3g045twAYuq .node polygon,#mermaid-svg-xGk1O3g045twAYuq .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-xGk1O3g045twAYuq .rough-node .label text,#mermaid-svg-xGk1O3g045twAYuq .node .label text,#mermaid-svg-xGk1O3g045twAYuq .image-shape .label,#mermaid-svg-xGk1O3g045twAYuq .icon-shape .label{text-anchor:middle;}#mermaid-svg-xGk1O3g045twAYuq .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-xGk1O3g045twAYuq .rough-node .label,#mermaid-svg-xGk1O3g045twAYuq .node .label,#mermaid-svg-xGk1O3g045twAYuq .image-shape .label,#mermaid-svg-xGk1O3g045twAYuq .icon-shape .label{text-align:center;}#mermaid-svg-xGk1O3g045twAYuq .node.clickable{cursor:pointer;}#mermaid-svg-xGk1O3g045twAYuq .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-xGk1O3g045twAYuq .arrowheadPath{fill:#333333;}#mermaid-svg-xGk1O3g045twAYuq .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-xGk1O3g045twAYuq .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-xGk1O3g045twAYuq .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-xGk1O3g045twAYuq .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-xGk1O3g045twAYuq .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-xGk1O3g045twAYuq .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-xGk1O3g045twAYuq .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-xGk1O3g045twAYuq .cluster text{fill:#333;}#mermaid-svg-xGk1O3g045twAYuq .cluster span{color:#333;}#mermaid-svg-xGk1O3g045twAYuq div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-xGk1O3g045twAYuq .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-xGk1O3g045twAYuq rect.text{fill:none;stroke-width:0;}#mermaid-svg-xGk1O3g045twAYuq .icon-shape,#mermaid-svg-xGk1O3g045twAYuq .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-xGk1O3g045twAYuq .icon-shape p,#mermaid-svg-xGk1O3g045twAYuq .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-xGk1O3g045twAYuq .icon-shape .label rect,#mermaid-svg-xGk1O3g045twAYuq .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-xGk1O3g045twAYuq .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-xGk1O3g045twAYuq .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-xGk1O3g045twAYuq :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} 随机变量 X 推前 pushforward
Ω 上的概率测度 P
X 上的分布测度 μ_X

七、最容易混淆的一处: P \mathbb{P} P、 μ X \mu_X μX、 p ( x ) p(x) p(x) 的区别

作者提到一个很典型的困惑:概率空间里到底有几个概率测度?

答案:概率空间本身只定义了一个概率测度 P \mathbb{P} P。 μ X \mu_X μX 不是额外给出的第二个原始测度,而是由 X X X 和 P \mathbb{P} P 一起诱导出来的分布测度。

符号 定义在哪个空间 是什么
P \mathbb{P} P 原始样本空间 Ω \Omega Ω 的事件集合 F \mathcal{F} F 概率测度
μ X \mu_X μX 取值空间 X \mathcal{X} X 由 X X X 诱导的分布测度
p ( x ) p(x) p(x) --- 当 μ X \mu_X μX 可用密度/质量函数表示时,该函数在点 x x x 处的值

为什么需要"推"? 因为我们关心的往往不再是底层事件 A ⊆ Ω A\subseteq\Omega A⊆Ω,而是" X X X 是否落在某个 B ⊆ X B\subseteq\mathcal{X} B⊆X 里"。但 P \mathbb{P} P 不能直接作用在 B B B 上 (它是取值空间里的集合),所以必须先通过 X − 1 ( B ) X^{-1}(B) X−1(B) 拉回样本空间。

另一种抽象描述 :随机变量是一个可测函数,它把概率测度推前成分布测度。

如果 μ X \mu_X μX 在连续空间上有密度 p ( x ) p(x) p(x):

d μ X ( x ) = p ( x )   d x d\mu_X(x)=p(x)\,dx dμX(x)=p(x)dx

所以严格地说 :分布首先是一个测度 μ X \mu_X μX,密度函数 p ( x ) p(x) p(x) 只是表示这个测度的一种方式。 我们平时说"分布 p ( x ) p(x) p(x)"是一种常见简写。

八、测度论视角下的期望:三种写法其实是一回事

从原始概率空间看:

E f ( X ) = ∫ Ω f ( X ( ω ) )   d P ( ω ) \mathbb{E}f(X)=\int_{\Omega}f(X(\omega))\,d\mathbb{P}(\omega) Ef(X)=∫Ωf(X(ω))dP(ω)

由于 X X X 已经把 P \mathbb{P} P 推到取值空间,也可以写成对 μ X \mu_X μX 的积分:

E f ( X ) = ∫ X f ( x )   d μ X ( x ) \mathbb{E}f(X)=\int_{\mathcal{X}}f(x)\,d\mu_X(x) Ef(X)=∫Xf(x)dμX(x)

如果有密度 p ( x ) p(x) p(x):

E f ( X ) = ∫ X f ( x ) p ( x )   d x \mathbb{E}f(X)=\int_{\mathcal{X}}f(x)p(x)\,dx Ef(X)=∫Xf(x)p(x)dx

这里的 x x x 是积分变量(dummy variable),不是随机变量本身,而是取值空间中的占位符。

这也解释了论文里为什么常写 E x ∼ p ( x ) f ( x ) \mathbb{E}_{x\sim p(x)}f(x) Ex∼p(x)f(x):严格来看,角标里的 x ∼ p ( x ) x\sim p(x) x∼p(x) 不是在说"积分变量 x x x 真的服从分布" ,它更像是 ML 语境下的简写------提醒我们用 x x x 作积分变量,并按 p ( x ) p(x) p(x) 加权积分,或者从采样平均的角度理解。

九、主题一记忆法:按层次记住

#mermaid-svg-0VpZfVpVuhra9Hdb{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-0VpZfVpVuhra9Hdb .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-0VpZfVpVuhra9Hdb .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-0VpZfVpVuhra9Hdb .error-icon{fill:#552222;}#mermaid-svg-0VpZfVpVuhra9Hdb .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-0VpZfVpVuhra9Hdb .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-0VpZfVpVuhra9Hdb .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-0VpZfVpVuhra9Hdb .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-0VpZfVpVuhra9Hdb .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-0VpZfVpVuhra9Hdb .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-0VpZfVpVuhra9Hdb .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-0VpZfVpVuhra9Hdb .marker{fill:#333333;stroke:#333333;}#mermaid-svg-0VpZfVpVuhra9Hdb .marker.cross{stroke:#333333;}#mermaid-svg-0VpZfVpVuhra9Hdb svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-0VpZfVpVuhra9Hdb p{margin:0;}#mermaid-svg-0VpZfVpVuhra9Hdb .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg-0VpZfVpVuhra9Hdb .cluster-label text{fill:#333;}#mermaid-svg-0VpZfVpVuhra9Hdb .cluster-label span{color:#333;}#mermaid-svg-0VpZfVpVuhra9Hdb .cluster-label span p{background-color:transparent;}#mermaid-svg-0VpZfVpVuhra9Hdb .label text,#mermaid-svg-0VpZfVpVuhra9Hdb span{fill:#333;color:#333;}#mermaid-svg-0VpZfVpVuhra9Hdb .node rect,#mermaid-svg-0VpZfVpVuhra9Hdb .node circle,#mermaid-svg-0VpZfVpVuhra9Hdb .node ellipse,#mermaid-svg-0VpZfVpVuhra9Hdb .node polygon,#mermaid-svg-0VpZfVpVuhra9Hdb .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-0VpZfVpVuhra9Hdb .rough-node .label text,#mermaid-svg-0VpZfVpVuhra9Hdb .node .label text,#mermaid-svg-0VpZfVpVuhra9Hdb .image-shape .label,#mermaid-svg-0VpZfVpVuhra9Hdb .icon-shape .label{text-anchor:middle;}#mermaid-svg-0VpZfVpVuhra9Hdb .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-0VpZfVpVuhra9Hdb .rough-node .label,#mermaid-svg-0VpZfVpVuhra9Hdb .node .label,#mermaid-svg-0VpZfVpVuhra9Hdb .image-shape .label,#mermaid-svg-0VpZfVpVuhra9Hdb .icon-shape .label{text-align:center;}#mermaid-svg-0VpZfVpVuhra9Hdb .node.clickable{cursor:pointer;}#mermaid-svg-0VpZfVpVuhra9Hdb .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-0VpZfVpVuhra9Hdb .arrowheadPath{fill:#333333;}#mermaid-svg-0VpZfVpVuhra9Hdb .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-0VpZfVpVuhra9Hdb .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-0VpZfVpVuhra9Hdb .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-0VpZfVpVuhra9Hdb .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-0VpZfVpVuhra9Hdb .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-0VpZfVpVuhra9Hdb .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-0VpZfVpVuhra9Hdb .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-0VpZfVpVuhra9Hdb .cluster text{fill:#333;}#mermaid-svg-0VpZfVpVuhra9Hdb .cluster span{color:#333;}#mermaid-svg-0VpZfVpVuhra9Hdb div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-0VpZfVpVuhra9Hdb .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-0VpZfVpVuhra9Hdb rect.text{fill:none;stroke-width:0;}#mermaid-svg-0VpZfVpVuhra9Hdb .icon-shape,#mermaid-svg-0VpZfVpVuhra9Hdb .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-0VpZfVpVuhra9Hdb .icon-shape p,#mermaid-svg-0VpZfVpVuhra9Hdb .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-0VpZfVpVuhra9Hdb .icon-shape .label rect,#mermaid-svg-0VpZfVpVuhra9Hdb .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-0VpZfVpVuhra9Hdb .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-0VpZfVpVuhra9Hdb .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-0VpZfVpVuhra9Hdb :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} 概率空间 (Ω, F, P)

定义底层随机性
随机变量 X: Ω → X

从底层结果中提取我们关心的值
分布 μ_X

X 在取值空间上诱导出的测度
密度/质量函数 p(x)

在可以表示时用函数描述分布
期望 Ef(X)

对随机变量函数做测度积分

看到 X ∼ p ( x ) X\sim p(x) X∼p(x) → 理解为" X X X 的分布可以用密度/质量函数 p ( x ) p(x) p(x) 描述"。

看到 E x ∼ p ( x ) f ( x ) \mathbb{E}_{x\sim p(x)}f(x) Ex∼p(x)f(x) → 理解为"对取值空间中的 x x x,按 p ( x ) p(x) p(x) 加权,计算 f ( x ) f(x) f(x) 的平均效果"。


主题二:大写 X 还是小写 x?期望和分布的严格 Notation

十、问题本身比想象中复杂

期望角标和括号里的 X X X 应该大写还是小写?

看起来很简单,其实不然:ML 里的符号有很多工程化简写,加上不同学科的符号习惯不一致,同一个符号在不同语境下可能承担不同角色。

符号是定义的体现,所以先把角色分清。

十一、随机变量 vs 取值 vs 样本

严格来说,期望括号里的对象应该是随机变量,或者是随机变量的函数。

E X \mathbb{E}X EX

  • X X X(大写):随机变量,还没有真正落到某个具体值上;
  • x x x(小写):随机变量 X X X 的一个可能取值 ,或一次采样得到的样本。

举例 :如果 X X X 表示"从数据集中随机抽取一条样本",那么 X X X 是随机变量;而某一次真正抽到的样本(一段具体文本、一张具体图片)才是 x x x。

一个很形象的类比 :X X X 是"抽签的手", x x x 是"抽出来的那根签"。

这个区分在把期望写成积分或求和时尤其重要。

十二、分布应该怎么写

常见写法:

X ∼ p ( x ) X\sim p(x) X∼p(x)

含义是: X X X 的分布由概率质量函数或概率密度函数 p ( x ) p(x) p(x) 描述,其中 x x x 是 X X X 的取值。更严格地说:

符号 角色
X X X 随机变量
x x x X X X 的取值
p p p 分布,或分布对应的概率函数
p ( x ) p(x) p(x) 在取值 x x x 处的概率质量或概率密度

一个必须记住的点 :无论是变量还是样本,本质都是固定的值,它们都不能"服从分布"。只有随机变量才谈得上"服从分布"。

所以 x ∼ p ( x ) x\sim p(x) x∼p(x) 这种写法在 ML 论文里很常见,但它是简写------表示"这个样本符合某个分布"。

十三、期望角标的四种写法

写法 含义 适用场景
E X \mathbb{E}X EX 直接对 X X X 求期望 上下文已明确 X X X 的分布
E X f ( X ) \mathbb{E}_Xf(X) EXf(X) 强调"关于随机变量 X X X 求期望" 暂不显式写出分布
E X ∼ p f ( X ) \mathbb{E}_{X\sim p}f(X) EX∼pf(X) 最严格 : X X X 服从分布 p p p 想把分布写清楚
E X ∼ p ( x ) f ( X ) \mathbb{E}_{X\sim p(x)}f(X) EX∼p(x)f(X) 能读懂,但不如上一条干净 不太推荐

还有 ML 论文里更常见的采样式写法:

E x ∼ p ( x ) f ( x ) \mathbb{E}_{x\sim p(x)}f(x) Ex∼p(x)f(x)

这里的 x x x 不再严格表示随机变量 ,而更像"从分布 p p p 中采样得到的一个样本"。它强调的是采样过程 :从 p ( x ) p(x) p(x) 采样一个 x x x,算 f ( x ) f(x) f(x),再对很多次采样取平均。

还有一种省略写法:

E p ( x ) f ( x ) \mathbb{E}_{p(x)}f(x) Ep(x)f(x)

严格来说 p ( x ) p(x) p(x) 不是随机变量,而是概率质量/密度函数,所以这也是省略------它省略的是"哪个随机变量服从这个分布" 。完整含义是: X ∼ p , E X ∼ p f ( X ) X\sim p,\ \mathbb{E}_{X\sim p}f(X) X∼p, EX∼pf(X)。

十四、积分形式和求和形式

连续情况 ( p ( x ) p(x) p(x) 是密度):

E X ∼ p f ( X ) = ∫ f ( x ) p ( x )   d x \mathbb{E}_{X\sim p}f(X)=\int f(x)p(x)\,dx EX∼pf(X)=∫f(x)p(x)dx

注意左右两边的符号变化 :左边 f ( X ) f(X) f(X) 用大写,因为它是随机变量的函数 ;右边 f ( x ) f(x) f(x) 用小写,因为积分里需要一个具体的积分变量。

离散情况 ( p ( x ) p(x) p(x) 是质量函数):

E X ∼ p f ( X ) = ∑ x f ( x ) p ( x ) \mathbb{E}_{X\sim p}f(X)=\sum_x f(x)p(x) EX∼pf(X)=x∑f(x)p(x)

一个会引入费解的点 :中间的 x x x 在某些情况下被理解成 dummy variable(积分变量),而不是样本或随机变量。而积分变量或样本并不能"服从"一个分布。

十五、推荐的写法

作者的建议很实在:样本、随机变量、积分变量这几个概念太相似又有点乱,而字母又不够用,所以期望的形式实际并不是那么清晰。

但要始终牢记:

期望是作用于随机变量的算子,而不是样本或一般变量。 (时刻思考:期望在对哪个随机变量做积分)

这一点在条件期望的时候会变得非常重要,能让很多形式变得清晰。

看到 理解为
E X ∼ p f ( X ) \mathbb{E}_{X\sim p}f(X) EX∼pf(X) 严格的随机变量记法
E x ∼ p ( x ) f ( x ) \mathbb{E}_{x\sim p(x)}f(x) Ex∼p(x)f(x) ML 论文中的采样记法
E p ( x ) f ( x ) \mathbb{E}_{p(x)}f(x) Ep(x)f(x) "在分布 p ( x ) p(x) p(x) 下取期望"的省略写法

真正重要的是 :不要在同一段推导里随意切换含义 。如果 X X X 表示随机变量、 x x x 表示具体取值,那么后面的公式最好持续保持这个约定。


主题三:Likelihood 到底是什么?它和条件概率有什么区别

十六、问题的起点:同一个表达式,两种读法

似然(likelihood)是机器学习里非常容易混淆的概念。它看起来和条件概率长得一模一样:

p ( x ∣ θ ) p(x\mid\theta) p(x∣θ)

但在不同语境下,这个表达式的阅读方式完全不同:
#mermaid-svg-FDjrPSQtQIRf869W{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-FDjrPSQtQIRf869W .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-FDjrPSQtQIRf869W .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-FDjrPSQtQIRf869W .error-icon{fill:#552222;}#mermaid-svg-FDjrPSQtQIRf869W .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-FDjrPSQtQIRf869W .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-FDjrPSQtQIRf869W .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-FDjrPSQtQIRf869W .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-FDjrPSQtQIRf869W .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-FDjrPSQtQIRf869W .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-FDjrPSQtQIRf869W .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-FDjrPSQtQIRf869W .marker{fill:#333333;stroke:#333333;}#mermaid-svg-FDjrPSQtQIRf869W .marker.cross{stroke:#333333;}#mermaid-svg-FDjrPSQtQIRf869W svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-FDjrPSQtQIRf869W p{margin:0;}#mermaid-svg-FDjrPSQtQIRf869W .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg-FDjrPSQtQIRf869W .cluster-label text{fill:#333;}#mermaid-svg-FDjrPSQtQIRf869W .cluster-label span{color:#333;}#mermaid-svg-FDjrPSQtQIRf869W .cluster-label span p{background-color:transparent;}#mermaid-svg-FDjrPSQtQIRf869W .label text,#mermaid-svg-FDjrPSQtQIRf869W span{fill:#333;color:#333;}#mermaid-svg-FDjrPSQtQIRf869W .node rect,#mermaid-svg-FDjrPSQtQIRf869W .node circle,#mermaid-svg-FDjrPSQtQIRf869W .node ellipse,#mermaid-svg-FDjrPSQtQIRf869W .node polygon,#mermaid-svg-FDjrPSQtQIRf869W .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-FDjrPSQtQIRf869W .rough-node .label text,#mermaid-svg-FDjrPSQtQIRf869W .node .label text,#mermaid-svg-FDjrPSQtQIRf869W .image-shape .label,#mermaid-svg-FDjrPSQtQIRf869W .icon-shape .label{text-anchor:middle;}#mermaid-svg-FDjrPSQtQIRf869W .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-FDjrPSQtQIRf869W .rough-node .label,#mermaid-svg-FDjrPSQtQIRf869W .node .label,#mermaid-svg-FDjrPSQtQIRf869W .image-shape .label,#mermaid-svg-FDjrPSQtQIRf869W .icon-shape .label{text-align:center;}#mermaid-svg-FDjrPSQtQIRf869W .node.clickable{cursor:pointer;}#mermaid-svg-FDjrPSQtQIRf869W .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-FDjrPSQtQIRf869W .arrowheadPath{fill:#333333;}#mermaid-svg-FDjrPSQtQIRf869W .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-FDjrPSQtQIRf869W .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-FDjrPSQtQIRf869W .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-FDjrPSQtQIRf869W .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-FDjrPSQtQIRf869W .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-FDjrPSQtQIRf869W .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-FDjrPSQtQIRf869W .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-FDjrPSQtQIRf869W .cluster text{fill:#333;}#mermaid-svg-FDjrPSQtQIRf869W .cluster span{color:#333;}#mermaid-svg-FDjrPSQtQIRf869W div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-FDjrPSQtQIRf869W .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-FDjrPSQtQIRf869W rect.text{fill:none;stroke-width:0;}#mermaid-svg-FDjrPSQtQIRf869W .icon-shape,#mermaid-svg-FDjrPSQtQIRf869W .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-FDjrPSQtQIRf869W .icon-shape p,#mermaid-svg-FDjrPSQtQIRf869W .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-FDjrPSQtQIRf869W .icon-shape .label rect,#mermaid-svg-FDjrPSQtQIRf869W .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-FDjrPSQtQIRf869W .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-FDjrPSQtQIRf869W .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-FDjrPSQtQIRf869W :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} 同一个表达式

p(x | θ)
读法一: 条件概率

θ 固定, x 是变量
读法二: 似然

x 固定, θ 是变量
问: 参数 θ 已知时

观测到数据 x 的概率是多少?
问: 数据 x 已知时

哪个参数 θ 更能解释它?

一句话概括 :

条件概率是在参数已知时看数据;似然是在数据已知时看参数。

这也解释了为什么 likelihood 翻译成"似然":它不是直接说某个参数"概率大",而是说这个参数看起来"像是能生成这份数据"。

十七、似然函数

当数据 x x x 已观测到,我们反过来问:哪个参数 θ \theta θ 更可能生成这份数据?

L ( θ ; x ) = p ( x ∣ θ ) L(\theta;x)=p(x\mid\theta) L(θ;x)=p(x∣θ)

注意分号 ; ; ; 这是一种常见记号,提醒读者: x x x 是已经固定的观测数据 , θ \theta θ 才是正在比较的变量。

所以:

L ( θ ; x ) 是关于 θ 的函数 : θ ↦ L ( θ ; x ) L(\theta;x)\ \text{是关于}\ \theta\ \text{的函数}:\quad \theta\mapsto L(\theta;x) L(θ;x) 是关于 θ 的函数:θ↦L(θ;x)

值越大,表示参数 θ \theta θ 越能解释已观测到的数据 x x x。

但有一个必须记住的点

似然不是 θ \theta θ 的概率分布。

也就是说,一般并不要求:

∫ L ( θ ; x )   d θ = 1 \int L(\theta;x)\,d\theta=1 ∫L(θ;x)dθ=1

似然值只适合在不同参数之间做相对比较。 它告诉我们哪个参数让观测数据更"合理",但它本身还不是参数的概率。

十八、抛硬币例子:把两种读法摆在一起

假设硬币正面概率是 θ \theta θ,抛 n n n 次观测到正面 k k k 次。

读法一(条件概率) :固定 θ \theta θ,比如 θ = 0.5 \theta=0.5 θ=0.5, p ( k ∣ θ ) p(k\mid\theta) p(k∣θ) 是关于 k k k 的分布 ------问"公平硬币抛 n n n 次,正面出现 k k k 次的概率是多少"。

读法二(似然) :已经观测到 n = 10 , k = 7 n=10,k=7 n=10,k=7:

L ( θ ; k ) = ( 10 7 ) θ 7 ( 1 − θ ) 3 L(\theta;k)=\binom{10}{7}\theta^7(1-\theta)^3 L(θ;k)=(710)θ7(1−θ)3

这时 k = 7 k=7 k=7 固定 , θ \theta θ 是变量。比较:

L ( 0.5 ; 7 ) vs L ( 0.7 ; 7 ) L(0.5;7)\quad\text{vs}\quad L(0.7;7) L(0.5;7)vsL(0.7;7)

如果 L ( 0.7 ; 7 ) > L ( 0.5 ; 7 ) L(0.7;7)>L(0.5;7) L(0.7;7)>L(0.5;7),说明 θ = 0.7 \theta=0.7 θ=0.7 比 θ = 0.5 \theta=0.5 θ=0.5 更能解释这次观测结果。

但注意 :这不等于说" θ = 0.7 \theta=0.7 θ=0.7 的概率比 θ = 0.5 \theta=0.5 θ=0.5 大"。 要谈参数的概率,还需要引入先验分布。

十九、最大似然估计(MLE)

MLE 的思想很直接:选择让观测数据似然最大的参数。

θ ^ MLE = arg ⁡ max ⁡ θ L ( θ ; x ) \hat{\theta}{\text{MLE}}=\arg\max\theta L(\theta;x) θ^MLE=argθmaxL(θ;x)

实际计算中常用对数似然:

ℓ ( θ ; x ) = log ⁡ L ( θ ; x ) = log ⁡ p ( x ∣ θ ) \ell(\theta;x)=\log L(\theta;x)=\log p(x\mid\theta) ℓ(θ;x)=logL(θ;x)=logp(x∣θ)

因为对数函数单调递增 ,所以最大化 L L L 和最大化 ℓ \ell ℓ 得到的参数相同:

arg ⁡ max ⁡ θ L ( θ ; x ) = arg ⁡ max ⁡ θ ℓ ( θ ; x ) \arg\max_\theta L(\theta;x)=\arg\max_\theta \ell(\theta;x) argθmaxL(θ;x)=argθmaxℓ(θ;x)

对数似然的好处 :把很多连乘变成求和,数值上也更稳定。

多个独立样本

观测到独立同分布样本 x 1 , ... , x N x_1,\dots,x_N x1,...,xN,联合概率是连乘:

p ( x 1 , ... , x N ∣ θ ) = ∏ i = 1 N p ( x i ∣ θ ) p(x_1,\dots,x_N\mid\theta)=\prod_{i=1}^{N}p(x_i\mid\theta) p(x1,...,xN∣θ)=i=1∏Np(xi∣θ)

对数似然变成求和:

ℓ ( θ ; x 1 , ... , x N ) = ∑ i = 1 N log ⁡ p ( x i ∣ θ ) \ell(\theta;x_1,\dots,x_N)=\sum_{i=1}^{N}\log p(x_i\mid\theta) ℓ(θ;x1,...,xN)=i=1∑Nlogp(xi∣θ)

这就是很多机器学习训练目标的基本形式 :最大化训练数据的对数似然,等价于让模型给真实数据分配更高的概率或密度。

直接连到语言模型

对一段 token 序列 x 1 , ... , x T x_1,\dots,x_T x1,...,xT,自回归模型分解为:

p θ ( x 1 , ... , x T ) = ∏ t = 1 T p θ ( x t ∣ x < t ) p_\theta(x_1,\dots,x_T)=\prod_{t=1}^{T}p_\theta(x_t\mid x_{<t}) pθ(x1,...,xT)=t=1∏Tpθ(xt∣x<t)

训练时最大化 ∑ t log ⁡ p θ ( x t ∣ x < t ) \sum_t\log p_\theta(x_t\mid x_{<t}) ∑tlogpθ(xt∣x<t),或等价地最小化负对数似然:

− ∑ t = 1 T log ⁡ p θ ( x t ∣ x < t ) -\sum_{t=1}^{T}\log p_\theta(x_t\mid x_{<t}) −t=1∑Tlogpθ(xt∣x<t)
#mermaid-svg-8JZGzRZVlCPmGAUw{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-8JZGzRZVlCPmGAUw .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-8JZGzRZVlCPmGAUw .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-8JZGzRZVlCPmGAUw .error-icon{fill:#552222;}#mermaid-svg-8JZGzRZVlCPmGAUw .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-8JZGzRZVlCPmGAUw .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-8JZGzRZVlCPmGAUw .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-8JZGzRZVlCPmGAUw .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-8JZGzRZVlCPmGAUw .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-8JZGzRZVlCPmGAUw .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-8JZGzRZVlCPmGAUw .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-8JZGzRZVlCPmGAUw .marker{fill:#333333;stroke:#333333;}#mermaid-svg-8JZGzRZVlCPmGAUw .marker.cross{stroke:#333333;}#mermaid-svg-8JZGzRZVlCPmGAUw svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-8JZGzRZVlCPmGAUw p{margin:0;}#mermaid-svg-8JZGzRZVlCPmGAUw .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg-8JZGzRZVlCPmGAUw .cluster-label text{fill:#333;}#mermaid-svg-8JZGzRZVlCPmGAUw .cluster-label span{color:#333;}#mermaid-svg-8JZGzRZVlCPmGAUw .cluster-label span p{background-color:transparent;}#mermaid-svg-8JZGzRZVlCPmGAUw .label text,#mermaid-svg-8JZGzRZVlCPmGAUw span{fill:#333;color:#333;}#mermaid-svg-8JZGzRZVlCPmGAUw .node rect,#mermaid-svg-8JZGzRZVlCPmGAUw .node circle,#mermaid-svg-8JZGzRZVlCPmGAUw .node ellipse,#mermaid-svg-8JZGzRZVlCPmGAUw .node polygon,#mermaid-svg-8JZGzRZVlCPmGAUw .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-8JZGzRZVlCPmGAUw .rough-node .label text,#mermaid-svg-8JZGzRZVlCPmGAUw .node .label text,#mermaid-svg-8JZGzRZVlCPmGAUw .image-shape .label,#mermaid-svg-8JZGzRZVlCPmGAUw .icon-shape .label{text-anchor:middle;}#mermaid-svg-8JZGzRZVlCPmGAUw .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-8JZGzRZVlCPmGAUw .rough-node .label,#mermaid-svg-8JZGzRZVlCPmGAUw .node .label,#mermaid-svg-8JZGzRZVlCPmGAUw .image-shape .label,#mermaid-svg-8JZGzRZVlCPmGAUw .icon-shape .label{text-align:center;}#mermaid-svg-8JZGzRZVlCPmGAUw .node.clickable{cursor:pointer;}#mermaid-svg-8JZGzRZVlCPmGAUw .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-8JZGzRZVlCPmGAUw .arrowheadPath{fill:#333333;}#mermaid-svg-8JZGzRZVlCPmGAUw .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-8JZGzRZVlCPmGAUw .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-8JZGzRZVlCPmGAUw .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-8JZGzRZVlCPmGAUw .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-8JZGzRZVlCPmGAUw .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-8JZGzRZVlCPmGAUw .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-8JZGzRZVlCPmGAUw .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-8JZGzRZVlCPmGAUw .cluster text{fill:#333;}#mermaid-svg-8JZGzRZVlCPmGAUw .cluster span{color:#333;}#mermaid-svg-8JZGzRZVlCPmGAUw div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-8JZGzRZVlCPmGAUw .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-8JZGzRZVlCPmGAUw rect.text{fill:none;stroke-width:0;}#mermaid-svg-8JZGzRZVlCPmGAUw .icon-shape,#mermaid-svg-8JZGzRZVlCPmGAUw .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-8JZGzRZVlCPmGAUw .icon-shape p,#mermaid-svg-8JZGzRZVlCPmGAUw .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-8JZGzRZVlCPmGAUw .icon-shape .label rect,#mermaid-svg-8JZGzRZVlCPmGAUw .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-8JZGzRZVlCPmGAUw .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-8JZGzRZVlCPmGAUw .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-8JZGzRZVlCPmGAUw :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} 最大似然估计

选让数据最可能的参数
取对数

连乘变求和
多样本独立同分布

对数似然 = Σ log p(x_i|θ)
自回归分解

Σ log p(x_t | x_
语言模型交叉熵损失

负对数似然

这就是语言模型交叉熵损失背后的概率解释------和前一篇笔记里"CE ⟺ MLE ⟺ KL"的推导是同一件事。

二十、似然和贝叶斯后验:一个容易混淆的点

贝叶斯公式里的 p ( x ∣ θ ) p(x\mid\theta) p(x∣θ),到底是条件概率还是似然?

更准确的说法是:

  • 在贝叶斯公式本身里 , p ( x ∣ θ ) p(x\mid\theta) p(x∣θ) 是条件概率或条件密度;
  • 但当观测数据 x x x 已固定,把它看成 θ \theta θ 的函数时 ,它就承担了似然函数的角色。

p ( θ ∣ x ) = p ( x ∣ θ ) p ( θ ) p ( x ) p(\theta\mid x)=\frac{p(x\mid\theta)p(\theta)}{p(x)} p(θ∣x)=p(x)p(x∣θ)p(θ)

其中证据项 p ( x ) = ∫ p ( x ∣ θ ) p ( θ )   d θ p(x)=\int p(x\mid\theta)p(\theta)\,d\theta p(x)=∫p(x∣θ)p(θ)dθ。如果只关心 θ \theta θ 的相对大小:

p ( θ ∣ x ) ∝ p ( x ∣ θ ) p ( θ ) p(\theta\mid x)\propto p(x\mid\theta)p(\theta) p(θ∣x)∝p(x∣θ)p(θ)

所以常说 :后验正比于似然乘以先验。

这句话里的"似然",不是说 p ( x ∣ θ ) p(x\mid\theta) p(x∣θ) 在原始定义上变成了关于 θ \theta θ 的概率分布 ,而是说:在固定观测数据 x x x 之后,我们把同一个条件概率/密度表达式当作 θ \theta θ 的函数来使用。

更严谨的三点总结:

  1. 贝叶斯公式中的 p ( x ∣ θ ) p(x\mid\theta) p(x∣θ) 是条件概率或条件密度;
  2. 固定观测数据 x x x 后, p ( x ∣ θ ) p(x\mid\theta) p(x∣θ) 作为 θ \theta θ 的函数,就是似然 L ( θ ; x ) L(\theta;x) L(θ;x);
  3. 后验不是似然本身,而是先验乘以似然、再通过证据项归一化之后得到的分布。

如果没有先验和归一化,似然本身不能直接解释成参数的概率分布。

二十一、连续变量的一个注意点

在连续随机变量中, p ( x ∣ θ ) p(x\mid\theta) p(x∣θ) 是密度,不是点概率:

P ( X = x ∣ θ ) = 0 \mathbb{P}(X=x\mid\theta)=0 P(X=x∣θ)=0

但密度仍然可以用来比较不同参数对观测值附近区域的解释能力。

以高斯模型为例, X ∼ N ( μ , σ 2 ) X\sim\mathcal{N}(\mu,\sigma^2) X∼N(μ,σ2), σ \sigma σ 已知、 μ \mu μ 未知,观测到具体值 x x x 后:

L ( μ ; x ) = 1 2 π σ 2 exp ⁡ ( − ( x − μ ) 2 2 σ 2 ) L(\mu;x)=\frac{1}{\sqrt{2\pi\sigma^2}}\exp\left(-\frac{(x-\mu)^2}{2\sigma^2}\right) L(μ;x)=2πσ2 1exp(−2σ2(x−μ)2)

这里 x x x 固定、 μ \mu μ 是变量,似然最大的 μ \mu μ 会靠近观测值 x x x 。但 L ( μ ; x ) L(\mu;x) L(μ;x) 仍然不是 μ \mu μ 的概率密度,除非进一步引入先验并归一化。

二十二、主题三实用区分表

表达式 固定什么 变量是什么 含义 是否需要对变量归一化
p ( x ∣ θ ) p(x\mid\theta) p(x∣θ) 作为条件概率 θ \theta θ x x x 参数已知时数据的分布 需要 对 x x x 归一化
L ( θ ; x ) = p ( x ∣ θ ) L(\theta;x)=p(x\mid\theta) L(θ;x)=p(x∣θ) 作为似然 x x x θ \theta θ 数据已知时参数的相对解释能力 不需要 对 θ \theta θ 归一化

一句话总结 :条件概率关心"给定参数,数据怎么分布";似然关心"给定数据,哪个参数更能解释它"。


总结

三个主题的核心收获

主题 核心收获
概率空间 概率空间是 ( Ω , F , P ) (\Omega,\mathcal{F},\mathbb{P}) (Ω,F,P) 三元组;随机变量是函数 ,不是变量;分布是随机变量把概率推前得到的测度 ; P \mathbb{P} P 定义在样本空间, μ X \mu_X μX 定义在取值空间, p ( x ) p(x) p(x) 只是密度的点值
严格 Notation 大写 X X X 是随机变量,小写 x x x 是取值/样本;只有随机变量才谈得上"服从分布" ; E X ∼ p f ( X ) \mathbb{E}{X\sim p}f(X) EX∼pf(X) 是严格记法, E x ∼ p ( x ) f ( x ) \mathbb{E}{x\sim p(x)}f(x) Ex∼p(x)f(x) 是 ML 采样简写
Likelihood 同一个 p ( x ∣ θ ) p(x\mid\theta) p(x∣θ):固定 θ \theta θ 看 x x x 是条件概率,固定 x x x 看 θ \theta θ 是似然 ;似然不是概率分布 ,不需对 θ \theta θ 归一化;MLE → 对数似然 → 语言模型交叉熵损失

三句话带走

  1. 概率空间不是给"点"分配概率,而是先规定哪些事件集合可以讨论概率。
  2. 期望是作用于随机变量的算子------时刻问自己"在对哪个随机变量做积分",这在条件期望里尤其重要。
  3. 条件概率和似然用的是同一个数学表达式,区别只在"固定谁、谁是变量"。

什么时候需要回头看这份 Cookbook

  • 写条件期望、全期望公式时 → 回看主题二;
  • 推导 KL 散度、交叉熵时 → 回看主题三(似然与 MLE);
  • 看到 E x ∼ p ( x ) \mathbb{E}_{x\sim p(x)} Ex∼p(x) 纠结该写大写还是小写时 → 回看主题二的推荐写法;
  • 想不通"分布"和"密度"的区别时 → 回看主题一的第七节。

这一篇把数学地基铺完了。它看起来和"训模型"离得比较远,但后面每一次推导 KL、写 loss、理解采样,都会用到这里的区分。

参考

相关推荐
程序猿阿森1 小时前
混合精度详解:FP16 vs BF16,Loss Scaling 与 PyTorch 实战
人工智能·pytorch·python
ADark1 小时前
FDE 入门 · 08|没人爱做的交付尾巴
人工智能·agent
alonglong1 小时前
macOS 定时任务排错:退出码、错误消息、旧结论,三个都不承载事实
人工智能
招财牛猫1 小时前
从文本生成到校准决策:Jev 的技术路线解析
人工智能
sorry3551 小时前
从零实现 nanoGPT(一):让莎士比亚变成模型能读懂的数据
人工智能
龙腾-虎跃1 小时前
AI 与机器学习 1000 个实战项目合集:从入门到进阶的全景指南
人工智能·机器学习
ZGIAI1 小时前
Agent 重试会不会越帮越乱?
人工智能·架构
小禾everyday1 小时前
毫秒级叫停:实时监控让AI代理不烧冤枉钱
人工智能
橘和柠1 小时前
RAG检索增强实战:原理、七步链路与最小可用代码
人工智能