AI 工程基础体系 · 第 35/100 篇。内容覆盖机器学习、深度学习与生成式 AI;模型、数据、评测、权限和成本会作为同一生产系统处理。

AI 概率统计:随机变量、分布、估计、贝叶斯与不确定性

概率统计是机器学习把有限数据转化为可泛化结论的数学基础。概率论通常从一个已知或假定的随机机制出发,研究事件和随机变量的可能结果;统计学则反过来,从观测数据推断未知机制。机器学习训练、评测和线上预测同时包含两种方向:

  • 概率模型:给定参数或模型,描述数据如何产生。
  • 统计推断:给定数据,估计参数、比较模型并量化不确定性。

例如,分类模型输出“猫的概率为 0.9”,并不自动意味着它在所有类似样本上有 90% 的正确率。这个数可能是条件概率的估计,也可能只是未经校准的分数。理解二者的差异,需要从随机变量和分布开始。

一、概率空间与随机变量

1. 概率的形式化对象

一个概率模型由三部分组成:

(Ω,F,P)(\Omega,\mathcal F,P)

其中:

  • Ω\Omega 是所有可能结果组成的样本空间;
  • F\mathcal F 是可被讨论的事件集合;
  • PP 是定义在事件上的概率函数,满足:

    P(Ω)=1,P(A)0P(\Omega)=1,\qquad P(A)\ge 0

    并且对互不相交的事件 A1,A2,A_1,A_2,\ldots,满足可列可加性:

    P(iAi)=iP(Ai)P\left(\bigcup_i A_i\right)=\sum_i P(A_i)

实际机器学习中很少显式写出 Ω\OmegaF\mathcal F,但它们决定了“哪些结果被纳入模型”和“概率是否定义良好”。

随机变量不是“随机的变量名”,而是从结果空间映射到数值空间的函数:

X:ΩRX:\Omega\rightarrow\mathbb R

掷一枚骰子时,样本点可以是骰子的具体状态,随机变量 XX 则把每个状态映射为点数。文本生成时,下一个 token 可以看作离散随机变量;图像中的像素、用户点击与请求延迟都可以建模为随机变量。

随机变量的随机性来自观测前不知道 ω\omega 会取什么值,而不是变量本身“没有确定规则”。给定具体结果 ω\omega 后,X(ω)X(\omega) 是确定的。

2. 离散变量、连续变量与密度

离散随机变量的概率质量函数为:

pX(x)=P(X=x)p_X(x)=P(X=x)

例如伯努利变量 Y{0,1}Y\in\{0,1\}

P(Y=1)=p,P(Y=0)=1pP(Y=1)=p,\qquad P(Y=0)=1-p

连续随机变量通常用概率密度函数 fX(x)f_X(x) 描述:

P(aXb)=abfX(x)dxP(a\le X\le b)=\int_a^b f_X(x)\,dx

密度在某个点的数值不是该点的概率。对连续变量而言:

P(X=x)=0P(X=x)=0

即使 fX(x)f_X(x) 很大也如此;只有区间积分才是概率。

联合分布描述多个随机变量同时取值的规律:

pX,Y(x,y)p_{X,Y}(x,y)

边缘分布通过求和或积分得到:

pX(x)=ypX,Y(x,y)p_X(x)=\sum_y p_{X,Y}(x,y)

条件分布则描述已经知道 Y=yY=yXX 的分布:

p(xy)=p(x,y)p(y),p(y)>0p(x\mid y)=\frac{p(x,y)}{p(y)},\qquad p(y)>0

这一区分在机器学习中非常重要。训练数据常被写成 (X,Y)(X,Y),模型通常要学习的是:

p(YX)p(Y\mid X)

而不是 p(X)p(X)。生成式模型则常常同时建模输入或 token 序列的联合概率。

3. 独立性不是“看起来无关”

两个事件 A,BA,B 独立,当且仅当:

P(AB)=P(A)P(B)P(A\cap B)=P(A)P(B)

随机变量 X,YX,Y 独立,则联合分布可分解为:

p(x,y)=p(x)p(y)p(x,y)=p(x)p(y)

条件独立则是:

XYZX\perp Y\mid Z

表示给定 ZZ 后,XXYY 独立。朴素贝叶斯分类器假设各特征在给定类别后条件独立:

