机器学习 -逻辑回归的似然函数

公式解释

公式如下:

L ( θ ) = ∏ i = 1 m P ( y i ∣ x i ; θ ) = ∏ i = 1 m ( h θ ( x i ) ) y i ( 1 − h θ ( x i ) ) 1 − y i L(\theta) = \prod_{i=1}^m P(y_i | x_i; \theta) = \prod_{i=1}^m (h_\theta(x_i))^{y_i} (1 - h_\theta(x_i))^{1 - y_i} L(θ)=i=1∏mP(yi∣xi;θ)=i=1∏m(hθ(xi))yi(1−hθ(xi))1−yi

符号解释

  • L ( θ ) L(\theta) L(θ):似然函数,表示给定参数 θ \theta θ 的情况下,观测到数据的概率。

  • ∏ i = 1 m \prod_{i=1}^m ∏i=1m:累乘符号,表示从 i = 1 i = 1 i=1 到 i = m i = m i=m 的所有项的乘积。

  • P ( y i ∣ x i ; θ ) P(y_i | x_i; \theta) P(yi∣xi;θ):在给定输入 x i x_i xi 和参数 θ \theta θ 的情况下,输出 y i y_i yi 的概率。

  • h θ ( x i ) h_\theta(x_i) hθ(xi):逻辑回归模型的预测函数,给定输入 x i x_i xi 和参数 θ \theta θ 的情况下,预测输出 y i = 1 y_i = 1 yi=1 的概率。通常表示为:

    h θ ( x i ) = 1 1 + e − θ T x i h_\theta(x_i) = \frac{1}{1 + e^{-\theta^T x_i}} hθ(xi)=1+e−θTxi1

  • y i y_i yi:第 i i i 个样本的实际标签,取值为0或1。

  • 1 − y i 1 - y_i 1−yi:第 i i i 个样本实际标签的补集。

公式含义

  1. 似然函数

    • L ( θ ) L(\theta) L(θ) 是给定参数 θ \theta θ 的情况下,所有观测数据的联合概率。对于逻辑回归,假设每个样本的概率是独立的,我们可以将每个样本的条件概率相乘。
  2. 条件概率

    • P ( y i ∣ x i ; θ ) P(y_i | x_i; \theta) P(yi∣xi;θ) 表示在给定输入 x i x_i xi 和参数 θ \theta θ 的情况下,观测到标签 y i y_i yi 的概率。
    • 如果 y i = 1 y_i = 1 yi=1,则 P ( y i = 1 ∣ x i ; θ ) = h θ ( x i ) P(y_i = 1 | x_i; \theta) = h_\theta(x_i) P(yi=1∣xi;θ)=hθ(xi)。
    • 如果 y i = 0 y_i = 0 yi=0,则 P ( y i = 0 ∣ x i ; θ ) = 1 − h θ ( x i ) P(y_i = 0 | x_i; \theta) = 1 - h_\theta(x_i) P(yi=0∣xi;θ)=1−hθ(xi)。
  3. 联合概率

    • 对于所有样本,我们计算每个样本的条件概率的乘积,得到联合概率。这通过累乘符号 ∏ \prod ∏ 表示。
  4. 对数似然

    • 在实际计算中,通常会取对数来简化计算。取对数之后,乘积会变成和,对数似然函数为:

      log ⁡ L ( θ ) = ∑ i = 1 m [ y i log ⁡ ( h θ ( x i ) ) + ( 1 − y i ) log ⁡ ( 1 − h θ ( x i ) ) ] \log L(\theta) = \sum_{i=1}^m [y_i \log(h_\theta(x_i)) + (1 - y_i) \log(1 - h_\theta(x_i))] logL(θ)=i=1∑m[yilog(hθ(xi))+(1−yi)log(1−hθ(xi))]

从似然函数到对数似然函数的变换

我们有如下的似然函数(Likelihood function):

L ( θ ) = ∏ i = 1 m P ( y i ∣ x i ; θ ) = ∏ i = 1 m ( h θ ( x i ) ) y i ( 1 − h θ ( x i ) ) 1 − y i L(\theta) = \prod_{i=1}^m P(y_i | x_i; \theta) = \prod_{i=1}^m (h_\theta(x_i))^{y_i} (1 - h_\theta(x_i))^{1 - y_i} L(θ)=i=1∏mP(yi∣xi;θ)=i=1∏m(hθ(xi))yi(1−hθ(xi))1−yi

我们需要将其转换成对数似然函数(Log-Likelihood function)。

第一步:对似然函数取对数

由于对数具有将乘积转化为和的性质,即 log ⁡ ( a ⋅ b ) = log ⁡ ( a ) + log ⁡ ( b ) \log(a \cdot b) = \log(a) + \log(b) log(a⋅b)=log(a)+log(b),我们对似然函数取对数:

