【机器学习基础】机器学习的损失函数小结
本文為機(jī)器學(xué)習(xí)基礎(chǔ) 第一篇
2020這個(gè)充滿變化的不平凡的一年過去了,孕育著希望和機(jī)遇的2021即將到來,在此祝愿所有朋友幸福美滿,蒸蒸日上,心想事成,歡喜如意,新年快樂!
最近比較忙,好長時(shí)間沒更新了,也感謝所有讀者們長期以來的支持,你們的一次次閱讀、分享和點(diǎn)贊是對我們精神上最大的鼓勵和認(rèn)同!技術(shù)分享不但是一種和大家知識的交流,也是一種督促自己不斷進(jìn)行學(xué)習(xí)的動力。通過閱讀的分享和整理,能使我們對所學(xué)的知識去理解得更為深刻,也能鍛煉邏輯思維的清晰度和論述敘說的準(zhǔn)確性。所以,歡迎大家來投稿,記錄自己的學(xué)習(xí)歷程~
之前的預(yù)訓(xùn)練語言模型專題連載了十八篇,記錄了當(dāng)前比較熱門的一些PLM的進(jìn)展,之后隨著學(xué)術(shù)界的發(fā)展和我們的閱讀,也會繼續(xù)擴(kuò)充專題的規(guī)模。因?yàn)榍岸螘r(shí)間有在梳理機(jī)器學(xué)習(xí)基礎(chǔ),所以本期想來重溫和整理一下,從損失函數(shù)開始,用三四篇文章來一起回顧機(jī)器學(xué)習(xí)的必要知識。雖然這個(gè)在網(wǎng)上講得已經(jīng)很多了,但還是想在公眾號上搬運(yùn)和匯總一下,新年第一篇,希望大家也能有所收獲~
什么是損失函數(shù)
機(jī)器學(xué)習(xí),準(zhǔn)確地說監(jiān)督學(xué)習(xí)的本質(zhì)是給定一系列訓(xùn)練樣本(xi, yi),嘗試學(xué)習(xí)x -> y 的映射關(guān)系,使得給定一個(gè)新的x ,即便這個(gè)x不在訓(xùn)練樣本中,也能夠使模型的輸出y^,盡量與真實(shí)的y接近。
損失函數(shù)是用來估量模型的輸出y^與真實(shí)值y之間的差距,給模型的優(yōu)化指引方向。
常見的損失函數(shù)
讓我們來看一下常用的一些損失函數(shù)
0-1損失函數(shù)(Zero-One Loss)
??
若絕對值在T以下,損失函數(shù)為0,否則為1。它是一個(gè)非凸函數(shù)不太適用
合頁損失(Hinge Loss)
如果被分類正確,損失為0,否則損失就為
適用于 maximum-margin 的分類,支持向量機(jī)Support Vector Machine (SVM)模型的損失函數(shù),本質(zhì)上就是Hinge Loss + L2正則化
指數(shù)損失函數(shù)
對噪聲點(diǎn),離群點(diǎn)非常敏感。
平均絕對誤差損失(Mean Absolute Error Loss)
計(jì)算預(yù)測值和目標(biāo)值差的絕對值,也稱為MAE Loss, L1 Loss
平均平方誤差損失 (Mean Square Error Loss)
計(jì)算預(yù)測值和目標(biāo)值差的平方,也稱均方誤差損失,MSE Loss,L2 Loss
機(jī)器學(xué)習(xí)、深度學(xué)習(xí)回歸任務(wù)中最常用的一種損失函數(shù)
交叉熵?fù)p失 (Cross Entropy Loss)
機(jī)器學(xué)習(xí)、深度學(xué)習(xí)分類任務(wù)中最常用的一種損失函數(shù)
Focal Loss
以交叉熵為基礎(chǔ),使模型更關(guān)注較難的樣本,我們前幾期有介紹過這一損失函數(shù)
Triplet Loss
a: anchor,p: positive,n: negative
整體優(yōu)化目標(biāo)是拉近a, p的距離,拉遠(yuǎn)a, n的距離,達(dá)成分類效果
為什么回歸任務(wù)常用均方誤差損失
我們可以發(fā)現(xiàn),在深度學(xué)習(xí)的回歸任務(wù)中,常常會用到均方誤差損失函數(shù),這是為什么呢?
一般在生活中,如果沒有系統(tǒng)誤差,那么我們對一個(gè)數(shù)值進(jìn)行估計(jì)或測量,很多情況下估計(jì)值和真值之間的誤差是服從高斯分布的。我們一個(gè)模型對于目標(biāo)標(biāo)簽的估計(jì)也可以這么認(rèn)為。我們可以假設(shè)高斯分布的均值為0,方差為1。第i個(gè)樣本的輸入為xi?, 模型的輸出為yi^, 而它的標(biāo)簽為yi?, 那么我們估計(jì)的yi的條件概率密度函數(shù)如下圖所示。
對于所有樣本來說,我們可以計(jì)算出它的似然函數(shù),我們對模型的訓(xùn)練就是要極大化這個(gè)似然函數(shù)。
常用的做法是通過log來將比較難處理的連乘形式似然函數(shù)轉(zhuǎn)換成連加形式的對數(shù)似然函數(shù),其單調(diào)性不變。
可以看到對數(shù)似然函數(shù)是負(fù)號的形式,而且第一項(xiàng)是一個(gè)常數(shù),所以我們通過進(jìn)一步的改寫將最大化以上的對數(shù)似然函數(shù)變化為最小化以下的負(fù)對數(shù)似然函數(shù)。
大家應(yīng)該注意到了,這不就跟均方損失函數(shù)的形式幾乎一樣嗎?正是如此,最大化似然函數(shù)和最小化均方損失函數(shù)是等價(jià)的。所以,在回歸任務(wù)中,估計(jì)值和真值誤差服從高斯分布的假設(shè)下,我們以均方誤差作為損失函數(shù)來訓(xùn)練模型是合理的。
為什么分類任務(wù)用交叉熵作為損失函數(shù)
交叉熵?fù)p失函數(shù)是我們在分類任務(wù)中經(jīng)常用到的損失函數(shù),我們可以來做類似的分析。我們將要求解的問題簡化為二分類,即我們使用一個(gè)模型來預(yù)測某個(gè)樣本是屬于分類0還是分類1,一般做法我們會去預(yù)測一個(gè)在0到1內(nèi)的值yi^=p,如果大于0.5那么就是分類1,小于0.5就是分類0。
那么,在其中我們常常已經(jīng)做了一個(gè)假設(shè),即我們期望模型的輸出服從一個(gè)伯努利分布。模型的輸出就是預(yù)測分類為1的概率,即 P(y=1) = p, P(y=0) = 1 - p。我們將左邊這個(gè)式子改寫一下,在輸入為x時(shí),P(y|x) = py?* ( 1 - p)(1-y)。對于所有的樣本來說,將p替換成模型的預(yù)測yi^,那么其似然函數(shù)如下:
我們優(yōu)化模型的過程就是極大化我們的似然函數(shù),讓模型的預(yù)測值出現(xiàn)的可能性最大。剛剛我們已經(jīng)介紹過了,我們通過常規(guī)操作,可以將最大化似然函數(shù)的目標(biāo)轉(zhuǎn)化為最小化負(fù)對數(shù)似然函數(shù)。
我們又能發(fā)現(xiàn),這顯然就是我們的交叉熵?fù)p失函數(shù)。所以,本質(zhì)上對分類任務(wù)的極大似然估計(jì)和最小化交叉熵?fù)p失函數(shù)是一致的。所以,只要服從伯努利分布的假設(shè),我們使用交叉熵處理分類任務(wù)就是很合理的。
總結(jié)
以上是我們從分布假設(shè)的角度來解釋為什么回歸和分類任務(wù)常常使用均方誤差和交叉熵?fù)p失函數(shù),其實(shí)我們還可以從任務(wù)的評價(jià)指標(biāo)考慮來解釋目標(biāo)函數(shù)的合理性。但是反過來從根源上想,正是因?yàn)椴煌娜蝿?wù)有不同的分布性質(zhì)和評價(jià)指標(biāo),人們才會去設(shè)計(jì)相應(yīng)的損失函數(shù)去進(jìn)行優(yōu)化。
未完待續(xù)
本期的機(jī)器學(xué)習(xí)知識就給大家分享到這里,感謝大家的閱讀和支持,下期我們還會帶來新的分享,敬請期待!
歡迎關(guān)注樸素人工智能,這里有很多最新最熱的論文閱讀分享,也有人工智能的基礎(chǔ)知識討論和整理,有問題或建議可以在公眾號下留言。
參考資料
1.https://zhuanlan.zhihu.com/p/58883095?utm_source=wechat_session&utm_medium=social&utm_oi=942087358187851776&utm_campaign=shareopn
2.https://zhuanlan.zhihu.com/p/97698386?utm_source=wechat_session&utm_medium=social&utm_oi=942087358187851776&utm_campaign=shareopn
往期精彩回顧適合初學(xué)者入門人工智能的路線及資料下載機(jī)器學(xué)習(xí)及深度學(xué)習(xí)筆記等資料打印機(jī)器學(xué)習(xí)在線手冊深度學(xué)習(xí)筆記專輯《統(tǒng)計(jì)學(xué)習(xí)方法》的代碼復(fù)現(xiàn)專輯 AI基礎(chǔ)下載機(jī)器學(xué)習(xí)的數(shù)學(xué)基礎(chǔ)專輯 獲取本站知識星球優(yōu)惠券,復(fù)制鏈接直接打開: https://t.zsxq.com/qFiUFMV 本站qq群704220115。加入微信群請掃碼:總結(jié)
以上是生活随笔為你收集整理的【机器学习基础】机器学习的损失函数小结的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: edge浏览器运行不流畅怎么办 提高ed
- 下一篇: Win7系统还原声音图标的方法