逻辑回归中的似然函数

作者:追风剑情 发布于:2026-2-12 10:07 分类:Algorithms

假定所有训练数据都是互不影响的、独立发生的,这种情况下整体的概率就可以用下面的联合概率来表示。

$$ L(\theta)=P(y^{(1)}|x^{(1)})P(y^{(2)}|x^{(2)}) \cdots P(y^{(n)}|x^{(n)}) $$

将联合概率表达式一般化。

$$ \begin{flalign} L(\theta)=\displaystyle\prod_{i=1}^{n}P(y^{(i)}|x^{(i)}) \end{flalign} $$

  $L(\theta)$被称为似然函数,函数的名字L取自似然的英文单词 Likelihood 的首字母。它的意思是最近似的。我们可以认为似然函数$L(\theta)$中,使其值最大的参数$\theta$能够最近似地说明训练数据。用同一组训练数据代入不同模型,似然值高的模型说明预测更准。

  $\theta$是模型参数。n代表有多少组训练数据。公式中的i不是指数,而是代表第几组训练数据的序号。$x^{(i)}$指第i组训练数据。$y^{(i)}$指第i组训练数据对应的正确预测值。$P(y^{(i)}|x^{(i)})$表示第i组训练数据得出正确预测值$y^{(i)}$的概率。

上面似然函数的缺点:

(1)在逻辑回归中,每一项 P(y|x) 都是概率值,都小于1,连乘会导致数值越来越小。如果值太小,编程时会出现精度问题。

(2)与加法相比,乘法的计算量要大得多。

(3)连乘求导不方便。

示例:

$P(y=1|x)$表示y=1时的概率。

对数似然函数

$$ \begin{flalign} logL(\theta)=log\displaystyle\prod_{i=1}^{n}P(y^{(i)}|x^{(i)}) \end{flalign} $$

对数函数图像,如下图:

1.png

当自变量大于0时,对数函数是单调递增的,所以在 $x_1 < x_2$ 时,$log(x_1) < log(x_2)$ 也成立。$L(\theta_1) < L(\theta_2)$ 时,$logL(\theta_1) < logL(\theta_2)$ 成立。也就是说,使 $L(\theta)$ 最大化等价于使 $logL(\theta)$ 最大化。

对数函数特性:

(1)$log(ab) = loga + logb$
(2)$loga^b = bloga$

利用特性(1)可以将连乘运算转化成连加运算,有效解决了上述似然函数的缺点。

标签: Algorithms

Powered by emlog  蜀ICP备18021003号-1   sitemap

川公网安备 51019002001593号