MachineLearning(9)-最大似然、最小KL散度、交叉熵损失函数三者的关系
最大似然-最小KL散度-最小化交叉熵?fù)p失-三者的關(guān)系
問題緣起:給定一組數(shù)據(jù)(x1,x2,...,xm)(x^1,x^2,...,x^m)(x1,x2,...,xm),希望找到這組數(shù)據(jù)服從的分布。此種情況下,分布規(guī)律用概率密度p(x)表征。
問題歸處:如果能夠建模/近似建模p(x),就能夠利用p(x)進(jìn)行采樣/數(shù)據(jù)生成。離散化x的空間{xi}i=1n\{x_i\}_{i=1}^n{xi?}i=1n?, 計(jì)算{p(xi)}i=1n\{p(x_i)\}_{i=1}^n{p(xi?)}i=1n?,取概率最大的xkx_kxk?作為生成樣本。
最大似然:常用來解決這類問題。具體做法:參數(shù)還一個(gè)概率分布qθ(x)q_\theta(x)qθ?(x),是的觀測(cè)樣本(x1,x2,...,xm)(x^1,x^2,...,x^m)(x1,x2,...,xm)在qθ(x)q_\theta(x)qθ?(x)的似然函數(shù)最大。
似然函數(shù):表示的是已知隨機(jī)變量的取值時(shí),未知參數(shù)的取值可能性:L(θ|x)=P(X=x|θ)。直觀理解就是在參數(shù)θ\thetaθ情況下,出現(xiàn)(x1,x2,...,xm)(x^1,x^2,...,x^m)(x1,x2,...,xm)這組數(shù)據(jù)的可能性,數(shù)學(xué)表達(dá)式為(概率密度積分記為概率):
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)
我們需要調(diào)整參數(shù)θ\thetaθ來使這個(gè)出現(xiàn)這組數(shù)據(jù)的可能性最大,即最大似然。
為了簡(jiǎn)化似然函數(shù)中的連乘計(jì)算,常常會(huì)使用對(duì)數(shù)似然函數(shù),使得連乘轉(zhuǎn)變?yōu)檫B加(取對(duì)數(shù)不會(huì)改變似然的最優(yōu)解–最優(yōu)解是自變量的值,最優(yōu)解值才是因變量的值)。
最大化對(duì)數(shù)似然問題可以統(tǒng)一為下式,即 最優(yōu)的參數(shù) 是使 對(duì)數(shù)似然的值最大的θ\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)
上式子第三行到第四行的轉(zhuǎn)換 為 均值 近似 期望 的離散化計(jì)算過程。ppp為目標(biāo)函數(shù),pθp_\thetapθ?用于近似目標(biāo)函數(shù)為了避免混淆,將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散度:在上式子中加上一項(xiàng)與優(yōu)化無關(guān)的常數(shù)項(xiàng):
θ?=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)
交叉熵?fù)p失:
式(2)添一個(gè)負(fù)號(hào)后可以轉(zhuǎn)換為最小化交叉熵的問題:
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.求解最大似然問題 等價(jià)于 最小化參數(shù)分布和目標(biāo)分布的KL散度
2.常用于分類問題中的交叉熵?fù)p失函數(shù) 本質(zhì)是 極大似然問題,也就是在最小化 目標(biāo)分布與模型輸出分布的之間的KL散度問題。在實(shí)際K分類問題中, 目標(biāo)分布用one-hot編碼表示; 神經(jīng)網(wǎng)絡(luò)模型最后全聯(lián)接層輸出的K個(gè)得分?jǐn)?shù)值 可以通過softmax 歸一化成對(duì)應(yīng)類別的概率分布,即模型輸出分布。
參考資料:
似然函數(shù)參見百度百科:https://baike.baidu.com/item/%E4%BC%BC%E7%84%B6%E5%87%BD%E6%95%B0/6011241?fr=aladdin
總結(jié)
以上是生活随笔為你收集整理的MachineLearning(9)-最大似然、最小KL散度、交叉熵损失函数三者的关系的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 机器学习问题总结(04)
- 下一篇: 大数的四则运算(加法、减法、乘法、除法)