p(x1,,xdy)=j=1dp(xjy)p(x_1,\ldots,x_d\mid y) =\prod_{j=1}^{d}p(x_j\mid y)

现实中特征往往并不真的独立,但这个近似有时仍能获得良好分类结果。错误在于把“模型假设”误认为“数据事实”。

4. 全概率公式与贝叶斯公式

若事件 B1,,BkB_1,\ldots,B_k 互斥且覆盖样本空间,则:

P(A)=i=1kP(ABi)P(Bi)P(A)=\sum_{i=1}^{k}P(A\mid B_i)P(B_i)

贝叶斯公式由条件概率定义直接推出:

P(BiA)=P(ABi)P(Bi)P(A)P(B_i\mid A) =\frac{P(A\mid B_i)P(B_i)}{P(A)}

它把“在原因成立时观察到证据的概率”转化为“观察到证据后原因成立的概率”。分子是似然乘先验,分母是证据概率。

一个常见反例是疾病检测。假设:

  • 患病率 P(D)=0.01P(D)=0.01
  • 检测灵敏度 P(+D)=0.99P(+\mid D)=0.99
  • 假阳性率 P(+¬D)=0.05P(+\mid \neg D)=0.05

则阳性后的患病概率为:

P(D+)=0.99×0.010.99×0.01+0.05×0.990.167P(D\mid +) =\frac{0.99\times0.01} {0.99\times0.01+0.05\times0.99} \approx 0.167

阳性并不等于 99% 患病,因为低基准率和假阳性共同影响后验概率。这一现象也会出现在欺诈检测、内容审核和安全告警中。

二、分布、期望与方差

1. 常见分布及其含义

分布不是一组“可套用的数字”,而是对随机变量所有可能结果及其概率的整体描述。

伯努利分布适用于一次二元试验:

YBernoulli(p)Y\sim\operatorname{Bernoulli}(p)

其期望和方差为:

E[Y]=p,Var(Y)=p(1p)E[Y]=p,\qquad \operatorname{Var}(Y)=p(1-p)

二项分布描述 nn 次相互独立、成功概率相同的伯努利试验中的成功次数:

KBinomial(n,p)K\sim\operatorname{Binomial}(n,p)

P(K=k)=(nk)pk(1p)nkP(K=k)=\binom nkp^k(1-p)^{n-k}

它不适用于存在强依赖的重复观测,例如同一用户连续点击。

正态分布为:

XN(μ,σ2)X\sim\mathcal N(\mu,\sigma^2)

其中 μ\mu 是位置参数,σ2\sigma^2 是方差。正态分布经常出现,一部分原因是独立小扰动之和在满足条件时受中心极限定理近似为正态;这并不意味着所有数据都正态。

泊松分布常用于固定时间或空间区间内的事件计数:

P(K=k)=eλλkk!P(K=k)=\frac{e^{-\lambda}\lambda^k}{k!}

它要求在建模区间内事件率近似恒定,并且事件之间依赖较弱。请求数、故障数可能适合这个模型,但有明显高峰和批量事件时,单一泊松分布会低估尾部风险。

指数分布常用于等待时间,其无记忆性质为:

P(X>s+tX>s)=P(X>t)P(X>s+t\mid X>s)=P(X>t)

真实服务延迟经常具有长尾,简单正态分布可能给出负延迟,指数分布也可能无法拟合多阶段服务链路。

2. 期望、方差和协方差

离散变量的期望为:

E[X]=xxp(x)E[X]=\sum_x xp(x)

连续变量的期望为:

E[X]=xf(x)dxE[X]=\int xf(x)\,dx

期望是重复实验的长期平均,不一定是变量可能取到的值。例如 XX 以相等概率取 0 和 1,E[X]=0.5E[X]=0.5,但一次观测不会得到 0.5。

方差定义为:

Var(X)=E[(XE[X])2]=E[X2]E[X]2\operatorname{Var}(X)=E[(X-E[X])^2] =E[X^2]-E[X]^2

它衡量随机变量围绕均值的平方偏离。标准差是方差的平方根,与原变量具有相同单位。

两个变量的协方差为:

Cov(X,Y)=E[(XE[X])(YE[Y])]\operatorname{Cov}(X,Y) =E[(X-E[X])(Y-E[Y])]

相关系数为:

