機器學習基石------Hazard of Overfitting

對於需要擬合的數據(x1,x2,x3…) 我們可以使用一個多項式取擬合這些數據 如果這些數據分佈 f(x) 爲二次函數
當我們使用一個好的VC dimension 即和原始分佈相似的VC dimension 那麼我們可以較好的擬合原始數據分別
在這裏插入圖片描述

當我們選擇的VC dimension較大的時候 我們同樣也可以很好的fit訓練數據 但是由於模型過於複雜 可能只是在給定的數據點處較好的擬合數據 泛化能力可能不會這麼好
在這裏插入圖片描述

overfitting可能性:

  1. 使用過大的VC dimension
  2. 數據存在noise
  3. 訓練樣本N數量過小

OverFiting 實驗:
對於訓練數據分佈 十次多項式加噪聲生成數據
在這裏插入圖片描述

使用50次多項式不加噪聲
在這裏插入圖片描述

對於上述兩個數據分佈 我們採用不同的模型取擬合這些數據分佈

  1. 使用二次多項式取擬合 十次多項式加noise 產生的數據
  2. 使用十次多項式取擬合 十次多項式加noise 產生的數據
    在這裏插入圖片描述
    可想而知 十次多項式的表達能力肯定是比二次多項式要強的 因此它對於Ein的擬合能力也是要比二次多項式來的強 如果沒有噪聲的存在 那麼十次多項式是可以在所有的數據分佈空間中完全擬合數據的 但是由於噪聲的存在 訓練所得十次多項式的係數 和原始生成數據的係數會有一定的差異
    所以和二次多項式比 訓練所得的十次多項式 對數據擬合能力更強 但是擬合的是在噪聲存在的分佈下的 訓練數據 所以可能導致泛華結果更差

擬合50次多項式生成的數據
在這裏插入圖片描述
可見十次多項式擬合50次多項式的時候在Eout上表現也更差 參見下圖分佈數據和擬合數據的分佈

在這裏插入圖片描述

由此可見 即便知道目標函數是十次多項式 使用十次多項式去擬合也不見得結果會好

當資料量不夠多的時候
在這裏插入圖片描述
當N比較小的時候我們可以看到 H10所能夠產生的Eout是遠比H2要來的大的

在這裏插入圖片描述
總結overfitting發生的可能情況:
1.當數據量過小的時候 會發生
2. 左圖隨着數據Noise增加 會發生overfitting
3. 當目標函數的複雜度過大時 和上述分析一樣會發生overfitting
4. 因爲比較的是十次多項式和二次多項式 如果目標是十次多項式以下的時候也會出現overfitting

這裏解釋一下爲什麼目標函數過於複雜的時候也會帶來Noise 即 deterministic noise

在這裏插入圖片描述

如果在hypothesis set中不存在我們要尋找的那個f 這時和在某一個能夠擬合的f上加noise 十分相似
唯一不同的是這個noise不是隨機加的 而是和h有關 圖中灰色的區域即爲要求的noise

如何解決overfitting

在這裏插入圖片描述

  1. 從簡單的hypothesis做起
  2. 減小資料中的噪聲
  3. 增加資料數量或者其他信息

在這裏插入圖片描述

重點是要查找出outlier

在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章