Try   HackMD

AI / ML領域相關學習筆記入口頁面


[ML] 機器學習基礎指標:Maximum Likelihood Estimation、Softmax、Entropy、KL Divergence

對數似然(Log Likelihood)與最大似然估計(Maximum Likelihood Estimation, MLE):

在給定一組獨立同分佈的樣本

X=x1,x2,,xn 和模型參數
θ
的情況下,似然函數
L(θ)
是樣本在參數
θ
下的聯合機率密度函數(或聯合機率質量函數),而對數似然函數
(θ)
是似然函數
L(θ)
取對數后的結果。
L(θ)=P(X|θ)=i=1nP(xi|θ)

對數似然函數的作用是簡化最大似然估計(MLE)的計算,因為對數可以將乘法轉換為加法,從而在計算上更為方便。通過對似然函數取對數,我們可以將樣本的機率估計轉換為對各個樣本的對數機率的求和。

(θ)=logL(θ)=i=1nlogP(xi|θ)

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →
將機率的乘法轉換為對數的加法,可以更方便地進行參數估計和優化

MLE的目標即是找到使得

(θ) 達到最大值的參數
θ

Softmax:

Softmax函數將一個實數向量轉換為一個機率分佈,用於多類別分類問題。對於向量

z,第
i
個元素的Softmax為:
σ(z)i=ezijezj

  • Sigmoid函數將一個實數映射到(0,1)區間,用於二元分類問題。Sigmoid可視為softmax的特例,並用公式推導簡化過程
    σ(x)=11+ex

Shannon熵(Shannon Entropy)與交叉熵(Cross-Entropy):

  • Shannon熵是衡量單個機率分佈不確定性的量。對於機率分佈

    p,熵
    H(p)
    為:
    H(p)=ipilog(pi)

  • 交叉熵為衡量兩個機率分佈

    p
    q
    之間的差異,公式為:
    H(p,q)=ipilog(qi)

    • 表示使用模型預測分佈
      q(x)
      來近似目標分佈
      p(x)
      時的平均編碼長度(推薦閱讀 [ML/DL]從計算機編碼的角度看Entropy, Cross Entropy和KL-Divergence)
    • 為機器學習常用的Loss Function之一
    • p(x)
      是目標分佈(例如真實標籤的分佈),但因為p的真實分布往往不可得,因此,學習領域會用q的分布去似,而
      q(x)
      即是模型學習到的的預測分佈

    當模型學習(編碼表示/壓縮)能力越強、學習到的機率分布

    q(x)越接近真實的目標分布
    p(x)
    ,則得到的Cross-Entropy越小,表示模型的預測結果與真實標籤之間的差異越小,模型的性能越好

  • Softmax與Cross-Entropyas Loss Function之間的關係

    Image Not Showing Possible Reasons
    • The image was uploaded to a note which you don't have access to
    • The note which the image was originally uploaded to has been deleted
    Learn More →

    source: 2018。Raúl Gómez blog。Understanding Categorical Cross-Entropy Loss, Binary Cross-Entropy Loss, Softmax Loss, Logistic Loss, Focal Loss and all those confusing names

Kullback-Leibler Divergence (KL Divergence):

Image Not Showing Possible Reasons
  • The image was uploaded to a note which you don't have access to
  • The note which the image was originally uploaded to has been deleted
Learn More →

source: 2022.02。J. Rafid Siddiqui。Why Is Cross Entropy Equal to KL-Divergence?

KL Divergence是衡量兩個分佈之間差異的另一種方法,定義為目標分佈和模型預測分佈的交叉熵(Cross-Entropy,

H(p,q) )與目標分佈熵(Shannon Entropy,
H(p)
)之間的差異程度:

DKL(pq)=H(p,q)H(p)

在ML/DL領域中,KL Divergence 也可以理解為模型學習到的編碼方式/機率分布和真實的編碼方式/機率分布有落差時,偏誤的程度(編碼誤差)

將上述的交叉熵和Shannon熵公式代入 KL 散度的定義中,我們得到:

DKL(pq)=xp(x)logq(x)+xp(x)logp(x)
這裡,第一項是交叉熵
H(p,q)
,第二項是目標分佈
p(x)
的熵
H(p)

簡化後,我們得到:

DKL(pq)=xp(x)logq(x)+xp(x)logp(x)=xp(x)[logq(x)logp(x)]=xp(x)log(p(x)q(x))

KL 散度即表示這種近似(預測分布)相比於最優(即使用真實分佈

p(x))所多出來的信息量(即loss)或 誤差程度。

換句話說,KL 散度是衡量使用一個非最佳分佈

q(x) 來表示數據時相對於使用最佳分佈
p(x)
所產生的信息損失。這個信息損失就是交叉熵和真實分佈的熵之間的差異。

  • 以圖片壓縮的觀點來比喻
    • 假設我們想要壓縮一張圖片的檔案大小,同時盡量保留圖像的細節和品質。我們可以將這個過程比喻為使用一個壓縮後的圖片機率分佈
      q(x)
      來近似原始圖片機率分佈
      p(x)
    • 我們希望找到一種壓縮演算法(編碼器),用較短而有效的編碼來表示這些像素點,即用更簡潔的方式來儲存圖像。减小文件大小同时盡量保留圖片重要细節。
    • 當編碼器效率越好時,這時原始圖片
      p(x)
      與壓縮圖片
      q(x)
      的分布(資訊)就會近似、交叉熵與KL就會盡可能小、平均編碼長度會小

Reference

2017.05。Andrew M. Webb。Cross Entropy and Log Likelihood

2019.12。glassboxmedicine.com。MACHINE LEARNING Connections: Log Likelihood, Cross Entropy, KL Divergence, Logistic Regression, and Neural Networks

202.02。Samuel Cheng。Understanding softmax, cross-entropy, and KL-divergence

2020.02。YC Note。剖析深度學習 (2):你知道Cross Entropy和KL Divergence代表什麼意義嗎?談機器學習裡的資訊理論

2019.09。meetonfriday.com。[ML/DL]從計算機編碼的角度看Entropy, Cross Entropy和KL-Divergence