ρX,Y=Cov(X,Y)Var(X)Var(Y)\rho_{X,Y} =\frac{\operatorname{Cov}(X,Y)} {\sqrt{\operatorname{Var}(X)\operatorname{Var}(Y)}}

相关系数为 0 不必然意味着独立。例如令 XX[1,1][-1,1] 上均匀分布,Y=X2Y=X^2。由于对称性,Cov(X,Y)=E[X3]=0\operatorname{Cov}(X,Y)=E[X^3]=0,但 YY 完全由 XX 决定,因此二者不独立。这是“零相关等于无关”的反例。

3. 期望的线性性质与大数定律

无论变量是否独立,都有:

E[aX+bY]=aE[X]+bE[Y]E[aX+bY]=aE[X]+bE[Y]

X1,,XnX_1,\ldots,X_n 独立同分布,均值为 μ\mu,方差为 σ2\sigma^2,样本均值:

Xˉ=1ni=1nXi\bar X=\frac1n\sum_{i=1}^nX_i

满足:

E[Xˉ]=μ,Var(Xˉ)=σ2nE[\bar X]=\mu,\qquad \operatorname{Var}(\bar X)=\frac{\sigma^2}{n}

大数定律说明,在适当条件下,Xˉ\bar Xnn 增大收敛到 μ\mu。它支持“增加代表性样本可以降低平均估计误差”,但不保证有偏采样会自动变正确。

中心极限定理进一步说明,在有限方差等条件下:

n(Xˉμ)σ\frac{\sqrt n(\bar X-\mu)}{\sigma}

会趋近标准正态分布。它解释了置信区间和许多统计检验的来源,但在重尾、强依赖、小样本或分布漂移时,正态近似可能不可靠。

三、统计估计:从样本推断未知量

1. 参数、样本与统计量

假设数据由分布 p(xθ)p(x\mid\theta) 产生,θ\theta 是未知参数。例如:

XiN(μ,σ2)X_i\sim\mathcal N(\mu,\sigma^2)

σ2\sigma^2 已知,μ\mu 是待估计参数。观测样本 x1,,xnx_1,\ldots,x_n 的函数称为统计量,例如样本均值:

μ^=xˉ\hat\mu=\bar x

估计量是随机变量,因为在观测数据前,μ^\hat\mu 会随着样本变化;估计值是拿到具体数据后算出的数。

2. 最大似然估计的推导

似然函数把观测数据视为已知,把参数视为变量:

L(θ;x1:n)=p(x1:nθ)L(\theta;x_{1:n}) =p(x_{1:n}\mid\theta)

若样本条件独立:

L(θ)=i=1np(xiθ)L(\theta)=\prod_{i=1}^{n}p(x_i\mid\theta)

最大似然估计选择使观测数据最可能出现的参数:

θ^MLE=argmaxθL(θ)\hat\theta_{\text{MLE}} =\arg\max_\theta L(\theta)

由于对数是单调函数,通常最大化对数似然:

(θ)=i=1nlogp(xiθ)\ell(\theta)=\sum_{i=1}^n\log p(x_i\mid\theta)

以伯努利样本为例,xi{0,1}x_i\in\{0,1\},成功次数为 k=ixik=\sum_i x_i

L(p)=pk(1p)nkL(p)=p^k(1-p)^{n-k}

对数似然为:

(p)=klogp+(nk)log(1p)\ell(p)=k\log p+(n-k)\log(1-p)

求导并令其为零:

ddp=kpnk1p=0\frac{d\ell}{dp} =\frac{k}{p}-\frac{n-k}{1-p}=0

整理得:

k(1p)=p(nk)k=npp^MLE=knk(1-p)=p(n-k) \Rightarrow k=np \Rightarrow \hat p_{\text{MLE}}=\frac{k}{n}

因此,观测 10 次中成功 7 次时,最大似然估计为 0.70.7

但若观测 0 次成功,MLE 给出 p=0p=0。在分类模型中,这会导致某些未见类别的概率变成零,后续取对数时产生无穷大损失。这个失败不是计算错误,而是小样本极端估计的后果。

3. 偏差、方差与均方误差

估计量 θ^\hat\theta 的偏差为:

Bias(θ^)=E[θ^]θ\operatorname{Bias}(\hat\theta) =E[\hat\theta]-\theta

方差为:

Var(θ^)=E[(θ^E[θ^])2]\operatorname{Var}(\hat\theta) =E[(\hat\theta-E[\hat\theta])^2]

