機(jī)器學(xué)習(xí)-泛化誤差與偏差bias與方差Variance

我們之所以需要擬合,就是因為我們難以甚至無法獲得全部真實數(shù)據(jù)
如果我們可以獲取完備的真實數(shù)據(jù)集,那么我們壓根就不需要做擬合了,我們只要查詢就好了。
所以,我們能獲取的數(shù)據(jù),以及能夠用于訓(xùn)練的數(shù)據(jù),只是真實數(shù)據(jù)的一部分,而且,我們也是假設(shè),訓(xùn)練數(shù)據(jù)分布與真實數(shù)據(jù)獨(dú)立同分布,所以訓(xùn)練數(shù)據(jù)越多,可以認(rèn)為越接近真實分布。

我們用訓(xùn)練誤差Err_{train}表示模型在訓(xùn)練集上表現(xiàn)好壞
用泛化誤差Err_{test}表示模型在測試集上表現(xiàn)好壞

實際上,訓(xùn)練數(shù)據(jù)分布與真實數(shù)據(jù)分布是有一定偏差的,而且,數(shù)據(jù)本身也存在噪聲。
這就暗示我們,如果我們只用訓(xùn)練數(shù)據(jù)去完美地擬合/訓(xùn)練一個模型M1即Err_{train-M1}=0,但它在實際測試數(shù)據(jù)上很可能是不完美甚至是很差的即Err_{test-M1}>>0,這就叫過擬合。
而如果我們連訓(xùn)練數(shù)據(jù)都擬合地很差Err_{train}>>0,那在實際數(shù)據(jù)上一定也很差Err_{test}>>0,這就叫欠擬合。

泛化誤差

所謂泛化誤差,即訓(xùn)練好的模型使用測試數(shù)據(jù)評測時的誤差。
我們的根本目的是降低泛化誤差,因為訓(xùn)練一個模型,其根本目的是用于預(yù)測未知數(shù)據(jù)而不是訓(xùn)練數(shù)據(jù)。
對于一個真實的訓(xùn)練任務(wù),其樣本值往往是由可解釋的規(guī)律部分和不可解釋的噪音組成的即
Y=f(x)+e
e可以認(rèn)為是難以通過模型訓(xùn)練的噪音,我們往往會忽略(因為很小)
所以我們要擬合的部分是f(x),而不是去擬合Y(如果忽略e,那就是擬合Y)
用訓(xùn)練數(shù)據(jù)D訓(xùn)練的模型稱之為\widehat f(x) 注意此處是戴帽子的f(x)
當(dāng)我們使用相同的算法,但使用不同的訓(xùn)練數(shù)據(jù)D時就會得到多個\widehat f(x)
E(\widehat f(x))
代表了這個模型的期望,即使用某一算法訓(xùn)練模型所能得到的穩(wěn)定的平均水平。

方差variance

var=E\bigg[(E(\widehat f(x))-\widehat f(x))^2\bigg]
代表了這個模型/算法的穩(wěn)定性。我們稱之為方差。
如果方差很大,則代表相同算法在不同訓(xùn)練數(shù)據(jù)上會得到相差很大的結(jié)果,這往往表示模型訓(xùn)練過擬合,不同的\widehat f(x)擬合曲線相差很大,這樣就會導(dǎo)致對同一個測試樣本,結(jié)果相差大。這表示數(shù)據(jù)的變化會給模型帶來很大的擾動,就像打靶一樣,射點(diǎn)不集中

偏差 bias


bias^2 = (E(\widehat f(x))-f(x))^2
此稱為偏差bias。注意這里為何不再加一個期望符號E了呢,因為括號內(nèi)兩者都已經(jīng)是定值了,而不是離散值。如果偏差很大,即這個此模型的平均水平與真實值相差太大,簡單來說就是結(jié)果整體跑偏。就像打靶一樣,射點(diǎn)整體偏離靶心。

泛化誤差:

Err(x)=Err(\widehat f,f)+Err(Y,f)
對于泛化誤差,是由模型的損失(這部分可以通過改善模型來減小)再加上不可解釋的噪聲(這是單純數(shù)據(jù)的問題)帶來的損失組成的。
當(dāng)使用MSE作為損失函數(shù)的時候,有
那么有
\begin{alignedat}{} Err(x)&=Err(\widehat f,f)+Err(Y,f)\\ &=E\bigg[(f-\widehat f)^2\bigg] +E\bigg[(Y-f)^2\bigg] \\ &=E\bigg[((f-E(\widehat f))+(E(\widehat f)-\widehat f))^2\bigg]+\sigma_e^2\\ &=E\bigg[(f-E(\widehat f))^2+(E(\widehat f)-\widehat f)^2+2(f-E(\widehat f))(E(\widehat f)-\widehat f)\bigg]+\sigma_e^2\\ &=E[(f-E(\widehat f))^2]+E[(E(\widehat f)-\widehat f)^2]+E[2(f-E(\widehat f))(E(\widehat f)-\widehat f)]+\sigma_e^2\\ \end{alignedat}
注意第三項,(f-E(\widehat f))是一個固定值
所以第三項
\begin{alignedat}{2} &=E[2(f-E(\widehat f))(E(\widehat f)-\widehat f)]\\ &=2(f-E(\widehat f))E(E(\widehat f)-\widehat f)\\ &=2(f-E(\widehat f))[(E(\widehat f)-E(\widehat f)]\\ &=0 \end{alignedat}
所以
\begin{alignedat}{2} Err(x)&=E[(f-E(\widehat f))^2]+E[(E(\widehat f)-\widehat f)^2]+\sigma_e^2\\ &=(f-E(\widehat f))^2 + var + \sigma_e^2\\ &=bias^2 + var + \sigma_e^2 \end{alignedat}
即泛化誤差由偏差,方差和不可解釋的噪音組成。
我們能控制的就是偏差和方差,盡可能減少他們
也能看出,過擬合與bias和var有密切關(guān)系:

擬合程度 模型復(fù)雜度 bias var error 表現(xiàn) 改善
欠擬合 預(yù)測不準(zhǔn) 提高模型復(fù)雜度,增加迭代,boosting,減小正則參數(shù)
過擬合 敏感易受擾動 降低模型復(fù)雜度,增加訓(xùn)練集數(shù)據(jù),特征篩選,提高正則參數(shù),bagging
好擬合 準(zhǔn)而穩(wěn)

參考
csdn1
blog1
PRML
bagging & var

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容