【深度學習理論】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。有兩種常用方案可以解決此問題:
- 使用更多的數據進行訓練;
- 正則化;

