來源:北大青鳥總部 2022年12月27日 14:28
小編前幾天一直在學習機器學習的知識,突然有一天,女朋友經(jīng)過我電腦前,指著屏幕上的字說:“損失函數(shù)”是啥意思呀。本著我對她的了解,就算小編跟她說:“損失函數(shù)是一種可以吃的東西,很多人喜歡吃”。她也會回答好厲害的樣子。
那天之后,小編觀察了許多涉及損失函數(shù)的內(nèi)容,都不外乎一大堆的公式,對一些數(shù)學和抽象思維還是有一定門檻的,于是小編不嚴謹?shù)目偨Y了一套說辭,用來給女朋友科普啥叫損失函數(shù),如果你女朋友也問到你同樣的問題,你除了回答“說了你也不懂”之外,也可以試試這樣解釋?
首先,我們先來回顧一下機器學習模型。
機器學習模型:就是總結樣本中的”經(jīng)驗”,學習出來的一個模型,通過這個模型,可以對具有特征的樣本進行預測,得到一個具體的預測值(回歸)或者類別(分類)。
而機器學習的“學習”過程就是最小化損失函數(shù)的過程。
拿機器學習分類任務來說,分類任務的目的是要將不同類別的樣本盡量劃分的更加準確,那么我們這時就可以來定義一個標準,如果有一個模型,它預測樣本的分類與樣本的實際分類一致的話,得一分。如果預測樣本的分類與樣本實際的分類不一致的話則不得分。那么同時10個模型參加比賽,得分高的模型自然是更優(yōu)的模型。這個計算得分的機制,就是損失函數(shù),只不過損失函數(shù)是相反的,即預測樣本的類別與實際樣本類別一致的話,損失為0。預測樣本與實際樣本類別不一致,損失將比較大。
也就是說,在同一標準下,損失越小,模型越精確。這也是為什么機器學習的過程是將損失函數(shù)優(yōu)化到最小的過程。
可能從概念上同學們還是有些許不明白,下面咱們通過一個實際例子來了解一下。
我們有以下數(shù)據(jù)(雞鴨分類)
有幾只腳 | 嘴巴形狀 | 顏色 | 類別 |
2 | 扁 | 黑棕色 | 鴨 |
2 | 扁 | 白色 | 鴨 |
2 | 尖 | 黃色 | 雞 |
2 | 扁 | 黑棕色 | 鴨 |
2 | 尖 | 黃色 | 雞 |
2 | 扁 | 白色 | 鴨 |
2 | 尖 | 紅色 | 雞 |
接下來我們要選擇一個適合的模型,來對數(shù)據(jù)進行分類?,F(xiàn)在有兩個模型,模型A分類規(guī)則是,只有是有兩只腳的就判定為雞、模型B分類規(guī)則是有兩只腳且嘴巴是尖的并且顏色是黃色的動物是雞,其余的是鴨。那么通過兩種模型對現(xiàn)有樣本進行預測,可以發(fā)現(xiàn)模型A預測對3個,預測錯4個。模型B預測準確6個,預測錯誤1個。那么這次較量中,模型A的損失(誤差)為4,模型B損失(誤差)為0。毫無疑問模型B是更好的模型。
損失函數(shù)其實就是上述例子中模型所表現(xiàn)的誤差,那么機器學習中最優(yōu)化損失函數(shù)的過程其實是通過損失函數(shù)反過來優(yōu)化模型參數(shù),例如上述例子中模型B,可以計算出損失函數(shù)為1,那么分析一下為什么會出現(xiàn)這一個損失(誤差),是因為模型的分類規(guī)則導致,那么我要避免這個損失的出現(xiàn),我就反過來調整一下規(guī)則,將規(guī)則修改為:所有兩只腳、嘴巴是尖的、顏色是黃色或者紅色的動物是雞。調整完規(guī)則之后,我們再計算一次損失,發(fā)現(xiàn)損失降為了0,這樣我們就成功的優(yōu)化了模型,而機器學習實際上就是自動的完成了這個優(yōu)化過程。
實際機器學習算法中有許許多多各式各樣的損失函數(shù),如邏輯回歸的交叉熵損失、線性回歸的均方根誤差等,理解了損失函數(shù)對理解機器學習有非常重要的幫助,你理解了嗎?