最大似然估计

Views: --

贝叶斯决策需要类条件分布 p(xωi)p(\mathbf{x} \mid \omega_i),但现实中这些分布几乎从不会白送给你。退一步的常见假设是:分布的形式已知(比如「它是高斯」),只是参数未知。最大似然估计(MLE)就是从数据里把这些参数估出来的最常用方法,也是几乎所有概率模型训练的底层逻辑。

一、核心思想:让数据「最不意外」

MLE 的出发点是一个反问:参数取什么值,能让我们恰好观测到手上这批数据的可能性最大?

换句话说,把已观测的数据当成”既定事实”,去找一个最能”解释”它们的参数。那个让观测概率最大的参数,就是估计值。

形式化:设参数为 θ\theta,样本独立同分布(i.i.d.),则观测到整批数据的概率(似然函数)是各样本概率之积:

l(θ)=i=1Np(xiθ)l(\theta) = \prod_{i=1}^{N} p(x_i \mid \theta)

估计量定义为让似然最大的那个 θ\theta

θ^=argmaxθl(θ)\hat{\theta} = \arg\max_{\theta} l(\theta)

二、求解套路:取对数再求导

连乘不好求导,而对数是单调函数、不改变最优点的位置,所以标准做法是先取对数似然,把连乘变连加:

H(θ)=lnl(θ)=i=1Nlnp(xiθ)H(\theta) = \ln l(\theta) = \sum_{i=1}^{N} \ln p(x_i \mid \theta)

然后对参数求导、令导数为零、解方程。多参数就对每一维求偏导(求梯度)。一句话概括:写似然 → 取对数 → 求导置零 → 解方程

这个套路对绝大多数”光滑”的分布都管用,唯一会翻车的是参数落在分布边界上的情形(见第四节)。

三、常见分布的结果

把套路跑一遍,会得到一组非常符合直觉的结论——MLE 往往就是”样本里对应的那个统计量”。

高斯分布。对 μ\muσ2\sigma^2 分别求偏导置零:

μ^=1Ni=1Nxi,σ^2=1Ni=1N(xiμ^)2\hat{\mu} = \frac{1}{N}\sum_{i=1}^{N} x_i, \qquad \hat{\sigma}^2 = \frac{1}{N}\sum_{i=1}^{N}(x_i - \hat{\mu})^2

均值的估计就是样本均值,方差的估计就是样本方差。多维情形完全平行:μ^\hat{\boldsymbol\mu} 是样本均值向量,Σ^\hat{\boldsymbol\Sigma} 是中心化外积的平均:

Σ^=1Nk=1N(xkμ^)(xkμ^)T\hat{\boldsymbol\Sigma} = \frac{1}{N}\sum_{k=1}^{N}(\mathbf{x}_k - \hat{\boldsymbol\mu})(\mathbf{x}_k - \hat{\boldsymbol\mu})^{\mathsf{T}}

伯努利分布NN 次里有 kk 次成功,p^=k/N\hat{p} = k/N——就是频率。

指数分布p(xλ)=λeλxp(x \mid \lambda) = \lambda e^{-\lambda x},解得 λ^=1/xˉ\hat{\lambda} = 1/\bar{x},速率是均值的倒数。

泊松分布λ^=xˉ\hat{\lambda} = \bar{x},参数就是样本均值。

这些结果之所以”显然”,恰恰说明 MLE 抓住了一种朴素而正确的直觉:用样本里的对应量去估计总体里的对应量

四、一个不能盲目求导的反例

均匀分布 U(0,θ)U(0, \theta) 是最经典的例外。它的似然 l(θ)=θNl(\theta) = \theta^{-N}(在所有样本都落在 [0,θ][0,\theta] 内时),对 θ\theta 求导得不到零点——求导法直接失效。

正确做法是分析结构:θN\theta^{-N} 关于 θ\theta 单调递减,所以 θ\theta 越小似然越大;但又必须 θmaxixi\theta \ge \max_i x_i(否则某个样本的概率密度为 0,似然归零)。两个力一夹,最优解卡在边界:

θ^=maxixi\hat{\theta} = \max_i x_i

这个例子的价值在于提醒:MLE 的本质是”最大化似然”,而不是”求导置零”。求导只是光滑情形下的手段,参数在边界时要回到定义本身分析。

五、MLE 会有偏:N-1 修正的来历

一个估计量是好是坏,常看它是否无偏:多次重复采样、估计值的平均能否回到真值,即 E[θ^]=θE[\hat\theta] = \theta

样本均值是无偏的,E[μ^]=μE[\hat\mu] = \mu。但高斯方差的 MLE 有偏——它系统性地偏小:

E[σ^2]=N1Nσ2<σ2E[\hat{\sigma}^2] = \frac{N-1}{N}\sigma^2 < \sigma^2

直觉上的原因很漂亮:真方差该用真均值 μ\mu 去算,但我们手上没有 μ\mu,只能用样本均值 xˉ\bar{x} 顶替。而 i(xic)2\sum_i (x_i - c)^2 这个量在 c=xˉc = \bar{x} 时取到最小值——也就是说,用样本均值算出来的离差平方和,天生比用真均值算的要小。于是方差被低估了。

修正办法是把分母从 NN 换成 N1N-1(贝塞尔校正):

s2=1N1i=1N(xixˉ)2,E[s2]=σ2s^2 = \frac{1}{N-1}\sum_{i=1}^{N}(x_i - \bar{x})^2, \qquad E[s^2] = \sigma^2

另一个理解角度是自由度:用 xˉ\bar{x} 顶替真均值,引入了约束 i(xixˉ)=0\sum_i (x_i - \bar{x}) = 0NN 个残差里只有 N1N-1 个是自由的,所以除以 N1N-1 才”公平”。这也是为什么统计软件默认的样本方差用 N1N-1

小结

  • MLE 的灵魂是”找最能解释数据的参数”,落地为”写似然、取对数、求导置零”。
  • 常见分布的 MLE 通常就是对应的样本统计量(均值、频率、均值倒数……)。
  • 参数在边界时(如均匀分布)求导失效,要回到似然的单调性 + 约束去分析。
  • MLE 不保证无偏:高斯方差的 MLE 偏小,N1N-1 修正背后是”少了一个自由度”。
  • MLE 把”未知参数”变成”可从数据算出的量”,让贝叶斯决策真正落地。它假设分布形式已知;当连”属于哪类”都不知道时,问题就升级成了聚类。