2017年8月13日 星期日

Week4

Overfitting of polynomial regression

  • 通常overfitting會伴隨著數字很大的Coefficient
  • 觀測資料的數目與overfitting的關係
    • 資料數目小(N小)
      • 當Model的複雜度增加時很快就會overfit
    • 資料數目大(N大)
      • 較不會overfit
  • Feature數目與overfitting的關係
    • 1個Feature
      • Data必須包含所有代表性的例子才能避免overfit (難!!!)
    • d個Feature
      • 需要包含更多代表性的例子才能避免overfit (超難!!!)

Adding term to cost-of-fit to prefer small coefficients

  • 在考慮Cost的時候也把Coefficient的數字考慮進來
    • measure of fit是看Model的準確度,用RSS來表示
    • measure of magnitude of coefficients就是用來避免overfit

  • 本周會focus在以Sum of squares (L2 norm)當作coefficients的統計
  • 只看Sum的話是不準確的(如有一個正很大跟一個負很大的coefficient相加後反而很小)


  • 實際在算Cost的時候會再加入一個𝛌參數,用來平衡這兩者,又稱為Ridge Regression (或L2 Regularization)


  • Bias-Variance Tradeoff



Fitting the ridge regression model (for given λ value)

  • 以Matrix的形式重寫Total Cost

  • 計算Gradient



  • Closed-form solution



  • Gradient Descent solution
    • 在算下一個w的時候先乘上小於1的值變小,讓Coefficient不會過度膨脹



  • 最後得到以下的演算法


K-fold Cross Validation


  • 當資料量不夠時可採用的方式
  • 首先還是需要將Test Set需要的量切出來
  • 接著把剩餘的資料分成K份,分的時候要注意資料是否是隨機的而非有順序的


  • 分別把這K組資料作為Validation Set求出Error,並計算這些Error的平均值


  • 帶入想要測試的𝛌並找出可以讓CV最小者



  • K的大小要怎麼選擇
    • 最準確的結果是讓K=N,又稱為leave-one-out cross validation
      • 計算量太大...
    • 一般來說K=5或K=10較常見 (5-Fold CV / 10-Fold CV)

How to handle the intercept


  • 一般來說,intercept(即w0)不會造成overfitting
  • 是否要把intercept當作其他Coefficient一樣讓它變小呢?
  • 方法1: 不要把intercept變小
    • Closed-form solution




    • Gradient Descent solution



  • 方法2: Center Data First
    • 事先將資料的中心調為0,如此一來很小的intercept也沒差了
    • Step 1:
      • 將y transform為平均0
      • 跑一般的Ridge Regression


資料來源

https://www.coursera.org/learn/ml-regression/home/welcome






























沒有留言:

張貼留言