如何判断Model Overfitting

上課提到了overfitting的現象原因和解決方法,但是我們最開始要怎麼"判斷"有沒有overfitting? 是不是需要去計算training error和test error的差距,還是做cross validation的時候看看不同次performance間的variance大不大,還是增加training data size看test error會不會變小,還是變化模型複雜度看test error的變化,一般是怎麼判斷的?

解決overfitting的方法有兩大方面四個小點,要怎麼選擇使用哪個小點來解決overfitting? 如果sklearn已經自帶了regularization了,是不是已經解決了overfitting,不需要用另外幾個小點? 那另外幾個小點有其他的使用時機嗎?

  1. Overfitting绝对程度的判断,只能按照在课上讲的“通过调整training data size,看testing error的变化趋势”的方法。但是,研究overfitting的绝对程度是没有太大意义的,model selection的目的是找到相对最好的model, 一般方法就是通过cross validation做选择,这包括了对model framework的选择,也包括对hyper-parameter的选择。
  2. “如果sklearn已經自帶了regularization了,是不是已經解決了overfitting,不需要用另外幾個小點? ” 包括regularization在内,所有方法都是试图减弱overfitting的影响 (因为消除model variance是不可能的),因此多种方法并用也是可以的。