Ran Wei/数学系列
English
计算机科学与人工智能的数学基础 — Ran Wei

参数估计、似然与贝叶斯更新

推导 Bernoulli 与高斯估计,证明风险恒等式,归一化 beta 更新,并从噪声先验尺度推 MAP 惩罚。

12 小时4 个时段3 个实验12 道练习与 2 道拓展10 道自测题

完成后你能够

  • 区分模型、参数、估计量、估计值与可识别性。
  • 构造似然,保留拟合参数相关因子。
  • 推 Bernoulli 与高斯 MLE,检查端点和存在性。
  • 证偏差方差 MSE 及样本方差分母恒等式。
  • 归一化 beta 更新,解释预测与可信区间。
  • 推 MAP 系数,限定坐标依赖并诊断复用证据。

开始之前

需模块 16、17、23、24。即使观测离散,连续参数仍需导数及密度积分。实验只用 Python 标准库。

目录

学习计划

12 小时

时间包含练习,是估计值;可按需要拆分时段。可选拓展练习额外需要 35 分钟。进度保存在当前浏览器,中英文版本共享。

1

估计是在统计模型下作出的决策

拟合参数不只是找曲线上的最大值。必须说明曲线代表什么数据机制、哪些量未知,以及所报告结果采用什么损失或不确定性解释。本课推导 Bernoulli 与高斯最大似然,区分偏差和方差,完整归一化 beta–Bernoulli 更新,并从噪声和先验推导正则化系数。似然、抽样分布与后验是三个不同数学对象。

检索准备:模块 16的导数、模块 17的密度积分、模块 23的矩,以及模块 24的抽样极限。实验仅使用 Python 标准库。即使观测离散,连续参数与高斯例子仍明确需要微积分。

2

模型、参数、估计量与可识别性

统计模型是一组概率规律 P_θ,以参数 θ∈Θ 索引。模型正确指定时,数据服从其中一个规律。Bernoulli 的 Θ=[0,1],θ=p 为成功率;已知正方差的高斯位置模型中,Θ 为实数,θ=μ。如果方差也未知,参数是 (μ,σ²),σ²>0。对 μ 为常数的因子,此时可能依赖未知参数。

频率学派抽样分析把 θ 视为固定未知量,样本及统计量随机。估计量 T(X₁,…,X_n) 是看数据之前指定的规则,其实现输出 t 是估计值。估计量有随 θ 改变的抽样分布,估计值则只是一次结果。E_θ[T]=θ 不能改写为每次 t 都等于真值;无偏性从不这样保证。

贝叶斯分析给参数先验,通过联合模型和数据更新。给定参数时各观测可能独立,积分掉共同未知参数后却可能依赖。因此独立声明必须说明条件层次。后验均值也是数据规则,可在每个固定 θ 下计算频率学派抽样风险,而不将该风险等同于后验概率。

可识别性(identifiability)要求不同参数对应不同可观测规律。若 θ≠θ′ 却 P_θ=P_θ′,再多数据也无法仅凭这个规律识别标签。X∼N(θ²,1)、θ∈R 中,θ 与 −θ 具有相同分布,符号不可识别。将 Θ 限制为非负可使参数到均值的映射单射,但零附近的不确定性仍需认真处理。

例题详解
模型能够识别大小,却未必识别符号

X∼N(θ²,1) 的数据若支持均值约 4,则 θ=2 与 θ=−2 的似然完全相同。优化器选一个根,不会为其符号创造证据。Θ=[0,∞) 时只允许非负根。模型可识别与优化解唯一有关,却都不能仅由程序返回一个数推出。

抽样方案属于模型。IID Bernoulli 似然需要共同率与给定率下的独立试验。复制行或变化率不因数据为零一就满足该乘积模型。依赖未观测结果的选择也会改变观测样本的似然。模型只是现实近似时,拟合参数可能代表模型内最佳近似,而非真实总体机制;后续回归通过残差与校准检查错设证据。

估计报告应写可观测变量、抽样单位、参数空间、依赖条件、规则和目标。这些内容决定端点是否允许、导数方程是否足够以及偏差由哪个期望定义。无约束公式给出空间外的值无效;合法边界最优也不能仅因没有内部导数零点就被丢弃。

参数估计与两种分布固定参数生成随机数据再应用规则得到估计值;抽样律重复数据,后验在先验模型下固定数据而条件化参数。固定什么,重复什么?固定参数 θP_θ随机数据 XT(X) → t抽样分布:固定 θ,重新生成 X。后验:固定观察 x,条件化参数分布。π(θ|x) ∝ L(θ;x)π(θ)
图 25.1

参数、数据、估计规则和实现值处于模型不同位置。抽样分布在固定参数下重复数据;后验在先验下条件于已观测数据。

检验理解

估计量与估计值有何区别?θ² 模型的优化器能识别符号吗?贝叶斯 IID 的独立条件是哪一层?

查看答案

估计量是作用于随机数据的规则,估计值是实现输出。±θ 的相同规律使符号不可识别。观测给定共同参数时独立,积分参数后的边缘独立不一定成立。