均方误差分解为:

MSE(θ^)=E[(θ^θ)2]=Var(θ^)+Bias(θ^)2\operatorname{MSE}(\hat\theta) =E[(\hat\theta-\theta)^2] =\operatorname{Var}(\hat\theta) +\operatorname{Bias}(\hat\theta)^2

这解释了正则化的统计含义:限制模型复杂度通常增加偏差、降低方差。生产中选择模型不能只看训练损失,还要看独立测试集上的误差、数据漂移和失败样本的代价。

样本方差常写为:

s2=1n1i=1n(xixˉ)2s^2=\frac1{n-1}\sum_{i=1}^n(x_i-\bar x)^2

分母使用 n1n-1 而不是 nn,是因为样本均值已经从数据中估计出一个自由度;在独立同分布且方差存在时,s2s^2 是总体方差的无偏估计。若把数据全部视为总体而不是抽样,则分母 nn 也有其含义,二者不能脱离抽样目标机械选择。

4. 置信区间不是参数的概率区间

以近似正态的样本均值为例,若总体标准差 σ\sigma 已知:

Xˉ±z1α/2σn\bar X\pm z_{1-\alpha/2}\frac{\sigma}{\sqrt n}

是置信水平 1α1-\alpha 的频率学置信区间。

严格解释是:如果重复抽样并每次用同一规则构造区间,长期约 1α1-\alpha 的区间会覆盖固定参数 μ\mu。参数 μ\mu 在频率学派中不是随机变量,因此不能严格说“这一个已经算出的区间包含 μ\mu 的概率是 95%”。

小样本、未知方差时常用 t 分布;比例、计数和相关性较强的数据则可能需要二项模型、广义线性模型或重采样方法。把“95%”直接当作任意场景的可靠保证,是常见误用。

四、贝叶斯推断:先验、后验与预测

1. 贝叶斯公式在参数推断中的形式

贝叶斯方法把参数 θ\theta 视为随机变量,指定先验分布 p(θ)p(\theta),观测数据 DD 后得到:

p(θD)=p(Dθ)p(θ)p(D)p(\theta\mid D) =\frac{p(D\mid\theta)p(\theta)} {p(D)}

其中:

  • p(θ)p(\theta):数据前对参数的先验信念;
  • p(Dθ)p(D\mid\theta):似然;
  • p(θD)p(\theta\mid D):后验;
  • p(D)=p(Dθ)p(θ)dθp(D)=\int p(D\mid\theta)p(\theta)d\theta:证据或边际似然。

贝叶斯推断不会凭空消除主观性;先验必须说明来源,并应通过敏感性分析检验结果是否过度依赖先验。

2. Beta-Bernoulli 完整算例

假设转化率 pp 的先验为:

pBeta(α,β)p\sim\operatorname{Beta}(\alpha,\beta)

其密度与 pα1(1p)β1p^{\alpha-1}(1-p)^{\beta-1} 成正比。观察到 kk 次成功、nkn-k 次失败后,似然为:

p(Dp)pk(1p)nkp(D\mid p)\propto p^k(1-p)^{n-k}

后验为:

p(pD)pk+α1(1p)nk+β1p(p\mid D) \propto p^{k+\alpha-1}(1-p)^{n-k+\beta-1}

因此:

pDBeta(α+k,β+nk)p\mid D\sim\operatorname{Beta}(\alpha+k,\beta+n-k)

取先验 Beta(1,1)\operatorname{Beta}(1,1),即在 0 到 1 上均匀;若 10 次中成功 0 次,则后验为:

Beta(1,11)\operatorname{Beta}(1,11)

后验均值为:

E[pD]=1120.0833E[p\mid D]=\frac{1}{12}\approx0.0833

它不会像 MLE 一样直接变成 0。后验仍然承认真实转化率可能很低,但保留了有限样本带来的不确定性。

后验预测新一次试验成功的概率为:

P(Xnew=1D)=E[pD]P(X_{\text{new}}=1\mid D) =E[p\mid D]

因为给定 pp 时新试验成功概率是 pp,再对后验中的 pp 积分即可。这一步展示了贝叶斯方法与“直接使用参数点估计”的区别:预测要对参数不确定性进行平均。

3. MLE、MAP 与完整后验

最大后验估计为:

