機器學習策略
在機器學習算法訓練過程中艰额,提高算法準確率的方法可以有很多種柄沮,例如:
收集更多數(shù)據(jù)或者將數(shù)據(jù)集的內涵更加多樣化
采用更小的梯度下降來延長算法的訓練時間
采用 Adam 優(yōu)化算法
使用更大的神經網絡
采用L2 正則化或隨機失活正則化
更改網絡的基礎架構:如更換激活函數(shù)狱意、修改隱藏單元的數(shù)量等等
如果對于如何選擇合適的策略沒有一個清晰的概念详囤,很可能在一個方向上花了很長時間但最終對于算法的改進有限纬纪,因此 Andrew 在這里希望教給大家如何針對自己算法中存在的問題在這些策略中進行選擇包各。
正交化(orthogonalization)
正交化就是將系統(tǒng)中一個系列的功能調整和另一個系列的功能調整盡可能的分開问畅,最典型的例子就是老式電視機中調節(jié)畫面上下和水平位置的按鈕是獨立的兩個护姆。
在機器學習系統(tǒng)構建過程中卵皂,對于系統(tǒng)的調整可以遵照如下的過程:
針對選定的成本函數(shù)系統(tǒng)在訓練集中表現(xiàn)良好灯变,否則此時可以考慮采用更大的神經網絡捅膘,或者采用更好的優(yōu)化算法如 Adam 等
針對選定的成本函數(shù)算法在調整集上的表現(xiàn)良好刃泌,否則此時可以考慮 L2 正則化署尤、dropout 正則化俗扇,或者采用更大的訓練數(shù)據(jù)集
針對選定的成本函數(shù)算法在測試集上的表現(xiàn)良好狐援,否則這種情況很可能算法針對調整集做了過擬合究孕,所以可以考慮采用更大的調整數(shù)據(jù)集
算法在真實世界的表現(xiàn)良好镶殷,否則可以考慮更換調整數(shù)據(jù)集或者干脆更換成本函數(shù)
再一次绘趋,由于其非正交化特性陷遮,建議有保留的使用 early stoping 方法帽馋。
設定單一的衡量指標
在實際訓練中绽族,有多個指標可以用來衡量算法的準確程度吧慢,例如:
查準率(precision, P):通過系統(tǒng)識別出來的結果中检诗,正確取得目標值所占的比例。例如貓的識別分類中涕癣,被判定為貓圖片確實是貓的比例
查全率(recall, R):通過系統(tǒng)識別出來的結果中被正確識別的目標數(shù)量與樣本中所包含的目標數(shù)量的比值坠韩。繼續(xù)貓分類器的例子,所有被正確識別為貓的圖片數(shù)量與所有真正是貓的圖片數(shù)量的比值
如果同時選擇這兩個指標作為衡量尺度俭尖,則很可能其中一個分類器在查準率上表現(xiàn)較好焰望,而另一個分類器在查全率上表現(xiàn)較好熊赖,這樣就很難決定該如何選擇俱笛。為了免于陷入這一困境迎膜,一個聰明的做法是采用一個將二者結合起來的參數(shù)來作為衡量指標——機器學習中常用 F1 score 這一參數(shù)镊讼,其數(shù)學表達式為:
F1 = 2 / (1 / P + 1 / R)
類似的均值計算形式被稱為調和平均(harmonic average)蝶棋,在某些情況下也可以采用算數(shù)平均的方式來判斷優(yōu)劣兼贸。
同時溶诞,如果對于算法的衡量指標不只一個,且不能找到類似于 F1 score 這樣的參數(shù)赖歌,最好的辦法就是選擇其中的一個最為重要的指標作為優(yōu)化指標(Optimizing metric),最大限度的優(yōu)化算法在這一指標上的表現(xiàn)返劲,而其他指標則可以作為滿足指標(satisficing metrics)篮绿,只需要算法能夠滿足相應的閾值要求即可孵延。
更進一步的地,在開發(fā)過程中也很可能遇到當前衡量指標表現(xiàn)優(yōu)越的分類器同時帶來其他的意想不到的副作用搔耕,例如貓分類器的結果中混雜了色情圖片隙袁,這個時候就需要及時考慮是否修改衡量指標痰娱,但指標的定義和優(yōu)化依然需要盡量正交化的進行弃榨。
數(shù)據(jù)集的劃分和選擇
這一部分可以參照改善深層神經網絡第一周的內容。
最優(yōu)誤差和可避免偏差
理論上的最優(yōu)誤差稱為 Bayersian optimal error梨睁,但這個值在不過擬合的情況下是不可能達到的鲸睛,只能無限的接近。同時坡贺,在很多機器學習的工作中官辈,我們都把人的表現(xiàn)來近似代替最優(yōu)誤差來衡量系統(tǒng)的準確率,并且可以把系統(tǒng)在訓練集上的表現(xiàn)和人類的表現(xiàn)的差距稱為可避免偏差(avoidable bias)遍坟。
當人的表現(xiàn)非常好的時候拳亿,例如識別誤差 1% ,而系統(tǒng)的誤差在訓練集為 8%愿伴,在驗證集為 10%肺魁,此時我們可以認為系統(tǒng)突出的問題是表現(xiàn)欠擬合,我們應該繼續(xù)朝減少偏差的方向努力隔节,例如采用更大的神經網絡鹅经,或者更長的訓練時間。
而當人的表現(xiàn)也存在很大的誤差時怎诫,如識別誤差達 7.5%瘾晃,而此時若系統(tǒng)的誤差在訓練集為 8%,在驗證集為 10%幻妓,則可以認為系統(tǒng)的可避免偏差已經相對較小蹦误,此時努力的方向應該是減少系統(tǒng)的方差,即采用正則化或更大的訓練數(shù)據(jù)集肉津。