3

似然改变的是保持固定的自变量

数据 x 已实现时,L(θ;x)=p_θ(x);离散情形用质量函数,连续情形用相对于共同参考测度的密度。表达式可与概率模型相同,但似然固定 x、改变 θ;概率规律固定 θ、遍历 x。似然在 Θ 上不会自动积分为 1,将其按某参数坐标归一化也是额外建模选择。

给定参数独立时 L=∏p_θ(x_i),对数似然 ℓ=Σlog p_θ(x_i)。在正似然处,对数严格递增,所以最大点相同;参数下不可能的数据给 L=0、ℓ=−∞。对数将乘法变加法并避免很多下溢,却不修复错误独立条件。端点应使用明确扩展值,不能让零乘 log 零意外成为 NaN。

顺序 Bernoulli 样本有 k 成功、n−k 失败,L=p^k(1−p)^(n−k)。只记录 K=k 则乘上 binom(n,k)。固定 n,k 时该因子不依赖 p,所以两者的 p 最大点以及同先验下的后验形状相同。但事件不同,数据概率也不同。一个因子可在参数拟合中消去,却仍在计算概率或比较模型时重要。

省略常数以前必须说明优化或归一化哪个自变量。已知 σ 的高斯均值拟合中,前因子对 μ 恒定;拟合 σ 时,σ^(−n) 不可丢。后验中 θ 无关因子可从分子和证据消去,但仍需有限有效归一化。模型比较中的模型相关因子,也可能影响结果,即使它不改变每个模型内的参数最优点。

例题详解
公共数值尺度保留相对似然

n=10000、k=8000 时,p=.79 和 .8 的顺序似然都会浮点下溢为零。其 log 值约 −5007.074 和 −5004.024。先减较大值再取指数,得 L(.79)/L(.8)≈exp(−3.04993)=.047362。两个存储零不能证明拟合同样好;相对对数仍有信息。

有限候选表可用 log-sum-exp:log Σexp a_j=m+log Σexp(a_j−m),m=max a_j 有限。这稳定算术,却不自动创造候选后验;还须指定先验质量与候选模型。连续证据为积分,任意网格和还需求积权重及正确近似分析。

连续数据的似然值是密度,不是精确实数点的概率。密度可大于 1,数值单位随数据变换改变。可逆数据变换需要 Jacobian,若其不依赖 θ,则相对拟合不变。参数变换则不同:似然按坐标复合,但先验、后验密度还要 Jacobian。第六节据此说明连续 MAP 依坐标而变。

检验理解

似然固定什么?何时可省二项计数因子?为何对数计算不能证明复制记录是 IID?

查看答案

固定数据、改变参数。固定 n,k 的 p 拟合或后验形状可消因子,计数概率不能。数值变换保留已有模型,不会移除真实依赖。

4

推导最大似然并检查边界

ℓ(p)=klog⁡p+(n−k)log⁡(1−p),p^MLE=kn(n>0, p∈[0,1]).\ell(p)=k\log p+(n-k)\log(1-p),\qquad \widehat p_{\mathrm{MLE}}=\frac{k}{n}\quad(n>0,\ p\in[0,1]).

0<k<n 时,ℓ=k log p+(n−k)log(1−p),0<p<1。导数 k/p−(n−k)/(1−p)=0,解得 p_hat=k/n。二阶导 −k/p²−(n−k)/(1−p)²<0,证明严格凹与唯一内部最大点。两种结果均出现时端点似然为零。完整推导要检查曲率和允许边界,不能仅因找到导数根就认定全局最优。

k=0、n>0 时 L=(1−p)^n,在 [0,1] 的最大点为 0;k=n 时最大点为 1。在开空间 (0,1) 上,只有趋近缺失端点的上确界,没有最大点。无数据 n=0 时各参数似然均为 1,不能由数据选唯一值。相同代数式在不同参数空间可有不同存在结论。

例题详解
合法端点无需满足内部得分方程

十次失败的 Bernoulli MLE 在 [0,1] 为零。Beta(2,2) 先验给 Beta(2,12) 后验,均值 1/7,密度众数 1/12。不同目标产生不同摘要;没有观察到成功不证明未来不可能成功。

IID 高斯、已知 σ²>0 时,完整 logL=−n log(√(2π)σ)−Σ(x_i−μ)²/(2σ²)。拟合 μ 等价于最小化残差平方和。恒等式 Σ(x_i−μ)²=Σ(x_i−x_bar)²+n(μ−x_bar)² 由中心残差和为零得到。第二项非负,只在 μ=x_bar 时零,故 n>0 的全局均值 MLE 是样本平均;导数 n(x_bar−μ)/σ² 也给相同解。

方差 v 也未知且中心残差和 R>0 时,代入 μ=x_bar,目标为 −(n/2)log v−R/(2v) 加常数。导数 −n/(2v)+R/(2v²) 给 v_hat=R/n;其下递增、其上递减,两个方差极端都趋 −∞,所以是全局最大。MLE 分母 n,与下一节无偏方差的 n−1 目的不同。