θ^MAP=argmaxθp(θD)=argmaxθp(Dθ)p(θ)\hat\theta_{\text{MAP}} =\arg\max_\theta p(\theta\mid D) =\arg\max_\theta p(D\mid\theta)p(\theta)

取对数:

logp(Dθ)+logp(θ)\log p(D\mid\theta)+\log p(\theta)

因此,先验的负对数常常表现为正则化项。例如高斯先验会产生类似 L2 正则化的惩罚,拉普拉斯先验会产生类似 L1 正则化的惩罚。这个等价关系只说明优化目标的对应关系,不表示普通正则化训练自动产生了可用的完整后验分布。

  • MLE:只最大化似然;
  • MAP:最大化似然与先验的乘积;
  • 完整贝叶斯推断:保留整个 p(θD)p(\theta\mid D),而不是只保留一个最优点。

深度神经网络的参数维度极高,精确后验通常不可行,实践中会用变分推断、MCMC、Laplace 近似、深度集成或近似贝叶斯方法。不同近似有不同假设,不能把任意多个随机初始化的模型都称为严格的贝叶斯后验样本。

五、不确定性:数据噪声、模型认知与预测风险

1. 预测分布

对新输入 xx_*,贝叶斯预测分布为:

p(yx,D)=p(yx,θ)p(θD)dθp(y_*\mid x_*,D) =\int p(y_*\mid x_*,\theta) p(\theta\mid D)\,d\theta

它同时考虑:

  1. 给定参数时,数据本身的随机性;
  2. 参数因有限数据而产生的不确定性。

总方差公式可以形式化这种分解:

Var(Yx,D)=EθD[Var(Yx,θ)]+VarθD[E(Yx,θ)]\operatorname{Var}(Y\mid x,D) = E_{\theta\mid D} [\operatorname{Var}(Y\mid x,\theta)] + \operatorname{Var}_{\theta\mid D} [E(Y\mid x,\theta)]

第一项通常称为偶然不确定性(aleatoric uncertainty),来自测量噪声、标签歧义或过程本身的随机性;第二项通常称为认知不确定性(epistemic uncertainty),来自数据不足、模型未知或分布外输入。

偶然不确定性即使增加数据也不一定消失。例如同一张低清图片确实无法区分两个类别。认知不确定性在覆盖新区域、补充代表性数据后有机会下降。

2. 分类概率与校准

分类模型输出 q(x)q(x) 时,若所有预测为 0.8 的样本中约 80% 真正为正类,则称该概率在该区域具有校准性。准确率高不等于校准良好:

  • 模型可以准确率高但过度自信;
  • 模型可以校准良好但分类决策能力一般;
  • 类别不平衡时,准确率甚至可能没有意义。

可使用可靠性图、Brier score 和负对数似然检查概率质量。Brier score(二分类)为:

1ni=1n(qiyi)2\frac1n\sum_{i=1}^{n}(q_i-y_i)^2

温度缩放等后处理方法可以改善分类概率校准,但需要独立校准集;如果校准集也被反复用于模型选择,评估结果会再次乐观偏差。

3. 区间预测与分位数

回归模型若只输出一个点预测 y^\hat y,不能表达预测风险。可以输出预测区间:

[L(x),U(x)][L(x),U(x)]

也可以输出条件分位数 Qτ(YX=x)Q_\tau(Y\mid X=x)。分位数回归常用 pinball loss:

