Loss Function

机器学习的本质

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

$\log L(\theta) = \sum_{i=1}^n \log P(y|x, \theta)$

其中,

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

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

logit

logit是输入特征 \(x\) 和参数 \(\theta\) 的线性组合

对于sigmoid,logit = \(\ln(\dfrac{p(y=1|x)}{p(y=0|x)})\) = \(\ln(\dfrac{p^+}{p^-})\) = \(\ln(\dfrac{\dfrac{N_p}{N_p + N_n}}{\dfrac{N_n}{N_p + N_n}})\)

思考2:logits这个公式是怎么来的?
\(P(y=1|x) = \sigma(\text{logit}) = \dfrac{1}{1+\exp(-\text{logit})}\)

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


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

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

\[\log L(\theta) = \sum_{i=1}^n \log P(y|x, \theta) \]

  • \(P(y|x, \theta)\)

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

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


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

  • logit 定义:

    \[\text{logit} = x^\top \theta \]

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

  • logit 与概率的关系:

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

      \[\text{logit} = \ln \left( \frac{P(y=1|x)}{P(y=0|x)} \right) \]

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

      \[P(y=1|x) = \sigma(\text{logit}) = \frac{1}{1 + e^{-\text{logit}}} \]


3. Sigmoid 的核心作用

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

    \[P(y=1|x) = \sigma(\text{logit}) \]

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

总结:条理化的理解

  1. 目标函数:

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

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

    • Logit 是线性空间的表达。
    • Sigmoid 是从线性空间到概率空间的映射。
posted @ 2024-11-24 09:27  ForHHeart  阅读(60)  评论(0)    收藏  举报