Bernoulli 相对似然曲线各图独立归一化至最大高度一:十次八成功曲线在点八最大,全失败曲线在允许端点零最大。Bernoulli 的内部与端点最大值n=10, k=801MLE = 0.8n=10, k=001MLE = 0
图 25.2

内部 Bernoulli 最优、全失败端点与高斯均值拟合说明:参数空间、曲率和归一化因子都属于完整推导。

如果高斯观测全相同,R=0。令 μ 等于该值、v→0⁺,似然无上界,因此正方差空间没有有限 MLE。代入 v_hat=0 越出模型。数值方差下限可以是实际限制,但必须说明它改变问题。简单模型中的唯一 MLE 也不能推出所有混合、非线性或高维模型都有唯一解。

这里平方损失来自高斯观测噪声。IID 已知尺度 b>0 的 Laplace 位置噪声,似然正比 exp(−Σ|x_i−μ|/b),因此样本中位数最小化绝对偏差。偶数观测可以有整个中位区间。选择损失既是统计假设,也是计算选择。

检验理解

为什么 k/n 是内部最大点?k=0 时如何变化?联合高斯均值方差 MLE 何时不存在?

查看答案

得分为零、严格凹及边界检查共同证明。全失败在允许的零端点最大,开空间则仅有上确界。高斯数据全相同时,正方差趋零令似然无界。

5

偏差、方差、均方误差与一致性

Eθ[(T−θ)2]=Var⁡θ(T)+(Eθ[T]−θ)2.E_\theta[(T-\theta)^2]=\operatorname{Var}_\theta(T)+(E_\theta[T]-\theta)^2.

固定标量 θ、估计量 T 有限二阶矩时,偏差为 E_θT−θ,方差为 E_θ[(T−E_θT)²],MSE 为 E_θ[(T−θ)²]。将误差拆成中心项与偏差,平方取期望,交叉项因中心项均值零而消失,故 MSE=Var+Bias²。它们是在指定真参数下重复样本的性质,不由一次绝对误差决定,排序也可能随 θ 改变。

IID Bernoulli 的 K/n 无偏,方差和 MSE 都是 p(1−p)/n。固定 Beta(a,b) 后验均值规则 T_B=(K+a)/(n+a+b) 的频率期望为 (np+a)/(n+a+b),偏差 [a−(a+b)p]/(n+a+b),方差 np(1−p)/(n+a+b)²。收缩降低方差,却引入参数相关偏差。是否改善 MSE 要看总和,不能仅看方差或“贝叶斯”名称。

例题详解
同一收缩规则在一个率改善风险,在另一个率恶化

n=10、p=.3 时,Beta(2,2) 均值规则偏差 .8/14≈.057143,方差 .010714,MSE≈.013980,低于比例估计 .021。p=.95 时偏差 −1.8/14≈−.128571,MSE≈.018954,高于比例估计 .004750。实验 2 用重复数据及精确公式检查两种情况;一次好结果不能证明统一改善。

IID 有限方差 X_i 的 R=Σ(X_i−x_bar)²=Σ(X_i−μ)²−n(x_bar−μ)²。取期望得 E[R]=nσ²−n(σ²/n)=(n−1)σ²。因此 n>1 的 S²=R/(n−1) 无偏。共同均值、方差以及交叉协方差零是推导条件;相关行可使修正失效。该期望恒等式不需高斯,但特定精确抽样分布可能需要。

(1,2,4) 的均值 7/3、R=14/3,方差 MLE 14/9、无偏方差 7/3,后者大 n/(n−1) 倍。无偏是针对方差,不是其平方根;非线性开方一般改变偏差。n−1 也不保证比所有有偏替代有较小 MSE,应先声明评价准则。

一致性指 T_n 依概率收敛到 θ。Bernoulli 比例由弱法则一致;固定正 a,b 时,T_B−K/n=[a−(a+b)K/n]/(n+a+b),因 K/n∈[0,1] 而一致趋零,所以该后验均值规则也一致。有限样本偏差与一致性可共存。若先验强度随 n 成比例增加,可能保留非零极限收缩,不能照搬此结论。

两个真率下的风险比较十项比例估计无偏;Beta二二均值在率点三时总风险较小,在率点九五时虽方差低却偏差平方更大,总风险较高。风险 = 方差 + 偏差平方p=.30, MLE0.021000p=.30, Beta mean0.013980p=.95, MLE0.004750p=.95, Beta mean0.018954蓝:方差;橙:偏差平方。同一横轴尺度。
图 25.3

固定目标下 MSE 分成估计量方差与偏差平方。仅减少方差不能排列总风险,向错误中心收缩可增加 MSE。

无偏也不推出一致:一直只返回第一个 Bernoulli 观测,虽无偏,但方差 p(1−p) 不随 n 缩小。消失偏差与消失方差则可通过平方误差概率界证明一致。不能未经条件和证明将样本均值的性质转给所有 MLE 算法;一般渐近理论还涉及可识别、正则性及边界。

