跳到内容
返回探索
数学建模 / 英语

改进的交叉熵与原始交叉熵方法

Patrick Laub · YouTube · 6:00

打开原视频
阅读与收藏

把讲解展开来看。

已审核学习内容 · 视频分析 · 中文
阅读完整概览

该 150——第二段演示了改进的交叉熵方法在估计以下具体问题中的应用:P(X>5)P(X>5),其中X∼Normal(0,1)X\sim\mathrm{Normal}(0,1)笔记本首先定义零方差密度g∗g^*为给定稀有事件条件下XX的条件分布,然后通过对g∗g^*进行拒绝采样来获得5×1085\times 10^8个标准正态随机数,并仅保留满足152的超出样本。这些被保留的样本用于通过最大似然法拟合一个正态重要性采样提议分布,其中μ\mu设为样本均值,σ\sigma设为样本二阶中心矩的平方根。最后一个单元格从拟合的提议分布中抽取10610^6个样本,计算似然比乘以事件指示函数,再取平均值得到L^\hat{L},并使用`1.96 * oHat / sqrt(R)。打印结果是一个约为 2.85×10−72.85\times 10^{-7} 的ICE估计值,其半宽约为 8.28×10−108.28\times 10^{-10},与理论值约 2.87×10−72.87\times 10^{-7} 相比。 本150秒片段讲解原始交叉熵法——一种用于稀有事件估计的自适应方法,可替代直接拒绝采样。通过 Jupyter Notebook 示例,估计 P(X>5)P(X>5),其中 X ~ Normal(0,1)。主讲人首先指出,直接从理想建议分布采样通常过慢;随后逐步演示交叉熵循环:从当前建议分布抽样、计算95% 精英阈值、若达到 γ 则停止、保留精英样本、按似然比加权、更新建议分布参数。收敛后,视频使用学习到的建议分布执行最终重要性采样估计,并将结果与标准正态生存概率的精确值进行比较。 这段60秒的视频片段首先以笔记本形式讲解交叉熵稀有事件估计器,随后转向可视化该方法生成的提议分布。开头几秒展示的代码从正态提议分布中采样,计算似然比,并用指示函数 `(normals > γ)` 对其加权,最后打印出带有置信区间的交叉熵估计值及理论值。其余部分解释道:交叉熵方法将参数向量存储在列表 `vs` 中;通过遍历 `vs` 并在网格 `xs` 上计算正态概率密度函数,即可绘制出整组提议密度曲线。主讲人还在尾部区域 `x>γx > γ` 上利用已知归一化常数 `l = stats.norm.sf(γ)` 构造目标曲线 `gStar`。最终执行得到的图像显示若干条呈钟形、颜色各异的提议曲线,整体向右移动且逐渐变窄,同时配有一条标记阈值的灰色虚线垂直线。

在学习检查器中查看要点和时刻,或切换阅读标签查看完整笔记。

章节

0:00问题陈述:估计标准正态分布的尾部概率0:19滚动至导入语句及包版本信息0:35定义g∗g^*并执行拒绝抽样1:27通过最大似然法拟合正态提议分布1:43运行重要性抽样并报告带置信区间的估计值2:30动机:为何直接拒绝采样并不足够2:48原始交叉熵方法的核心思想3:06符号说明:u、v 与 vs3:28交叉熵循环内部4:35最终的重要性采样估计值及数值结果5:00显示的交叉熵估计值及其置信区间5:05滚动至提议分布可视化代码5:10对所存储提议向量 `vs` 的解释5:32循环中 `enumerate` 的作用5:45目标密度 `gStar` 与归一化常数 `l`5:54执行后得到的提议分布图像

学习解说文稿

依据视频画面与讲解整理,并非逐字语音转写。

该片段以标题为`改进的交叉熵方法`的Jupyter笔记本开启。可见的问题陈述要求估计P(X>γ)P(X>\gamma),其中X∼Normal(0,1)X\sim\mathrm{Normal}(0,1)且γ=5\gamma=5,所用的重要性抽样分布形式为Normal(μ,σ2)\mathrm{Normal}(\mu,\sigma^2)。叙述内容与此完全一致:它引入了一个简单的稀有事件示例,并指出目标是在正态分布族内寻找最优的重要性抽样密度。

主讲人简要向上滚动至显示Python导入语句及包版本的早期单元格。该部分不包含新数学内容;仅用于确立后续笔记本所使用的计算环境(`numpy`、`scipy`、`matplotlib`)。

回到主示例,笔记本指出关键的概念步骤:为从g∗(x)=P(X=x∣X>γ)g^*(x)=\mathbb{P}(X=x\mid X>\gamma)中抽样,可先生成大量普通XX值,再仅保留满足X>γX>\gamma的那些样本。叙述中将g∗g^*称为零方差密度,并解释其恰好是XX在稀有事件发生条件下的分布。对应代码创建了一个带种子的随机数生成器,设定`R=5∗10R = 5 * 10**8`,调用`Xs = rng.normal(size=R)`生成正态样本,并以`Xs = Xs[Xs > gamma]`进行筛选。音频中明确称此为拒绝抽样。

执行后,输出显示`g* 样本数量:152`及`运行时间:12.6秒`。叙述者通过指出:在五亿次原始样本中,仅有152个被保留,来强调该事件的稀有性。从数学角度看,该输出正是标准正态变量在超过高阈值5条件下进行条件化的经验结果。

下一个单元格将重要性抽样提议分布拟合到保留下来的样本上。代码计算 `mu = np.mean(Xs)` 和 `sigma = np.sqrt(np.mean((Xs-mu)**2))`,而旁白将其描述为:在给定这些样本的前提下,对 μ\mu 和 σ\sigma 求最大似然估计。换言之,该正态提议分布以超出阈值样本的经验均值为中心,以其经验二阶中心矩的平方根作为尺度参数。

最后一个单元格执行实际的重要性抽样估计。它重置 `R=10R = 10**6`,从已拟合的提议分布中抽取 `normals = rng.normal(mu, sigma, R)`,并计算似然比:`stats.norm.pdf(normals, 0, 1) / stats.norm.pdf(normals, mu, sigma)`。这些比值乘以指示函数 `(normals > gamma)` 得到 `ests`,再对 `ests` 取均值得到 `lHat`。旁白指出,改进的交叉熵算法现已完成,并提供了一个良好的提议分布;随后,他们基于常规的重要性抽样进行估计,并输出估计值及其置信区间。

输出块给出数值结论:`ICE 估计值:2.8499557494141556e-07 (+/- 8.28267698086911e-10)`,`ICE 下界:2.841672802433268e-07`,`ICE 上界:2.8582381563950423e-07`,以及`理论值:2.866515718791933e-07`。代码还计算 `oHat = ests.std()` 和 `widthCI = 1.96 * oHat / np.sqrt(R)`,因此所打印的区间关于 `lHat` 对称。旁白将此总结为:该稀有事件概率约为 2.8×10−72.8\times 10^{-7},区间宽度量级为 10−1010^{-10},并称其精度令人印象深刻地小。

本片段开篇即对比当前方法与先前的一个例子。主讲人指出,早先的方法‘有点取巧’,因为该稀有事件其实并不十分稀有,因此可直接从g∗g^*出发,通过拒绝采样进行采样。其数学要点在于:对更稀有的事件而言,直接从理想建议分布中采样通常不具备可扩展性。

为避免这一瓶颈,视频引入了原始交叉熵方法。其核心思想是自适应的:不试图一步猜出一个完美的建议分布,而是构建一系列逐步改进的建议分布,直至其中某一个足以良好覆盖稀有事件区域。

随后澄清笔记本中的符号约定:向量 `u` 存储原始分布的参数,此处为标准正态分布(0,1)(0,1);`v` 存储当前建议分布的参数;`vs` 则记录各次迭代中建议分布参数的序列。由此确立目标分布与自适应采样分布之间的区别。

在循环内部,算法首先从当前建议分布抽取R=105R=10^5 个样本Normal(v[0],v[1])\mathrm{Normal}(v[0],v[1])。然后计算迭代阈值 γi\gamma_i 作为经验 95%95\% 分位数,等价于 (1−p)(1-p)-分位数,其中 p=0.05p=0.05。如果 γi≥γ=5\gamma_i\ge \gamma=5,则自适应过程停止;否则,将高于 γi\gamma_i 的样本视为精英样本。

对于这些精英样本,代码构造似然比eliteLRs=fu(x)/fv(x)\text{eliteLRs}= f_u(x)/f_v(x),其中fuf_u为原始标准正态密度函数,fvf_v为当前建议分布的密度函数。这些权重至关重要:参数更新并非对精英样本的简单平均,而是基于似然比加权的建议分布参数精调。

随后将建议分布更新为v=(μi,σi)v=(\mu_i,\sigma_i),其中μi\mu_i由精英样本加权平均得到,σi\sigma_i则由加权二阶矩表达式计算得出。主讲人将此描述为基于精英样本的最大似然更新;但所展示的方差公式以 `eliteXs.mean()` 为中心,而非 `mu_i`;该细节需对照预期教材推导加以核实。

交叉熵循环结束后,方法由自适应阶段转入估计阶段:从最终建议分布中抽取一百万个新样本,重新计算似然比,并通过对lrs⋅1{normals>γ}\text{lrs}\cdot \mathbf{1}_{\{\text{normals}>\gamma\}}取平均来估计稀有事件概率。这是一个标准的重要性采样估计量,其建议分布由交叉熵搜索过程发现。

打印结果给出的交叉熵估计值约为 2.84×10−72.84\times 10^{-7},其近似半宽约为 1.1×10−81.1\times 10^{-8},与理论值 2.8665×10−72.8665\times 10^{-7}(来自 `stats.norm.sf(5)`)相比。主讲人强调,该估计值在量级上接近真实值,但置信区间的宽度相对较宽,数量级为 10−810^{-8}。

视频片段从一个实现交叉熵风格估计器的笔记本单元格开始。可见代码从参数为 `v[10]` 和 `v[6]` 的正态提议分布中抽取 `R=0R = 0]` 且 `v[1` 个样本,计算参数为 `u` 和 `v` 的正态密度之间的似然比,将这些比值乘以稀有事件指示器 `(normals > γ)`,然后对结果取平均以得到 `fHat`。置信区间半宽计算为 `widthCI = 1.96 * oHat / np.sqrt(R)`。输出块报告 `CE estimate: 2.8433488092847927e-07 (+/- 1.1057152778688466e-08)` 和 `理论值:2.866515718791933e-07`, 因此该数值示例直接将蒙特卡洛估计值与理论基准值进行比较。

随后页面向下滚动至一个新的代码单元格,其目的偏重几何直观而非数值计算。这一转换表明讨论重点正从单一的概率估计转向该方法所使用的提议分布的形状及其演化过程。

主讲人说:“我们来可视化交叉熵方法构建的一系列提议分布。”下方代码创建网格 `xs = np.linspace(-2, 6.5, 500)` 并分配数组 `ys = np.empty((len(xs), len(vs)))`。其中关键的数学思想是:每个已存储的参数向量 `v` 定义了一个正态提议密度;在统一的 x 网格上对该密度求值,便可在同一张图中直接比较不同提议分布。

讲解继续指出,在交叉熵运行过程中,算法将 `v` 向量存储在一个名为 `vs` 的列表中。因此 `vs` 不仅是辅助性的记录工作,更是该方法自适应提议分布序列的完整轨迹记录。通过对 `vs` 进行循环,即可复现该方法在参数空间中所走过的路径。

循环内部,代码使用 `for i, v in enumerate(vs): ys[:,i] = stats.norm.pdf(xs, v[0], v[1])`。从数学角度看,`ys` 的第 `i` 列是在网格 `xs` 上采样的函数 x↦ϕ(x;v[0],v[1])x \mapsto \phi(x; v[0], v[1]),其中 ϕ\phi 表示均值为 `v[0]`、标准差为 `v[1]` 的正态概率密度函数。因此,将所有列一同绘图,即可叠加显示整组提议密度函数的序列。

主讲人明确解释了该编程结构:`enumerate` 同时返回索引 `i` 和元素 `v`。这一点在此处至关重要,因为索引标明了交叉熵方法的哪一次迭代生成了哪一个提议向量,从而确保可视化序列能按正确顺序排列。

代码单元格的最后一部分构建了用于对比的目标曲线。首先,通过 `xOverGamma = xs[xs > γ]` 将网格限制在尾部区域;接着,将归一化常数设为 `l = stats.norm.sf(γ)`,所绘制的目标密度为 `gStar = stats.norm.pdf(xOverGamma) / l`。换言之,图中展示的目标分布是标准正态密度在 `γ` 以上区域的条件分布,并经重新归一化,使其在该尾部区域上的积分等于一。

执行该单元格后,代码下方会出现一幅图像。图中包含若干条彩色钟形曲线,对应于各次迭代的提议分布,另有一条灰色虚线垂直标记阈值 `γ`。直观可见,随着序列推进,这些曲线整体右移且逐渐变窄,形象展示了交叉熵方法如何将提议分布逐步调整至稀有事件区域。归一化后的目标曲线也在同一尾部区域上绘制,从而实现学习所得提议分布与目标密度之间的直接比较。

知识卡片

01

问题设定:估计正态分布尾部概率

该例题要求计算当 P(X>γ)P(X>\gamma) 且 X∼Normal(0,1)X\sim\mathrm{Normal}(0,1) 时的 γ=5\gamma=5。该方法在正态分布提议分布 Normal(μ,σ2)\mathrm{Normal}(\mu,\sigma^2) 中搜索一种适用于该稀有事件概率的重要性抽样密度。

P(X>γ),X∼Normal(0,1),γ=5P(X > \gamma),\quad X \sim \mathrm{Normal}(0,1),\quad \gamma=5
02

零方差密度 g∗g^*

笔记本将理想密度定义为 g∗(x)=P(X=x∣X>γ)g^*(x)=\mathbb{P}(X=x\mid X>\gamma),即在稀有事件发生条件下 XX 的条件分布。该密度可使重要性抽样估计量的方差为零。

g∗(x)=P(X=x∣X>γ)g^*(x)=\mathbb{P}(X=x\mid X>\gamma)
03

通过拒绝抽样获得 g∗g^* 个样本

由于 g∗g^* 仅为原始分布以 X>γX>\gamma 为条件后的结果,视频中先生成大量标准正态随机数,再仅保留超过阈值的那些样本。代码实现为 `Xs = rng.normal(size=R)`,随后执行 `Xs = Xs[Xs > gamma]`,其中 R=5×108R=5\times 10^8。

Keep {Xi:Xi>γ},Xi∼Normal(0,1)\text{Keep } \{X_i:X_i>\gamma\},\quad X_i\sim\mathrm{Normal}(0,1)
04

拒绝阶段的结果

执行后的笔记本报告称,仅有 152 个样本通过了过滤器,而原始抽取样本数为 5×1085\times 10^8。这一极小的接受数量说明了直接模拟对于此类稀有事件为何效率低下。

05

通过最大似然法拟合正态提议分布

保留下来的g∗g^*个样本用于拟合建议分布。代码设置 `mu = np.mean(Xs)` 和 `sigma = np.sqrt(np.mean((Xs-mu)**2))`,旁白指出这两个量是正态建议分布参数的最大似然估计。

μ^=1n∑i=1nXi∗,σ^=1n∑i=1n(Xi∗−μ^)2\hat{\mu}=\frac{1}{n}\sum_{i=1}^{n}X_i^{*},\qquad \hat{\sigma}=\sqrt{\frac{1}{n}\sum_{i=1}^{n}(X_i^{*}-\hat{\mu})^2}
06

重要性抽样估计量

使用拟合的建议分布,最终单元格从 10610^6 中抽取 Normal(μ^,σ^2)\mathrm{Normal}(\hat{\mu},\hat{\sigma}^2) 个样本,计算似然比 f/qf/q,乘以事件 X>γX>\gamma 的示性函数,并对结果取平均以得到 `lHat`。

L^=1R∑j=1Rf(Zj)q(Zj)1{Zj>γ}\hat{L}=\frac{1}{R}\sum_{j=1}^{R}\frac{f(Z_j)}{q(Z_j)}\mathbf{1}_{\{Z_j>\gamma\}}
07

笔记本报告的置信区间

代码计算 `oHat = ests.std()` 和 `widthCI = 1.96 * oHat / np.sqrt(R)`,然后输出上下界 `lHat-widthCI` 和 `lHat+widthCI`。因此,`widthCI` 是以估计值为中心的对称区间的半宽。

L^±1.96 o^R\hat{L}\pm 1.96\,\frac{\hat{o}}{\sqrt{R}}
08

数值结果与理论验证

输出的估计值约为2.85×10−72.85\times 10^{-7},半宽约为8.28×10−108.28\times 10^{-10};而标准正态分布的生存概率在5处的理论值约为2.87×10−72.87\times 10^{-7}。旁白强调该区间半宽极小,以此说明该方法的高效性。

09

为何直接拒绝采样不足够

视频开头指出,先前的例子‘取巧’了,因为该稀有事件并不十分罕见,从而可以通过拒绝采样直接从g∗g^*中采样。而对于真正稀有的事件,这条路径通常耗时过长,因此需要改用自适应方法。

10

原始交叉熵方法的核心思想

原始交叉熵方法构建一系列逐步改进的建议分布。该过程在某个建议分布已足够好、可用于估计稀有事件概率P(X>γ)\mathbb{P}(X>\gamma)时停止。

11

笔记本中 u、v 和 vs 的作用

`u` 存储原始分布的参数,此处为标准正态分布的(0,1)(0,1);`v` 存储当前建议分布的参数;`vs` 在交叉熵迭代过程中累积历次的建议参数向量。

u=(0,1),v←(μi,σi),vs=[v0,v1,… ]u=(0,1),\quad v\leftarrow(\mu_i,\sigma_i),\quad vs=[v_0,v_1,\dots]
12

交叉熵循环:采样与精英阈值

在每次迭代中,从当前提议分布中抽取 RR 个样本。计算 Normal(v[0],v[1])\mathrm{Normal}(v[0],v[1]) 作为经验 γi\gamma_i-分位数,其中 (1−p)(1-p),因此这是 p=0.05p=0.05% 的阈值。如果 95,则停止;否则将高于 γi≥γ\gamma_i\ge \gamma 的样本保留为精英样本。γi\gamma_i as elites.

γi=Q1−p(Xs),p=0.05\gamma_i = Q_{1-p}(X_s),\quad p=0.05
13

对精英样本进行似然比加权

对精英样本,按原始密度与当前建议密度之比计算权重。主讲人明确提醒:更新建议分布参数时,必须使用这些似然比。

w(x)=fu(x)fv(x)w(x)=\frac{f_u(x)}{f_v(x)}
14

基于加权精英样本更新建议分布

下一个提议分布的均值和尺度参数由加权精英样本摘要计算得出:均值是精英样本的加权平均值;尺度参数是一个加权的标准差型量。口述描述称此为最大似然更新,而屏幕上显示的方差公式在平方偏差中使用了 `eliteXs.mean()`。

μi=avg⁡w(x),σi=avg⁡w((x−xˉelite)2)\mu_i=\operatorname{avg}_w(x),\quad \sigma_i=\sqrt{\operatorname{avg}_w\big((x-\bar{x}_{\text{elite}})^2\big)}
15

交叉熵法之后的最终重要性抽样估计量

一旦交叉熵循环结束,便使用收敛后的提议分布进行常规的重要性抽样:从最终提议分布中重新抽取样本,将稀有事件指示器乘以似然比,再取平均值以估计尾部概率。

p^=1R∑j=1Rfu(Yj)fv(Yj)1{Yj>γ}\hat{p}=\frac{1}{R}\sum_{j=1}^{R}\frac{f_u(Y_j)}{f_v(Y_j)}\mathbf{1}_{\{Y_j>\gamma\}}
16

P(X>5)P(X>5) 的数值结果

对于 X∼Normal(0,1)X\sim\mathrm{Normal}(0,1) 和 γ=5\gamma=5,屏幕上显示的估计值约为 2.84×10−72.84\times10^{-7},其近似置信半宽约为 1.1×10−81.1\times10^{-8},而正态生存函数给出的理论值为 2.8665×10−72.8665\times10^{-7}。

p^≈2.8433×10−7,ptheory≈2.8665×10−7\widehat{p}\approx 2.8433\times10^{-7},\quad p_{\text{theory}}\approx 2.8665\times10^{-7}
17

代码中展示的交叉熵加权估计量

首个笔记本单元格实现了一种稀有事件估计器:从正态提议分布中抽样,计算两个正态密度之间的似然比,并乘以事件 `normals > γ` 的指示函数。该估计量即为这些加权指示函数的样本均值;代码还利用 `1.96 * oHat / np.sqrt(R)` 报告了一个近似的置信半宽。输出结果将该估计值与理论值进行了对比。

ests=lrs∗(normals>γ);fHat=ests.mean();widthCI=1.96∗oHat/np.sqrt(R)ests = lrs * (normals > γ); fHat = ests.mean(); widthCI = 1.96 * oHat / np.sqrt(R)
18

数值型交叉熵估计值与理论值的对比

可见输出为 `CE estimate: 2.8433488092847927e-07 (+/- 1.1057152778688466e-08)` 和 `Theoretical: 2.866515718791933e-07`。本例同时展示了同一稀有事件概率的随机估计结果与确定性基准值。

CEestimate:2.8433488092847927e−07;Theoretical:2.866515718791933e−07CE estimate: 2.8433488092847927e-07; Theoretical: 2.866515718791933e-07
19

存储的提议向量 `vs` 记录了交叉熵方法的演进路径

主讲人解释道,在交叉熵方法运行过程中,它将参数向量 `v` 存入名为 `vs` 的列表中。`vs` 中的每个元素代表自适应序列中的一个提议分布,因此遍历 `vs` 即可复现该方法在各次迭代中的演化过程。

20

在统一网格上逐个评估各提议概率密度函数

为可视化这些提议分布,代码构建网格 `xs = np.linspace(-2, 6.5, 500)`,并填充矩阵 `ys`,其各列分别对应每个已存储向量 `v` 所定义的正态概率密度函数。因此,循环 `for i, v in enumerate(vs): ys[:,i] = stats.norm.pdf(xs, v[0], v[1])` 将参数的历史记录转化为可相互比较的密度曲线。

fori,vinenumerate(vs):ys[:,i]=stats.norm.pdf(xs,v[0],v[1])for i, v in enumerate(vs): ys[:,i] = stats.norm.pdf(xs, v[0], v[1])
21

绘图循环中 `enumerate` 的含义

讲解明确指出,`enumerate` 是一个便捷函数,它同时返回索引 `i` 和元素 `v`。在此上下文中,索引标识了存储序列中某个提议所处的位置,而 `v` 则提供该提议对应的正态分布参数。

22

归一化目标密度 `gStar` 的构造

图中绘制的目标曲线仅基于尾部区域 `x>γx > γ` 构建。代码首先选取 `xOverGamma = xs[xs > γ]`,然后计算 `l = stats.norm.sf(γ)`,最后定义 `gStar = stats.norm.pdf(xOverGamma) / l`。讲解者指出,在这一简单情形下,`l` 即为已知的归一化常数。

xOverGamma=xs[xs>γ];l=stats.norm.sf(γ);gStar=stats.norm.pdf(xOverGamma)/lxOverGamma = xs[xs > γ]; l = stats.norm.sf(γ); gStar = stats.norm.pdf(xOverGamma) / l
23

最终图像展示不断演化的提议分布与阈值

执行完毕后,图像中显示多条不同颜色的钟形提议曲线,以及一条位于阈值处的灰色虚线。视觉模式表明这些提议曲线正逐渐向右移动并变窄,直观呈现了对稀有事件区域的自适应过程,并支持在相同坐标轴上与目标密度进行对比。

详细学习笔记

按知识点查看条件、步骤和证据。补充解释与视频直接内容分别标明。

符号定义 · 46

γ\gamma

依据清楚
视频直接表达
来源依据
  1. 公式
    观察依据

    笔记本文本中写明 `gamma = 5`,而题目陈述中使用了 `P(X > gamma)`。

  2. 声音
    观察依据

    讲述者指出,该例题估算标准正态变量超过一个较大阈值 gamma 的情形。

符号

γ\gamma

含义

定义稀有事件 X>γX>\gamma 的阈值。

适用范围

实数;在本例中为 γ=5\gamma=5。

X

依据清楚
视频直接表达
来源依据
  1. 公式
    观察依据

    笔记本中写明 `X ~ Normal(0, 1)`。

  2. 声音
    观察依据

    讲述者所指为标准正态变量。

符号

X

含义

其超出概率正被估算的随机变量。

适用范围

对应的式子为:X∼Normal(0,1)X \sim \mathrm{Normal}(0,1)。

g^*

依据清楚
视频直接表达
来源依据
  1. 公式
    观察依据

    笔记本中写为 `g∗(x)=Pg*(x) = P(X=xX = x | X > gamma)`。

  2. 声音
    观察依据

    讲述者称其为零方差密度 g∗g^*,并解释为在稀有事件发生条件下 XX 的分布。

待核验内容
  1. 屏幕上显示的记号对连续型随机变量使用了 `P(X=xX = x | X > gamma)`;视频未讨论这一记号问题。

符号

g^*

含义

零方差重要性抽样密度,等于 XX 在给定 X>γX>\gamma 条件下的条件分布。

适用范围

在x>γx>\gamma处的密度值。

μ\mu

依据清楚
视频直接表达
来源依据
  1. 公式
    观察依据

    代码在关于拟合重要性采样提议分布的注释下计算 `mu = np.mean(Xs)`。

  2. 声音
    观察依据

    讲述者称,该提议密度是通过求 mu 和 sigma 的最大似然估计而构造的。

符号

μ\mu

含义

所拟合的正态重要性采样提议分布的均值参数。

适用范围

由保留下来的g∗g^*个样本估计出的实数。

σ\sigma

依据清楚
视频直接表达
来源依据
  1. 公式
    观察依据

    代码计算 `sigma = np.sqrt(np.mean((Xs-mu)**2))`。

  2. 声音
    观察依据

    讲述者称,该提议密度是通过求 mu 和 sigma 的最大似然估计而构造的。

符号

σ\sigma

含义

所拟合的正态重要性采样提议分布的标准差参数。

适用范围

由保留下来的g∗g^*个样本估计出的正实数。

R

依据清楚
视频直接表达
来源依据
  1. 公式
    观察依据

    首个模拟单元格在调用 `rng.normal(size=R)` 前设置 `R=5∗10R = 5 * 10**8`。

  2. 声音
    观察依据

    讲述者称,他们模拟了五乘以十的八次方个 X 样本。

符号

R

含义

用于拒绝采样以获得g∗g^*个样本的原始标准正态随机数个数。

适用范围

在第一个单元格中,R=5×108R=5\times 10^8。

R

依据清楚
视频直接表达
来源依据
  1. 公式
    观察依据

    最终估计单元格在绘制 `normals = rng.normal(mu, sigma, R)` 之前设置 `R=10R = 10**6`。

待核验内容
  1. 同一符号名 `R` 在后续单元格中被重复使用,但取值不同。

符号

R

含义

从拟合的重要性抽样建议分布中抽取的样本数量。

适用范围

在最后一个单元格中,R=106R=10^6。

lrs

依据清楚
视频直接表达
来源依据
  1. 公式
    观察依据

    代码计算 `lrs = stats.norm.pdf(normals, 0, 1) / stats.norm.pdf(normals, mu, sigma)`。

  2. 声音
    观察依据

    讲解者表示他们将采用正态重要性抽样估计法继续进行。

符号

lrs

含义

在建议样本处计算的似然比(重要性权重)f(x)/g(x)f(x)/g(x)。

适用范围

每个抽样得到的 `normals` 点对应的正实数值。

ests

依据清楚
视频直接表达
来源依据
  1. 公式
    观察依据

    代码计算 `ests = lrs * (normals > gamma)`。

符号

ests

含义

稀有事件的加权指示估计值:当建议样本超过γ\gamma时,该值等于似然比;否则为零。

适用范围

非负实数数组。

L^\hat{L}

依据清楚
视频直接表达
来源依据
  1. 公式
    观察依据

    代码计算 `lHat = ests.mean()` 并打印 `ICE 估计值`。

  2. 声音
    观察依据

    讲述者称他们打印出概率估计量 L 帽。

符号

L^\hat{L}

含义

P(X>γ)P(X>\gamma) 的重要性抽样估计量,计算为数组 `ests` 的样本均值。

适用范围

实数;打印出的值约为 2.8499557494141556×10−72.8499557494141556\times 10^{-7}。

o^\hat{o}

依据清楚
视频直接表达
来源依据
  1. 公式
    观察依据

    代码计算 `oHat = ests.std()`。

符号

o^\hat{o}

含义

加权估计量数组 `ests` 的样本标准差,用于构造置信区间的半宽。

适用范围

非负实数。

widthCI

依据清楚
视频直接表达
来源依据
  1. 公式
    观察依据

    代码计算 `widthCI = 1.96 * oHat / np.sqrt(R)`。

  2. 声音
    观察依据

    讲述者称该估计量的置信区间宽度数量级为十的负十次方。

待核验内容
  1. 代码将该量标记为 `widthCI`,但数值上它是对称区间的半宽,因为它被加到和减去 `lHat`。

符号

widthCI

含义

重要性抽样估计量所报告置信区间的半宽。

适用范围

正实数;打印出的值约为 8.28267698086911×10−108.28267698086911\times 10^{-10}。

知识点 · 13

稀有事件估计的问题设定

依据清楚
视频直接表达
来源依据
  1. 公式
    观察依据

    笔记本标题为“改进的交叉熵法”,正文写道:“使用改进的交叉熵法估计 P(X > gamma),其中 X ~ Normal(0, 1),且 gamma = 5。考虑形式为 Normal(mu, sigma^2) 的重要性抽样分布。”

  2. 声音
    观察依据

    讲解者引入一个简单例子,用于估计标准正态变量超过较大阈值 gamma 的概率,并表示将在正态分布族中寻找最优的重要性抽样密度。

定义
解释

该片段将目标量定义为标准正态随机变量的超越概率P(X>γ)P(X>\gamma),其中γ=5\gamma=5,并将重要性抽样建议分布族限定为以(μ,σ2)(\mu,\sigma^2)为参数的正态分布。

公式
P(X>γ),X∼Normal(0,1),γ=5,q(x)=Normal(μ,σ2)P(X > \gamma),\quad X \sim \mathrm{Normal}(0,1),\quad \gamma=5,\quad q(x)=\mathrm{Normal}(\mu,\sigma^2)
适用条件
  1. 原始分布是标准正态分布。

  2. 稀有事件是X>γX>\gamma。

  3. 建议分布族被限定为正态分布。

零方差密度即为给定稀有事件条件下的条件分布

依据清楚
视频直接表达
来源依据
  1. 公式
    观察依据

    笔记本正文写道:“首先,为从 g∗(x)=Pg*(x) = P(X=xX = x | X > gamma) 中抽样,只需大量抽取 X 并筛选出满足 X > gamma 的样本。”

  2. 声音
    观察依据

    讲解者指出第一步是从零方差密度g∗g^*中抽样,即在稀有事件发生条件下XX的分布。

待核验内容
  1. 所显示的公式对连续型变量使用了 `P(X=xX = x | X > gamma)`;视频未对此记号加以说明。

定义
解释

视频指出,理想的重采样重要性密度g∗g^*是当稀有事件发生时XX的条件分布,即给定X>γX>\gamma时的条件分布。该密度可使重要性采样估计量的方差为零。

公式
g∗(x)=P(X=x∣X>γ)g^*(x)=\mathbb{P}(X=x\mid X>\gamma)
适用条件
  1. 适用于稀有事件概率P(X>γ)P(X>\gamma)。

  2. g∗g^*仅在事件区域x>γx>\gamma上有定义。

先修条目
  1. 稀有事件估计的问题设定

使用拒绝采样从g∗g^*中获取样本

依据清楚
视频直接表达
来源依据
  1. 公式
    观察依据

    代码单元格执行 `Xs = rng.normal(size=R)`,随后执行 `Xs = Xs[Xs > gamma]`。

  2. 声音
    观察依据

    讲述者表示,他们可以生成大量 X 的样本,然后仅保留那些超过阈值的样本,并明确将此过程称为拒绝采样。

方法
解释

由于g∗g^*是XX在给定X>γX>\gamma条件下的条件分布,视频通过生成大量原始标准正态随机变量并仅保留其中大于阈值的那些,来近似获得g∗g^*个样本。所保留的子集随后被视作来自g∗g^*的样本。

公式
Draw X1,…,XR∼Normal(0,1),keep {Xi:Xi>γ}\text{Draw } X_1,\dots,X_R \sim \mathrm{Normal}(0,1),\quad \text{keep } \{X_i:X_i>\gamma\}
适用条件
  1. 要求能直接从原始分布X∼Normal(0,1)X\sim\mathrm{Normal}(0,1)中采样。

  2. 接受规则为Xi>γX_i>\gamma。

  3. 所保留的样本用于估计提议分布的参数。

先修条目
  1. 零方差密度即为给定稀有事件条件下的条件分布

对 g∗g^* 个样本进行正态提议分布的最大似然拟合

依据清楚
视频直接表达
来源依据
  1. 公式
    观察依据

    代码在注释 `# 将我们的重要性采样提议分布拟合到这些 g* 样本` 下计算 `mu = np.mean(Xs)` 和 `sigma = np.sqrt(np.mean((Xs-mu)**2))`。

  2. 声音
    观察依据

    讲述者表示,他们通过针对这些样本求出 mu 和 sigma 的最大似然估计,来构建重要性采样提议密度。

方法
解释

在获得来自 g∗g^* 的样本后,视频通过将提议分布的均值设为样本均值、标准差设为这些保留样本的二阶中心矩的平方根,来拟合一个正态重要性采样提议分布。

公式
μ^=1n∑i=1nXi∗,σ^=1n∑i=1n(Xi∗−μ^)2\hat{\mu}=\frac{1}{n}\sum_{i=1}^{n}X_i^{*},\qquad \hat{\sigma}=\sqrt{\frac{1}{n}\sum_{i=1}^{n}(X_i^{*}-\hat{\mu})^2}
适用条件
  1. 所拟合的提议分布族是正态分布。

  2. 用于拟合的数据是满足 X>γX>\gamma 的保留样本。

  3. 对 σ\sigma 的估计量采用除以 nn 的方式,与代码 `np.mean((Xs-mu)**2)` 一致,而非无偏样本方差。

先修条目
  1. 使用拒绝采样从g∗g^*中获取样本
  2. 稀有事件估计的问题设定

针对 P(X>γ)P(X>\gamma) 的正态重要性采样估计量

依据清楚
视频直接表达
来源依据
  1. 公式
    观察依据

    代码计算 `lrs = stats.norm.pdf(normals, 0, 1) / stats.norm.pdf(normals, mu, sigma)`,然后计算 `ests = lrs * (normals > gamma)`,最后计算 `lHat = ests.mean()`。

  2. 声音
    观察依据

    讲述者表示,改进的交叉熵算法已全部完成,并提供了一个良好的重要性采样提议分布;随后他们执行标准正态重要性采样估计,并输出概率估计值 L hat。

公式
解释

利用所拟合的提议密度,视频通过对从该提议分布中抽取的样本,计算似然比与稀有事件指示函数的乘积并取平均,来估计稀有事件概率。这是标准重要性采样估计量在指示事件 X>γX>\gamma 上的特例。

公式
L^=1R∑j=1Rf(Zj)q(Zj)1{Zj>γ},Zj∼q=Normal(μ^,σ^2)\hat{L}=\frac{1}{R}\sum_{j=1}^{R}\frac{f(Z_j)}{q(Z_j)}\mathbf{1}_{\{Z_j>\gamma\}},\quad Z_j\sim q=\mathrm{Normal}(\hat{\mu},\hat{\sigma}^2)
适用条件
  1. ff 是标准正态密度。

  2. qq是拟合的正态建议密度。

  3. 样本ZjZ_j是从qq中抽取的,而非从ff中抽取。

  4. 事件指示器为1{Zj>γ}\mathbf{1}_{\{Z_j>\gamma\}}。

先修条目
  1. 对 g∗g^* 个样本进行正态提议分布的最大似然拟合
  2. 稀有事件估计的问题设定

重要性抽样估计值的报告置信区间

依据清楚
视频直接表达
来源依据
  1. 公式
    观察依据

    代码计算 `oHat = ests.std()` 和 `widthCI = 1.96 * oHat / np.sqrt(R)`,然后将上下界分别打印为 `lHat-widthCI` 和 `lHat+widthCI`。

待核验内容
  1. 视频未口头说明使用1.96的理由,也未陈述该区间背后所依赖的正态近似假设。

公式
解释

笔记本报告了一个以估计值为中心的对称区间,其半宽为1.96乘以加权估计量的样本标准差,再除以建议样本数量的平方根。因此,打印出的上下界为L^±\hat{L}\pm`widthCI`。

公式
L^±1.96 o^R,o^=std⁡(ests)\hat{L}\pm 1.96\,\frac{\hat{o}}{\sqrt{R}},\qquad \hat{o}=\operatorname{std}(\text{ests})
适用条件
  1. 使用`ests`的样本标准差。

  2. 在最后一个单元格中,使用的RR与建议样本数量相同。

  3. 该区间仅作为数值摘要呈现;视频未推导其覆盖性质。

先修条目
  1. 针对 P(X>γ)P(X>\gamma) 的正态重要性采样估计量

原始交叉熵方法的目的

依据清楚
视频直接表达
来源依据
  1. 声音
    观察依据

    讲话者指出,原始交叉熵方法旨在规避直接拒绝抽样耗时过长的问题。

  2. 公式
    观察依据

    Markdown 标题为 `交叉熵方法`,并说明 `使用交叉熵方法估计 P(X > gamma),其中 X ~ Normal(0, 1),且 gamma = 5`。

定义
解释

本视频介绍了原始的交叉熵方法,它是一种用于罕见事件概率估计的自适应蒙特卡洛策略。该方法并不直接从目标建议分布中采样,而是构建一系列建议分布,通过迭代不断改进,直至得到一个足以估计P(X>γ)\mathbb{P}(X>\gamma)的建议分布。

公式
适用条件
  1. 当直接从一个优良的建议分布中采样不切实际或速度过慢时使用。

  2. 此处将其应用于估计正态随机变量的尾部概率。

建议分布的迭代构造

依据清楚
视频直接表达
来源依据
  1. 声音
    观察依据

    主讲人指出,其思想是构建一系列越来越优的建议分布,并在获得一个足够优良的建议分布时停止。

方法
解释

交叉熵方法构建一系列建议分布,而非依赖单一固定建议分布。每次迭代都会调整参数,使建议分布在罕见事件区域中更加有效;当建议分布被认为已足够好时,过程即终止。

公式
适用条件
  1. 需要一个建议分布参数的更新规则。

  2. 停止准则基于当前迭代是否达到目标罕见事件水平。

先修条目
  1. 原始交叉熵方法的目的

正态分布尾部概率估计示例

依据清楚
视频直接表达
来源依据
  1. 公式
    观察依据

    Markdown 中写道:`使用交叉熵方法估计 P(X > gamma),其中 X ~ Normal(0, 1),且 gamma = 5`。

  2. 公式
    观察依据

    代码中设置 `u=(0,1)u = (0, 1)`,并与 `stats.norm.sf(gamma)` 进行比较。

方法
解释

该例题估算上尾概率P(X>5)\mathbb{P}(X>5)在X∼Normal(0,1)X\sim\mathrm{Normal}(0,1)处的取值。原始分布由`u=(0,1)u=(0,1)`编码,理论基准则通过`stats.norm.sf(gamma)`计算得到。

公式
P(X>γ),X∼Normal(0,1),γ=5\mathbb{P}(X>\gamma),\quad X\sim\mathrm{Normal}(0,1),\quad \gamma=5
适用条件
  1. 原始分布是标准正态分布。

  2. 目标事件是超过一个固定阈值γ\gamma。

先修条目
  1. 原始交叉熵方法的目的

交叉熵自适应后的最终估计步骤

依据清楚
视频直接表达
来源依据
  1. 声音
    观察依据

    主讲人说,一旦交叉熵(CE)优化完成,他们就采用其找到的建议分布,执行一次常规的重要抽样估计。

  2. 公式
    观察依据

    第二个代码单元格采样 `normals = rng.normal(v[0], v[1], R)` 并计算 `ests = lrs * (normals > gamma)`。

方法
解释

在交叉熵循环确定建议分布后,视频对该建议分布单独执行一次重要抽样估计:从收敛后的正态建议分布中抽取样本,计算这些样本相对于原始分布的似然比,并用这些权重对稀有事件的示性函数取加权平均。

公式
p^=1R∑j=1Rfu(Xj)fv(Xj)1{Xj>γ},Xj∼fv\widehat{p}=\frac{1}{R}\sum_{j=1}^{R} \frac{f_u(X_j)}{f_v(X_j)}\mathbf{1}_{\{X_j>\gamma\}},\quad X_j\sim f_v
适用条件
  1. 使用交叉熵循环结束后保存在 `v` 中的最终建议分布参数。

  2. 需要计算原始分布与建议分布密度之间的似然比。

先修条目
  1. 建议分布的迭代构造
  2. 正态分布尾部概率估计示例

交叉熵加权估计量及其置信区间

依据清楚
视频直接表达
来源依据
  1. 公式
    观察依据

    可见代码计算 `lrs`,然后计算 `ests = lrs * (normals > γ)`,再计算 `fHat = ests.mean()` 和 `widthCI = 1.96 * oHat / np.sqrt(R)`。

  2. 公式
    观察依据

    输出显示 `CE 估计值`、`CE 下界`、`CE 上界` 和 `理论值`。

方法
解释

本片段展示了一种蒙特卡洛实现:从正态建议分布中抽取样本,计算两个正态密度之间的似然比,并将这些似然比乘以稀有事件 `normals > γ` 的示性函数。该估计量即为这些加权示性函数的样本均值;而近似置信区间则由样本标准差除以 `sqrt(R)` 后再乘以 1.96 构成。

公式
ests=lrs∗(normals>γ);fHat=ests.mean();widthCI=1.96∗oHat/np.sqrt(R)ests = lrs * (normals > γ); fHat = ests.mean(); widthCI = 1.96 * oHat / np.sqrt(R)
适用条件
  1. 样本从参数为 `v[0]`、`v[1]` 的正态建议分布中抽取。

  2. 似然比使用参数分别为 `u` 和 `v` 的正态密度。

  3. 稀有事件由阈值 `γ` 定义。

  4. `R` 是样本数量。

可视化交叉熵法中提议分布序列

依据清楚
视频直接表达
来源依据
  1. 声音
    观察依据

    主讲人说:“我们来可视化交叉熵方法所构建的建议分布序列。”

  2. 公式
    观察依据

    代码遍历 `vs`,并执行赋值 `ys[:,i] = stats.norm.pdf(xs, v[0], v[1])`。

  3. 图示
    观察依据

    后续图表展示了多条彩色钟形曲线,它们整体向右平移且逐渐变窄。

方法
解释

主讲人解释道,交叉熵法将每个参数向量 `v` 存储在一个名为 `vs` 的列表中;通过遍历 `vs`,并在固定网格 `xs` 上逐个计算 `stats.norm.pdf(xs, v[0], v[1])`,即可绘出算法运行过程中生成的全部提议密度函数序列。

公式
fori,vinenumerate(vs):ys[:,i]=stats.norm.pdf(xs,v[0],v[1])for i, v in enumerate(vs): ys[:,i] = stats.norm.pdf(xs, v[0], v[1])
适用条件
  1. `vs` 包含已存储的提议分布参数向量。

  2. `xs` 是一个固定的 x 值网格。

先修条目
  1. 交叉熵加权估计量及其置信区间
定理与条件 · 6

改进的交叉熵构造完成

依据清楚
视频直接表达
来源依据
  1. 声音
    观察依据

    叙述者说:`改进的交叉熵算法现已完成,它为我们提供了一个良好的重要性抽样建议分布。`

待核验内容
  1. 称该建议分布“良好”是一种定性判断,本片段中并未辅以正式判据。

命题
命题

在将(μ^,σ^)(\hat{\mu},\hat{\sigma})拟合到保留的g∗g^*个样本后,改进的交叉熵过程生成了用于估计的重要性抽样建议分布。

前提
  1. 稀有事件模型是X∼Normal(0,1)X\sim\mathrm{Normal}(0,1),目标是P(X>γ)P(X>\gamma)。

  2. 来自g∗g^*的样本已通过拒绝抽样获得。

  3. 已通过最大似然法将一个正态建议分布拟合到这些样本上。

量词

针对本笔记本片段中的示例。

稀有事件概率及区间宽度的数值结果

依据清楚
视频直接表达
来源依据
  1. 公式
    观察依据

    输出块显示 `ICE估计值:2.8499557494141556e-07 (+/- 8.28267698086911e-10)` 和 `理论值:2.866515718791933e-07`。

  2. 声音
    观察依据

    讲解者称该稀有事件的概率为二点八乘以十的负七次方,且该估计的置信区间宽度约为十的负十次方量级。

待核验内容
  1. 口语中所说的“二点八乘以十的负七次方”是对屏幕上显示值的四舍五入;精确的显示估计值可见于屏幕。

命题
命题

对于本例,稀有事件概率的重要性抽样估计值约为2.85×10−72.85\times 10^{-7},报告的半宽约为8.28×10−108.28\times 10^{-10},理论基准值约为2.87×10−72.87\times 10^{-7}。

前提
  1. 对应的式子为:γ=5\gamma=5。

  2. 该方案的拟合过程如笔记本中所述。

  3. 最终估计使用了R=106R=10^6个方案样本。

量词

针对输出单元格中展示的具体模拟。

直接从优质建议分布实施拒绝抽样通常过于缓慢

依据清楚
视频直接表达
来源依据
  1. 声音
    观察依据

    主讲人指出,在先前的例子中,他们某种程度上‘取巧’了,因为该稀有事件并不足够稀有,因此能直接用拒绝抽样法从 g* 中抽样;但一般情况下,这种方法耗时过长。

命题
命题

当稀有事件足够稀有时,直接通过拒绝抽样法从理想建议分布中抽样在计算上是不可行的。

前提
  1. 目标事件稀有到直接从理想建议分布接受样本已变得低效。

量词

一般性实用主张,仅用口头语言陈述,未给出形式化证明。

所展示实现中的交叉熵停止条件

依据清楚
视频直接表达
来源依据
  1. 声音
    观察依据

    说话者称,本次迭代的阈值设定为X样本的95%分位数;若该值高于整体目标gamma,则停止迭代。

  2. 公式
    观察依据

    代码显示`gamma_i = np.quantile(Xs, 1-p)`及`if gamma_i >= gamma: break`,其中`p=0.05p = 0.05`。

命题
命题

在此实现中,当经验精英阈值γi\gamma_i至少达到目标阈值γ\gamma时,迭代停止。

前提
  1. 样本`Xs`从当前提议分布中抽取。

  2. `p=0.05p = 0.05`,因此`1−p=0.951-p = 0.95`。

  3. 目标阈值为`gamma = 5`。

量词

对于每次迭代ii,若γi≥γ\gamma_i\ge \gamma成立,则跳出循环。

提议参数由加权的精英样本更新

依据清楚
视频直接表达
来源依据
  1. 声音
    观察依据

    说话者称,他们将v参数更新为精英样本的最大似然估计,并且必须按其似然比对样本加权。

  2. 公式
    观察依据

    代码使用`weights=eliteLRs`对`mu_i`和`sigma_i`计算加权平均值。

待核验内容
  1. 口头说明中称采用最大似然估计,但所展示的方差公式以`eliteXs.mean()`为中心,而非`mu_i`。

命题
命题

下一组提议参数通过精英样本及其似然比权重得到:均值采用加权平均更新,尺度则采用一种加权标准差形式的表达式更新。

前提
  1. 精英样本是指取值高于γi\gamma_i的样本。

  2. 似然比定义为原始密度除以提议密度。

量词

在每次交叉熵迭代中、更新`v`之前应用。

本例中,目标密度函数具有已知的归一化常数。

依据清楚
视频直接表达
来源依据
  1. 声音
    观察依据

    说话人说:‘因为在此非常简单的情形下,我们已知其归一化常数 l。’

  2. 公式
    观察依据

    代码设定 l = stats.norm.sf(γ)。

命题
命题

对于此处绘制的目标分布,其归一化常数已知,且等于 l = stats.norm.sf(γ)。

前提
  1. 本例采用标准正态分布作为基线密度函数。

  2. 目标分布被限制在尾部区域 x>γx > γ 上。

量词

在此特定的简单情形下。

推导与证明 · 7

关于g∗g^*的拒绝抽样步骤的推导

依据清楚
视频直接表达
来源依据
  1. 公式
    观察依据

    笔记本文字说明:‘要从 g∗(x)=Pg*(x) = P(X=xX = x | X > gamma) 中抽样,只需大量生成 X 的样本,再从中提取满足 X > gamma 的那些样本。’

  2. 声音
    观察依据

    讲解者指出,由于g∗g^*是XX在稀有事件发生条件下的分布,因此可以大量生成XX的样本,仅保留其中超过阈值的样本。

直观解释
步骤
  1. 公式
    解释

    从零方差密度的定义出发,即XX在稀有事件发生条件下的条件分布。

    步骤依据

    笔记本文字与讲解均明确了g∗(x)=P(X=x∣X>γ)g^*(x)=\mathbb{P}(X=x\mid X>\gamma)。

    视频直接表达
  2. 公式
    解释

    生成一批大量未加条件的标准正态分布样本Xi∼Normal(0,1)X_i\sim\mathrm{Normal}(0,1)。

    步骤依据

    该操作通过代码 `Xs = rng.normal(size=R)` 实现。

    视频直接表达
  3. 公式
    解释

    仅保留满足Xi>γX_i>\gamma的样本。

    步骤依据

    该操作通过代码 `Xs = Xs[Xs > gamma]` 实现,并以口头描述方式表述为‘保留超过阈值的那些样本’。

    视频直接表达
  4. 公式
    解释

    将保留下来的样本视为来自g∗g^*的样本。

    步骤依据

    根据定义,将随机变量以事件X>γX>\gamma为条件进行处理,恰好得到该拒绝规则下被接受样本的分布。

    依据视频推导
结论

从原始标准正态分布出发进行拒绝采样,可生成服从条件密度g∗g^*的样本,该密度用于拟合提议分布。

从拟合的提议分布到重要性采样估计及其置信区间

依据清楚
视频直接表达
来源依据
  1. 公式
    观察依据

    代码首先计算 `mu = np.mean(Xs)` 和 `sigma = np.sqrt(np.mean((Xs-mu)**2))`,然后从正态分布中采样 `normals = rng.normal(mu, sigma, R)`,再计算 `lrs`、`ests`、`lHat`、`oHat` 和 `widthCI`。

  2. 声音
    观察依据

    讲解者指出,提议密度是通过 mu 和 sigma 的最大似然估计构造的;随后,他们采用正态重要性采样法进行估计,并输出估计值与置信区间。

待核验内容
  1. 视频未明确写出所要最大化的似然函数;最大似然估计的解释是结合讲解内容及样本均值、样本二阶中心矩公式推断得出的。

直观解释
步骤
  1. 公式
    解释

    利用保留下来的g∗g^*个样本,通过样本均值和样本二阶中心矩的平方根来估计正态提议分布的参数。

    步骤依据

    代码实现了 `mu = np.mean(Xs)` 和 `sigma = np.sqrt(np.mean((Xs-mu)**2))`;讲解者称这些为最大似然估计。

    视频直接表达
  2. 公式
    解释

    绘制 R=106R=10^6 个来自拟合的正态建议分布 Normal(μ^,σ^2)\mathrm{Normal}(\hat{\mu},\hat{\sigma}^2)。

    步骤依据

    由 `normals = rng.normal(mu, sigma, R)` 实现。

    视频直接表达
  3. 公式
    解释

    对每个提议样本,使用标准正态密度作分子、拟合的正态密度作分母,计算似然比f(Zj)/q(Zj)f(Z_j)/q(Z_j)。

    步骤依据

    通过 `lrs = stats.norm.pdf(normals, 0, 1) / stats.norm.pdf(normals, mu, sigma)` 实现。

    视频直接表达
  4. 公式
    解释

    将每个似然比乘以样本超过阈值的示性函数,得到 `ests = lrs * (normals > gamma)`。

    步骤依据

    这是事件概率 P(X>γ)P(X>\gamma) 的重要性抽样被积函数。

    视频直接表达
  5. 公式
    解释

    对 `ests` 取平均得到 `lHat`,并用其样本标准差与 `1.96 / sqrt(R)` 一起计算所报告置信区间的半宽。

    步骤依据

    通过 `lHat = ests.mean()`、`oHat = ests.std()` 和 `widthCI = 1.96 * oHat / np.sqrt(R)` 实现。

    视频直接表达
结论

拟合出的建议分布随后用于标准的重要性抽样估计量,笔记本同时报告点估计值和对称置信区间。

对屏幕上显示的交叉熵迭代步骤进行逐步推导。

依据清楚
视频直接表达
来源依据
  1. 声音
    观察依据

    主讲人逐步讲解该循环:从当前提议分布采样,计算本次迭代的阈值,若其超过gamma则停止;否则提取精英样本,计算似然比,并更新v。

  2. 公式
    观察依据

    代码块展示了从`for i in range(maxIter):`到`vs.append(v)`的完整循环。

严格证明
步骤
  1. 公式
    Xs∼Normal(v[0],v[1]),∣Xs∣=RX_s \sim \mathrm{Normal}(v[0], v[1]),\quad |X_s|=R
    解释

    在第ii次迭代中,从当前由`v`参数化的提议分布中抽取一批共RR个样本。

    步骤依据

    代码中体现为`Xs = rng.normal(v[0], v[1], R)`,主讲人口头描述为“从当前提议分布中采样”。

    视频直接表达
  2. 公式
    γi=Q1−p(Xs)\gamma_i = Q_{1-p}(X_s)
    解释

    将本次迭代的阈值计算为所采样本批次的经验(1−p)(1-p)-分位数。

    步骤依据

    代码中体现为`gamma_i = np.quantile(Xs, 1-p)`;主讲人指出这是95%阈值,因为`p=0.05p = 0.05`。

    视频直接表达
  3. 公式
    if γi≥γ, stop\text{if } \gamma_i \ge \gamma,\ \text{stop}
    解释

    如果精英阈值已达到或超过目标稀有事件水平,则终止自适应循环。

    步骤依据

    在代码中体现为 `if gamma_i >= gamma: break`,并以口头形式表述为停止规则。

    视频直接表达
  4. 公式
    eliteXs={x∈Xs:x>γi}\text{eliteXs} = \{x\in X_s : x > \gamma_i\}
    解释

    否则,选择精英样本,即当前位于迭代阈值之上的那些样本。

    步骤依据

    在代码中体现为 `eliteXs = Xs[Xs > gamma_i]`,并以口头形式描述为提取出高于 gamma i 的精英 Xs。

    视频直接表达
  5. 公式
    w(x)=fu(x)fv(x)w(x)=\frac{f_u(x)}{f_v(x)}
    解释

    对每个精英样本,计算原始分布与当前提议分布之间的似然比。

    步骤依据

    在代码中体现为 `eliteLRs = stats.norm.pdf(eliteXs, u[0], u[1]) / stats.norm.pdf(eliteXs, v[0], v[1])`;讲话者明确称其为似然比。

    视频直接表达
  6. 公式
    μi=∑x∈eliteXsw(x)x∑x∈eliteXsw(x)\mu_i = \frac{\sum_{x\in \text{eliteXs}} w(x)x}{\sum_{x\in \text{eliteXs}} w(x)}
    解释

    将提议均值更新为精英样本的加权平均值。

    步骤依据

    在代码中体现为 `mu_i = np.average(eliteXs, weights=eliteLRs)`,并以口头形式解释为基于精英样本的最大似然估计。

    视频直接表达
  7. 公式
    σi=∑x∈eliteXsw(x)(x−xˉelite)2∑x∈eliteXsw(x)\sigma_i = \sqrt{\frac{\sum_{x\in \text{eliteXs}} w(x)(x-\bar{x}_{\text{elite}})^2}{\sum_{x\in \text{eliteXs}} w(x)}}
    解释

    根据精英样本的加权二阶矩更新提议尺度参数。

    步骤依据

    在代码中体现为 `sigma_i = np.sqrt(np.average((eliteXs-eliteXs.mean())**2, weights=eliteLRs))`。

    视频直接表达
  8. 公式
    v←(μi,σi),vs←vs∪{v}v \leftarrow (\mu_i,\sigma_i),\quad vs\leftarrow vs\cup\{v\}
    解释

    用更新后的参数对替换当前提议参数,并将新的参数向量记录到历史列表中。

    步骤依据

    在代码中体现为 `v = (mu_i, sigma_i)`,随后执行 `vs.append(v)`。

    视频直接表达
结论

所展示的算法通过阈值筛选样本、按似然比对精英点赋权,并更新提议分布参数,迭代地将正态提议分布调整至稀有事件区域,直至精英阈值达到目标水平。

最终重要抽样估计量及置信区间的推导

依据清楚
视频直接表达
来源依据
  1. 声音
    观察依据

    讲话者指出,一旦交叉熵(CE)算法完成,他们便采用其找到的提议分布,执行一次常规的重要抽样估计。

  2. 公式
    观察依据

    第二个代码单元格计算 `normals`、`lrs`、`ests`、`fHat`、`oHat` 和 `widthCI`,然后将它们连同 `stats.norm.sf(gamma)` 一并打印输出。

严格证明
步骤
  1. 公式
    Yj∼Normal(v[0],v[1]),j=1,…,RY_j \sim \mathrm{Normal}(v[0], v[1]),\quad j=1,\dots,R
    解释

    自适应完成后,从存储在 `v` 中的最终提议分布中重新抽取一批新鲜样本。

    步骤依据

    在代码中体现为 `normals = rng.normal(v[0], v[1], R)`,并以口头方式描述为执行一次常规的重要抽样估计。

    视频直接表达
  2. 公式
    ℓj=fu(Yj)fv(Yj)\ell_j = \frac{f_u(Y_j)}{f_v(Y_j)}
    解释

    针对原始分布与最终提议分布的密度函数,为这批新鲜样本计算似然比。

    步骤依据

    在代码中体现为 `lrs = stats.norm.pdf(normals, u[0], u[1]) / stats.norm.pdf(normals, v[0], v[1])`。

    视频直接表达
  3. 公式
    Zj=ℓj1{Yj>γ}Z_j = \ell_j\mathbf{1}_{\{Y_j>\gamma\}}
    解释

    将每个似然比乘以该样本是否超过目标阈值的示性函数,从而构造加权的稀有事件贡献项。

    步骤依据

    在代码中体现为 `ests = lrs * (normals > gamma)`。

    视频直接表达
  4. 公式
    p^=1R∑j=1RZj\hat{p} = \frac{1}{R}\sum_{j=1}^{R} Z_j
    解释

    将加权示性函数的样本均值作为稀有事件概率的估计值。

    步骤依据

    在代码中体现为 `fHat = ests.mean()`。

    视频直接表达
  5. 公式
    SE^=sZR,widthCI=1.96 SE^\widehat{\mathrm{SE}} = \frac{s_Z}{\sqrt{R}},\quad \text{widthCI}=1.96\,\widehat{\mathrm{SE}}
    解释

    使用加权项的样本标准差,报告一个近似的95%置信半宽。

    步骤依据

    代码中体现为 `oHat = ests.std()` 和 `widthCI = 1.96 * oHat / np.sqrt(R)`。

    视频直接表达
  6. 公式
    ptheory=P(X>γ)=stats.norm.sf(gamma)p_{\text{theory}} = \mathbb{P}(X>\gamma)=\texttt{stats.norm.sf(gamma)}
    解释

    将蒙特卡洛估计值与标准正态分布的精确生存函数进行比较。

    步骤依据

    代码中体现为 `print(f"理论值:这条公式需要核验,请通过页面反馈入口报告。")`。

    视频直接表达
结论

最终数值估计由收敛后的提议分布进行普通重要性抽样得到,并附有近似置信区间,以及与理论尾部概率的直接对比。

从可见代码推导出所展示的 CE 估计值。

依据清楚
视频直接表达
来源依据
  1. 公式
    观察依据

    代码行展示了抽样、似然比计算、按 (normals > γ) 加权、求均值、计算标准差以及置信区间宽度。

  2. 公式
    观察依据

    输出行显示了 CE 估计值、上下界以及理论值的数值结果。

数值验证
步骤
  1. 公式
    normals=rng.normal(v[0],v[1],R)normals = rng.normal(v[0], v[1], R)
    解释

    从均值为 v[0]、标准差为 v[1] 的提议正态分布中抽取 R 个样本。

    步骤依据

    直接在代码单元格中显示。

    视频直接表达
  2. 公式
    lrs=stats.norm.pdf(normals,u[0],u[1])/stats.norm.pdf(normals,v[0],v[1])lrs = stats.norm.pdf(normals, u[0], u[1]) / stats.norm.pdf(normals, v[0], v[1])
    解释

    在每个采样点处,计算参数为 `u` 的正态密度与参数为 `v` 的建议密度之间的似然比。

    步骤依据

    直接在代码单元格中显示。

    视频直接表达
  3. 公式
    ests=lrs∗(normals>γ)ests = lrs * (normals > γ)
    解释

    将每个似然比乘以稀有事件 `normals > γ` 的示性函数。

    步骤依据

    直接在代码单元格中显示。

    视频直接表达
  4. 公式
    fHat=ests.mean();oHat=ests.std();widthCI=1.96∗oHat/np.sqrt(R)fHat = ests.mean(); oHat = ests.std(); widthCI = 1.96 * oHat / np.sqrt(R)
    解释

    取样本均值作为概率估计值,样本标准差作为变异性度量,并构造一个近似的95%置信半宽。

    步骤依据

    直接在代码单元格中显示。

    视频直接表达
  5. 公式
    CEestimate:2.8433488092847927e−07(+/−1.1057152778688466e−08);Theoretical:2.866515718791933e−07CE estimate: 2.8433488092847927e-07 (+/- 1.1057152778688466e-08); Theoretical: 2.866515718791933e-07
    解释

    打印输出给出数值估计值、区间半宽以及理论对比值。

    步骤依据

    直接在输出块中可见。

    视频直接表达
结论

可见代码实现了一个基于似然比加权的蒙特卡洛估计器,并同时报告了估计值和理论对比值。

提议密度图的构建方法

依据清楚
视频直接表达
来源依据
  1. 声音
    观察依据

    主讲人说:‘如果我们遍历这个列表,就可以在某个 x 值网格上计算每个建议分布的概率密度函数。’

  2. 公式
    观察依据

    代码显示 `xs = np.linspace(-2, 6.5, 500)`, `ys = np.empty((len(xs), len(vs)))`, 以及 `ys[:,i] = stats.norm.pdf(xs, v[0], v[1])`。

视觉说明
步骤
  1. 公式
    xs=np.linspace(−2,6.5,500)xs = np.linspace(-2, 6.5, 500)
    解释

    创建一个固定的网格,包含500个x值,范围大致从-2到6.5。

    步骤依据

    直接在代码单元格中展示。

    视频直接表达
  2. 公式
    ys=np.empty((len(xs),len(vs)))ys = np.empty((len(xs), len(vs)))
    解释

    分配一个矩阵,用于存储每个提议分布对应的一列概率密度函数(PDF)值。

    步骤依据

    直接在代码单元格中展示。

    视频直接表达
  3. 公式
    fori,vinenumerate(vs):ys[:,i]=stats.norm.pdf(xs,v[0],v[1])for i, v in enumerate(vs): ys[:,i] = stats.norm.pdf(xs, v[0], v[1])
    解释

    对每个已存储的参数向量`v`,在同一网格上计算其正态分布PDF,并将结果存入第`i`列。

    步骤依据

    直接在代码单元格中展示,并在音频中加以说明。

    视频直接表达
  4. 公式
    plt.plot(xs,ys)plt.plot(xs, ys)
    解释

    将所有已存储的列对齐公共x网格作图,生成多条重叠的提议曲线。

    步骤依据

    直接在代码单元格中展示。

    视频直接表达
结论

提议分布图是通过对每个已存储的正态密度函数在共享x网格上求值,并将所有曲线一同绘制而得到的。

目标曲线 g* 的绘制构造方法

依据清楚
视频直接表达
来源依据
  1. 公式
    观察依据

    代码展示了`xOverGamma = xs[xs > γ]`、`l = stats.norm.sf(γ)`、`gStar = stats.norm.pdf(xOverGamma) / l`以及`plt.plot(xOverGamma, gStar)`。

  2. 声音
    观察依据

    主讲人表示将绘制目标分布`g star`,因为其归一化常数`l`是已知的。

视觉说明
步骤
  1. 公式
    xOverGamma=xs[xs>γ]xOverGamma = xs[xs > γ]
    解释

    将绘图网格限制在尾部区域,即满足 `x>γx > γ` 的范围。

    步骤依据

    直接在代码单元格中展示。

    视频直接表达
  2. 公式
    l=stats.norm.sf(γ)l = stats.norm.sf(γ)
    解释

    将归一化常数计算为标准正态分布的生存函数在 `γ` 处的取值。

    步骤依据

    直接在代码单元格中展示,并在音频中标识为已知的归一化常数。

    视频直接表达
  3. 公式
    gStar=stats.norm.pdf(xOverGamma)/lgStar = stats.norm.pdf(xOverGamma) / l
    解释

    通过除以 `l`,对尾部区域上的标准正态密度进行归一化。

    步骤依据

    直接在代码单元格中展示。

    视频直接表达
  4. 公式
    plt.plot(xOverGamma,gStar)plt.plot(xOverGamma, gStar)
    解释

    在尾部区域上绘制所得的归一化目标密度曲线。

    步骤依据

    直接在代码单元格中展示。

    视频直接表达
结论

图中所示的目标曲线,是将标准正态密度限制在 `x>γx > γ` 区域后、再以 `l = stats.norm.sf(γ)` 归一化所得。

例题详解 · 3

示例演算:使用改进的交叉熵方法估计标准正态分布的尾部概率

依据清楚
视频直接表达
来源依据
  1. 公式
    观察依据

    笔记本给出了完整的示例:估计 `P(X > gamma)`,其中 `X ~ Normal(0, 1)` 且 `gamma = 5`,所用建议分布形式为 `Normal(mu, sigma^2)`。

  2. 声音
    观察依据

    讲解者将此作为非常简单的例子,用以演示改进的交叉熵方法。

题目

估计 P(X>γ)P(X>\gamma) 对于 X∼Normal(0,1)X\sim\mathrm{Normal}(0,1),使用 γ=5\gamma=5 通过改进的交叉熵法和正态重要性抽样建议分布。

已知条件
  1. 对应的式子为:X∼Normal(0,1)X\sim\mathrm{Normal}(0,1)。

  2. 对应的式子为:γ=5\gamma=5。

  3. 提议分布族为Normal(μ,σ2)\mathrm{Normal}(\mu,\sigma^2)。

  4. 首次拒绝采样批次大小为R=5×108R=5\times 10^8。

  5. 最终重要性采样批次大小为R=106R=10^6。

目标

获得稀有事件概率的数值估计值及其置信区间,并与理论值进行比较。

步骤
  1. 公式
    解释

    将阈值设为γ=5\gamma=5。

    步骤依据

    如笔记本单元格 `gamma = 5` 中所示。

    视频直接表达
  2. 公式
    解释

    生成5×1085\times 10^8个标准正态样本,并仅保留大于55的样本。

    步骤依据

    通过 `Xs = rng.normal(size=R)` 和 `Xs = Xs[Xs > gamma]` 实现;讲解者称此为拒绝采样。

    视频直接表达
  3. 公式
    解释

    保留的样本数量为152。

    步骤依据

    输出行显示为 `Number of g* samples: 152`。

    视频直接表达
  4. 公式
    解释

    利用这152个保留样本的样本均值和样本二阶中心矩的平方根,拟合一个正态提议分布。

    步骤依据

    通过 `mu = np.mean(Xs)` 和 `sigma = np.sqrt(np.mean((Xs-mu)**2))` 实现;讲解中指出这是最大似然估计。

    视频直接表达
  5. 公式
    解释

    从拟合的正态提议分布中抽取10610^6个样本。

    步骤依据

    通过 `R=10R = 10**6` 和 `normals = rng.normal(mu, sigma, R)` 实现。

    视频直接表达
  6. 公式
    解释

    计算似然比和加权指示变量,然后取平均值得到估计量。

    步骤依据

    通过 `lrs = stats.norm.pdf(normals, 0, 1) / stats.norm.pdf(normals, mu, sigma)`、`ests = lrs * (normals > gamma)` 和 `lHat = ests.mean()` 实现。

    视频直接表达
  7. 公式
    解释

    报告估计值、置信区间上下界以及理论基准值。

    步骤依据

    输出行显示 `ICE estimate`、`ICE low bound`、`ICE upp bound` 和 `Theoretical`。

    视频直接表达
结果

笔记本打印 `ICE estimate: 2.8499557494141556e-07 (+/- 8.28267698086911e-10)`、`ICE low bound: 2.841672802433268e-07`、`ICE upp bound: 2.8582381563950423e-07` 和 `Theoretical: 2.866515718791933e-07`。

检验

该估计值将直接与同一输出块中打印的理论标准正态生存概率进行比较。

例题:用原始交叉熵法估计 P(X>5)P(X>5),其中 X ~ Normal(0,1) by the original cross-entropy method

依据清楚
视频直接表达
来源依据
  1. 公式
    观察依据

    Markdown 明确任务:估计 `P(X > gamma)`,其中 `X ~ Normal(0, 1)`,且 `gamma = 5`。

  2. 公式
    观察依据

    第一个代码单元格实现了交叉熵循环,参数为 `R=10R = 10**5`、`p=0.05p = 0.05`、`maxIter = 50`、`u=(0,1)u = (0, 1)`,以及 `v=uv = u`。

  3. 公式
    观察依据

    第二个代码单元格执行最终的重要性抽样,参数为 `R=10R = 10**6`,并打印结果。

  4. 声音
    观察依据

    主讲人解释了该循环、停止规则、似然比、参数更新,以及最终的重要性抽样估计。

待核验内容
  1. 收敛后精确的中间提议分布参数在本片段可见输出中未以数值形式展示。

  2. 所显示的方差更新使用了 `eliteXs.mean()` 而非 `mu_i`,导致其与口头描述的最大似然估计存在微小不一致。

题目

使用交叉熵法估计稀有事件概率P(X>γ)\mathbb{P}(X>\gamma),其中X∼Normal(0,1)X\sim\mathrm{Normal}(0,1)且γ=5\gamma=5。

已知条件
  1. 原始分布参数 `u=(0,1)u = (0, 1)`。

  2. 初始建议分布 `v=uv = u`。

  3. 交叉熵循环的抽样规模 `R=10R = 10**5`。

  4. 精英比例 `p=0.05p = 0.05`。

  5. 最大迭代次数 `maxIter = 50`。

  6. 最终重要性抽样的样本规模 `R=10R = 10**6`。

  7. 目标阈值 `gamma = 5`。

目标

计算P(X>5)\mathbb{P}(X>5)的蒙特卡洛估计值,获得近似置信区间,并与理论值进行比较。

步骤
  1. 公式
    v0←u=(0,1)v_0 \leftarrow u=(0,1)
    解释

    将建议分布初始化为原始的标准正态分布。

    步骤依据

    在代码中体现为 `u=(0,1)u = (0, 1)` 之后执行 `v=uv = u`。

    视频直接表达
  2. 公式
    repeat for i=0,…,49\text{repeat for } i=0,\dots,49
    解释

    最多运行50次自适应迭代。

    步骤依据

    代码中体现为 `for i in range(maxIter):`,其中 `maxIter = 50`。

    视频直接表达
  3. 公式
    Xs∼Normal(v[0],v[1]), ∣Xs∣=105X_s \sim \mathrm{Normal}(v[0],v[1]),\ |X_s|=10^5
    解释

    每次迭代从当前提议分布中抽取 100、000 个样本。

    步骤依据

    代码中体现为 `Xs = rng.normal(v[0], v[1], R)`,其中 `R=10R = 10**5`。

    视频直接表达
  4. 公式
    γi=Q0.95(Xs)\gamma_i = Q_{0.95}(X_s)
    解释

    将精英截断值设为当前样本批次的经验 95 分位数。

    步骤依据

    代码中体现为 `gamma_i = np.quantile(Xs, 1-p)`,其中 `p=0.05p = 0.05`;主讲人称其为 95% 阈值。

    视频直接表达
  5. 公式
    if γi≥5, extbreak\text{if }\gamma_i\ge 5,\ ext{break}
    解释

    一旦精英截断值达到目标阈值,即停止自适应过程。

    步骤依据

    代码中体现为 `if gamma_i >= gamma: break`。

    视频直接表达
  6. 公式
    eliteXs={x∈Xs:x>γi}\text{eliteXs}=\{x\in X_s:x>\gamma_i\}
    解释

    仅保留高于本轮截断值的精英样本。

    步骤依据

    代码中体现为 `eliteXs = Xs[Xs > gamma_i]`。

    视频直接表达
  7. 公式
    w(x)=ϕ(x;0,1)ϕ(x;v[0],v[1])w(x)=\frac{\phi(x;0,1)}{\phi(x;v[0],v[1])}
    解释

    在精英样本上计算原始标准正态密度与当前提议密度之间的似然比。

    步骤依据

    代码中体现为 `eliteLRs = stats.norm.pdf(eliteXs, u[0], u[1]) / stats.norm.pdf(eliteXs, v[0], v[1])`。

    视频直接表达
  8. 公式
    v←(μi,σi)v \leftarrow (\mu_i,\sigma_i)
    解释

    根据加权的精英样本统计量更新提议参数,并将新参数对存入历史列表中。

    步骤依据

    代码中观察到:`mu_i = np.average(...)`,`sigma_i = np.sqrt(np.average(...))`,`v = (mu_i, sigma_i)`,以及 `vs.append(v)`。

    视频直接表达
  9. 公式
    Yj∼Normal(v[0],v[1]), j=1,…,106Y_j \sim \mathrm{Normal}(v[0],v[1]),\ j=1,\dots,10^6
    解释

    收敛后,从最终的建议分布中重新生成一百万个样本。

    步骤依据

    在第二个代码单元格中观察到:`normals = rng.normal(v[0], v[1], R)`,其中 `R=10R = 10**6`。

    视频直接表达
  10. 公式
    p^=1106∑j=1106ϕ(Yj;0,1)ϕ(Yj;v[0],v[1])1{Yj>5}\hat{p}=\frac{1}{10^6}\sum_{j=1}^{10^6}\frac{\phi(Y_j;0,1)}{\phi(Y_j;v[0],v[1])}\mathbf{1}_{\{Y_j>5\}}
    解释

    通过平均经似然比加权的稀有事件指示器,来估计尾部概率。

    步骤依据

    代码中观察到:`lrs = ...`,`ests = lrs * (normals > gamma)`,以及 `fHat = ests.mean()`。

    视频直接表达
  11. 公式
    widthCI=1.96s106\text{widthCI}=1.96\frac{s}{\sqrt{10^6}}
    解释

    根据加权项样本标准差,报告一个近似的95%置信半宽。

    步骤依据

    代码中观察到:`oHat = ests.std()` 和 `widthCI = 1.96 * oHat / np.sqrt(R)`。

    视频直接表达
结果

屏幕上显示的结果为 `CE estimate: 2.8433488092847927e-07 (+/- 1.1057152778688466e-08)`,上下界分别为 `2.732772014979008e-07` 和 `2.9539203370716776e-07`,并与 `Theoretical: 2.866515718791933e-07` 进行对比。

检验

该例题结果与标准正态分布的精确生存概率`stats.norm.sf(5)`进行比对,该精确值以`2.866515718791933e-07`形式输出;讲解者还指出,估计值约为`2.8乘以10的负7次方`,但置信区间宽度却大得多。

数值交叉熵估计值与理论值的对比

依据清楚
视频直接表达
来源依据
  1. 公式
    观察依据

    输出块显示 `CE 估计值:2.8433488092847927e-07 (+/- 1.1057152778688466e-08)`、`CE 下界:2.732772014979008e-07`、`CE 上界:2.953920337016776e-07`,以及 `理论值:2.866515718791933e-07`。

  2. 公式
    观察依据

    上方代码利用 `normals`、`lrs` 和 `ests` 计算出这些量。

题目

使用显示的交叉熵/重要性采样风格代码估计稀有事件概率,并将其与理论值进行比较。

已知条件
  1. R 等于 10 的 6 次方

  2. 从 rng.normal(v[0], v[1], R) 中抽取建议样本

  3. 似然比使用 stats.norm.pdf(normals, u[0], u[1]) / stats.norm.pdf(normals, v[0], v[1])

  4. 稀有事件指示器为 (normals > γ)

目标

获得交叉熵估计值、置信区间边界及理论值对比结果。

步骤
  1. 公式
    ests=lrs∗(normals>γ)ests = lrs * (normals > γ)
    解释

    构造加权稀有事件贡献项。

    步骤依据

    如代码单元格中所示。

    视频直接表达
  2. 公式
    fHat=ests.mean()fHat = ests.mean()
    解释

    对加权贡献项取平均,得到估计值。

    步骤依据

    如代码单元格中所示。

    视频直接表达
  3. 公式
    widthCI=1.96∗oHat/np.sqrt(R)widthCI = 1.96 * oHat / np.sqrt(R)
    解释

    计算近似置信区间的半宽。

    步骤依据

    显示在代码单元格中。

    视频直接表达
  4. 公式
    CEestimate:2.8433488092847927e−07(+/−1.1057152778688466e−08)CE estimate: 2.8433488092847927e-07 (+/- 1.1057152778688466e-08)
    解释

    从输出中读取报告的估计值及其不确定性。

    步骤依据

    在输出块中可见。

    视频直接表达
  5. 公式
    Theoretical:2.866515718791933e−07Theoretical: 2.866515718791933e-07
    解释

    从输出中读取理论对比值。

    步骤依据

    在输出块中可见。

    视频直接表达
结果

重要性抽样估计值 = 2.8433488092847927e-07,半宽为 1.1057152778688466e-08;理论值 = 2.866515718791933e-07。

检验

打印出的下界与上界与输出块中所示的 `fHat +/- widthCI` 一致。

图示与动画 · 7

滚动至导入部分并返回

依据清楚
视频直接表达
来源依据
  1. 动画
    观察依据

    屏幕从主示例处向上滚动至更早的导入单元格,再向下滚回。

  2. 声音
    观察依据

    讲解者表示将快速向上滚动以展示导入语句及软件包版本。

图中对象
  1. Jupyter 笔记本单元格

  2. 导入语句

  3. 版本输出块

变化过程
  1. 视图从“改进的交叉熵方法”小节向上滚动至更早的单元格。

  2. 版本信息变得可见。

  3. 视图返回主示例。

不变量
  1. 数学问题陈述在滚动前后保持不变。

数学含义

这一视觉操作仅揭示软件依赖关系,并不改变示例的数学内容。

拒绝采样阶段的执行输出

依据清楚
视频直接表达
来源依据
  1. 动画
    观察依据

    执行后,第一个仿真单元格显示“g* 样本数量:152”和“运行时间:12.6 秒”。

图中对象
  1. 代码单元格

  2. 输出文本

变化过程
  1. 该单元格由未执行状态变为已执行状态。

  2. 保留的样本数量显示为152。

不变量
  1. 阈值保持为γ=5\gamma=5,原始抽样次数保持为5×1085\times 10^8。

数学含义

输出量化了通过稀有事件滤波器后幸存的样本数量之少,从而凸显了采用重要性抽样提议的必要性。

最终重要性抽样估计的执行输出

依据清楚
视频直接表达
来源依据
  1. 动画
    观察依据

    最终单元格输出显示ICE估计值、下界、上界、理论值以及运行耗时。

图中对象
  1. 代码单元格

  2. 数值输出行

变化过程
  1. 估计值与区间值变得可见。

  2. 理论基准值显示在估计值下方。

不变量
  1. 沿用前一个单元格中拟合得到的相同提议参数。

数学含义

可视化输出验证了改进后的交叉熵工作流所得数值结果,及其与理论尾部概率的接近程度。

交叉熵算法实现及其结果的笔记本视图

依据清楚
视频直接表达
来源依据
  1. 动画
    观察依据

    屏幕录制内容展示了一个滚动浏览 Jupyter 笔记本的过程,其中包含 Markdown 文本、Python 代码单元格及打印输出。

图中对象
  1. Markdown 标题:`Cross-entropy method`

  2. 问题陈述:`使用交叉熵法估计 P(X > gamma),其中 X 服从正态分布 Normal(0, 1),且 gamma = 5`。

  3. 第一个代码单元格,实现自适应循环。

  4. 第二个代码单元格,实现最终的重要性抽样。

  5. 打印的数值输出,包括交叉熵估计值、置信界、理论值以及运行耗时。

变化过程
  1. 画面起始于第一个代码单元格顶部附近。

  2. 随后向下滚动,逐步展示循环体及参数更新语句。

  3. 继续滚动至第二个代码单元格及其打印输出。

  4. 最终可见画面显示数值估计结果与理论值的对比。

不变量
  1. 目标始终一致:估计标准正态变量的 P(X>5)\mathbb{P}(X>5)。

  2. 原始分布参数保持为 `u=(0,1)u = (0, 1)`。

  3. 目标阈值保持为 `gamma = 5`。

数学含义

视觉演进过程与算法顺序一致:先定义自适应交叉熵搜索,再利用所得建议分布进行最终的重要性抽样估计,并与理论值比较。

初始笔记本视图,含重要性抽样代码及数值输出

依据清楚
视频直接表达
来源依据
  1. 图示
    观察依据

    一个包含 Python 代码的 Jupyter 笔记本单元格位于输出块上方,该输出块包含数值结果及 `Wall time: 428 ms`。

图中对象
  1. Python 代码单元格

  2. 输出文本块

  3. 鼠标光标

变化过程
  1. 开场数秒内,屏幕画面静止于代码及输出内容上。

不变量
  1. 在此时间段内,所显示的代码与数值输出均保持不变。

数学含义

本片段在笔记本滚动至可视化代码之前,确立了已实现的估计量及其数值结果。

从估计量输出滚动至提议分布可视化代码

依据清楚
视频直接表达
来源依据
  1. 动画
    观察依据

    页面从首个代码/输出单元格向下滚动至一个新代码单元格,该单元格以 `xs = np.linspace(-2, 6.5, 500)` 开头。

图中对象
  1. 笔记本页面

  2. 新代码单元格

  3. 标题“与朴素蒙特卡洛法比较”

变化过程
  1. 首个输出块向上移出视野。

  2. 用于绘制提议分布的新代码单元格进入视野。

  3. 标题“与朴素蒙特卡洛法比较”随之在下方显现。

不变量
  1. 界面始终保持为包含代码单元格与文本标题的笔记本形式。

数学含义

视觉过渡标志着从数值估算转向对提议分布的几何检验。

提议分布与目标相关元素的生成图表

依据清楚
视频直接表达
来源依据
  1. 动画
    观察依据

    执行后,代码单元格下方会出现一幅图表。

  2. 图示
    观察依据

    该图显示了几条彩色的钟形曲线,以及一条靠近 x≈4.5 的灰色虚线。

待核验内容
  1. 每条曲线的确切颜色在各帧之间并非完全稳定,但多条明显不同的彩色曲线清晰可见。

图中对象
  1. 多条彩色的类正态曲线

  2. 灰色虚线

  3. 坐标轴

  4. 图表边框

变化过程
  1. 代码下方的空白区域被一幅渲染后的图表所取代。

  2. 多条提议曲线共同出现在同一组坐标轴上。

  3. 一条垂直虚线标出了阈值区域。

不变量
  1. 所有曲线均绘制在同一水平轴范围内。

  2. 虚线垂直线始终固定在阈值位置。

数学含义

该图展示了存储的提议分布如何随迭代演进,并将其置于阈值与目标区域的相对位置中。

易错点 · 5

`widthCI` 用作半宽,而非置信区间的全宽

依据清楚
补充解释
来源依据
  1. 公式
    观察依据

    代码将量`widthCI = 1.96 * oHat / np.sqrt(R)`命名为`widthCI`,随后打印边界`lHat-widthCI`和`lHat+widthCI`。

误区

人们可能将变量名 `widthCI` 理解为置信区间的总宽度。

说明

在所展示的代码中,打印出的下界与上界均对 `lHat` 减去或加上同一数值,因此 `widthCI` 实际充当对称区间的半宽。

符号 `R` 在不同单元格中被重复使用,但含义各不相同。

依据清楚
补充解释
来源依据
  1. 公式
    观察依据

    第一个单元格设置 `R=5∗10R = 5 * 10**8`;最后一个单元格重设 `R=10R = 10**6`。

误区

读者可能误以为 `R` 在整个笔记本中始终表示同一个固定的样本量。

说明

在此段落中,`R` 首先表示用于拒绝采样的原始标准正态分布抽样次数,随后表示用于重要性采样估计的建议分布抽样次数。

将一个易于处理的简化示例误认为是一种普遍可行的直接采样策略

依据清楚
视频直接表达
来源依据
  1. 声音
    观察依据

    主讲人说:‘在上面的例子中,我们有点取巧。’并解释道,由于该稀有事件并不十分稀有,因此可以直接使用拒绝采样从 g 星 中采样;但一般情况下,这样做耗时过长。

误区

人们可能认为,只要遇到稀有事件问题,就可以直接从理想提议分布中采样,这是可以接受的。

说明

视频明确警告:这种方法之所以奏效,仅仅是因为前面例子中的稀有事件并不十分稀有;一般而言,从这样的提议分布直接进行拒绝采样将耗时过长,这正是引入自适应交叉熵方法的原因。

在提议分布更新中遗漏似然比加权

依据清楚
视频直接表达
来源依据
  1. 声音
    观察依据

    主讲人说:‘别忘了,我们必须用似然比对样本加权。’

误区

人们可能直接将精英样本当作来自原始分布的样本,用它们来更新提议参数。

说明

视频强调,在计算更新后的参数时,精英样本必须按其似然比加权。

enumerate 在循环中所提供的内容

依据清楚
视频直接表达
来源依据
  1. 声音
    观察依据

    主讲人说:‘注意,enumerate 是 Python 中一个非常方便的函数,它能同时为我们提供列表中的每个元素 v 及其索引 i。’

误区

有人可能认为,在 for i, v in enumerate(vs) 中,循环变量对 i 和 v 是任意选取的,或在索引之外还具有某种数学意义。

说明

主讲人明确解释道,enumerate 会返回列表 vs 中的索引 i 及其对应的元素 v。

概念关系 · 11

零方差密度即为给定稀有事件条件下的条件分布 → 稀有事件估计的问题设定

依据清楚
视频直接表达
来源依据
  1. 公式
    观察依据

    笔记本中明确写出 `g∗(x)=Pg*(x) = P(X=xX = x | X > gamma)`。

  2. 声音
    观察依据

    讲述者称 g∗g^* 是 XX 在稀有事件发生的条件下的分布。

特例
解释

零方差密度是原模型在稀有事件区域 X>γX>\gamma 上的条件版本。

使用拒绝采样从g∗g^*中获取样本 → 零方差密度即为给定稀有事件条件下的条件分布

依据清楚
视频直接表达
来源依据
  1. 公式
    观察依据

    文中指出要从 g∗g^* 中抽样,方法是抽取大量 XX,并从中筛选出满足条件的 X>γX>\gamma。

  2. 声音
    观察依据

    讲述者将该过程命名为拒绝采样。

应用
解释

拒绝采样是视频中用于从条件密度g∗g^*生成样本的实际方法。

对 g∗g^* 个样本进行正态提议分布的最大似然拟合 → 使用拒绝采样从g∗g^*中获取样本

依据清楚
视频直接表达
来源依据
  1. 公式
    观察依据

    拟合单元作用于`Xs`,即上一个单元保留下来的样本。

  2. 声音
    观察依据

    讲解者指出,提议密度是通过对这些样本进行最大似然估计而构建的。

证明依赖
解释

正态提议分布的拟合依赖于拒绝采样阶段所保留下来的样本。

针对 P(X>γ)P(X>\gamma) 的正态重要性采样估计量 → 对 g∗g^* 个样本进行正态提议分布的最大似然拟合

依据清楚
视频直接表达
来源依据
  1. 公式
    观察依据

    最后一个单元使用先前计算出的`mu`和`sigma`,调用`rng.normal(mu, sigma, R)`进行采样。

  2. 声音
    观察依据

    讲解者指出,改进后的交叉熵算法已提供了一个良好的提议分布,随后他们继续采用标准重要性采样进行估计。

应用
解释

重要性采样估计量使用前一步拟合得到的提议参数进行计算。

重要性抽样估计值的报告置信区间 → 针对 P(X>γ)P(X>\gamma) 的正态重要性采样估计量

依据清楚
视频直接表达
来源依据
  1. 公式
    观察依据

    `oHat`与`widthCI`直接由`ests`计算得出,其均值为`lHat`。

包含
解释

置信区间计算是附加在重要性采样估计量输出上的一个汇总统计。

建议分布的迭代构造 → 交叉熵自适应后的最终估计步骤

依据清楚
视频直接表达
来源依据
  1. 声音
    观察依据

    主讲人指出,一旦交叉熵算法完成,他们便采用其所找到的提议分布,执行一次常规的重要性采样估计。

  2. 公式
    观察依据

    第二个代码单元格使用最终的 `v`,代入 `rng.normal(v[0], v[1], R)`,然后计算重要性权重。

应用
解释

交叉熵迭代所产生的自适应提议分布,被用作最终重要性采样估计器中的采样分布。

原始交叉熵方法的目的 → 对屏幕上显示的交叉熵迭代步骤进行逐步推导。

依据清楚
视频直接表达
来源依据
  1. 声音
    观察依据

    主讲人先介绍原始的交叉熵方法,再解释其循环机制。

  2. 公式
    观察依据

    该代码精确实现了所描述的迭代过程。

包含
解释

交叉熵方法的一般目标,在所示的迭代循环中得以具体体现,该循环用于构建更优的建议分布。

例题:用原始交叉熵法估计 P(X>5)P(X>5),其中 X ~ Normal(0,1) by the original cross-entropy method → 正态分布尾部概率估计示例

依据清楚
视频直接表达
来源依据
  1. 公式
    观察依据

    第二个代码单元格同时输出交叉熵估计值和“理论值:stats.norm.sf(gamma)”。

应用
解释

所展示的数值示例应用了正态分布尾部概率设定,并将蒙特卡洛结果与精确的生存函数进行了验证对比。

可视化交叉熵法中提议分布序列 → 交叉熵加权估计量及其置信区间

依据清楚
视频直接表达
来源依据
  1. 声音
    观察依据

    主讲人称,交叉熵(CE)方法将向量 v 存储在一个名为 vs 的列表中。

  2. 公式
    观察依据

    可视化代码对列表 vs 进行遍历。

先修
解释

提议序列的可视化依赖于先前的 CE 过程已将参数向量 v 存入 vs 中。

构造归一化后的目标密度 g* → 可视化交叉熵法中提议分布序列

依据清楚
视频直接表达
来源依据
  1. 公式
    观察依据

    绘制〔gStar = stats.norm.pdf(xOverGamma) / l〕,使用 plt.plot(xOverGamma, gStar)。

  2. 声音
    观察依据

    主讲人表示,他们将绘制目标分布 g star,因为其归一化常数 l 是已知的。

应用
解释

归一化目标密度构造被应用于同一绘图工作流中,该工作流用于可视化提议分布。

本例中,目标密度函数具有已知的归一化常数。 → 构造归一化后的目标密度 g*

依据清楚
视频直接表达
来源依据
  1. 声音
    观察依据

    主讲人指出,在这个简单情形下,归一化常数 `l` 是已知的。

  2. 公式
    观察依据

    代码使用 `l = stats.norm.sf(γ)` 来定义 `gStar`。

证明依赖
解释

本片段中 `gStar` 的定义依赖于一个已声明的事实:该示例中的归一化常数 `l` 是已知的。

问题定位 · 17

在此改进的交叉熵示例中,零方差密度g∗g^*是什么?

依据清楚
视频直接表达
来源依据
  1. 公式
    观察依据

    笔记本中定义了`g∗(x)=Pg*(x) = P(X=xX = x | X > gamma)`。

涉及知识点
  1. 零方差密度即为给定稀有事件条件下的条件分布

为什么视频使用拒绝采样法从g∗g^*中获取样本?

依据清楚
视频直接表达
来源依据
  1. 声音
    观察依据

    讲解者解释道:由于g∗g^*是给定稀有事件的条件分布,因此可以大量生成XX,然后仅保留其中超过阈值的那些样本。

涉及知识点
  1. 使用拒绝采样从g∗g^*中获取样本
  2. 零方差密度即为给定稀有事件条件下的条件分布

如何从保留的样本中选择正态分布提议分布的参数?

依据清楚
视频直接表达
来源依据
  1. 公式
    观察依据

    代码计算 `mu = np.mean(Xs)` 和 `sigma = np.sqrt(np.mean((Xs-mu)**2))`。

涉及知识点
  1. 对 g∗g^* 个样本进行正态提议分布的最大似然拟合

`lHat` 在最后一个单元格中代表什么?

依据清楚
视频直接表达
来源依据
  1. 公式
    观察依据

    代码计算 `lrs`、`ests` 和 `lHat = ests.mean()`。

涉及知识点
  1. 针对 P(X>γ)P(X>\gamma) 的正态重要性采样估计量

报告的置信区间是如何由重要性采样估计值构造出来的?

依据清楚
视频直接表达
来源依据
  1. 公式
    观察依据

    代码计算 `widthCI = 1.96 * oHat / np.sqrt(R)` 并打印围绕 `lHat` 的置信区间上下界。

涉及知识点
  1. 重要性抽样估计值的报告置信区间

针对P(X>5)P(X>5),展示了哪个数值估计值和理论基准值?

依据清楚
视频直接表达
来源依据
  1. 公式
    观察依据

    输出打印 ICE 估计值、置信区间上下界以及理论值。

涉及知识点
  1. 稀有事件概率及区间宽度的数值结果
  2. 示例演算:使用改进的交叉熵方法估计标准正态分布的尾部概率

视频为何称先前的例子通过直接从 g 星采样属于“作弊”?

依据清楚
视频直接表达
来源依据
  1. 声音
    观察依据

    主讲人解释道,之所以能通过拒绝采样直接从 g 星采样,仅仅是因为该稀有事件并非极度稀有;而一般情况下,这种方法耗时过长。

涉及知识点
  1. 原始交叉熵方法的目的
  2. 将一个易于处理的简化示例误认为是一种普遍可行的直接采样策略

迭代阈值 gamma_i 如何定义?交叉熵循环在何时停止?

依据清楚
视频直接表达
来源依据
  1. 声音
    观察依据

    主讲人指出,本次迭代的阈值是 X 样本的95%分位数,且当该阈值高于 gamma 时,迭代停止。

  2. 公式
    观察依据

    代码显示 `gamma_i = np.quantile(Xs, 1-p)` 和 `if gamma_i >= gamma: break`。

涉及知识点
  1. 建议分布的迭代构造
  2. 所展示实现中的交叉熵停止条件

为何在更新建议分布参数时需对精英样本按似然比加权?

依据清楚
视频直接表达
来源依据
  1. 声音
    观察依据

    主讲人指出,似然比是在原始分布与实际分布之间计算得出的,且样本必须按其似然比加权。

  2. 公式
    观察依据

    代码显示 `eliteLRs = stats.norm.pdf(eliteXs, u[0], u[1]) / stats.norm.pdf(eliteXs, v[0], v[1])`,以及用于 `mu_i` 和 `sigma_i` 的加权平均计算。

涉及知识点
  1. 提议参数由加权的精英样本更新
  2. 在提议分布更新中遗漏似然比加权

交叉熵循环结束后,最终估计量是什么?其置信区间又是如何计算的?

依据清楚
视频直接表达
来源依据
  1. 声音
    观察依据

    主讲人表示,他们采用交叉熵法(CE)得到的提议分布,并执行标准的重要性抽样估计。

  2. 公式
    观察依据

    代码显示 `ests = lrs * (normals > gamma)`、`fHat = ests.mean()` 以及 `widthCI = 1.96 * oHat / np.sqrt(R)`。

涉及知识点
  1. 交叉熵自适应后的最终估计步骤
  2. 最终重要抽样估计量及置信区间的推导

针对 P(X>5)P(X>5),展示了哪些数值估计结果与理论值的比较?

依据清楚
视频直接表达
来源依据
  1. 声音
    观察依据

    主讲人称该估计值约为 2.8 乘以 10 的负 7 次方,但置信区间的宽度却大得多。

  2. 公式
    观察依据

    输出显示 `CE 估计值:2.8433488092847927e-07 (+/- 1.1057152778688466e-08)` 和 `理论值:2.866515718791933e-07`。

涉及知识点
  1. 例题:用原始交叉熵法估计 P(X>5)P(X>5),其中 X ~ Normal(0,1) by the original cross-entropy method

在显示的交叉熵估计中,`fHat` 代表什么?

依据清楚
视频直接表达
来源依据
  1. 公式
    观察依据

    代码显示 `fHat = ests.mean()`,输出标签为 `CE estimate`。

涉及知识点
  1. 交叉熵加权估计量及其置信区间
覆盖情况与待核验内容

已覆盖 · 问题陈述与目标在音频讲解和笔记本文本中引入。

已覆盖 · 屏幕滚动至导入语句和版本信息;除软件环境配置外,不涉及新的数学内容。

已覆盖 · 定义g∗g^*并实现拒绝采样,最后输出 `Number of g* samples: 152`。

已覆盖 · 通过样本均值和样本二阶中心矩拟合正态提议分布,该方法被称为最大似然估计。

已覆盖 · 最终的重要性抽样估计、置信区间、理论对比以及总结性叙述。

已覆盖 · 开场旁白解释了为何在上一例中直接从 g* 进行拒绝抽样仅是可行的,并引出原始的交叉熵方法。

已覆盖 · 主讲人将交叉熵思想定义为构建不断改进的提议分布,并指出笔记本代码中 u、v 和 vs 所扮演的角色。

已覆盖 · 逐行讲解循环体:从当前提议分布抽样、计算 95% 分位阈值、若其超过 gamma 则停止、提取精英样本、构造似然比、并用加权估计更新 v。

已覆盖 · 交叉熵循环结束与最终估计单元之间有短暂停顿和滚动过渡;除已涵盖的循环内容外,无新增数学内容。

已覆盖 · 描述了最终的重要性抽样估计量,讨论了打印出的数值估计结果及其置信区间,并将结果与理论尾部概率进行比较。

已覆盖 · 静态笔记本视图,展示重要性采样(或交叉熵)风格的代码及其数值输出。

已覆盖 · 页面滚动从估计量输出过渡到可视化代码单元格。

已覆盖 · 主讲人在代码单元格保持可见的同时,解释了如何遍历已存储的建议向量,并构造归一化的目标密度。

已覆盖 · 执行后的图像出现,显示多条提议曲线以及一条虚线垂直阈值线。

探索视频中的知识

已审核的主题路径