演算法模型定量分析之偏差和方差
首先宣告一下,這裡所說的方差、偏差與統計學上的不是一個概念。這裡引入偏差和方差的概念還是為了進行誤差分析。之前我們介紹過一些誤差分析的方法,主要是對誤檢的開發集中的圖片進行屬性分析,找到演算法的薄弱點,這裡介紹另外一種思路。
現在我們對於所有的資料,可以分為三類:訓練集、開發集和測試集。我們之前只介紹了在開發集和測試集上對演算法進行測試,其實還有一種測試就是在訓練集集上對模型進行測試。有些同學這時候可能就納悶了,在訓練集上進行測試有什麼意義?這些素材明明已經訓練過了,為什麼還能拿來測試?
這就來回答一下大家的疑問。前面我們們介紹過,開發集和測試集一般是要服從同分布的,而且要和實際場景的分佈儘可能一致,但是他們和訓練集的分佈不一定是一致的。其實對於
一個演算法模型來說,有兩方面要求:
在和訓練集相同分佈的素材上效果要好(可以簡單理解為訓練集)
在開發集/測試集上效果要好
上面兩點是具有遞進關係的,首先要在訓練集上分類效果好,才有可能在測試集上取得好的效果。
這裡簡單解釋一下”和訓練集相同分佈的素材”怎麼理解。
通常情況下演算法同學會這樣做:將訓練集平均分為N等份,比如說10等份。然後重複如下步驟:
選擇第1份作為測試集,剩餘9份作為訓練集;
選擇第2份作為測試集,剩餘9分組為訓練集;
。。。
選擇第10份作為測試集,剩餘9份作為訓練集。
以上共訓練了10次,測試了10次,檢測率取平均值。上面這個過程就叫做交叉驗證(Cross-validation)。當然了,分成5份可以。這裡我們可以將每一份的測試集都認為是和訓練集服從同一分佈的。
上面說了這麼多,接下來才是今天的重點:假如說我們設計一個分類器,其在訓練集上的誤檢率為10%,在測試集上的誤檢率是15%,對於測試集上的15%的誤檢率,可以將其分為兩個部分:
第一部分是演算法在訓練集上的誤檢率,稱其為偏差,本例中是10%,
第二部分是模型在測試集(或者開發集)上的表現比訓練集上差多少,稱其為方差,在本例中測試集上的表現比訓練集差5%,
我們最終的目的是模型在測試集上能夠得到好的表現,這時候就可以分析模型的瓶頸到底是在偏差還是方差,因為有些策略主要是為了改進偏差,有些策略是為了改進方差,建立起演算法在偏差和方差上的表現,一方面有助於演算法同學選擇有效的改進策略,另一方面,測試同學也可以根據演算法在偏差和方差上的表現,提出針對性的改進建議,同時也能樹立自己的專業性。
知道了方差和偏差,怎麼用它來對模型進行分析呢?接下來通過一個例子示範一下該怎麼做。
假如說我們現在訓練了一個分類器,考慮如下四種情況:
訓練集誤檢率1%
測試集誤檢率10%
根據上面的定義,該分類器偏差為1%,方差為9%。說明這個模型在訓練集上表現很好,但是在測試集上表現比較差,說明模型的泛化能力比較差,即模型在訓練集上過擬合。
第二種情況:
訓練集誤檢率10%
測試集誤檢率11%
這種情況下,偏差為10%,方差為1%,偏差高,方差低,說明模型對訓練集的擬合併不好,屬於欠擬合。
第三種情況:
訓練集誤檢率10%
測試集誤檢率20%
該模型同時具有高偏差和高方差,它在訓練集上表現很差,同時泛化能力(即測試集上的表現)也很差,它同時即過擬合又欠擬合。
第四種情況:
訓練集誤檢率1%
測試集誤檢率2%
該模型同時具有低偏差和低方差,這個模型就很好,既很好的擬合了訓練集,同時又具有良好的泛化能力。
上面就是從偏差和方差的角度對模型進行分析,有了這個分析,接下來不管是模型改進還是對模型測試,都會有一個方向性的指導。
相關文章
- 整合學習-偏差與方差
- 機器學習中偏差bias和方差variance區別機器學習
- 機器學習《Machine Learning》筆記--偏差(Bias)和方差(Variance)機器學習Mac筆記
- 你真的理解機器學習中偏差 - 方差之間的權衡嗎?機器學習
- 吳恩達機器學習系列14:偏差與方差吳恩達機器學習
- 方差與偏差的解釋和解決辦法
- 資料變異性的度量 - 極差、IQR、方差和標準偏差
- 【機器學習】第二節-模型評估與選擇-效能度量、方差與偏差、比較檢驗機器學習模型
- 機器學習中的Bias(偏差),Error(誤差),和Variance(方差)有什麼區別和聯絡?機器學習Error
- 演算法金 | 協方差、方差、標準差、協方差矩陣演算法矩陣
- AI學習筆記——Bias and Variance tradeoff (方差偏差的平衡)AI筆記
- 第二週【任務2】貝葉斯估計,估計、偏差和方差,邏輯迴歸邏輯迴歸
- 高偏差、高方差、低精確率與低召回率、混淆矩陣矩陣
- 一文讀懂機器學習中的模型偏差機器學習模型
- 方差
- 幾種機器學習演算法的偏差以及防範機器學習演算法
- 均值、方差、協方差、協方差矩陣、特徵值、特徵向量矩陣特徵
- 擴散模型中的後驗分佈方差推導模型
- elasticsearch演算法之搜尋模型(一)Elasticsearch演算法模型
- 基本概念(二):方差、協方差、相關係數 原點矩和中心矩
- 機器學習演算法筆記之3:線性模型機器學習演算法筆記模型
- 07_異方差
- 互資訊-協方差
- scipy.stats 庫的使用,np求均值和方差
- 馬科維茨的均值一方差組合模型(轉載)模型
- 高階IO模型之kqueue和epoll模型
- 【通俗向】方差分析--幾種常見的方差分析
- 伯克利最新研究:用演算法解決演算法偏差?公平機器學習的延遲影響演算法機器學習
- StartDT AI Lab | 視覺智慧引擎之演算法模型加速AI視覺演算法模型
- JavaScript 複習之 事件模型 和 Event物件JavaScript事件模型物件
- 和大家談談數學模型之美模型
- 方差與標準差
- 關係重疊?實體巢狀?曝光偏差?這個模型統統都搞得定!巢狀模型
- 文字主題模型之LDA(二) LDA求解之Gibbs取樣演算法模型LDA演算法
- 機器學習之分類:預測偏差機器學習
- (轉)機器學習:偏差處理(2)機器學習
- 機器學習演算法筆記之7:模型評估與選擇機器學習演算法筆記模型
- 文字主題模型之LDA(三) LDA求解之變分推斷EM演算法模型LDA演算法