风险比较应固定数据预算与估计规则。看完同一结果才选择规则,构成一个新数据依赖估计量,其期望不自动等于原来任一规则公式。实验 2 在生成前指定规则与合成率;下一课的模型选择方案使这种区别可操作。

检验理解

推 MSE 分解。无偏是否足够一致?两个方差估计为何分母不同?

查看答案

围绕 ET 展开,中心项均值零使交叉项消失。首观测规则无偏却不集中。MLE 优化似然得 R/n,无偏修正优化期望性质得 R/(n−1),准则不同。

6

正确归一化的 beta–Bernoulli 后验与预测

π(p∣x)=pa+k−1(1−p)b+n−k−1B(a+k,b+n−k),0<p<1.\pi(p\mid x)=\frac{p^{a+k-1}(1-p)^{b+n-k-1}}{B(a+k,b+n-k)},\qquad 0<p<1.

Beta(a,b) 先验在 0<p<1 的密度为 p^(a−1)(1−p)^(b−1)/B(a,b),a,b>0,B 为该分子在 [0,1] 的积分。正参数使可能的端点奇异仍可积。正整数参数时,重复分部积分给 B(a,b)=(a−1)!(b−1)!/(a+b−1)!。先验表达对率的模型选择,不是额外观察试验。

先验乘似然,幂指数相加,得到 p^(a+k−1)(1−p)^(b+n−k−1)。其积分 B(a+k,b+n−k) 归一化 Beta(a+k,b+n−k) 后验。顺序样本证据为更新 B 与原 B 的比,计数证据另含 binom(n,k)。该因子在后验中消去,但在观测计数概率中保留。条件化需要证据正且有限。

令 A=a+k、B=b+n−k。积分比 B(A+1,B)/B(A,B) 给均值 A/(A+B);二阶矩 A(A+1)/[(A+B)(A+B+1)] 给方差 AB/[(A+B)²(A+B+1)]。这是此数据、此先验下 p 的条件不确定性,区别于固定 p 下对新数据平均的规则 (K+a)/(n+a+b) 抽样方差。

例题详解
八成功两失败更新明确先验

Beta(2,2) 变成 Beta(10,4)。后验均值 5/7≈.714286,方差 40/(196·15)=2/147≈.013605,内部密度众数 9/12=.75,MLE .8。数值反演的等尾 95% 可信区间约 [.461868,.909080]。三个点与区间回答不同问题,都使用 IID 共同率模型。

给定 p 后与旧试验独立的未来 Bernoulli 成功概率,后验预测为 ∫pπ(p|x)dp=E[p|x]=A/(A+B),而非代入众数。多个未来试验给定 p 独立,积分后却有协方差 Var(p|x)>0,因为共同未知率。因此未来总计数一般不是后验均值率的独立二项,而是 beta-binomial 混合。

等尾 95% 可信区间取后验 CDF 的 .025 与 .975 分位,在所选模型先验下包含 .95 后验概率。实验 1 通过 CDF 质量核验数值反演。它不自动对每个固定 p 给 95% 频率覆盖;模块 26 将区分置信区间。均匀先验仅在一个特定坐标中均匀,小数据的结论可对先验与模型错设敏感。

r 个未来成功数 S 的条件均值为 rp、方差 rp(1−p)。全方差给 Var(S|x)=rE[p(1−p)|x]+r²Var(p|x)。写 m=A/(A+B),化为 r m(1−m)+r(r−1)Var(p|x)。第一项是代入二项方差,第二项是共享未知率的额外波动;r=1 时第二项零,故单试验预测简单但联合律不同。Beta(10,4) 的十次未来成功均值 50/7,方差约 3.265306,而代入二项为 2.040816。它是条件预测,不是新训练数据间后验均值的波动。

交互演示

探索器限定整数先验参数,以便不依赖外部统计库就透明计算 beta 密度与 CDF。两个面板分别绘制相对似然与归一化后验密度,纵轴独立且明确标记。相对似然高度 1 不是后验概率。MLE、后验均值、密度众数与区间分别报告,也处理全成功、全失败和均匀后验。

真正新的条件独立批次按顺序更新,与一次合并相同,因为计数相加。对同一批更新两次会平方似然、虚构证据:八/二数据从 Beta(10,4) 再用一次得到 Beta(18,6),并非新数据的合理改进。若先验从同一数据估出,也需披露和相应分析,不能默称独立固定先验。

检验理解

什么归一化后验?哪个方差是条件参数不确定性?能否将预测率直接用于所有未来试验的独立二项?

查看答案

更新后的 B(A,B) 积分归一化。后验方差 AB/[(A+B)²(A+B+1)] 区别于规则的抽样方差。未来试验共享未知 p,因此预测联合律一般有依赖与额外计数波动。

7

MAP、损失模型与正则化尺度

最大后验(MAP)选择后验质量众数,或指定连续坐标的密度众数。密度情形最大化 Lπ 等价于最小化负 logL 加负 log 先验,允许省参数无关常数。连续点概率为零,密度众数不是有正点概率的参数。平坦或多峰后验可有非唯一 MAP,也不必接近均值或适合预测。

