機器學習《Machine Learning》筆記--偏差(Bias)和方差(Variance)

DaDaVision-WHU發表於2018-06-05

偏差(Bias)和方差(Variance)

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

方差(Variance):描述的是預測值的變化範圍,離散程度,也就是離其期望值的距離。方差越大,資料的分佈越分散

 

偏差:形容資料跟我們期望的中心差得有多遠,算是“有監督的”,有人的知識參與指標;

方差:形容資料分散程度的,算是“無監督的”,客觀的指標。

噪聲:表達了在當前任務上任何學習演算法所能達到的期望泛化誤差的下界,即刻畫了學習問題本身的難度.

偏差一方差分解說明,泛化效能是由學習演算法的能力資料的充分性以及學習任務本身的難度所共同決定的.

給定學習任務,為了取得好的泛化效能,則需使偏差較小,即能夠充分擬合資料,並且使方差較小,即使得資料擾動產生的影響小.

一般來說偏差與方差是有衝突的,這稱為偏差—方差窘境,給定學習任務,假定我們能控制學習演算法的訓練程度(例如決策樹可控制層數神經網路可控制訓練輪數整合學習方法可控制基學習器個數),則在訓練不足時學習器的擬合能力不夠強,訓練資料的擾動不足以便學習器產生顯著變化,此時偏差主導了泛化錯誤率;隨著訓練程度的加深學習器的擬合能力逐漸增強,訓練資料發生的擾動漸漸能被學習器學到,方差逐漸主導了泛化錯誤率;在訓練程度充足後,學習器的擬合能力已非常強,訓練資料發生的輕微擾動都會導致學習器發生顯著變化,若訓練資料自身的、非全域性的特性被學習器學到了,則將發生過擬合.

 

為什麼KNN(k最近鄰k-Nearest Neighbor)演算法在增大k時,偏差會變大;但RF(Random Forest隨機森林)增大樹的數目時偏差卻保持不變GBDT(Gradient Boosting)在增大樹的數目時偏差卻又能變小

對於KNN演算法,k值越大,表示模型的學習能力越弱,因為k越大,它越傾向於從“面”上考慮做出判斷,而不是具體地考慮一個樣本近身的情況來做出判斷,所以,它的偏差會越來越大

對於RF,我們實際上是部分實現了多次訓練取均值的效果每次訓練得到的樹都是一個很強的學習者每一個的方差都比較大,但綜合起來就會比較小。好比一個很強的學習者學習時,颳著西風,它會據此調整自己的瞄準方法,另一個很強的學習者學習時颳著東風,(西風、東風可以理解為不同訓練集中的噪聲)它也會據此調整自己的瞄準方法,在測試樣本時,一個誤差向西,一個誤差向東,剛好起到互相抵消的作用,所以方差會比較小。但是由於每棵樹的偏差都差不多,所以,我們取平均時,偏差不會怎麼變化

為什麼說是部分實現了多次訓練取均值的效果而不是全部呢?因為我們在訓練各棵樹時,是通過抽樣樣本集來實現多次訓練的,不同的訓練集中不可避免地會有重合的情況,此時,就不能認為是獨立的多次訓練了,各個訓練得到的樹之間的方差會產生一定的相關性,訓練集中重合的樣本越多,則兩棵樹之間的方差的相關性越強,就越難達成方差互相抵消的效果。

對於GBDTN棵樹之間根本就不是一種多次訓練取均值的關係,而是N棵樹組成了相關關聯,層層遞進的超級學習者,可想而知,它的方差一定是比較大的。但由於它的學習能力比較強,所以,它的偏差是很小的,而且樹的棵樹越多,學習能力就越強,偏差就越小。也就是說,只要學習次數夠多,預測的均值會無限接近於目標。簡單講就是GBDT的N棵樹實際上是一個有機關聯的模型,不能認為是N個模型

相關文章