高 低方差 高 低偏差

2022-02-20 02:36:13 字數 3072 閱讀 6528

概念

偏差: 描述的是**值(估計值)的期望與真實值之間的差距。偏差越大,越偏離真實資料集。

(假設靶心是最適合給定資料的模型,離靶心越遠,我們的**就越糟糕)

方差: 描述的是**值的變化範圍,離散程度,也就是離其期望值的距離。方差越大,**結果資料的分布越散。

基於偏差的誤差: 模型預期的**與我們將要**的真實值之間的差值。偏差是用來衡量模型的**同真實值的差異。

基於方差的誤差: 模型對給定的資料進行**的可變性。比如,當你多次重複構建完整模型的程序時,方差是,在**模型的不同關係間變化的多少。

對上圖的解釋:

左上:低偏差,低方差。表現出來就是,**結果準確率很高,並且模型比較健壯(穩定),**結果高度集中。

右上:低偏差,高方差。表現出來就是,**結果準確率較高,並且模型不穩定,**結果比較發散。

左下:高偏差,低方差。表現出來就是,**結果準確率較低,但是模型穩定,**結果比較集中。

右下:高偏差,高方差。表現出來就是,**結果準確率較低,模型也不穩定,**結果比較發散。

舉個例子

想象你開著一架黑鷹***,得到命令攻擊地面上乙隻敵軍部隊,於是你連打數十梭子,結果有一下幾種情況:

1.子彈基本上都打在隊伍經過的一棵樹上了,連在那棵樹旁邊等兔子的人都毫髮無損,這就是方差小(子彈打得很集中),偏差大(跟目的相距甚遠)。

2.子彈打在了樹上,石頭上,樹旁邊等兔子的人身上,花花草草也都中彈,但是敵軍安然無恙,這就是方差大(子彈到處都是),偏差大(跟目的相距甚遠)。

3.子彈打死了一部分敵軍,但是也打偏了些打到花花草草了,這就是方差大(子彈不集中),偏差小(已經在目標周圍了)。

4.子彈一顆沒浪費,每一顆都打死乙個敵軍,跟抗戰劇裡的八路軍一樣,這就是方差小(子彈全部都集中在乙個位置),偏差小(子彈集中的位置正是它應該射向的位置)。

方差,是形容資料分散程度的,算是「無監督的」,客觀的指標,偏差,形容資料跟我們期望的中心差得有多遠,算是「有監督的」,有人的知識參與的指標。

if you need more

偏差(bias):物件是單個模型, 期望輸出與真實標記的差別。

方差(variance):物件是多個模型,表示多個模型差異程度。

以上圖為例:

1. 左上的模型偏差最大,右下的模型偏差最小;

2. 左上的模型方差最小,右下的模型方差最大。

為了理解第二點,可以看下圖。藍色和綠色分別是同乙個訓練集上取樣得到的兩個訓練子集,由於採取了複雜的演算法去擬合,兩個模型差異很大(===> 導致方差大)。如果是拿直線擬合的話,顯然差異不會這麼大。

一般來說,偏差、方差和模型的複雜度之間的關係如下圖所示:

越複雜的模型偏差越小,而方差越大。

我們用乙個引數少的,簡單的模型進行**,會得到低方差,高偏差,通常會出現欠擬合。

而我們用乙個引數多的,複雜的模型進行**,會得到高方差,低偏差,通常出現過擬合。

其中:$\frac}} = -\frac}} $

實際中,我們需要找到偏差和方差都較小的點。從上圖可以看出在偏差和方差都較小的點處,total error是最少的。

xgboost中,我們選擇盡可能多的樹,盡可能深的層,來減少模型的偏差;

通過cross-validation,通過在驗證集上校驗,通過正則化,來減少模型的方差從而獲得較低的泛化誤差。

拓展

數學上的定義:

定義要**的變數為$y$,協變數為$x$,假設有$y=f(x)+ϵ$,其中誤差項服從均值為0的正態分佈。

我們用線性回歸或者別的模型來估計$f(x)$ 為$\hat(x)$。其中,對x來說,誤差為:

$err(x) = e[(y-\hat(x))^]$

將上式展開,然後用偏差和方差表述:

$err(x) = (e[\hat(x)]-f(x))^ + e[\hat(x)-e[\hat(x)]]^ +  \sigma ^$

$err(x) = bias^ + variance + irreducible error$

注意:最後一項為雜訊,是無法通過模型降低的。

通過上面的式子也可看出,要使得誤差低,就要使得偏差和方差都要低。

* 公式分解過程:

紅色部分=0:

第一部分:

$e_[2(f(x; d) -\bar(x))(\bar(x)-y_)]^$

$=2e_[f(x; d)\bar(x)- f(x; d)y_-\bar(x)^+\bar(x)y_]$

其中:$e_[f(x; d)\bar(x)] = \bar(x)^$

$e_[y_f(x; d)] = y_\bar(x)$

第二部分: 

基於雜訊期望為0的假設:

參考文獻1

參考文獻2

高低位交換

給出乙個小於2 32的正整數。這個數可以用乙個32位的二進位制數表示 不足32位用0補足 我們稱這個二進位制數的前16位為 高位 後16位為 低位 將它的高低位交換,我們可以得到乙個新的數。試問這個新的數是多少 用十進位制表示 例如,數1314520用二進位制表示為0000 0000 0001 01...

高低位交換

題目描述 輸入乙個無符號整數n unsigned int型別 n可以用乙個32位的二進位制數表示 不足32位用0補足 我們稱這個二進位制數的前16位為 高位 後16位為 低位 輸出將n的高位和低位交換後的值 用十進位制表示 例如 輸入1314520,它的二進位制表示為0000 0000 0001 0...

偏差與方差

偏差度量了學習演算法的期望 與真實結果的偏離程度,即刻畫了學習演算法本身的擬合能力 方差度量了同樣大小的訓練集的變動多導致的學習效能的變化,即刻畫了資料擾動所造成的影響。雜訊則表達了在當前任務上任何學習演算法所能達到的期望泛化誤差的下界,即刻畫了學習問題本身的難度。偏差 方差分解說明,泛化效能是由學...