Beta(A,B)、A,B>1 的 log 密度导数给众数 (A−1)/(A+B−2)。A=1、B>1 时,连续扩展到 [0,1] 的最大密度端点为零;B=1、A>1 时为一;两者皆一时均匀,全部点并列。参数小于一可有端点密度发散,应明确众数约定。探索器限整数形状至少一,避免隐藏奇异情况。

IID y_i∼N(μ,σ²)、已知 σ²>0,先验 μ∼N(0,τ²)、τ²>0,负 log 后验为 Σ(y_i−μ)²/(2σ²)+μ²/(2τ²) 加 μ 无关项。乘 2σ² 得 SSE+λμ²,λ=σ²/τ²。求导给 μ_MAP=n y_bar/(n+λ)。若使用平均平方误差,对应系数为 λ/n;平均数据项却不变系数,会改变先验等价目标。

例题详解
惩罚系数同时取决于噪声与先验尺度

噪声方差 1、先验方差 4、n=4、观测均值 3,λ=.25、MAP=12/4.25≈2.823529。总 SSE 系数 .25,平均 SSE 系数 .0625,漏掉 n 会改变收缩。非零先验中心 m₀ 改为 λ(μ−m₀)²,向该中心拉动。

独立零均值高斯系数先验产生平方欧氏范数惩罚,独立 Laplace 先验产生绝对值惩罚。这个解释同时依赖系数先验与观测噪声:高斯噪声给平方残差,Laplace 噪声给绝对残差。惩罚截距、改变特征单位或噪声尺度也改变概率解释。后续回归处理设计矩阵,此标量推导已固定系数约定。

高斯 MAP 系数约定噪声与先验负对数合成后,总残差系数为噪声方差除先验方差;改平均时再除样本量。从模型推导惩罚尺度−log posterior = SSE/(2σ²) + μ²/(2τ²) + constant× 2σ²Sum: SSE + (σ²/τ²) μ²Average: SSE/n + (σ²/(nτ²)) μ²相同最优点需要数据项与惩罚同尺度。
图 25.4

高斯观测给平方残差,高斯系数先验给平方惩罚;两种方差决定系数。总和改为平均时,系数尺度必须一起改变。

连续 MAP 依参数坐标。若 p 后验为 Beta(A,B),η=log[p/(1−p)],η 密度含 dp/dη=p(1−p),所以按 p 表达的形状正比 p^A(1−p)^B,η 众数对应 p=A/(A+B)。原 p 密度众数却是 (A−1)/(A+B−2)。正确变换的分布与事件概率一致,密度高度和众数依坐标。某坐标平坦不能直接称为中立先验。

MAP 正则化是建模解释,不保证不确定性校准或泛化。点优化器丢掉大量后验信息,验证集调出的系数需说明选择协议。σ 也拟合时要恢复归一化项;未知超参数改变先验时,其归一化也可能影响拟合。只保留熟悉损失而不检查变化的自变量,可悄悄改变模型。

检验理解

高斯先验为何给平方惩罚?数据 SSE 平均时如何调整?连续 MAP 对非线性坐标变换不变吗?

查看答案

负 log 先验为 μ²/(2τ²) 加常数,与噪声项组合即得。平均后匹配系数除以 n。密度变换有 Jacobian,因此众数可移动,事件概率仍正确一致。

8

常见误解

错误说法 修正
似然已是参数概率分布。 后验还需先验与归一化。
每个 MLE 都是内部导数根。 检查端点、缺失端点及无界情形。
密度值是精确点概率。 连续点概率为零。
无偏意味着每次估计正确。 它是重复抽样期望性质。
低方差总是低 MSE。 偏差平方也贡献风险。
先验就是额外观察数据。 它是参数模型,复用数据不是新证据。
可信区间自动有名义置信覆盖。 后验质量与重复抽样覆盖不同。
总和改平均不影响惩罚。 对应系数改变 n 倍。
9

三个可复现实验

实验 1 · 似然与归一化 beta 更新

下载 lab1_likelihood_and_beta_update.py

"""CPU-only: likelihood estimates and an integer-parameter beta posterior."""
import math


def beta_cdf(x, a, b):
    """For positive integer a,b, I_x(a,b) is a binomial upper tail."""
    if x <= 0:
        return 0.0
    if x >= 1:
        return 1.0
    n = a + b - 1
    return math.fsum(math.comb(n, j) * x**j * (1-x)**(n-j)
                     for j in range(a, n + 1))


def beta_quantile(u, a, b):
    lo, hi = 0.0, 1.0
    for _ in range(70):
        mid = (lo + hi) / 2
        if beta_cdf(mid, a, b) < u:
            lo = mid
        else:
            hi = mid
    return (lo + hi) / 2


