最大似然-最小KL散度-最小化交叉熵損失-三者的關系
問題緣起:給定一組數據(x1,x2,...,xm)(x^1,x^2,...,x^m)(x1,x2,...,xm),希望找到這組數據服從的分布。此種情況下,分布規律用概率密度p(x)表征。
問題歸處:如果能夠建模/近似建模p(x),就能夠利用p(x)進行采樣/數據生成。離散化x的空間{xi}i=1n\{x_i\}_{i=1}^n{xi?}i=1n?, 計算{p(xi)}i=1n\{p(x_i)\}_{i=1}^n{p(xi?)}i=1n?,取概率最大的xkx_kxk?作為生成樣本。
最大似然:常用來解決這類問題。具體做法:參數還一個概率分布qθ(x)q_\theta(x)qθ?(x),是的觀測樣本(x1,x2,...,xm)(x^1,x^2,...,x^m)(x1,x2,...,xm)在qθ(x)q_\theta(x)qθ?(x)的似然函數最大。
似然函數:表示的是已知隨機變量的取值時,未知參數的取值可能性:L(θ|x)=P(X=x|θ)。直觀理解就是在參數θ\thetaθ情況下,出現(x1,x2,...,xm)(x^1,x^2,...,x^m)(x1,x2,...,xm)這組數據的可能性,數學表達式為(概率密度積分記為概率):
L(θ∣x)=∏i=1mpθ(xi)(1)L(θ|x)=\prod_{i=1}^m p_\theta(x_i)\tag{1}L(θ∣x)=i=1∏m?pθ?(xi?)(1)
我們需要調整參數θ\thetaθ來使這個出現這組數據的可能性最大,即最大似然。
為了簡化似然函數中的連乘計算,常常會使用對數似然函數,使得連乘轉變為連加(取對數不會改變似然的最優解–最優解是自變量的值,最優解值才是因變量的值)。
最大化對數似然問題可以統一為下式,即 最優的參數 是使 對數似然的值最大的θ\thetaθ:
θ?=arg?max?θlog?∏i=1mpθ(xi)=arg?max?θ∑i=1mlog?pθ(xi)=arg?max?θ∑i=1m1mlog?pθ(xi)≈arg?max?θEx~p[log?pθ](2)\theta^* = \arg \max_{\theta} \log\prod_{i=1}^m p_\theta(x_i)\\ =\arg \max_{\theta} \sum_{i=1}^m\log p_{\theta}(x_i)\\ =\arg \max_{\theta} \sum_{i=1}^m\frac{1}{m}\log p_{\theta}(x_i)\\ \approx\arg \max_{\theta}\mathbb{E}_{x\sim p}[\log p_{\theta}]\tag{2}θ?=argθmax?logi=1∏m?pθ?(xi?)=argθmax?i=1∑m?logpθ?(xi?)=argθmax?i=1∑m?m1?logpθ?(xi?)≈argθmax?Ex~p?[logpθ?](2)
上式子第三行到第四行的轉換 為 均值 近似 期望 的離散化計算過程。ppp為目標函數,pθp_\thetapθ?用于近似目標函數為了避免混淆,將pθp_\thetapθ?用qθq_\thetaqθ?表示。上式子可改寫成:
θ?=arg?max?θEx~p[log?qθ](3)\theta^* =\arg \max_{\theta}\mathbb{E}_{x\sim p}[\log q_{\theta}]\tag{3}θ?=argθmax?Ex~p?[logqθ?](3)
最小KL散度:在上式子中加上一項與優化無關的常數項:
θ?=arg?max?θ{Ex~p[log?qθ]?Ex~p[log?p]}=arg?max?θ{∫xp(x)log?qθ(x)p(x)dx}=arg?max?θ?KL(p,q)=arg?min?θKL(p,q)(4)\theta^* =\arg \max_{\theta}\{\mathbb{E}_{x\sim p}[\log q_{\theta}]-\mathbb{E}_{x\sim p}[\log p]\}\\ =\arg \max_{\theta}\{\int_xp(x)\log\frac{q_\theta(x)}{p(x)}dx\}\\ =\arg \max_{\theta} -KL(p,q)\\ =\arg \min_{\theta} KL(p,q)\tag{4}θ?=argθmax?{Ex~p?[logqθ?]?Ex~p?[logp]}=argθmax?{∫x?p(x)logp(x)qθ?(x)?dx}=argθmax??KL(p,q)=argθmin?KL(p,q)(4)
交叉熵損失:
式(2)添一個負號后可以轉換為最小化交叉熵的問題:
arg?max?θEx~p[log?pθ]=arg?min?θcrossentropy(p,qθ)(5)\arg \max_{\theta}\mathbb{E}_{x\sim p}[\log p_{\theta}]\\=\arg \min_{\theta}cross\ entropy(p,q_\theta)\tag{5}argθmax?Ex~p?[logpθ?]=argθmin?cross?entropy(p,qθ?)(5)
綜上:
1.求解最大似然問題 等價于 最小化參數分布和目標分布的KL散度
2.常用于分類問題中的交叉熵損失函數 本質是 極大似然問題,也就是在最小化 目標分布與模型輸出分布的之間的KL散度問題。在實際K分類問題中, 目標分布用one-hot編碼表示; 神經網絡模型最后全聯接層輸出的K個得分數值 可以通過softmax 歸一化成對應類別的概率分布,即模型輸出分布。
參考資料:
似然函數參見百度百科:https://baike.baidu.com/item/%E4%BC%BC%E7%84%B6%E5%87%BD%E6%95%B0/6011241?fr=aladdin