偏差—方差之間的權衡判讀對機器學習來說是非常重要的。在深度學習研究中,可能會遇到雙下降現象,認為這有悖於偏差—方差權衡。本文通過一個統計學的例子,對偏差—方差權衡展開了形象的解讀。
選自Twitter,作者:Daniela Witten,機器之心編譯,編輯:陳萍、杜偉
8 月初,華盛頓大學統計學與生物統計學教授 Daniela Witten 在推特上發帖介紹了「偏差 - 方差權衡」與「雙下降」之間的關係。這個帖子一經發出便收穫了很多點讚與轉發。
AI 大咖 Yann LeCun 也轉發了該貼,他高度稱讚了 Daniela Witten 教授對「雙下降」現象的解讀。LeCun 寫道:「這是對雙下降現象非常直觀的解釋。當模型能力『恰好』能夠產生零訓練誤差時,該現象導致測試誤差達到峰值。並且,峰值不會出現在多層網絡中,因為它們呈現隱式正則化。」
Daniela Witten 教授的解讀究竟有哪些獨到之處呢?她開篇是這樣介紹的:「還記得偏差—方差權衡嗎?它意味著模型在中等程度靈活性條件下表現良好。圖中可以看到 U 形測試誤差曲線。我們試圖找到靈活性的『最佳點』(Sweet Spot)」。
獨到的偏差 - 方差權衡解讀
上文中的 U 型測試誤差曲線基於以下公式:
隨著靈活性的增加,(平方)偏差減少,方差增加。「sweet spot」需要權衡偏差和方差,即具有中等程度靈活性的模型。
偏差 - 方差權衡不成立嗎?
過去的幾年中,尤其是在深度學習領域,已經出現雙下降現象。當你繼續擬合越來越靈活且對訓練數據進行插值處理的模型時,測試誤差會再次減小!
在深度學習的背景下,這一點似乎尤為突出(不過,正如我們看到的,這種情況在其他地方也會發生)。到底是怎麼回事?偏差—方差權衡是否成立?教科書都錯了嗎?或者是深度學習的魔力?
深度學習的雙下降現象,偏差 - 方差權衡成立
在這篇帖子裡,Daniela Witten 教授給出了合理的解釋。為了理解深度學習的雙下降現象,她列舉了一個與深度學習無關的簡單示例:自然三次樣條曲線(natural cubic spline)。
首先介紹一下什麼是樣條曲線?本質上,這是一種擬合模型 Y=f(X)+epsilon 的方法,f 是非參數的,由非常光滑的分段多項式構成。
為了擬合樣條曲線,Daniela 等人創建了一些基函數,然後通過最小二乘法將響應(response)Y 擬合到基函數上。所用基函數的數量與樣條曲線的自由度(degrees of freedom, DF)相同。基函數基本形式如下:
假設 n=20(X, Y),並且想用樣條曲線 Y = f(X)+ epsilon 估計 f(X)(此處 f(X)= sin(X)) 。
首先,Daniela 等人擬合了一個 4DF 的樣條曲線。n=20 時的觀測值為灰色小圓點,f(x) 為黑色曲線,擬合函數為淺藍色曲線。
然後擬合了一個 6DF 的樣條曲線。
接著嘗試擬合 20DF 的樣條曲線,這不是一個好主意。因為得到了 n=20 的觀測值,所以為了擬合 20DF 的樣條曲線,需要用 20 個特徵來運行最小二乘法!結果顯示在訓練集上零誤差,但在測試集上誤差非常大!這些糟糕的結果也非常符合偏差 - 方差權衡的預測。
雖然在 20DF 的測試結果非常差,但 Daniela 等人還是進行了 n=20,p=36DF 時的最小二乘法擬合。
這時 p>n,解是不唯一的。為了在無窮多個解中進行選擇,Daniela 等人選擇了「最小」範數擬合:係數平方和最小的那個(使用了大家最喜歡的矩陣分解 SVD,以實現輕鬆計算)
下圖為 n=20,p=36DF 的擬合結果。
欣慰的是,結果並沒有預期的那麼糟。下圖對比了 20DF 和 36DF 的結果,可見 36DF 的結果比 20DF 要好一點。這是什麼原因呢?
下圖是訓練誤差和測試誤差曲線,兩者的變化曲線差別非常大。以虛線為分界線,當 p>n 時,為什麼測試誤差(暫時)減少?這難道就是偏差 - 方差權衡所指的對立面嗎?
Daniela 等人給出了合理的解釋:關鍵在於 20DF,n=p 時,只有一個最小二乘擬合的訓練誤差為零。這種擬合會出現大量的振蕩。
但是當增加 DF,使得 p>n 時,則會出現大量的插值最小二乘擬合。最小範數的最小二乘擬合是這無數多個擬合中振蕩最小的,甚至比 p=n 時的擬合更穩定。
所以,選擇最小範數最小二乘擬合實際上意味著 36DF 的樣條曲線比 20DF 的樣條曲線的靈活性差。
現在,如果在擬合樣條曲線時使用了脊懲罰(ridge penalty),而不是最小二乘,結果會怎麼樣呢?這時將不會有插值訓練集,也不會看到雙下降,而且會得到更好的測試誤差(前提是正確的調整參數值!)
總結
所以,這些與深度學習有何關係?當使用(隨機)梯度下降法來擬合神經網絡時,實際上是在挑選最小範數解!因此,樣條曲線示例非常類似於神經網絡雙下降時發生的情況。
因此雙下降是真實發生的,並不是深度學習魔法。通過統計 - ML 和偏差 - 方差權衡可以理解它。一切都不是魔法,只是統計在發揮作用。
原文連結:
https://threadreaderapp.com/thread/1292293102103748609.html