if __name__ == "__main__":
    n, k, a, b = 10, 8, 2, 2
    post_a, post_b = a+k, b+n-k
    mle, mean = k/n, post_a/(post_a+post_b)
    mode = (post_a-1)/(post_a+post_b-2)
    print("Ordered Bernoulli likelihood: p^8(1-p)^2; count factor cancels for p fitting")
    for p in (.2, .5, .7, .8, .9):
        print(f"p={p:.1f}: likelihood={p**k*(1-p)**(n-k):.9f}")
    low, high = (beta_quantile(u, post_a, post_b) for u in (.025, .975))
    assert abs(beta_cdf(high, post_a, post_b)-beta_cdf(low, post_a, post_b)-.95) < 1e-12
    print(f"MLE={mle:.6f}; posterior Beta({post_a},{post_b})")
    print(f"posterior mean / next-trial predictive={mean:.6f}; posterior mode={mode:.6f}")
    print(f"equal-tail 95% credible interval=[{low:.6f}, {high:.6f}] (numerical inversion)")
    xs = [1., 2., 4.]
    mu = math.fsum(xs)/len(xs)
    rss = math.fsum((x-mu)**2 for x in xs)
    print(f"Gaussian data {xs}: mean MLE={mu:.6f}; variance MLE={rss/3:.6f}; unbiased variance={rss/2:.6f}")
    print("All failures: Bernoulli MLE=0; Beta(2,12) mean=1/7, mode=1/12")
输出
Ordered Bernoulli likelihood: p^8(1-p)^2; count factor cancels for p fitting
p=0.2: likelihood=0.000001638
p=0.5: likelihood=0.000976562
p=0.7: likelihood=0.005188321
p=0.8: likelihood=0.006710886
p=0.9: likelihood=0.004304672
MLE=0.800000; posterior Beta(10,4)
posterior mean / next-trial predictive=0.714286; posterior mode=0.750000
equal-tail 95% credible interval=[0.461868, 0.909080] (numerical inversion)
Gaussian data [1.0, 2.0, 4.0]: mean MLE=2.333333; variance MLE=1.555556; unbiased variance=2.333333
All failures: Bernoulli MLE=0; Beta(2,12) mean=1/7, mode=1/12

先推三个 Bernoulli 摘要,再核验区间后验质量,解释高斯方差分母与全失败端点。

实验 2 · 重复抽样偏差、方差和 MSE

下载 lab2_bias_variance_and_mse.py

"""Repeated independent datasets compare specified frequentist risks."""
import math
import random


def summarize(values, truth):
    avg = math.fsum(values)/len(values)
    var = math.fsum((v-avg)**2 for v in values)/len(values)
    mse = math.fsum((v-truth)**2 for v in values)/len(values)
    assert abs(mse-var-(avg-truth)**2) < 1e-12
    return avg-truth, var, mse


if __name__ == "__main__":
    rng = random.Random(25025)
    n, replications = 10, 6000
    print(f"seed=25025; independent synthetic datasets={replications}; n={n}; Beta(2,2) fixed before draws")
    for p in (.3, .95):
        counts = [sum(rng.random() < p for _ in range(n)) for _ in range(replications)]
        estimates = {"MLE": [k/n for k in counts], "posterior mean": [(k+2)/(n+4) for k in counts]}
        for name, values in estimates.items():
            bias, var, mse = summarize(values, p)
            model_bias = 0. if name == "MLE" else (2-4*p)/(n+4)
            model_var = p*(1-p)/n if name == "MLE" else n*p*(1-p)/(n+4)**2
            print(f"p={p:.2f}, {name}: empirical bias={bias:.6f}, variance={var:.6f}, MSE={mse:.6f}")
            print(f"  exact sampling bias={model_bias:.6f}, variance={model_var:.6f}, MSE={model_var+model_bias**2:.6f}")
    print("A posterior mean can be assessed by repeated-sample risk; its Bayesian interpretation does not guarantee lower risk at every fixed p.")
输出
seed=25025; independent synthetic datasets=6000; n=10; Beta(2,2) fixed before draws
p=0.30, MLE: empirical bias=0.000417, variance=0.021185, MSE=0.021185
  exact sampling bias=0.000000, variance=0.021000, MSE=0.021000
p=0.30, posterior mean: empirical bias=0.057440, variance=0.010809, MSE=0.014108
  exact sampling bias=0.057143, variance=0.010714, MSE=0.013980
p=0.95, MLE: empirical bias=-0.000250, variance=0.004723, MSE=0.004723
  exact sampling bias=0.000000, variance=0.004750, MSE=0.004750
p=0.95, posterior mean: empirical bias=-0.128750, variance=0.002410, MSE=0.018986
  exact sampling bias=-0.128571, variance=0.002423, MSE=0.018954
A posterior mean can be assessed by repeated-sample risk; its Bayesian interpretation does not guarantee lower risk at every fixed p.

先算两个真率下的精确风险。有限模拟估计这些风险,不能证明统一排序;解释后验均值为何同时也是频率估计规则。

实验 3 · 数值与模型修复

下载 lab3_underflow_normalisation_and_prior.py

"""Diagnose probability underflow, parameter-dependent factors, and reused data."""
import math


