機器學習的本質
目標函式:Log-likelihood對數似然函式
其中,
- \(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}}} \]
- logit 表示事件 \(y=1\) 和 \(y=0\) 的對數機率(log-odds):
3. Sigmoid 的核心作用
- Sigmoid 函式將 logit 對映為 [0, 1] 範圍,用於預測 \(P(y=1|x)\):\[P(y=1|x) = \sigma(\text{logit}) \]
- 核心目標:預測正類(\(y=1\))的機率。
總結:條理化的理解
-
目標函式:
- 最大化對數似然(Log-Likelihood)來最佳化引數,形式為對數的累加。
- 使用對數是為了避免數值下溢並簡化計算。
-
logit 與機率的關係:
- logit 是 \(x^\top \theta\) 的線性組合,表示對數機率。
- 透過 sigmoid 將 logit 轉為機率,用於二分類預測。
-
關鍵點:
- Logit 是線性空間的表達。
- Sigmoid 是從線性空間到機率空間的對映。