目标函数,代价函数,损失函数
參考知乎回答整理:https://www.zhihu.com/question/52398145
主要參考:https://www.zhihu.com/question/52398145/answer/209358209
基本概念:
損失函數(shù):計算的是一個樣本的誤差
代價函數(shù):是整個訓練集上所有樣本誤差的平均
目標函數(shù):代價函數(shù) + 正則化項
實際應用:
損失函數(shù)和代價函數(shù)是同一個東西,目標函數(shù)是一個與他們相關但更廣的概念,舉例說明:
上面三個圖的曲線函數(shù)依次為f1(x),f2(x),f3(x),我們想用這三個函數(shù)分別來擬合真實值Y。
我們給定x,這三個函數(shù)都會輸出一個f(X),這個輸出的f(X)與真實值Y可能是相同的,也可能是不同的,為了表示我們擬合的好壞,我們就用一個函數(shù)來度量擬合的程度。這個函數(shù)就稱為損失函數(shù)(loss function),或者叫代價函數(shù)(cost function)。
損失函數(shù)越小,就代表模型擬合的越好。那是不是我們的目標就只是讓loss function越小越好呢?還不是。這個時候還有一個概念叫風險函數(shù)(risk function)。風險函數(shù)是損失函數(shù)的期望,這是由于我們輸入輸出的(X,Y)遵循一個聯(lián)合分布,但是這個聯(lián)合分布是未知的,所以無法計算。但是我們是有歷史數(shù)據(jù)的,就是我們的訓練集,f(X)關于訓練集的平均損失稱作經(jīng)驗風險(empirical risk),所以我們的目標就是最小化經(jīng)驗風險。
到這里完了嗎?還沒有。
如果到這一步就完了的話,那我們看上面的圖,那肯定是最右面的f3(x)的經(jīng)驗風險函數(shù)最小了,因為它對歷史的數(shù)據(jù)擬合的最好嘛。但是我們從圖上來看它肯定不是最好的,因為它過度學習歷史數(shù)據(jù),導致它在真正預測時效果會很不好,這種情況稱為過擬合(over-fitting)。為什么會造成這種結(jié)果?大白話說就是它的函數(shù)太復雜了,都有四次方了,這就引出了下面的概念,我們不僅要讓經(jīng)驗風險最小化,還要讓結(jié)構(gòu)風險最小化。
這個時候就定義了一個函數(shù)J(f),這個函數(shù)專門用來度量模型的復雜度,在機器學習中也叫正則化(regularization)。常用的有L1, L2范數(shù)。到這一步我們就可以說我們最終的優(yōu)化函數(shù)是:?
即最優(yōu)化經(jīng)驗風險和結(jié)構(gòu)風險,而這個函數(shù)就被稱為目標函數(shù)
總結(jié)
以上是生活随笔為你收集整理的目标函数,代价函数,损失函数的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【t081】序列长度(贪心做法)
- 下一篇: nginx+lua (一)