def bernoulli_log_likelihood(p, k, n):
    if not 0 <= p <= 1 or not 0 <= k <= n:
        raise ValueError("invalid model or count")
    if (p == 0 and k > 0) or (p == 1 and n-k > 0):
        return -math.inf
    return (k*math.log(p) if k else 0.) + ((n-k)*math.log1p(-p) if n-k else 0.)


if __name__ == "__main__":
    n, k = 10000, 8000
    ll = [bernoulli_log_likelihood(p, k, n) for p in (.79, .8)]
    print(f"n={n}, k={k}: raw likelihoods={[math.exp(x) for x in ll]}")
    print(f"log likelihoods={ll[0]:.6f}, {ll[1]:.6f}; relative L(.79)/L(.8)={math.exp(ll[0]-ll[1]):.6f}")
    assert ll[1] > ll[0] and all(math.exp(x) == 0 for x in ll)
    for sigma in (1., 2.):
        full = -2*math.log(sigma)-math.log(2*math.pi)
        print(f"two zero residuals, sigma={sigma:.0f}: Gaussian full logL={full:.6f}; omitted-scale expression=0")
    a, b, k, n = 2, 2, 8, 10
    correct = (a+k)/(a+b+n)
    doubled = (a+2*k)/(a+b+2*n)
    print(f"One update: Beta(10,4), mean={correct:.6f}")
    print(f"Same data reused as new evidence: Beta(18,6), mean={doubled:.6f} (invalid independent-evidence claim)")
    sigma2, tau2, n, observed_mean = 1., 4., 4, 3.
    lam = sigma2/tau2
    map_mean = n*observed_mean/(n+lam)
    print(f"Gaussian mean, prior N(0,4), known noise variance1: MAP={map_mean:.6f}; sum-SSE penalty coefficient={lam:.6f}")
    print(f"For average-SSE convention the matching coefficient is lambda/n={lam/n:.6f}.")
输出
n=10000, k=8000: raw likelihoods=[0.0, 0.0]
log likelihoods=-5007.074165, -5004.024235; relative L(.79)/L(.8)=0.047362
two zero residuals, sigma=1: Gaussian full logL=-1.837877; omitted-scale expression=0
two zero residuals, sigma=2: Gaussian full logL=-3.224171; omitted-scale expression=0
One update: Beta(10,4), mean=0.714286
Same data reused as new evidence: Beta(18,6), mean=0.750000 (invalid independent-evidence claim)
Gaussian mean, prior N(0,4), known noise variance1: MAP=2.823529; sum-SSE penalty coefficient=0.250000
For average-SSE convention the matching coefficient is lambda/n=0.062500.

修复下溢、遗漏尺度归一化、复用证据及总和/平均系数。指出每个优化需要保留哪些参数相关因子。

10

十四题与完整解答

练习 1–12 必做,选学 13–14 在十二小时以外增加 35 分钟。

练习 1★★★计算7 分钟

十次中八成功,求 MLE,以及 Beta(2,2) 后验均值、众数和方差。

查看解答

MLE .8;后验 Beta(10,4),均值 5/7,众数 3/4,方差 40/(14²·15)=2/147。它们分别优化或概括不同量。

练习 2★★★计算7 分钟

(1,2,4) 的高斯均值 MLE、方差 MLE 与无偏方差是多少?

查看解答

均值 7/3,残差 −4/3、−1/3、5/3,R=14/3。方差 MLE=14/9,无偏方差=7/3。R>0 保证正方差联合 MLE 存在。

练习 3★★★计算7 分钟

Beta(2,2) 观察十次失败后,给 MLE、均值、众数与未来成功预测。

查看解答

[0,1] 上 MLE 为零,后验 Beta(2,12),均值和预测 1/7,众数 1/12。无成功不证明真实率为零。

练习 4★★★计算7 分钟

噪声方差 1、先验 N(0,4)、n=4、均值 3,求 MAP 与总和/平均系数。

查看解答

λ=1/4,MAP=48/17≈2.823529。总 SSE 系数 .25,平均系数 .0625。

练习 5★★★proof15 分钟

推 Bernoulli MLE,含 k=0、k=n、开闭参数空间。

查看解答

混合结果的得分零点 k/n,负二阶导保证唯一内部最大,端点似然零。全失败或全成功时似然单调,闭空间端点 0 或 1 最大,开空间仅有上确界。n=0 时全并列。

练习 6★★★proof15 分钟

证明 MSE 分解及 n−1 方差期望恒等式。

查看解答

围绕 ET 展开 T−θ,中心项均值零使交叉项消失。IID 有限方差时 R=Σ(X_i−μ)²−n(x_bar−μ)²,所以 ER=(n−1)σ²,n>1 时 R/(n−1) 无偏。独立支撑均值方差,此恒等式无需高斯。

练习 7★★★proof15 分钟

推归一化 beta 后验与一次未来成功预测。

查看解答

先验乘似然得 p^(a+k−1)(1−p)^(b+n−k−1),积分 B(A,B) 归一化。再积分 p 得 B(A+1,B)/B(A,B)=A/(A+B)。计数证据的组合因子在后验中消去,在计数概率中保留。

