1.正交化
正交化(Orthogonalization) 的核心在于每次調(diào)整只會影響模型某一方面的性能,而對其他功能沒有影響咨油。這種方法有助于更快更有效地進(jìn)行機(jī)器學(xué)習(xí)模型的調(diào)試和優(yōu)化您炉。
比如電視條件:有調(diào)節(jié)高度的按鈕,寬度的按鈕役电,旋轉(zhuǎn)的按鈕闸迷,
色彩的按鈕,亮度的按鈕跃赚,每個(gè)按鈕負(fù)責(zé)一件事情澳泵,不會影響其他按鈕調(diào)節(jié)的維度,使分析更為簡單瓢谢。
在機(jī)器學(xué)習(xí)(監(jiān)督學(xué)習(xí))系統(tǒng)中畸写,可以劃分四個(gè)“功能”:
1)系統(tǒng)在訓(xùn)練集上表現(xiàn)的好。否則氓扛,使用更大的神經(jīng)網(wǎng)絡(luò)枯芬、更好的優(yōu)化算法;
2)系統(tǒng)在開發(fā)集上表現(xiàn)的好采郎。否則千所,使用正則化、更大的訓(xùn)練集蒜埋;
3)系統(tǒng)在測試集上表現(xiàn)的好 淫痰。否則,使用更大的開發(fā)集整份;
4)在真實(shí)的系統(tǒng)環(huán)境中表現(xiàn)的好 待错。否則,修改開發(fā)測試集烈评、修改代價(jià)函數(shù)火俄。
2.單一數(shù)字評估指標(biāo)
如果用多個(gè)指標(biāo)去評估各個(gè)系統(tǒng)的表現(xiàn),很難抉擇讲冠,因?yàn)楦饔欣坠峡汀?yīng)該嘗試去設(shè)置一個(gè)合理的單一實(shí)數(shù)評估指標(biāo),所有系統(tǒng)都通過這一個(gè)指標(biāo)來評估好壞,問題就會簡單的多谱仪,迭代速度也會加快玻熙。
查準(zhǔn)率(Precision):計(jì)算結(jié)果中 true 的個(gè)數(shù)除以計(jì)算結(jié)果的個(gè)數(shù)
查全率(Recall): 計(jì)算結(jié)果中true的個(gè)數(shù)除以全集中真實(shí)true的個(gè)數(shù)
F1 Score:查準(zhǔn)率和查全率的調(diào)和平均數(shù)
3.滿足和優(yōu)化指標(biāo)
對于某一問題,如要求模型準(zhǔn)確率盡可能的高芽卿,運(yùn)行時(shí)間在100 ms以內(nèi)揭芍。這里以Accuracy為優(yōu)化指標(biāo),以Running time為滿足指標(biāo)卸例,我們可以從中選出B是滿足條件的最好的分類器称杨。
一般的,如果要考慮N個(gè)指標(biāo)筷转,則選擇一個(gè)指標(biāo)為優(yōu)化指標(biāo)姑原,其他N-1個(gè)指標(biāo)都是滿足指標(biāo)。
4.訓(xùn)練/開發(fā)/測試集劃分
1)所選擇的開發(fā)集和測試集中的數(shù)據(jù)呜舒,要與未來想要或者能夠得到的數(shù)據(jù)類似锭汛,即模型數(shù)據(jù)和未來數(shù)據(jù)要具有相似性
2)在選擇開發(fā)集和測試集時(shí)要使二者來自同一分布,且從所有數(shù)據(jù)中隨機(jī)選取
5.開發(fā)集合測試集的大小
開發(fā)驗(yàn)證集dev 和 單一評估指標(biāo)一起確定了模型的訓(xùn)練目標(biāo)袭蝗。
傳統(tǒng)劃分:數(shù)據(jù)量小唤殴,100-10000
70/30
60/20/20
大數(shù)據(jù)劃分:數(shù)據(jù)量大,>1000000
98/1/1
99/0.5/0.5
測試集: 評測性能指標(biāo)到腥,10000或100000 足夠了
如果不需要評估性能指標(biāo)朵逝,甚至可以沒有測試集(不推薦)。在沒有測試集時(shí)乡范,只有train/dev 但是人們習(xí)慣說成train/test配名, 我們應(yīng)該知道這里的test其實(shí)指的是dev。
6.什么時(shí)候該改變開發(fā)/測試集和指標(biāo)
如果評估指標(biāo)無法正確評估算法的排名(排名與真實(shí)場景不符)晋辆,則需要重新定義一個(gè)新的評估指標(biāo)渠脉。
如果在訓(xùn)練開發(fā)測試的過程中得到的模型效果比較好,但是在實(shí)際應(yīng)用中自己所真正關(guān)心的問題效果卻不好的時(shí)候(數(shù)據(jù)與真實(shí)場景不符)瓶佳,就需要改變開發(fā)芋膘、測試集或者評估指標(biāo)。
7.為什么是人的表現(xiàn)
造成這種現(xiàn)象的原因可能有以下幾種:當(dāng)比人類表現(xiàn)差時(shí)
1)讓人們幫忙標(biāo)記數(shù)據(jù)
2)錯(cuò)誤分析霸饲,比人差到哪里了
3)分析偏差和方差
8.可避免偏差
一般我們不用貝葉斯誤差去衡量偏差索赏,而是用人類的表現(xiàn)去衡量。
偏差:訓(xùn)練集的錯(cuò)誤
可避免偏差:訓(xùn)練集的錯(cuò)誤與人類的錯(cuò)誤的差
方差: 開發(fā)驗(yàn)證集的錯(cuò)誤與訓(xùn)練集錯(cuò)誤的差
比較可避免偏差和方差贴彼,看改進(jìn)哪個(gè)對模型進(jìn)步更有意義。
- 理解人的表現(xiàn)
對人類水平誤差有一個(gè)大概的估計(jì)埃儿,可以讓我們?nèi)ス烙?jì)貝葉斯誤差器仗,這樣可以讓我們更快的做出決定:減少偏差還是減少方差。
而這個(gè)決策技巧通常都很有效果,直到系統(tǒng)的性能開始超越人類精钮,那么我們對貝葉斯誤差的估計(jì)就不再準(zhǔn)確了威鹿,再從減少偏差和減少方差方面提升系統(tǒng)性能就會比較困難了。
10.超過人的表現(xiàn)
在架構(gòu)化數(shù)據(jù)的模型中轨香,機(jī)器學(xué)習(xí)系統(tǒng)的表現(xiàn)很容易超過人類忽你。
1)點(diǎn)擊率預(yù)估
2)推薦算法
3)物流預(yù)測
4)銀行貸款審批
在自然感知的模型中,人類比較擅長臂容,機(jī)器學(xué)習(xí)想要超過人類就比較困難科雳,不過也有一些機(jī)器學(xué)習(xí)系統(tǒng)的表現(xiàn)已經(jīng)超過了人類。
- 改善你的模型的表現(xiàn)
基本假設(shè):
模型在訓(xùn)練集上有很好的表現(xiàn)
模型推廣到開發(fā)和測試集啥會給你也有很好的表現(xiàn)
減少可避免偏差
訓(xùn)練更大的模型:
訓(xùn)練更長時(shí)間脓杉、訓(xùn)練更好的優(yōu)化算法(Momentum糟秘、RMSprop、Adam)
尋找更好的網(wǎng)絡(luò)架構(gòu)(RNN球散、CNN)尿赚、尋找更好的超參數(shù)
減少方差:
收集更多的數(shù)據(jù)
正則化(L2、dropout蕉堰、數(shù)據(jù)增強(qiáng))
尋找更好的網(wǎng)絡(luò)架構(gòu)(RNN凌净、CNN)、尋找更好的超參數(shù)