(轉載)機器學習中的目標函數、損失函數、代價函數有什麼區別

做者:zzanswer
連接:https://www.zhihu.com/question/52398145/answer/209358209
來源:知乎
著做權歸做者全部。商業轉載請聯繫做者得到受權,非商業轉載請註明出處。

舉個例子解釋一下:(圖片來自Andrew Ng Machine Learning公開課視頻)機器學習

 

 

上面三個圖的函數依次爲 f_{1}(x) , f_{2}(x) , f_{3}(x) 。咱們是想用這三個函數分別來擬合Price,Price的真實值記爲 Y 。函數

咱們給定 x ,這三個函數都會輸出一個 f(X) ,這個輸出的 f(X) 與真實值 Y 多是相同的,也多是不一樣的,爲了表示咱們擬合的好壞,咱們就用一個函數來度量擬合的程度,好比:post

L(Y,f(X)) = (Y-f(X))^2 ,這個函數就稱爲損失函數(loss function),或者叫代價函數(cost function)。損失函數越小,就表明模型擬合的越好學習

那是否是咱們的目標就只是讓loss function越小越好呢?還不是。優化

這個時候還有一個概念叫風險函數(risk function)。風險函數是損失函數的指望,這是因爲咱們輸入輸出的 (X,Y) 遵循一個聯合分佈,可是這個聯合分佈是未知的,因此沒法計算。可是咱們是有歷史數據的,就是咱們的訓練集, f(X) 關於訓練集的平均損失稱做經驗風險(empirical risk),即 \frac{1}{N}\sum_{i=1}^{N}L(y_{i},f(x_{i})) ,因此咱們的目標就是最小化 \frac{1}{N}\sum_{i=1}^{N}L(y_{i},f(x_{i})) ,稱爲經驗風險最小化視頻

到這裏完了嗎?尚未。blog

若是到這一步就完了的話,那咱們看上面的圖,那確定是最右面的 f_3(x) 的經驗風險函數最小了,由於它對歷史的數據擬合的最好嘛。可是咱們從圖上來看 f_3(x)確定不是最好的,由於它過分學習歷史數據,致使它在真正預測時效果會很很差,這種狀況稱爲過擬合(over-fitting)。圖片

爲何會形成這種結果?大白話說就是它的函數太複雜了,都有四次方了,這就引出了下面的概念,咱們不只要讓經驗風險最小化,還要讓結構風險最小化。這個時候就定義了一個函數 J(f) ,這個函數專門用來度量模型的複雜度,在機器學習中也叫正則化(regularization)。經常使用的有 L_1 , L_2 範數。get

到這一步咱們就能夠說咱們最終的優化函數是:min\frac{1}{N}\sum_{i=1}^{N}L(y_{i},f(x_{i}))+\lambda J(f) ,即最優化經驗風險和結構風險,而這個函數就被稱爲目標函數it

結合上面的例子來分析:最左面的 f_1(x) 結構風險最小(模型結構最簡單),可是經驗風險最大(對歷史數據擬合的最差);最右面的 f_3(x) 經驗風險最小(對歷史數據擬合的最好),可是結構風險最大(模型結構最複雜);而 f_2(x) 達到了兩者的良好平衡,最適合用來預測未知數據集。

 
 
標籤:  Machine Learning
相關文章
相關標籤/搜索