1. 程式人生 > 實用技巧 >傳統IT 向雲遷移的實踐指南

傳統IT 向雲遷移的實踐指南

文章目錄

本節目的

where does the error come from?(為什麼最複雜的模型反而Loss函式的值越大)
在這裡插入圖片描述

error有兩個來源
在這裡插入圖片描述
Niantic是研發寶可夢的公司,而我們希望找到的f*越接近f^越好,兩者的差別來源於bias和variance。
在這裡插入圖片描述
問題來了,bias和variance分別是什麼
在這裡插入圖片描述
注:圖中Larger和Smaller是相反的。

bias

在這裡插入圖片描述
如果mu等於期望值,稱為unbiased。

variance

決定了散佈在期望周圍散得有多開。var[m]即為variance,大小取決於取樣數,取樣越多variance越小。越集中

在這裡插入圖片描述
s平方的期望可算,但它始終比Sigma平方小一點,要想更接近,就要增加樣本的數量N。
在這裡插入圖片描述
更通俗地解釋bias和variance,bias是瞄準就做的不太好,variance是瞄準後打偏了。(我們希望bias和variance都小)
注意f是訓練出來的,f-是許許多多f的期望,f^是真正的進化函式,只有寶可夢的研發者才知道。
我們希望bias小,是f-能夠接近f*。
我們希望variance小,是f*們能夠集中。
在這裡插入圖片描述
越複雜的Model(函式次數低),其variance值越大。
原因:因為Model越簡單越不容易受樣本影響,舉個極端的例子f(x)=c。
在這裡插入圖片描述
越複雜的Model,其bias值越小(體現在藍色線
黑色線更接近)。如下圖所示,其中左為1次函式,右上為3次函式,右下為5次函式。
原因:較簡單Model,也許壓根就沒把target包含進去,談何找到。
在這裡插入圖片描述

結論(魚和熊掌不可得兼)

隨著模型變複雜,bias減小(紅線),variance增大(綠色線)。綜合考慮兩者是藍色線。
欠擬合variance小但bias大,過擬合bias小但variance大,都不好。
在這裡插入圖片描述

如何解決

1. bias大

重定義Model
①增加更多特徵作為輸入項
②增加模型的複雜度

2. variance大

①訓練每個f*的時候,收集更多的資料(缺陷:現實中可能收集不到那麼多)
②Regularization(下圖自左到右是調整lambda得到的不同程度的平滑曲線)(缺陷:可能導致bias增大)

見上一篇https://blog.csdn.net/weixin_44997802/article/details/109206305

如何權衡 trade-off

方法1-交叉驗證:將訓練集分成訓練集和驗證集,先使用訓練集訓練,得到較好的那個再使用訓練集+驗證集訓練,這樣得到的模型,雖然在public testing set上結果未必佳,但卻能在private testing set上結果更好(我們想要的就是這個)。
需要注意的是,即使在public testing set上得到的結果不見得多好,也不要回頭去找引數調整。(Not recommend)
在這裡插入圖片描述
方法2 將訓練集按三種分法分別訓練三個模型,取平均err最小的Model。
在這裡插入圖片描述