练习 8★★★application12 分钟

n=10、p=.3 比较 K/n 与 (K+2)/14 的精确 MSE,再算 p=.95。

查看解答

MLE 风险 .021、.00475。收缩偏差 [2−4p]/14,方差 10p(1−p)/196,总风险 .013979592、.018954082。它在 .3 胜,在 .95 负,不能仅看方差。

练习 9★★★application12 分钟

Beta(10,4) 下两个未来指示的预测协方差是多少?固定率二项为何漏掉它?

查看解答

给定 p 独立,E[Y₁Y₂|数据]=E[p²|数据],减去预测均值平方得 Var(p|数据)=2/147>0。共享未知率产生依赖,而固定 5/7 二项把该协方差设为零。

练习 10★★★application12 分钟

解释 N(θ²,1) 的符号不可识别,给有效限制。优化器选根能解决原问题吗?

查看解答

±θ 有同一可观测律。Θ=[0,∞) 使均值映射单射;数值选根不会为原无限制模型的符号创造证据。

练习 11★★★diagnosis12 分钟

两个长 Bernoulli 乘积都为存储零,未知高斯尺度的前因子也被省略。修正。

查看解答

用 logL、减有限公共最大值后取相对指数,避免将下溢误判为相同。尺度拟合必须保留 −n log σ;只有 σ 固定时它才是常数。

练习 12★★★diagnosis12 分钟

八/二数据更新先验两次,且后验区间自动称为 95% 置信区间。修正。

查看解答

一次数据给 Beta(10,4),平方同一似然虚构 Beta(18,6)。可信区间在模型先验下有 .95 条件后验质量,固定参数重复抽样覆盖是另一性质,未自动证明。

练习 13★★★extension15 分钟

由 Bernoulli 比例一致性证固定 Beta(a,b) 后验均值规则一致,并比较只返回首试验。

查看解答

差值 [a−(a+b)K/n]/(n+a+b) 被常数/(n+a+b) 控制,趋零,配合比例依概率收敛即得一致。首试验虽无偏,在内部 p 却有不消失方差与固定正偏差概率,因此不一致。

练习 14★★★extension20 分钟

将 A,B>1 的 Beta 后验变为 logit η,推两个坐标众数不同。

查看解答

dp/dη=p(1−p),η 密度按 p 表达正比 p^A(1−p)^B,众数对应 A/(A+B);p 密度众数为 (A−1)/(A+B−2)。事件概率正确变换后相同,但高度及连续 MAP 依坐标。

11

十题自测

1
估计量的一次数值输出称什么?
2
观察 x 后,L(θ;x) 改变哪个变量?
3
十失败在 [0,1] 的 Bernoulli MLE 是什么?
4
正残差和的高斯方差 MLE 分母是什么?
5
较小估计方差对 MSE 单独说明什么?
6
Beta(2,2) 在八成功两失败后是什么?
7
Beta(A,B) 的未来单试验预测率是什么?
8
高斯目标何时可省 −n log σ?
9
连续 MAP 哪句正确?
查看答案

[0,1] 的 log 凹给 MLE .8,全失败端点为 0。先验乘似然归一化得 Beta(10,4),均值和预测 5/7,众数 3/4,方差 2/147。95% 可信区间在模型下有 .95 后验质量,不自动给固定 p 覆盖。计数只用一次,复用不是新批。抽样风险在固定 p 下平均新数据,后验方差条件于此数据与先验。

12

带问题阅读

读 MIT 经典估计、贝叶斯推断及 Mathematics for Machine Learning 第八章。初等估计与 beta 更新均在本课推导。

时间 阅读问题
第一阶段 · 20 分钟 似然改变哪个自变量,哪个参数空间容许最大点?
第四阶段 · 20 分钟 条件于什么,哪些因子依赖所优化参数?
13

检索结业与下一步

推两个 MLE、方差分母、MSE 分解、beta 归一化与预测,以及高斯先验惩罚尺度。不依赖图解释可识别、端点存在与三种不确定性对象。

结业任务:比较 .8、5/7、.75 的不同目标,再修复重复更新与平均损失后不变的惩罚系数。

进入下一课的标准:能够在明确模型下推导并解释点估计。下一课添加置信覆盖、检验和实验协议。返回课程总览。

14

符号与双语术语

符号或术语 含义 English
θ / Θ 参数 / 参数空间 Parameter / space
T / t 估计量 / 实现估计值 Estimator / estimate
L / ℓ 似然 / 对数似然 Likelihood / log-likelihood
偏差 / MSE 抽样偏差 / 均方误差 Bias / mean squared error
π / 后验 先验 / 条件参数律 Prior / posterior
可信 / 置信 后验质量 / 重复抽样覆盖 Credible / confidence
MAP / MLE 后验密度众数 / 似然最大点 Maximum a posteriori / likelihood
λ / σ² / τ² 系数 / 噪声方差 / 先验方差 Penalty / noise / prior variance