负对数似然损失

本文由 gpt-4.1 生成,并由人工修改

参见:什么是最大似然估计,及其对损失函数的推导过程 | BiliBili

似然概率

似然概率(Likelihood)用来衡量在给定模型参数下,生成观察数据的可能性有多大。具体来说,在参数化概率模型中,我们假设数据 \(x\) 由一个参数为 \(\theta\) 的概率分布产生,那么观测到数据 \(x\) 的概率可以表示为:

\[P(x\mid\theta) \]

这个概率被称为参数 \(\theta\) 对于数据 \(x\) 的似然。当我们将参数 \(\theta\) 看作变量、而观测值 \(x\) 固定时,\(P(x\mid\theta)\) 就构成了一个关于 \(\theta\) 的函数,我们称之为似然函数,即:

\[L(\theta) = P(x\mid\theta) \]

似然函数在最大似然估计(MLE)中起核心作用,通过调整参数 \(\theta\),使得似然函数 \(L(\theta)\) 达到最大,从而得到最有可能生成观测数据的参数估计值。

需要注意的是,似然概率表示的是“在参数为 \(\theta\) 的情况下,数据 \(x\) 出现”的概率,而不是“在数据 \(x\) 已发生的情况下,参数为 \(\theta\) 的概率”。这两者的区别在贝叶斯统计中尤为重要。

似然函数

假设你有一组观测数据 \(x_1, x_2, ..., x_n\),它们是从某个概率分布 \(p(x\mid\theta)\)\(\theta\) 是参数)独立同分布采样得到的。似然函数是指在参数为 \(\theta\) 时,观测到这些数据的概率(或概率密度):

\[L(\theta) = p(x_1, x_2, ..., x_n \mid \theta) = \prod_{i=1}^{n} p(x_i\mid\theta) \]

  • \(L(\theta)\):似然函数,表示在参数 \(\theta\) 下,观测到数据 \(x_1, x_2, ..., x_n\) 的概率。
  • \(p(x_1, x_2, ..., x_n \mid \theta)\):表示在参数 \(\theta\) 已知的情况下,观测到数据 \(x_1, x_2, ..., x_n\) 的概率。
  • \(L(\theta)\) 本质上是一个函数,它不是“求概率”,而是“把参数 \(\theta\) 当作变量”,用于衡量不同参数 \(\theta\) 下,观测到当前数据的“合理性”或“可能性”有多大。
  • 由于数据独立,可以把联合概率拆成单个概率的乘积。
  • 我们关心“哪个 \(\theta\) 能让观测到的数据最有可能出现”,即 \(\theta^* = \operatorname*{argmax}_\theta L(\theta)\)

对数似然

因为似然函数往往是许多概率的连乘,数值上容易下溢、计算困难,所以通常对其取对数,得到对数似然函数:

\[\ell(\theta) = \log L(\theta) = \sum_{i=1}^{n} \log p(x_i|\theta) \]

作用和意义

  • 最大似然估计(MLE):在模型训练时,我们通常希望找到能最大化对数似然的参数 \(\theta\),这就是最大似然估计的思想。
  • 对数似然在数值计算、梯度优化(如 PyTorch 中的损失函数)中更稳定、更方便。

应用举例

假设你的数据服从正态分布 \(N(\mu, \sigma^2)\),对数似然函数为:

\[\ell(\mu, \sigma) = \sum_{i=1}^{n} \log \left[ \frac{1}{\sqrt{2\pi}\sigma} \exp\left(-\frac{(x_i - \mu)^2}{2\sigma^2}\right) \right] \]

进一步展开:

\[= -n \log(\sqrt{2\pi}\sigma) - \frac{1}{2\sigma^2} \sum_{i=1}^n (x_i - \mu)^2 \]

负对数似然损失

在深度学习中,优化模型参数是通过最小化模型在数据集上的损失得到的。也就是说,loss 越小越好。但是对于对数似然函数来说,它的结果越大,表示模型参数越好。因此我们在对数似然损失的前面加上一个负号,让它变成负对数似然损失(Negative Log Likelihood Loss,NLL Loss),这样我们只要使 NLL Loss 最小,就能得到最优的模型参数。

posted @ 2025-06-01 17:18  Undefined443  阅读(126)  评论(0)    收藏  举报