【深度學習理論】Model的Errors來自哪裡?
1.前言
機器學習的本質是從一個function set
中挑選一個最優的function
(f^*又稱為model
)來擬合樣本(設樣本的真實分布為\hat{f})。因此,影響f^*品質的因素為:
function set
是否包含\hat{f};- 從
function set
中挑選的f^*是否能有效的擬合樣本;
本文從以上兩點分析機器學習中影響model
效果的因素。
2. 實驗
找到一個模型判斷 Pokemon 當前 CP 值與進化之後的 CP 值直接的關係。
現給定三個function set
:
function set1:
y=w*x_{cp}+b;function set2:
y=w_{1}*x_{cp}+w_2*x_{cp}^2+w_3*x_{cp}^3;function set3:
y=w_{1}*x_{cp}+w_2*x_{cp}^2+w_3*x_{cp}^3+w_4*x_{cp}^4+w_5*x_{cp}^5;
由上可知:set1 \sub set2 \sub set3,即set3
囊括的範圍最大,set2
次之,set1
最小。
2.1 Variance
先對三個function set
從樣本空間中進行 100 次隨機取樣訓練,得到的效果圖如下所示:
從上圖可以看出:function set3
選出的f^*的離散程度(方差,Variance)最大,function set2
次之,function set1
最小。由此可以得出:模型越複雜,Variance(方差)越大。
2.2 Bias
假設樣本的真是分布\hat{f}的函數影像如下:
上述三個function set
的均值如下圖藍色線所示:
從上圖可以看出:function set3
選出的f^*均值與\hat{f}的偏移程度(偏置,Bias)最小,function set2
次之,function set1
最大。由此可以得出:模型越簡單,Bias(偏置)越大。
3. 分析
3.1 Bias VS Variance
有以上實驗可知,Model
的error
來自與Variance
和Bias
,而Variance
和Bias
又與Model
的複雜程度有關。梳理如下:
Model
越複雜(function set
的範圍大),Variance
越大,Bias
越小;Model
越簡單(function set
的範圍小),Variance
越小,Bias
越大;
3.2 Underfitting VS Overfitting
Underfitting(欠擬合)
是指:當Model
在training data set
中無法獲得好的效果時,此時Model
有一個Large Bias
。有兩種常用的方案可以解決此問題:
- 增加更多的
features(特徵)
; - 增大
Model
的複雜程度;
Overfitting(過擬合)
是指:當Model
在training data set
中有很好的效果,但是在testing data set
中效果不佳,此時Model
有一個Large Variance
。有兩種常用方案可以解決此問題:
- 使用更多的數據進行訓練;
- 正則化;