Loss Function

机器学习的本质

目标函数:Log-likelihood对数似然函数

logL(θ)=i=1nlogP(y|x,θ)

其中,

  • P(y|x,θ):表示似然函数,给定特征 x 和参数 θ,预测类别为 y 的概率
  • P(y|x,θ) 由模型的model head原始输出logits,经过sigmoid或softmax所得到
  • sigmoid(logit) 的输出,以及深度学习中用于二分类的目标,核心就是预测正类的概率 P(y=1x)

思考1:为什么要使用对数,而不直接使用似然函数作为目标函数呢?
答:如果样本量 n 很大,似然函数中的数值会变得非常小(因为概率相乘会越来越小),容易引发数值下溢。将原始似然函数乘积转换为多个对数的和,从而简化计算和避免出现数值下溢问题。

logit

logit是输入特征 x 和参数 θ 的线性组合

对于sigmoid,logit = ln(p(y=1|x)p(y=0|x)) = ln(p+p) = ln(NpNp+NnNnNp+Nn)

思考2:logits这个公式是怎么来的?
P(y=1|x)=σ(logit)=11+exp(logit)

机器学习的本质:目标函数与 logit


1. 目标函数:对数似然函数 (Log-Likelihood)

目标函数用于衡量模型的好坏,通过最大化对数似然函数来优化模型参数:

logL(θ)=i=1nlogP(y|x,θ)

  • P(y|x,θ)

    • 表示似然函数,给定输入特征 x 和模型参数 θ,预测类别为 y 的概率。
    • 该概率由模型的原始输出 logits 通过激活函数(如 sigmoid 或 softmax)得到。
  • 为什么使用对数?

    • 直接使用似然函数的乘积会导致数值下溢(概率值很小,乘积迅速趋近 0)。
    • 对数变换将乘法变为加法,简化计算并提高数值稳定性。
  • 核心就是预测正类的概率 P(y=1x)


2. logit:模型输出与概率的联系

  • logit 定义:

    logit=xθ

    是输入特征 x 和参数 θ 的线性组合,用于映射实数空间 (,+)

  • logit 与概率的关系:

    • logit 表示事件 y=1y=0 的对数几率(log-odds):

      logit=ln(P(y=1|x)P(y=0|x))

    • 通过 sigmoid 函数将 logit 转换为概率:

      P(y=1|x)=σ(logit)=11+elogit


3. Sigmoid 的核心作用

  • Sigmoid 函数将 logit 映射为 [0, 1] 范围,用于预测 P(y=1|x)

    P(y=1|x)=σ(logit)

  • 核心目标:预测正类(y=1)的概率。

总结:条理化的理解

  1. 目标函数:

    • 最大化对数似然(Log-Likelihood)来优化参数,形式为对数的累加。
    • 使用对数是为了避免数值下溢并简化计算。
  2. logit 与概率的关系:

    • logit 是 xθ 的线性组合,表示对数几率。
    • 通过 sigmoid 将 logit 转为概率,用于二分类预测。
  3. 关键点:

    • Logit 是线性空间的表达。
    • Sigmoid 是从线性空间到概率空间的映射。
posted @   ForHHeart  阅读(8)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek “源神”启动!「GitHub 热点速览」
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 我与微信审核的“相爱相杀”看个人小程序副业
· C# 集成 DeepSeek 模型实现 AI 私有化(本地部署与 API 调用教程)
· spring官宣接入deepseek,真的太香了~
点击右上角即可分享
微信分享提示