機器學習中的目標函式 損失函式 代價函式

2022-09-17 00:51:14 字數 1615 閱讀 4280

1、損失函式(代價函式)

損失函式(loss function)是用來估量模型的**值f(x)與真實值y的不一致程度,它是乙個非負實值函式,通常使用l(y, f(x))來表示,損失函式越小,模型的魯棒性就越好。損失函式和代價函式是同乙個東西,目標函式是乙個與它們相關但更廣的概念。

上面三個圖的函式依次為,,

。我們是想用這三個函式分別來擬合price,price的真實值記為y

我們給定

,這三個函式都會輸出乙個

,這個輸出的

與真實值y可能是相同的,也可能是不同的,為了表示我們擬合的好壞,我們就用乙個函式來度量擬合的程度,比如:

,這個函式就稱為損失函式(loss function),或者叫代價函式(cost function)。損失函式越小,就代表模型擬合的越好

那是不是我們的目標就只是讓loss function越小越好呢?還不是。

這個時候還有乙個概念叫風險函式(risk function)。風險函式是損失函式的期望,這是由於我們輸入輸出的

遵循乙個聯合分布,但是這個聯合分布是未知的,所以無法計算。但是我們是有歷史資料的,就是我們的訓練集,

關於訓練集的平均損失稱作經驗風險(empirical risk),即

,所以我們的目標就是最小化

,稱為經驗風險最小化

統計學習常用的損失函式有以下幾種:

1)0-1損失

2)平方損失函式

當樣本個數為n時,此時的損失函式變為:

在實際應用中,通常會使用均方差(mse)作為一項衡量指標

3)絕對損失函式

4)對數損失函式

2、目標函式

如果到這一步就完了的話,那我們看上面的圖,那肯定是最右面的

的經驗風險函式最小了,因為它對歷史的資料擬合的最好嘛。但是我們從圖上來看

肯定不是最好的,因為它過度學習歷史資料,導致它在真正**時效果會很不好,這種情況稱為過擬合(over-fitting)。

為什麼會造成這種結果?大白話說就是它的函式太複雜了,都有四次方了,這就引出了下面的概念,我們不僅要讓經驗風險最小化,還要讓結構風險最小化。這個時候就定義了乙個函式

,這個函式專門用來度量模型的複雜度,在機器學習中也叫正則化(regularization)。常用的有

,範數。到這一步我們就可以說我們最終的優化函式是:

,即最優化經驗風險和結構風險,而這個函式就被稱為目標函式

結合上面的例子來分析:最左面的

結構風險最小(模型結構最簡單),但是經驗風險最大(對歷史資料擬合的最差);最右面的

經驗風險最小(對歷史資料擬合的最好),但是結構風險最大(模型結構最複雜);而

達到了二者的良好平衡,最適合用來**未知資料集。

參考:

深入理解機器學習中的 目標函式,損失函式和代價函式

參考知乎回答整理 主要參考 answer 209358209 基本概念 損失函式 計算的是乙個樣本的誤差 代價函式 是整個訓練集上所有樣本誤差的平均 目標函式 代價函式 正則化項 實際應用 上面三個圖的曲線函式依次為f1 x f2 x f3 x 我們想用這三個函式分別來擬合真實值y。我們給定x,這三...

深入理解機器學習中的 目標函式,損失函式和代價函式

參考知乎回答整理 主要參考 answer 209358209 基本概念 損失函式 計算的是乙個樣本的誤差 代價函式 是整個訓練集上所有樣本誤差的平均 目標函式 代價函式 正則化項 實際應用 上面三個圖的曲線函式依次為f1 x f2 x f3 x 我們想用這三個函式分別來擬合真實值y。我們給定x,這三...

深入理解機器學習中的 目標函式,損失函式和代價函式

參考知乎回答整理 主要參考 answer 209358209 基本概念 損失函式 計算的是乙個樣本的誤差 代價函式 是整個訓練集上所有樣本誤差的平均 目標函式 代價函式 正則化項 實際應用 損失函式和代價函式是同乙個東西,目標函式是乙個與他們相關但更廣的概念,舉例說明 上面三個圖的曲線函式依次為f1...