損失函數/代價函數 目標函數

參考   機器學習中的目標函數、損失函數、代價函數有什麼區別?機器學習

如何找出幸福感最強的人?什麼人幸福感最強,是既有錢(擬合較好,不是最有錢)又活得輕鬆(模型複雜度低,簡簡單單生活)的中層階級。函數

 首先給出結論:損失函數和代價函數是同一個東西,目標函數是一個與他們相關但更廣的概念,對於目標函數來講在有約束條件下的最小化就是損失函數(loss function)。學習

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

 

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

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

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

那是否是咱們的目標就只是讓 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})) ,稱爲經驗風險最小化get

到這裏完了嗎?尚未。it

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

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

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

說白了,經驗風險就是擬合的好很差,結構風險就是模型複雜不復雜

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

相關文章
相關標籤/搜索