AI入門:ML學習筆記[AI-003]model bias and variance

ChunJen Wang
jimmy-wang
Published in
Mar 4, 2021

模型為什麼預測不準? 誤差從哪來?

李宏毅老師劈頭就給你答案,誤差來自於兩者:

  1. Bias
  2. Variance

Remind:我們建模的目的都是為了找最佳的 function。
根據手中有的資料集合,去找到最好的 function (f_hat)。

李宏毅老師舉例如打靶,誤差就是找到真正f_star,會受到Bias與Variance影響。Source: https://www.youtube.com/watch?v=D_S6y0Jm6dQ&list=PLJV_el3uVTsPy9oCRY30oBPNLCo89yu49&index=5&ab_channel=Hung-yiLee

回顧機率論所學:
當我們今天要估計X的 mean,
假設mean= μ
假設variance= σ平方
進行抽樣取出多個點,並反覆抽測,找到E[mean]。

假設可以進行多次 f_star,計算平均值f_bar。

  1. Bias 是原本瞄準的中心就歪了
  2. Variance 是模型不穩定

簡單的模型(Small Variance)能夠集中,但複雜的模型(Large Variance),就會爆掉。

而平均計算以後,竟可得更小的Bias。
一個簡單理解的方式是,若模型越簡單,表示多次實驗的function space越小;然模型越複雜,表示function space越大,越有機會找到正解。

模型之所以爆掉的原因就是因為當今天模型設立越複雜時,的確平均而言,function會極為貼近 training set 的資料波動,但放到 testing set 時,就會因為 Variance 而導致誤差極大。

建模時:回頭問問自己,你認為模型現在是 Bias大還是 Variance大 ?

  1. 如果模型不能fit training set → Bias大 →Redesign Model
    [絕對不是找更多資料就可以解決! ]
  2. 如果模型不能fit testing set →Variance大 →
    a. 找更多資料就是一種萬靈丹
    [業界老闆: 機器會自己學習,為什麼要更多data,不合成本考量!]
    [只好自己製造資料,如圖片: 轉個角度、如聲音: 做個變聲、自己錄噪音
    英文資料: 硬翻成中文直接硬爆。]
    b. Regularization:讓模型變的平滑,但就是調整了function space。

如何從 Bias 與 Variance取得平衡

就好像在參加Kaggle競賽過程中,今天自己可以控制的是中間的Testing Set。但是real的Testing Set可能會直接爆掉!

解方: Cross Validation

將Training Set拆分為兩個Set,Training Set 與 Validation Set。
注意最終反映到private testing set的結果。不要亂tune model。

但是拆分的比例如何進行?
如果不確定的話可以怎麼操作?

解方:N-fold Cross Validation

切成不同等分,讓資料輪流當Training Set、Validation Set。

--

--

ChunJen Wang
jimmy-wang

嗨,歡迎你的到來,我目前在銀行擔任DS。過去曾做過銀行大型專案BA,也曾在轉職科技業DE中踢了鐵板,相信每一個人都有自己要走的路,而努力的過程,可以讓我們離心中理想更接近,如果我的文章能帶給你一些啟發與幫助,別忘了幫我在文章底下按下拍手~^^