W
e
l
c
o
m
e
: )

极大似然估计

作者: Lisa Yan
课程: CS 109
讲座笔记: 第 20 讲
日期: 2020 年 5 月 20 日

引言

我们学习了许多不同的随机变量分布,所有这些分布都有参数:在定义随机变量时提供的输入数字。到目前为止,当我们处理随机变量时,要么明确告诉我们参数的值,要么通过理解生成随机变量的过程来推断这些值。
如果我们不知道参数的"真实"值,并且无法通过专家知识来估计它们怎么办?如果我们有大量生成相同基础分布的数据示例,而不是知道随机变量呢?在本章中,我们将学习从数据中估计参数的正式方法。这些思想对人工智能至关重要。几乎所有现代机器学习算法都是这样工作的:

  1. 指定一个具有参数的概率模型。
  2. 从数据中学习这些参数的值。

参数

在深入参数估计之前,让我们重温参数的概念。给定一个模型,参数是产生实际分布的数字。在伯努利随机变量的情况下,单个参数是值 \(p\)。在均匀随机变量的情况下,参数是定义最小值和最大值的 \(a\)\(b\) 值。以下是随机变量及其对应参数的列表。从现在开始,我们将使用符号 \(\theta\) 表示所有参数的向量:

分布 参数
伯努利 (p) \(\theta = p\)
泊松 (\(\lambda\)) \(\theta = \lambda\)
均匀 (a, b) \(\theta = (a, b)\)
正态 (\(\mu\), \(\sigma^2\)) \(\theta = (\mu, \sigma^2)\)
Y = mX + b \(\theta = (m, b)\)

在现实世界中,通常你不知道"真实"参数,但你可以观察数据。接下来,我们将探讨如何使用数据来估计模型参数。

参数估计方法

实际上,估计参数值的方法不止一种。主要有两种方法:最大似然估计(MLE)和最大后验估计(MAP)。这两种方法都假设你的数据是独立同分布(IID)样本:\(X_1, X_2, \ldots, X_n\),其中所有 \(X_i\) 是独立的,并且具有相同的分布。

最大似然估计(MLE)

我们估计参数的第一个算法称为最大似然估计(MLE)。MLE 的核心思想是选择使观察到的数据最有可能的参数(\(\theta\))。我们将使用 \(n\) 个独立同分布(IID)样本的数据来估计参数:\(X_1, X_2, \ldots, X_n\)

似然

我们假设数据是同分布的。这意味着它们必须具有相同的概率质量函数(如果数据是离散的)或相同的概率密度函数(如果数据是连续的)。为了简化我们关于参数估计的讨论,我们将使用符号 \(f(X \mid \theta)\) 来表示这个共享的 PMF 或 PDF。我们的新符号有两个有趣的地方。首先,我们现在在 \(\theta\) 上包含了一个条件,这表明不同的 \(X\) 值的似然性依赖于我们参数的值。其次,我们将相同的符号 \(f\) 用于离散和连续分布。

似然是什么意思,"似然"与"概率"有什么不同?在离散分布的情况下,似然是你数据的联合概率。在连续分布的情况下,似然指的是你数据的联合概率密度。由于我们假设每个数据点是独立的,因此所有数据的似然是每个数据点似然的乘积。数学上,给定参数 \(\theta\) 的数据似然为:

\[L(\theta) = \prod_{i=1}^{n} f(X_i \mid \theta) \]

对于不同的参数值,数据的似然将是不同的。如果我们有正确的参数,我们的数据将比我们有错误参数时更可能。因此,我们将似然写成参数(\(\theta\))的函数。

最大化

在最大似然估计(MLE)中,我们的目标是选择参数(\(\theta\))的值,使得最大化前面一节中的似然函数。我们将使用符号 \(\hat{\theta}\) 来表示我们参数的最佳选择值。正式地,MLE 假设:

\[\hat{\theta} = \text{arg}\max_{\theta} L(\theta) \]

"Arg max"是最大值的参数的缩写。一个有趣的性质是,由于对数是单调函数,函数的 arg max 与该函数的对数的 arg max 是相同的!这很好,因为对数使数学更简单。

如果我们找到对数似然的 arg max,它将等于似然的 arg max。因此,对于 MLE,我们首先写出给定参数的对数似然函数(LL):

\[LL(\theta) = \log L(\theta) = \log \left( \prod_{i=1}^{n} f(X_i \mid \theta) \right) = \sum_{i=1}^{n} \log f(X_i \mid \theta) \]

要使用最大似然估计器,首先写出给定参数的对数似然。然后选择最大化对数似然函数的参数值。所有我们在本课程中涵盖的方法都需要计算函数的第一导数。

伯努利 MLE 估计

