深度學習中損失函數之RMS和MES


  學校給我們一人贊助了100美元購買英文原版圖書,幾方打聽后選擇了PRML 即Pattern Recognition and Machine Learning。自從拆封這本書開始慢慢的品讀,經常會有相見恨晚之感。雖然目前我只是慢慢地閱讀了前幾個小節,也知道后面的章節會越來越晦澀,但是還是下定決心一定要把這本書弄透徹。這篇文章是在閱讀引章:曲線擬合時發現的問題。想記錄下來學到的兩個點,並對一道課后習題作解析。

  第一節是曲線擬合,曲線擬合是深度學習問題中的regression問題,即回歸問題。其他的問題據我了解還有classification問題,即分類問題和clustering問題,即聚類問題。regression問題很顯然是一個有監督學習。給你一系列點x,再給你一系列這些點對應的target,我們的目標是找到一個函數使得target和我們預測的x之間的誤差最小。

  在這一節是以一個正弦函數為例,給出正弦曲線上加上了隨機誤差的一系列點。我們選擇多項式擬合polynomial fitting:$$y(x,\textbf{w})=w_0+w_{1}x+w_{2}x^{2}+\cdots+w_{M}x^{M}=\sum_{j=0}^M w_j x^j$$

  現在我們要解決的問題有三個:

  1.什么叫誤差?既然我們的目標是讓誤差最小,那么誤差函數error function(或者是loss function?)應該長什么樣?

  2.有了誤差函數,怎么樣確定多項式的系數coefficients來使得誤差函數最小。

  3.多項式的次數order應該怎么選擇?

  下面一一進行解答:

  1.首先我們選用了一類簡單而且廣泛被使用的error function--SSE,即和方差。我們的目標是最小化以下的目標error function(SSE):$$E(\textbf{w})=\frac{1}{2} \sum_{n=1}^{N} \left\{y(x_n ,\textbf{w})-t_n \right\}^2$$從直觀上可以看到,這個損失函數是正定的,而且它的值越小,預測值和target值間的差距就越小,相應的,擬合效果就越好。其中$\frac{1}{2}$是為了方便計算,還可以選為其他值。我們的問題轉化為了最小化誤差函數。

  2.已經交代過,我們采用多項式擬合,那么模型的參數就是多項式的系數$w_{0}~w_{M}$。怎樣確定模型參數使得error function最小呢?這里的解法很特殊。我們使用的是最小平方誤差,那么對誤差函數關於多項式系數進行求導,得到的結果將是關於系數$\textbf{w}$的線性函數(我有一個理解,其實就是讓loss對w向量求梯度,是不是呢?以后應該能回答)。為了求取極小值,在這里我們是可以讓這個導數為$\textbf{0}$,從而獲得解析形式的解$w^{*}$,(這里和之前模式識別課上學的那個什么偽逆解是不是有些關系?也是解析解)。具體細節在PRML中體現在課后習題,在后面講。

  3.現在我們能夠對一個給定次數的多項式求出使error function最小的參數了,還沒有解決的問題是,多項式的order應該如何選擇?將這個問題推廣就變成了一個模型選擇的問題,使用更高次數的多項式一定能對樣本點進行最好的擬合,進而獲得最佳的泛化性能嗎?下面的的幾張圖能夠說明問題。

   我們看到,當M比較小時,擬合效果很差,隨着M增加(如M=3),能夠進行較好的擬合。但是當M達到9時,因為對十個樣本點,9次多項式能夠唯一確定。擬合曲線卻在樣本點之間發生了劇烈的振盪,不能夠獲得很好的泛化性能。原因是出現了over-fitting過擬合。此時的曲線對隨機的噪聲非常敏感,且不具有任何的靈活性。當樣本點增加后,這種過擬合現象得到了極大的緩解。此時為了讓不同大小的數據集產生的誤差函數的有相同的比例和單位。我們選用RMS error function:$$E_{RMS} = \sqrt{2E(\textbf{w* })/N}$$


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM