1. 信息熵
1.1 信息熵的數學本質
- 一個隨機變量或系統所包含信息量的數學期望
1.2 信息熵的物理意義(信息論解釋)
- 對隨機變量的所有取值進行編碼所需的最短編碼長度
- 消除隨機變量的不確定性所需的最短編碼長度即為信息熵
1.3 隨機變量X的熵:
\(H(X) = -\sum_{i=1}^{n} P(x_i) logP(x_i)\)
1.4 信息熵的補充理解:
- 信息熵衡量了系統的不確定性,兩者成正比。信息熵不是針對單個事件而言的,而是針對隨機變量的整個取值集合而言的;
- 發生概率P越小的事件包含的信息量越大,兩個獨立事件的信息量等於它們各自信息量之和:
$-log(P_1 P_2) = -log(P_1) - log(P_2)$ - log函數的底數:
- 底數常常選擇為2,信息單位為比特bits;
- 底數選擇為自然常數e時,單位被稱為奈特nats;
2.KL散度 (相對熵Relative Entropy)
2.1 KL散度的作用
- KL散度(Kullback–Leibler divergence, KLD)用於衡量兩個概率分布之間的差異,且此差異與KL散度成正比
2.2 KL散度的物理意義(信息論解釋)
- 若P表示真實分布,Q表示P的擬合分布,KL散度表示用概率分布Q來擬合真實分布P時產生的信息損耗;
- 或者說KL散度衡量了基於概率分布Q進行編碼所需的額外編碼長度
2.3 KL散度的求解公式
\(D_{KL}(p||q) = \sum_{i=1}^{n} p(x_i) log \frac{p(x_i)}{q(x_i)} = -\sum_{i=1}^{n} p(x_i) * log q(x_i) - H(p) = CE(p, q) - H(p)\)
2.4 KL散度的重要性質
- 非負性,即\(D_{KL}(p||q)\geq 0\)
- 不對稱性,即\(D_{KL}(p||q)\neq D_{KL}(q||p)\)
3.交叉熵(Cross Entropy)
3.1 交叉熵的作用
- 衡量在給定的真實概率分布下,使用非真實分布所指定的策略消除系統的不確定性所需要付出的努力的大小
3.2 交叉熵公式
\(CE(p, q) = -\sum_{i=1}^{n} p(x_i) * log q(x_i) = D_{KL}(p||q) + H(p)\)
其中p為真實概率分布,q為預測概率分布
3.3 交叉熵作為損失函數
-
最小化交叉熵等價於最小化KL散度: KL散度等於交叉熵減去數據真實分布的熵,而后者是確定的
-
最小化交叉熵等價於最大化似然函數
令 \(A_i = q(x_i)^{y_i}; \ \ B_i = (1-q(x_i))^{(1-y_i)}\)
樣本\(x_i\)取1的概率為\(q(x_i)\)
交叉熵:\(Loss(y, \hat{y}) = -\sum_{i=1}^{n} y_i * log(\hat{y_i}) = -\sum_{i=1}^{n} [y_i * log(q(x_i)) + (1-y_i) * log(1-q(x_i))] = -\sum_{i=1}^{n} [log(q(x_i)^{y_i}) + log(1-q(x_i))^{(1-y_i)}] = -\sum_{i=1}^{n} log(A_i*B_i) = -log [\Pi_{i=1}^{n}(A*B)]\)
似然函數:\(\Pi_{i=1}^{n}(A*B)\)
- 交叉熵越低,則模型預測的概率分布越接近真實分布
- 交叉熵為凸函數,具有全局最優解,而MSE為非凸函數,易陷入局部最優
- 使用sigmoid函數在梯度下降時能避免均方誤差損失函數學習速率降低的問題,因為學習速率可以被輸出的誤差所控制。
3.4 關於交叉熵的重要結論
- **交叉熵等於KL散度與熵的和:\(CE(p, q) = D_{KL}(p||q) + H(p)\)