我们将使用 MLE 来估计伯努利分布的 \(p\) 参数。我们将基于 \(n\) 个数据点进行估计,这些数据点将被称为 IID 随机变量 \(X_1, X_2, \ldots, X_n\)。我们假设这些随机变量是来自同一伯努利分布,具有相同的 \(p\),即 \(X_i \sim \text{Ber}(p)\)。我们想找出这个 \(p\)

MLE 的第一步是将伯努利的似然写成一个可以最大化的函数。由于伯努利是离散分布,似然是概率质量函数。伯努利随机变量的概率质量函数可以写成:

\[f(X) = p^X (1-p)^{1-X} \]

我们将似然函数写为:

\[L(\theta) = \prod_{i=1}^{n} p^{X_i} (1-p)^{1-X_i} \]

然后写出对数似然:

\[LL(\theta) = \sum_{i=1}^{n} \log p^{X_i} (1-p)^{1-X_i} = \sum_{i=1}^{n} \left( X_i \log p + (1-X_i) \log(1-p) \right) = Y \log p + (n-Y) \log(1-p) \]

其中 \(Y = \sum_{i=1}^{n} X_i\)

我们有了对数似然的公式。现在我们只需选择最大化对数似然的 \(p\) 值。通过求函数的第一导数并将其设为 0,我们可以找到最大值:

\[\frac{\partial LL(p)}{\partial p} = \frac{Y}{p} - \frac{n-Y}{1-p} = 0 \]

最终,我们发现最大似然估计是样本均值:

\[\hat{p} = \frac{Y}{n} = \frac{\sum_{i=1}^{n} X_i}{n} \]

泊松 MLE 估计

实践是关键。让我们估计泊松分布的最佳参数值。假设我们有 \(n\) 个来自泊松分布的样本,表示为随机变量 \(X_1, X_2, \ldots, X_n\)。我们假设对于所有 \(i\)\(X_i\) 是 IID,且 \(X_i \sim \text{Poi}(\lambda)\)。我们的参数因此是 \(\theta = \lambda\)。泊松分布的概率质量函数为:

\[f(x\mid\lambda) = \frac{e^{-\lambda} \lambda^x}{x!} \]

首先写出对数似然函数:

\[L(\theta) = \prod_{i=1}^{n} e^{-\lambda} \lambda^{X_i} \]

对数似然为:

\[LL(\theta) = \sum_{i=1}^{n} \left( -\lambda + X_i \log \lambda - \log(X_i!) \right) \]

然后,我们对 \(\lambda\) 进行求导并设为 0:

\[\frac{\partial LL(\theta)}{\partial \lambda} = -n + \frac{\sum_{i=1}^{n} X_i}{\lambda} = 0 \]

最后,我们解得:

\[\hat{\lambda} = \frac{1}{n} \sum_{i=1}^{n} X_i \]

是的,它也是样本均值!

正态 MLE 估计

让我们继续练习。接下来,我们将估计正态分布的最佳参数值。我们只有 \(n\) 个来自正态分布的样本,表示为 IID 随机变量 \(X_1, X_2, \ldots, X_n\)。我们假设对于所有 \(i\)\(X_i \sim N(\mu = \theta_0, \sigma^2 = \theta_1)\)。这个例子似乎更复杂,因为正态分布有两个参数需要估计。在这种情况下,\(\theta\) 是一个包含两个值的向量。第一个是均值 (\(\mu\)) 参数,第二个是方差 (\(\sigma^2\)) 参数。

似然函数为:

\[L(\theta) = \prod_{i=1}^{n} f(X_i \mid \theta) \]

正态分布的概率密度函数为:

\[f(X_i \mid \theta) = \frac{1}{\sqrt{2\pi\theta_1}} \exp\left(-\frac{(X_i - \theta_0)^2}{2\theta_1}\right) \]

我们想计算对数似然:

\[LL(\theta) = \sum_{i=1}^{n} \left( -\frac{1}{2} \log(2\pi\theta_1) - \frac{(X_i - \theta_0)^2}{2\theta_1} \right) \]

最后一步是选择最大化对数似然函数的 \(\theta\) 值。我们可以计算对 LL 函数关于 \(\theta_0\)\(\theta_1\) 的偏导数,将两个方程设为 0,然后求解 \(\theta\) 的值。最终结果为:

\[\hat{\mu} = \frac{1}{n} \sum_{i=1}^{n} X_i \]

\[\hat{\sigma}^2 = \frac{1}{n} \sum_{i=1}^{n} (X_i - \hat{\mu})^2 \]

结论

本文总结了最大似然估计在不同分布中估计参数的应用。通过对伯努利、泊松和正态分布的具体示例,展示了如何利用观察到的数据来有效地估计模型参数。

posted @ 2025-02-18 14:05  洛白故  阅读(170)  评论(0)    收藏  举报