學(xué)習(xí)筆記-機器學(xué)習(xí)-(7)機器學(xué)習(xí)應(yīng)用建議

吳恩達-機器學(xué)習(xí)課程--10: Advice for applying Machine Learning的學(xué)習(xí)總結(jié):

當(dāng)我們發(fā)現(xiàn)建立的模型預(yù)測錯誤率很高時,通常會采取以下措施:

Get more training data

Try a smaller set a features

Try getting additional features

Adding polynomial features

Building your own, new, better features

Try?decreasing?or increasing?λ

我們可以運用機器學(xué)習(xí)的診斷法來判斷為了改進算法性能需要做哪些改變,不過診斷法也需要花費一定的時間。

評估預(yù)測模型:

將數(shù)據(jù)集7/3分,分為訓(xùn)練集和測試集,訓(xùn)練集訓(xùn)練模型,測試集測試誤差

訓(xùn)練集
測試集

例如邏輯回歸算法的誤差測試如下:

邏輯回歸算法誤差測試

可以計算誤分類率也就是分類錯誤的比率:

錯誤情況
誤分類率計算

模型選擇:

不同次數(shù)多項式模型

把數(shù)據(jù)集分為三部分

1 -?Training set?(60%) - m

2 -?Cross validation?set(CV) (20%) m_{cv} --交叉驗證集

3 -?Test set(20%)?m_{test}

使用訓(xùn)練集訓(xùn)練不同模型參數(shù)θ,再用交叉驗證集驗證所有模型的誤差,選擇誤差最小的那個模型(比如五次)。最后用測試集來測試模型。

診斷高偏差or高方差

算法表現(xiàn)不理想可能是出現(xiàn)了以下兩種情況種的一種:

高偏差(high bias)--欠擬合

高方差(hign variance)--過擬合

畫出下圖可做診斷,x軸為多項式次數(shù),y軸為誤差。次數(shù)越大越擬合訓(xùn)練集,但因為過擬合,在驗證集中表現(xiàn)不好。易知訓(xùn)練集和驗證集的誤差和次數(shù)的關(guān)系如圖中所示。

診斷圖

所以訓(xùn)練集和驗證集的誤差都高,則發(fā)生了欠擬合的情況

訓(xùn)練集誤差低而驗證集誤差高,則發(fā)生了過擬合情況

正則化對高偏差/高方差的影響:

以線性回歸的正則化為例:

線性回歸的正則化

如果λ選取過大,則可能出現(xiàn)欠擬合情況

如果λ選取過小,趨于0,那基本等于沒有正則化,可能出現(xiàn)過擬合情況

如何選擇合適的λ值呢

--用遞增的λ,帶入模型測試:

遞增的λ

易知訓(xùn)練集和驗證集的誤差率與λ選取的關(guān)系圖:


誤差率與λ值的關(guān)系

學(xué)習(xí)曲線:

畫出學(xué)習(xí)曲線可以幫助我們檢查算法的情況,例如訓(xùn)練集大小與訓(xùn)練集和驗證集誤差的關(guān)系:

訓(xùn)練集m小,模型能很好的擬合數(shù)據(jù)集,J_{train} 誤差極小,而模型泛化能力差,J_{cv} 誤差極大。

m增大,模型不能很好的擬合所有訓(xùn)練集了,J_{train} 誤差增大,而訓(xùn)練集越大越能訓(xùn)練出合適的模型,泛化能力越好,J_{cv} 誤差減小。

練集大小與誤差關(guān)系

如果出現(xiàn)欠擬合情況,學(xué)習(xí)曲線如下圖:

欠擬合誤差曲線

J_{train} J_{cv} 的誤差趨于水平,接近且都很高,此時增加數(shù)據(jù)集對改進算法沒有幫助。

如果出現(xiàn)過擬合情況,學(xué)習(xí)曲線如下圖:

過擬合誤差曲線

訓(xùn)練集和驗證集誤差相距很大。當(dāng)訓(xùn)練集m增大,J_{train} J_{cv} 的誤差率會靠近,增加數(shù)據(jù)集對改進算法可能有幫助。

回到最開始,當(dāng)我們發(fā)現(xiàn)建立的模型預(yù)測錯誤率很高時,通過學(xué)習(xí)曲線判斷情況,選擇合適的方式提高算法性能:

Get more examples?--> helps to fix high variance

Smaller set of features?--> fixes high variance?

Try adding additional features?--> fixes high bias (because hypothesis is too simple, make hypothesis more specific)

Add polynomial terms?--> fixes high bias

Decreasing?λ?--> fixes high bias

Increases?λ?--> fixes high variance

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

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