損失函數(shù)(Loss Function )是定義在單個樣本上的,算的是一個樣本的誤差。
代價函數(shù)(Cost Function )是定義在整個訓練集上的,是所有樣本誤差的平均,也就是損失函數(shù)的平均。
目標函數(shù)(Object Function)定義為:最終需要優(yōu)化的函數(shù)。等于經驗風險+結構風險(也就是Cost Function + 正則化項)。
PS:關于目標函數(shù)和代價函數(shù)的區(qū)別還有一種通俗的區(qū)別:目標函數(shù)是最大化或者最小化,而代價函數(shù)是最小化。
舉個例子解釋一下:(圖片來自Andrew Ng Machine Learning公開課視頻)
上面三個圖的函數(shù)依次為,
,
。我們是想用這三個函數(shù)分別來擬合Price,Price的真實值記為
。
我們給定,這三個函數(shù)都會輸出一個
,這個輸出的
與真實值
可能是相同的,也可能是不同的,為了表示我們擬合的好壞,我們就用一個函數(shù)來度量擬合的程度,比如:
,這個函數(shù)就稱為損失函數(shù)(loss function),或者叫代價函數(shù)(cost function)(有的地方將損失函數(shù)和代價函數(shù)沒有細分也就是兩者等同的)。損失函數(shù)越小,就代表模型擬合的越好。
那是不是我們的目標就只是讓loss function越小越好呢?還不是。
這個時候還有一個概念叫風險函數(shù)(risk function)。風險函數(shù)是損失函數(shù)的期望,這是由于我們輸入輸出的 遵循一個聯(lián)合分布,但是這個聯(lián)合分布是未知的,所以無法計算。但是我們是有歷史數(shù)據(jù)的,就是我們的訓練集,
關于訓練集的平均損失稱作經驗風險(empirical risk),即
,所以我們的目標就是最小化
,
稱為經驗風險最小化。
如果到這一步就完了的話,那我們看上面的圖,那肯定是最右面的 的經驗風險函數(shù)最小了,因為它對歷史的數(shù)據(jù)擬合的最好嘛。但是我們從圖上來看
肯定不是最好的,因為它過度學習歷史數(shù)據(jù),導致它在真正預測時效果會很不好,這種情況稱為過擬合(over-fitting)。
為什么會造成這種結果?大白話說就是它的函數(shù)太復雜了,都有四次方了,這就引出了下面的概念,我們不僅要讓經驗風險盡量小,還要讓結構風險盡量小。。這個時候就定義了一個函數(shù) ,這個函數(shù)專門用來度量模型的復雜度,在機器學習中也叫正則化(regularization)。常用的有
,
范數(shù)。
到這一步我們就可以說我們最終的優(yōu)化函數(shù)是: ,即最優(yōu)化經驗風險和結構風險,而這個函數(shù)就被稱為目標函數(shù)。
結合上面的例子來分析:最左面的 結構風險最?。P徒Y構最簡單),但是經驗風險最大(對歷史數(shù)據(jù)擬合的最差);最右面的
經驗風險最?。▽v史數(shù)據(jù)擬合的最好),但是結構風險最大(模型結構最復雜);而
達到了二者的良好平衡,最適合用來預測未知數(shù)據(jù)集。








暫無數(shù)據(jù)