τ(y,q^)={τ(yq^),yq^(1τ)(q^y),y<q^\ell_\tau(y,\hat q)= \begin{cases} \tau(y-\hat q),& y\ge\hat q\\ (1-\tau)(\hat q-y),& y<\hat q \end{cases}

若需要覆盖率保证,可在满足交换性等条件的前提下使用保序校准或 conformal prediction。其保证通常是有限样本的边际覆盖率,而不是每个子群、每个输入点都具有相同覆盖率;分布漂移会破坏相关保证。

六、生成式 AI 中的概率

1. 自回归序列概率

语言模型通常估计下一个 token 的条件分布:

pθ(xtx<t)p_\theta(x_t\mid x_{<t})

根据链式法则,整段序列概率为:

pθ(x1:T)=t=1Tpθ(xtx<t)p_\theta(x_{1:T}) =\prod_{t=1}^{T}p_\theta(x_t\mid x_{<t})

训练时最大化对数似然,等价于最小化交叉熵:

L=1Tt=1Tlogpθ(xtx<t)\mathcal L =-\frac1T\sum_{t=1}^{T} \log p_\theta(x_t\mid x_{<t})

每个位置的 token 概率可能很高,但长序列的联合概率是许多小于 1 的数相乘,因此会随长度快速变小。比较不同长度文本时,常用平均负对数似然或困惑度,而不能直接比较未归一化的序列概率。

2. 采样参数不是不确定性的完整度量

温度 TT 对 logits ziz_i 进行:

pi=exp(zi/T)jexp(zj/T)p_i=\frac{\exp(z_i/T)} {\sum_j\exp(z_j/T)}

较高温度通常使分布更平坦,较低温度通常使分布更集中。top-k、top-p 则改变候选集合。它们影响生成策略,不等价于模型对事实正确性的概率校准。

模型对一个 token 的高概率只表示在训练分布和当前上下文下更偏好该 token,不能直接推出整句事实正确。检索增强、工具调用、引用验证和外部规则可以减少事实错误,但每个组件都有自身的失败概率,系统置信度不能简单等于语言模型置信度。

3. 熵与候选分歧

离散预测分布的熵为:

H(Yx)=yp(yx)logp(yx)H(Y\mid x)=-\sum_y p(y\mid x)\log p(y\mid x)

熵高表示分布较分散,通常意味着候选不确定;熵低表示分布集中,但低熵也可能是错误的过度自信。对生成模型,token 熵、多个采样结果的语义分歧、检索证据一致性都可作为风险信号,但它们不是普适的正确率证明。

七、可运行示例:估计、后验和校准

下面的 Python 示例使用 NumPy、SciPy 和 scikit-learn,演示同一组二分类观测下的 MLE、Beta 后验以及分类概率校准。安装依赖:

python -m pip install numpy scipy scikit-learn

代码:

import numpy as np
from scipy.stats import beta
from sklearn.calibration import calibration_curve
from sklearn.metrics import brier_score_loss

# 10 次试验中成功 0 次
n, k = 10, 0

# 伯努利参数 p 的最大似然估计
mle = k / n

# 均匀先验 Beta(1, 1) -> 后验 Beta(1+k, 1+n-k)
alpha_post = 1 + k
beta_post = 1 + n - k
posterior_mean = alpha_post / (alpha_post + beta_post)
credible_interval = beta.ppf([0.025, 0.975], alpha_post, beta_post)

print(f"MLE: {mle:.4f}")
print(f"Posterior mean: {posterior_mean:.4f}")
print(
    "95% Bayesian credible interval: "
    f"[{credible_interval[0]:.4f}, {credible_interval[1]:.4f}]"
)

# 一个已训练分类器在独立评测集上的概率输出
y_true = np.array([0, 0, 1, 1, 1, 0, 1, 0])
y_prob = np.array([0.10, 0.40, 0.60, 0.90, 0.80, 0.20, 0.70, 0.30])

brier = brier_score_loss(y_true, y_prob)
fraction_positive, mean_predicted = calibration_curve(
    y_true, y_prob, n_bins=4, strategy="uniform"
)

print(f"Brier score: {brier:.4f}")
for observed, predicted in zip(fraction_positive, mean_predicted):
    print(f"bin observed={observed:.3f}, predicted={predicted:.3f}")

在第一部分中,MLE 为 0,因为样本中没有成功;后验均值约为 0.0833,区间仍然有宽度。这不是说贝叶斯结果必然更正确,而是它显式表达了“10 次观测不足以精确确定 pp”这一事实。

第二部分要求 y_prob 是模型在未参与训练和调参的数据上的概率输出。Brier score 越小通常越好,但只有在相同任务、相同标签定义和相近数据条件下比较才有意义。calibration_curve 返回每个概率区间中的实际正例比例和平均预测概率;样本量很小时,单个区间的比例方差很大,不能仅凭几行输出下结论。

八、数据、模型、评测与生产约束

概率结论的有效范围由数据生成过程决定。训练集、校准集和测试集若存在重复样本、同一用户跨集合泄漏或时间穿越,测试指标会高估线上表现。时间序列通常应按时间切分;用户级任务通常应按用户隔离;近重复图片和文本也需要去重或分组切分。

数据分布变化可以表示为:

ptrain(x,y)pprod(x,y)p_{\text{train}}(x,y) \ne p_{\text{prod}}(x,y)

常见情况包括:

  • 协变量漂移p(x)p(x) 变化;
  • 标签分布变化p(y)p(y) 变化;
  • 概念漂移p(yx)p(y\mid x) 变化。

此时训练集上的置信区间和校准曲线不能自动迁移到生产环境。应按时间、地区、设备、用户群和风险等级分层监控,并区分“模型不确定性上升”和“输入数据管道故障”。

在生产系统中,一个预测请求通常经历:

flowchart LR
    A[请求与权限校验] --> B[特征或上下文构造]
    B --> C[模型推断]
    C --> D[概率/区间校准]
    D --> E{风险阈值}
    E -->|低风险| F[自动返回]
    E -->|高不确定或高代价| G[人工复核或工具验证]
    F --> H[记录预测、版本与成本]
    G --> H
    H --> I[延迟标签与漂移监控]

关键路径不是“模型给出一个概率后结束”。权限校验失败时不能为了得到特征而读取未授权数据;特征缺失或版本不一致时,不能把默认值产生的预测当作正常预测;校准组件、检索服务或外部工具超时时,应有明确的降级策略,并记录该次预测实际使用的模型、数据版本、阈值、延迟和调用成本。

不同错误的代价可能不同。若假阴性代价远高于假阳性,决策阈值不应固定为 0.5。给定预测概率 q=P(Y=1x)q=P(Y=1\mid x),假阳性代价 CFPC_{FP},假阴性代价 CFNC_{FN},预测为正的期望代价为:

(1q)CFP(1-q)C_{FP}

预测为负的期望代价为:

qCFNqC_{FN}

选择正类的条件是:

(1q)CFP<qCFNq>CFPCFP+CFN(1-q)C_{FP}<qC_{FN} \Rightarrow q>\frac{C_{FP}}{C_{FP}+C_{FN}}

这要求概率至少具有可用校准,否则代价阈值没有可靠语义。实际系统还应加入人工审核成本、延迟、模型调用费用、数据访问权限和误报带来的运营负担。

九、常见误解与诊断方法

“概率高就一定正确。”
概率是模型关于结果的条件分布或估计。诊断方法是按预测概率分桶,比较实际命中率;同时检查高置信错误样本,而不是只看平均准确率。

“训练损失下降说明模型不确定性下降。”
交叉熵下降只说明训练目标改善。模型可能变得更过度自信,或者在训练分布外仍然毫无识别能力。应分别评估准确性、校准、覆盖率和分布外样本。

“随机初始化或 dropout 就是严格贝叶斯。”
它们可以作为近似不确定性来源,但是否对应某个后验取决于具体模型、训练目标和采样解释。应说明采用的是深度集成、近似变分推断还是启发式多次采样。

“置信区间和可信区间相同。”
置信区间依靠重复抽样的覆盖性质;贝叶斯可信区间是给定模型和先验后,参数落在区间内的后验概率。数值可能接近,但语义和假设不同。

“样本越多,所有不确定性都会消失。”
更多同质、偏置或重复数据只能减少部分估计误差。标签歧义、测量噪声、概念漂移和权限导致的不可见数据仍然存在。

“独立样本就是随机打乱后切分。”
如果同一用户、同一设备、同一文档或同一时间窗口的记录同时出现在训练和测试中,随机打乱不能创造独立性。应根据业务生成过程决定切分单位。

十、把概率结果转化为工程决策

一个完整的 AI 系统至少要区分四个问题:

  1. 数据是什么分布:观测对象、标签定义、采样方式和缺失机制是什么;
  2. 模型估计了什么:是 p(yx)p(y\mid x)、期望、分位数、联合概率,还是一个未经校准的分数;
  3. 不确定性来自哪里:数据噪声、参数不足、分布外输入,还是工具和标签延迟;
  4. 预测如何影响动作:阈值、人工复核、拒答、重试和成本分别是什么。

只有把这四层分开,概率才不只是日志中的一个小数,而能成为可验证的决策依据。模型输出应与评测集、时间范围、版本、校准状态和适用边界一起解释;当这些条件发生变化时,原有的统计保证也必须重新验证。


系列导航与关联阅读

官方资料

本文依据研究论文、标准组织与主流框架官方文档重新梳理;正文、示例与工程清单由 WR BLOG 编写。