Loss Function

ForHHeart發表於2024-11-24

機器學習的本質

目標函式: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 是從線性空間到機率空間的對映。

相關文章