高/低方差、高/低偏差
概念
偏差: 描述的是預測值(估計值)的期望與真實值之間的差距。偏差越大,越偏離真實資料集。
(Ps:假設靶心是最適合給定資料的模型,離靶心越遠,我們的預測就越糟糕)
方差: 描述的是預測值的變化範圍,離散程度,也就是離其期望值的距離。方差越大,預測結果資料的分佈越散。
基於偏差的誤差: 所謂基於偏差的誤差是我們模型預期的預測與我們將要預測的真實值之間的差值。偏差是用來衡量我們的模型的預測同真實值的差異。
基於方差的誤差: 基於方差的誤差描述了一個模型對給定的資料進行預測的可變性。比如,當你多次重複構建完整模型的程式時,方差是,在預測模型的不同關係間變化的多少。
接下來,我們把四張圖合併起來:
解釋:
左上:低偏差,低方差。表現出來就是,預測結果準確率很高,並且模型比較健壯(穩定),預測結果高度集中。
右上:低偏差,高方差。表現出來就是,預測結果準確率較高,並且模型不穩定,預測結果比較發散。
左下:高偏差,低方差。表現出來就是,預測結果準確率較低,但是模型穩定,預測結果比較集中。
右下:高偏差,高方差。表現出來就是,預測結果準確率較低,模型也不穩定,預測結果比較發散。
舉個例子,讓你二次開竅
想象你開著一架黑鷹直升機,得到命令攻擊地面上一隻敵軍部隊,於是你連打數十梭子,結果有一下幾種情況:
1.子彈基本上都打在隊伍經過的一棵樹上了,連在那棵樹旁邊等兔子的人都毫髮無損,這就是方差小(子彈打得很集中),偏差大(跟目的相距甚遠)。
2.子彈打在了樹上,石頭上,樹旁邊等兔子的人身上,花花草草也都中彈,但是敵軍安然無恙,這就是方差大(子彈到處都是),偏差大(跟目的相距甚遠)。
3.子彈打死了一部分敵軍,但是也打偏了些打到花花草草了,這就是方差大(子彈不集中),偏差小(已經在目標周圍了)。
4.子彈一顆沒浪費,每一顆都打死一個敵軍,跟抗戰劇裡的八路軍一樣,這就是方差小(子彈全部都集中在一個位置),偏差小(子彈集中的位置正是它應該射向的位置)。
方差,是形容資料分散程度的,算是“無監督的”,客觀的指標,偏差,形容資料跟我們期望的中心差得有多遠,算是“有監督的”,有人的知識參與的指標。
三次理解
偏差(bias):物件是單個模型, 期望輸出與真實標記的差別。
方差(Variance):物件是多個模型,表示多個模型差異程度。
以上圖為例:
1. 左上的模型偏差最大,右下的模型偏差最小;
2. 左上的模型方差最小,右下的模型方差最大
為了理解第二點,可以看下圖。藍色和綠色分別是同一個訓練集上取樣得到的兩個訓練子集,由於採取了複雜的演算法去擬合,兩個模型差異很大。如果是拿直線擬合的話,顯然差異不會這麼大。
一般來說,偏差、方差和模型的複雜度之間的關係如下圖所示:
越複雜的模型偏差越小,而方差越大。
我們用一個引數少的,簡單的模型進行預測,會得到低方差,高偏差,通常會出現欠擬合。
而我們用一個引數多的,複雜的模型進行預測,會得到高方差,低偏差,通常出現過擬合。
實際中,我們需要找到偏差和方差都較小的點。從上圖可以看出在偏差和方差都較小的點處,total Error是最少的。
XGBOOST中,我們選擇儘可能多的樹,儘可能深的層,來減少模型的偏差;
通過cross-validation,通過在驗證集上校驗,通過正則化,來減少模型的方差從而獲得較低的泛化誤差。
擴充
數學上的定義:
我們定義我們要預測的變數為Y,協變數為X,我們假設有Y=f(X)+ϵ,其中誤差項服從均值為0的正態分佈.
我們用線性迴歸或者別的模型來估計f(X) 為.其中,對x來說,誤差為:
將上式展開,然後用偏差和方差表述:
注意:最後一項為噪聲,是無法通過模型降低的。
通過上面的式子也可看出,要使得誤差低,就要使得偏差和方差都要低。
參考文獻
為了幫助理解,尤其是擴充部分,可以參考一下參考文獻
相關文章
- 高+低
- 高除低
- 銀彈谷:企業使用低程式碼存在預期過高的偏差
- 高聚合低耦合 - theregister
- 高內聚低耦合
- CPU使用率低負載高負載
- 偏差-方差間權衡
- 高內聚,低耦合的實現方式
- x->0時,高階+低階等價於低階?為什麼
- 整合學習-偏差與方差
- Java 工程解耦即高內聚低耦合Java解耦
- cad版本轉換器如何操作低轉高?
- 2024-11-06 低開高走,盤中跳水
- 高開低走主力洗盤還是出貨?
- 【只與自己有關】人往高處走?何為高?何為低? 高低在哪裡?
- 小電容為什麼可以通高頻阻低頻?
- CPU 使用率低高負載的原因,看看這篇!負載
- 探索低程式碼高擴充性背後的奧祕
- 為什麼有人會覺得IT門檻低,工資高?
- 快手中重度遊戲為啥總是高開低走遊戲
- 高吞吐低延遲Java應用的垃圾回收優化Java優化
- 方差與偏差的解釋和解決辦法
- 如何利用RSI指標有效把握階段低點和高點指標
- 高德客戶端低程式碼系統架構實踐客戶端架構
- 盤點國內高投資低票房的電影鉅製
- 2020年世界新能源車走勢前低後高
- 分散式系統關注點——「高內聚低耦合」詳解分散式
- 高排放行業:低碳供應商的挑戰與機遇行業
- MySQL DBA 技術難度低為什麼工資比 Oracle 高?MySqlOracle
- iOS 實現自動登入(從低階做法到高階做法)iOS
- Nginx多程式高併發、低時延、高可靠機制在滴滴快取代理中的應用Nginx快取
- 演算法模型定量分析之偏差和方差演算法模型
- 機器學習中偏差bias和方差variance區別機器學習
- 吳恩達機器學習系列14:偏差與方差吳恩達機器學習
- AI學習筆記——Bias and Variance tradeoff (方差偏差的平衡)AI筆記
- Timestone:Netflix 的高吞吐量、低延遲優先佇列系統佇列
- 傳統訂貨方式效率低、成本高?批發企業如何高效管理
- 基於 RocksDB 實現高可靠、低時延的 MQTT 資料持久化MQQT持久化