机器学习中的目标函数、损失函数、代价函数有什么区别?
作者:zzanswer
鏈接:https://www.zhihu.com/question/52398145/answer/209358209
來源:知乎
著作權(quán)歸作者所有。商業(yè)轉(zhuǎn)載請聯(lián)系作者獲得授權(quán),非商業(yè)轉(zhuǎn)載請注明出處。
謝謝評論區(qū)
@阿薩姆 老師的建議,完善下答案:?
首先給出結(jié)論:損失函數(shù)和代價(jià)函數(shù)是同一個(gè)東西,目標(biāo)函數(shù)是一個(gè)與他們相關(guān)但更廣的概念,對于目標(biāo)函數(shù)來說在有約束條件下的最小化就是損失函數(shù)(loss function)。
舉個(gè)例子解釋一下:(圖片來自Andrew Ng Machine Learning公開課視頻)
?
上面三個(gè)圖的函數(shù)依次為 , , 。我們是想用這三個(gè)函數(shù)分別來擬合Price,Price的真實(shí)值記為 。
我們給定 ,這三個(gè)函數(shù)都會(huì)輸出一個(gè) ,這個(gè)輸出的 與真實(shí)值 可能是相同的,也可能是不同的,為了表示我們擬合的好壞,我們就用一個(gè)函數(shù)來度量擬合的程度,比如:
,這個(gè)函數(shù)就稱為損失函數(shù)(loss function),或者叫代價(jià)函數(shù)(cost function)。損失函數(shù)越小,就代表模型擬合的越好。
那是不是我們的目標(biāo)就只是讓loss function越小越好呢?還不是。
這個(gè)時(shí)候還有一個(gè)概念叫風(fēng)險(xiǎn)函數(shù)(risk function)。風(fēng)險(xiǎn)函數(shù)是損失函數(shù)的期望,這是由于我們輸入輸出的 遵循一個(gè)聯(lián)合分布,但是這個(gè)聯(lián)合分布是未知的,所以無法計(jì)算。但是我們是有歷史數(shù)據(jù)的,就是我們的訓(xùn)練集, 關(guān)于訓(xùn)練集的平均損失稱作經(jīng)驗(yàn)風(fēng)險(xiǎn)(empirical risk),即 ,所以我們的目標(biāo)就是最小化 ,稱為經(jīng)驗(yàn)風(fēng)險(xiǎn)最小化。
到這里完了嗎?還沒有。
如果到這一步就完了的話,那我們看上面的圖,那肯定是最右面的 的經(jīng)驗(yàn)風(fēng)險(xiǎn)函數(shù)最小了,因?yàn)樗鼘v史的數(shù)據(jù)擬合的最好嘛。但是我們從圖上來看 肯定不是最好的,因?yàn)樗?strong>過度學(xué)習(xí)歷史數(shù)據(jù),導(dǎo)致它在真正預(yù)測時(shí)效果會(huì)很不好,這種情況稱為過擬合(over-fitting)。
為什么會(huì)造成這種結(jié)果?大白話說就是它的函數(shù)太復(fù)雜了,都有四次方了,這就引出了下面的概念,我們不僅要讓經(jīng)驗(yàn)風(fēng)險(xiǎn)最小化,還要讓結(jié)構(gòu)風(fēng)險(xiǎn)最小化。這個(gè)時(shí)候就定義了一個(gè)函數(shù) ,這個(gè)函數(shù)專門用來度量模型的復(fù)雜度,在機(jī)器學(xué)習(xí)中也叫正則化(regularization)。常用的有 , 范數(shù)。
到這一步我們就可以說我們最終的優(yōu)化函數(shù)是: ,即最優(yōu)化經(jīng)驗(yàn)風(fēng)險(xiǎn)和結(jié)構(gòu)風(fēng)險(xiǎn),而這個(gè)函數(shù)就被稱為目標(biāo)函數(shù)。
結(jié)合上面的例子來分析:最左面的 結(jié)構(gòu)風(fēng)險(xiǎn)最小(模型結(jié)構(gòu)最簡單),但是經(jīng)驗(yàn)風(fēng)險(xiǎn)最大(對歷史數(shù)據(jù)擬合的最差);最右面的 經(jīng)驗(yàn)風(fēng)險(xiǎn)最小(對歷史數(shù)據(jù)擬合的最好),但是結(jié)構(gòu)風(fēng)險(xiǎn)最大(模型結(jié)構(gòu)最復(fù)雜);而 達(dá)到了二者的良好平衡,最適合用來預(yù)測未知數(shù)據(jù)集。
以上的理解基于Coursera上Andrew Ng的公開課和李航的《統(tǒng)計(jì)學(xué)習(xí)方法》,如有理解錯(cuò)誤,歡迎大家指正。
轉(zhuǎn)載于:https://www.cnblogs.com/jingsupo/p/9007320.html
總結(jié)
以上是生活随笔為你收集整理的机器学习中的目标函数、损失函数、代价函数有什么区别?的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: js控制input框输入数字时,累计求和
- 下一篇: hdu 4336 Card Collec