Optimization

什麼是代理損失函數?

  • February 23, 2017

誰能澄清一下代理損失函數是什麼?我很熟悉損失函數是什麼,並且我們想要產生一個可微的凸函數,但我不明白如何令人滿意地使用代理損失函數並真正相信它的結果背後的理論。

在學習的背景下,假設您對數據集有分類問題 $ {(X_1, Y_1), \dots, (X_n, Y_n)} $ , 在哪裡 $ X_n $ 是你的特點和 $ Y_n $ 是你真正的標籤。

給定一個假設函數 $ h(x) $ , 損失函數 $ l: (h(X_n), Y_n) \rightarrow \mathbb{R} $ 接受假設函數的預測(即 $ h(X_n) $ ) 以及該特定輸入的真實標籤並返回懲罰。現在,一個總體目標是找到一個假設,使其最小化經驗風險(即,最小化出錯的機會):

$$ R_l(h) = E_{\text{empirical}}[l(h(X), Y)] = \dfrac{1}{m}\sum_i^m{l(h(X_i), Y_i)} $$

在二元分類的情況下,常用的損失函數是 $ 0 $ - $ 1 $ 損失函數:

$$ l(h(X), Y) = \begin{cases} 0 & Y = h(X) \ 1 & \text{otherwise} \end{cases} $$

一般來說,我們關心的損失函數不能被有效地優化。例如, $ 0 $ - $ 1 $ 損失函數是不連續的。因此,我們考慮另一個讓我們的生活更輕鬆的損失函數,我們稱之為代理損失函數

代理損失函數的一個例子可以是 $ \psi(h(x)) = \max(1 - h(x), 0) $ (SVM中所謂的鉸鏈損失),它是凸的,易於使用常規方法進行優化。這個函數作為我們一開始想要最小化的實際損失的代理。顯然,它有其缺點,但在某些情況下,代理損失函數實際上會導致能夠學習更多。我的意思是,一旦你的分類器達到最佳風險(即最高精度),你仍然可以看到損失減少,這意味著它正在嘗試將不同的類推得更遠,以提高其魯棒性。

引用自:https://stats.stackexchange.com/questions/263712

comments powered by Disqus