機(jī)器學(xué)習(xí)策略
在機(jī)器學(xué)習(xí)算法訓(xùn)練過程中,提高算法準(zhǔn)確率的方法可以有很多種,例如:
收集更多數(shù)據(jù)或者將數(shù)據(jù)集的內(nèi)涵更加多樣化
采用更小的梯度下降來延長算法的訓(xùn)練時間
采用 Adam 優(yōu)化算法
使用更大的神經(jīng)網(wǎng)絡(luò)
采用L2 正則化或隨機(jī)失活正則化
更改網(wǎng)絡(luò)的基礎(chǔ)架構(gòu):如更換激活函數(shù)、修改隱藏單元的數(shù)量等等
如果對于如何選擇合適的策略沒有一個清晰的概念,很可能在一個方向上花了很長時間但最終對于算法的改進(jìn)有限,因此 Andrew 在這里希望教給大家如何針對自己算法中存在的問題在這些策略中進(jìn)行選擇。
正交化(orthogonalization)
正交化就是將系統(tǒng)中一個系列的功能調(diào)整和另一個系列的功能調(diào)整盡可能的分開,最典型的例子就是老式電視機(jī)中調(diào)節(jié)畫面上下和水平位置的按鈕是獨立的兩個。
在機(jī)器學(xué)習(xí)系統(tǒng)構(gòu)建過程中,對于系統(tǒng)的調(diào)整可以遵照如下的過程:
針對選定的成本函數(shù)系統(tǒng)在訓(xùn)練集中表現(xiàn)良好,否則此時可以考慮采用更大的神經(jīng)網(wǎng)絡(luò),或者采用更好的優(yōu)化算法如 Adam 等
針對選定的成本函數(shù)算法在調(diào)整集上的表現(xiàn)良好,否則此時可以考慮 L2 正則化、dropout 正則化,或者采用更大的訓(xùn)練數(shù)據(jù)集
針對選定的成本函數(shù)算法在測試集上的表現(xiàn)良好,否則這種情況很可能算法針對調(diào)整集做了過擬合,所以可以考慮采用更大的調(diào)整數(shù)據(jù)集
算法在真實世界的表現(xiàn)良好,否則可以考慮更換調(diào)整數(shù)據(jù)集或者干脆更換成本函數(shù)
再一次,由于其非正交化特性,建議有保留的使用 early stoping 方法。
設(shè)定單一的衡量指標(biāo)
在實際訓(xùn)練中,有多個指標(biāo)可以用來衡量算法的準(zhǔn)確程度,例如:
查準(zhǔn)率(precision, P):通過系統(tǒng)識別出來的結(jié)果中,正確取得目標(biāo)值所占的比例。例如貓的識別分類中,被判定為貓圖片確實是貓的比例
查全率(recall, R):通過系統(tǒng)識別出來的結(jié)果中被正確識別的目標(biāo)數(shù)量與樣本中所包含的目標(biāo)數(shù)量的比值。繼續(xù)貓分類器的例子,所有被正確識別為貓的圖片數(shù)量與所有真正是貓的圖片數(shù)量的比值
如果同時選擇這兩個指標(biāo)作為衡量尺度,則很可能其中一個分類器在查準(zhǔn)率上表現(xiàn)較好,而另一個分類器在查全率上表現(xiàn)較好,這樣就很難決定該如何選擇。為了免于陷入這一困境,一個聰明的做法是采用一個將二者結(jié)合起來的參數(shù)來作為衡量指標(biāo)——機(jī)器學(xué)習(xí)中常用 F1 score 這一參數(shù),其數(shù)學(xué)表達(dá)式為:
F1 = 2 / (1 / P + 1 / R)
類似的均值計算形式被稱為調(diào)和平均(harmonic average),在某些情況下也可以采用算數(shù)平均的方式來判斷優(yōu)劣。
同時,如果對于算法的衡量指標(biāo)不只一個,且不能找到類似于 F1 score 這樣的參數(shù),最好的辦法就是選擇其中的一個最為重要的指標(biāo)作為優(yōu)化指標(biāo)(Optimizing metric),最大限度的優(yōu)化算法在這一指標(biāo)上的表現(xiàn),而其他指標(biāo)則可以作為滿足指標(biāo)(satisficing metrics),只需要算法能夠滿足相應(yīng)的閾值要求即可。
更進(jìn)一步的地,在開發(fā)過程中也很可能遇到當(dāng)前衡量指標(biāo)表現(xiàn)優(yōu)越的分類器同時帶來其他的意想不到的副作用,例如貓分類器的結(jié)果中混雜了色情圖片,這個時候就需要及時考慮是否修改衡量指標(biāo),但指標(biāo)的定義和優(yōu)化依然需要盡量正交化的進(jìn)行。
數(shù)據(jù)集的劃分和選擇
這一部分可以參照改善深層神經(jīng)網(wǎng)絡(luò)第一周的內(nèi)容。
最優(yōu)誤差和可避免偏差
理論上的最優(yōu)誤差稱為 Bayersian optimal error,但這個值在不過擬合的情況下是不可能達(dá)到的,只能無限的接近。同時,在很多機(jī)器學(xué)習(xí)的工作中,我們都把人的表現(xiàn)來近似代替最優(yōu)誤差來衡量系統(tǒng)的準(zhǔn)確率,并且可以把系統(tǒng)在訓(xùn)練集上的表現(xiàn)和人類的表現(xiàn)的差距稱為可避免偏差(avoidable bias)。
當(dāng)人的表現(xiàn)非常好的時候,例如識別誤差 1% ,而系統(tǒng)的誤差在訓(xùn)練集為 8%,在驗證集為 10%,此時我們可以認(rèn)為系統(tǒng)突出的問題是表現(xiàn)欠擬合,我們應(yīng)該繼續(xù)朝減少偏差的方向努力,例如采用更大的神經(jīng)網(wǎng)絡(luò),或者更長的訓(xùn)練時間。
而當(dāng)人的表現(xiàn)也存在很大的誤差時,如識別誤差達(dá) 7.5%,而此時若系統(tǒng)的誤差在訓(xùn)練集為 8%,在驗證集為 10%,則可以認(rèn)為系統(tǒng)的可避免偏差已經(jīng)相對較小,此時努力的方向應(yīng)該是減少系統(tǒng)的方差,即采用正則化或更大的訓(xùn)練數(shù)據(jù)集。