高方差與高偏差學習筆記

2021-07-10 18:37:09 字數 1785 閱讀 1495

error = bias + variance。這裡的error大概可以理解為模型的**錯誤率,是有兩部分組成的,一部分是由於模型太簡單而帶來的估計不準確的部分(bias),樸素貝葉斯是高偏差低方差的演算法;另一部分是由於模型太複雜而帶來的更大的變化空間和不確定性(variance)。

error反映的是整個模型的準確度,bias反映的是模型在樣本上的輸出與真實值之間的誤差,即模型本身的精準度,variance反映的是模型每一次輸出結果與模型輸出期望之間的誤差,即模型的穩定性。

舉乙個例子,一次打靶實驗,目標是為了打到10環,但是實際上只打到了7環,那麼這裡面的error就是3。具體分析打到7環的原因,可能有兩方面:一是瞄準出了問題,比如實際上射擊瞄準的是9環而不是10環;二是槍本身的穩定性有問題,雖然瞄準的是9環,但是只打到了7環。那麼在上面一次射擊實驗中,bias就是1,反應的是模型期望與真實目標的差距,而在這次試驗中,由於variance所帶來的誤差就是2,即雖然瞄準的是9環,但由於本身模型缺乏穩定性,造成了實際結果與模型期望之間的差距。

在乙個實際系統中,bias與variance往往是不能兼得的。如果要降低模型的bias,就一定程度上會提高模型的variance,反之亦然。造成這種現象的根本原因是,我們總是希望試圖用有限訓練樣本去估計無限的真實資料。當我們更加相信這些資料的真實性,而忽視對模型的先驗知識,就會盡量保證模型在訓練樣本上的準確度,這樣可以減少模型的bias。但是,這樣學習到的模型,很可能會失去一定的泛化能力,從而造成過擬合,降低模型在真實資料上的表現,增加模型的不確定性。相反,如果更加相信我們對於模型的先驗知識,在學習模型的過程中對模型增加更多的限制,就可以降低模型的variance,提高模型的穩定性,但也會使模型的bias增大。bias與variance兩者之間的trade-off是機器學習的基本主題之一。

具體到k-fold cross validation的場景,其實是很好的理解的。首先看variance的變化,還是舉打靶的例子。假設我把搶瞄準在10環,雖然每一次射擊都有偏差,但是這個偏差的方向是隨機的,也就是有可能向上,也有可能向下。那麼試驗次數越多,應該上下的次數越接近,那麼我們把所有射擊的目標取乙個平均值,也應該離中心更加接近。更加微觀的分析,模型的**值與期望產生較大偏差,在模型固定的情況下,原因還是出在資料上,比如說產生了某一些異常點。在最極端情況下,我們假設只有乙個點是異常的,如果只訓練乙個模型,那麼這個點會對整個模型帶來影響,使得學習出的模型具有很大的variance。但是如果採用k-fold cross validation進行訓練,只有1個模型會受到這個異常資料的影響,而其餘k-1個模型都是正常的。在平均之後,這個異常資料的影響就大大減少了。相比之下,模型的bias是可以直接建模的,只需要保證模型在訓練樣本上訓練誤差最小就可以保證bias比較小,而要達到這個目的,就必須是用所有資料一起訓練,才能達到模型的最優解。因此,k-fold cross validation的目標函式破壞了前面的情形,所以模型的bias必然要會增大。

1.資料欠擬合會出現高偏差問題,由於模型過於簡單,比如資料的趨勢是二次函式,用一次函式取擬合會出現高的偏差。

2.資料過度的擬合會出現高方差問題,由於模型過於複雜,比如用10個資料特徵去擬合3個資料會出現高的方差。

3.怎麼處理高偏差和高方差問題:

高偏差:訓練誤差很大,訓練誤差與測試誤差差距小,隨著樣本資料增多,訓練誤差增大。解決方法:

1.尋找更好的特徵(具有代表性的)

2.用更多的特徵(增大輸入向量的維度)

高方差:過擬合,模型過於複雜,訓練誤差小,訓練誤差與測試誤差差距大,可以通過增大樣本集合來減小差距。隨著樣本資料增多,測試誤差會減小。解決方案:

1.增大資料集合(使用更多的資料)

2.減少資料特徵(減小資料維度)

參考:

高偏差和高方差

首先我來介紹一下高方差和高偏差的概念,可能很多人理解的不是很清楚。偏差 是指乙個模型的在不同訓練集上的平均效能和最優模型的差異。偏差可以用來衡量乙個模型的擬合能力。偏差越大,值平均效能越偏離最優模型。偏差衡量模型的 能力,物件是乙個在不同訓練集上模型,形容這個模型平均效能對最優模型的 能力。方差 v...

高方差和高偏差

1.高方差和高偏差 偏差 描述的是 值 估計值 的期望與真實值之間的差距。偏差越大,越偏離真實資料集。方差 描述的是 值的變化範圍,離散程度,也就是離其期望值的距離。方差越大,結果資料的分布越散。理解偏差和方差 bias variance 的兩個關鍵資料是訓練集誤差 train set error ...

機器學習高方差和高偏差問題

在講模型高方差和高偏差問題前,先聊聊資料集分配和模型選擇。為了使得模型具有更好的泛化能力,我們在資料集分配問題上採用了6 2 2的分配原則,60 作為訓練集,20 作為交叉驗證集,20 作為測試集。當選擇模型時用訓練集訓練得到模型的一組權重,將這組權重帶入到模型中,並用交叉驗證集求出損失值,選取損失...