log ⁡ L ( θ ) = log ⁡ ( ∏ i = 1 m ( h θ ( x i ) ) y i ( 1 − h θ ( x i ) ) 1 − y i ) \log L(\theta) = \log \left( \prod_{i=1}^m (h_\theta(x_i))^{y_i} (1 - h_\theta(x_i))^{1 - y_i} \right) logL(θ)=log(i=1∏m(hθ(xi))yi(1−hθ(xi))1−yi)

第二步:利用对数的性质将乘积转换为和

将累乘号 ∏ \prod ∏ 转换为累加号 ∑ \sum ∑:

log ⁡ L ( θ ) = ∑ i = 1 m log ⁡ ( ( h θ ( x i ) ) y i ( 1 − h θ ( x i ) ) 1 − y i ) \log L(\theta) = \sum_{i=1}^m \log \left( (h_\theta(x_i))^{y_i} (1 - h_\theta(x_i))^{1 - y_i} \right) logL(θ)=i=1∑mlog((hθ(xi))yi(1−hθ(xi))1−yi)

第三步:分解对数内部的乘积

对数的另一个性质是 log ⁡ ( a b ) = b ⋅ log ⁡ ( a ) \log(a^b) = b \cdot \log(a) log(ab)=b⋅log(a),我们将其应用于每一项:

log ⁡ L ( θ ) = ∑ i = 1 m [ y i log ⁡ ( h θ ( x i ) ) + ( 1 − y i ) log ⁡ ( 1 − h θ ( x i ) ) ] \log L(\theta) = \sum_{i=1}^m \left[ y_i \log(h_\theta(x_i)) + (1 - y_i) \log(1 - h_\theta(x_i)) \right] logL(θ)=i=1∑m[yilog(hθ(xi))+(1−yi)log(1−hθ(xi))]

得到对数似然函数

上面的公式就是对数似然函数:

l ( θ ) = log ⁡ L ( θ ) = ∑ i = 1 m [ y i log ⁡ ( h θ ( x i ) ) + ( 1 − y i ) log ⁡ ( 1 − h θ ( x i ) ) ] l(\theta) = \log L(\theta) = \sum_{i=1}^m \left[ y_i \log(h_\theta(x_i)) + (1 - y_i) \log(1 - h_\theta(x_i)) \right] l(θ)=logL(θ)=i=1∑m[yilog(hθ(xi))+(1−yi)log(1−hθ(xi))]

详细解释

  • 对数转换:通过对似然函数取对数,将乘积关系转换为加法关系,简化了计算。
  • 对数性质应用:利用对数将幂次关系转换为乘积关系,从而进一步简化每一项的计算。

总结

将似然函数转换为对数似然函数的过程利用了对数的基本性质:对数将乘法转换为加法,并将指数转换为乘法。这种转换简化了复杂的乘积运算,使得梯度计算和优化问题变得更容易处理。对数似然函数在机器学习算法中尤为常用,尤其是逻辑回归中,用于最大化似然估计(MLE)。

综上所述

该公式描述了逻辑回归的似然函数,表示在给定参数 θ \theta θ 的情况下,观测到数据集的概率。理解这些符号和公式的含义是逻辑回归的重要基础,进一步的优化和参数估计都是基于这个似然函数进行的。通过最大化似然函数或最小化负对数似然函数,我们可以找到最优的参数 θ \theta θ。

相关推荐
白白白飘1 分钟前
pytorch 15.1 学习率调度基本概念与手动实现方法
人工智能·pytorch·学习
深度学习入门6 分钟前
机器学习,深度学习,神经网络,深度神经网络之间有何区别?
人工智能·python·深度学习·神经网络·机器学习·机器学习入门·深度学习算法
张彦峰ZYF1 小时前
走出 Demo,走向现实:DeepSeek-VL 的多模态工程路线图
人工智能
Johny_Zhao1 小时前
Vmware workstation安装部署微软SCCM服务系统
网络·人工智能·python·sql·网络安全·信息安全·微软·云计算·shell·系统运维·sccm
动感光博1 小时前
Unity(URP渲染管线)的后处理、动画制作、虚拟相机(Virtual Camera)
开发语言·人工智能·计算机视觉·unity·c#·游戏引擎
IT古董2 小时前
【漫话机器学习系列】259.神经网络参数的初始化(Initialization Of Neural Network Parameters)
人工智能·神经网络·机器学习
tyatyatya2 小时前
神经网络在MATLAB中是如何实现的?
人工智能·神经网络·matlab
Jackson@ML2 小时前
一分钟了解大语言模型(LLMs)
人工智能·语言模型·自然语言处理
让学习成为一种生活方式2 小时前
大麦(Hordeum vulgare)中 BAHD 超家族酰基转移酶-文献精读129
人工智能
思茂信息3 小时前
CST软件对OPERA&CST软件联合仿真汽车无线充电站对人体的影响
c语言·开发语言·人工智能·matlab·汽车·软件构建