第一周:和平之城中的鸟类识别(案例研究)
第一周:和平之城中的鳥類識別 案例研究
- 1.1 為什么是ML策略?
- 1.2 正交化(Orthogonalization)
- 1.3 單一數(shù)字評估指標(biāo)
- 1.4 滿足和優(yōu)化指標(biāo)
- 1.5 訓(xùn)練 / 開發(fā) / 測試集劃分
- 設(shè)立Dev/Test的方法
- 1.6 開發(fā)集和測試集的大小
- 1.7 ?? 什么時候改變開發(fā)/測試集和指標(biāo)
- 步驟:
- 1.8 為什么是人的表現(xiàn)
- 1.9 可避免偏差
- 1.10 理解人的表現(xiàn)
- 1.11 超過人的表現(xiàn)
- 1.12 改善模型表現(xiàn)
- 改進(jìn)方向
- 第一周測試總結(jié):
本文是結(jié)構(gòu)化機(jī)器學(xué)習(xí)的筆記。
1.1 為什么是ML策略?
- 快速判斷那些方向比較適合繼續(xù)研究,以免浪費(fèi)時間。
1.2 正交化(Orthogonalization)
- 正交化的含義:各個分量互不影響。所以可以分開來考慮。
我們需要達(dá)到4個目標(biāo)
因此我們的目的是為這4種情況,設(shè)計(jì)4個獨(dú)立的按鈕,從而可以在降低訓(xùn)練集準(zhǔn)確率的前提下,提升Dev集的準(zhǔn)確率。
1.3 單一數(shù)字評估指標(biāo)
-
問題:如果一個分類器在Precision里面比較好,另一個在Recall里面比較好,該怎么選?
-
Sol:
- F1 Score: F 1 S c o r e = 2 1 P r e c i s i o n + 1 R e c a l l F1\text{ }Score=\frac{2}{\frac{1}{Precision}+\frac{1}{Recall}} F1?Score=Precision1?+Recall1?2?
-
例子2:
- 不同地區(qū)的錯誤率不同
-
Sol: 計(jì)算平均錯誤率
1.4 滿足和優(yōu)化指標(biāo)
-
問題:準(zhǔn)確率+時間的指標(biāo)
-
設(shè)優(yōu)化指標(biāo)"Accuracy"(需要最值的指標(biāo)),滿足指標(biāo)"Running Time"(不等式的指標(biāo))
-
Sol:
m a x ( A c c u r a c y ) and? r u n n i n g T i m e ≤ 100 m s max(Accuracy) \text{ and } runningTime\leq100ms max(Accuracy)?and?runningTime≤100ms -
問題:“準(zhǔn)確率”+“False Positive”
-
Sol:
m a x ( A c c u r a c y ) and? F a l s e P o s i t i v e ≤ 1 次 / 天 max(Accuracy) \text{ and } False Positive\leq1次/天 max(Accuracy)?and?FalsePositive≤1次/天
1.5 訓(xùn)練 / 開發(fā) / 測試集劃分
如何設(shè)立Dev Set和Test Set?
-
Dev Set: hold out cross validation set
-
例子:
假設(shè)哦我們有以下地區(qū)的數(shù)據(jù):- US
- UK
- India
- China
一種劃分開發(fā)/測試數(shù)據(jù)的方法是US/UK作為開發(fā)數(shù)據(jù),另外的兩個國家作為測試集。
-
這是一個糟糕的想法,因?yàn)槲覀兛赡芨鶕?jù)Dev Set的數(shù)據(jù)設(shè)計(jì)了一效果很好的模型,但是因?yàn)殚_發(fā)集和測試集并沒有同樣的分布,所有會有問題。
-
這就好比是一個人訓(xùn)練射中50m的靶,然后真正使用的時候是100m的靶。
設(shè)立Dev/Test的方法
關(guān)鍵?? :確保開發(fā)集和訓(xùn)練集來自同一個分布。(在上面例子中,各個數(shù)據(jù)集里都需要有這4個地區(qū)的數(shù)據(jù))
所以我們可以將所有數(shù)據(jù)隨機(jī)洗牌,放入開發(fā)集和測試集。
1.6 開發(fā)集和測試集的大小
可以只有Train+Dev集,而沒有Test集合。
1.7 ?? 什么時候改變開發(fā)/測試集和指標(biāo)
當(dāng)沒有達(dá)到預(yù)期目的的常見解決思路:
- 如果發(fā)現(xiàn)選出來的算法存在缺陷,則需要及時改變Metric的定義。
- 例子:
| A | 3% | 會有一定幾率傳遞不良圖片 |
| B | 5% | 無 |
此時,為了避免傳遞不良信息這個巨大的錯誤,我們需要及時修改metric。
E r r o r = 1 ∑ i w ( i ) ∑ i = 1 m d e v w ( i ) I ( y p r e d ( i ) ≠ y ( i ) ) Error=\frac{1}{\sum_iw^{(i)}}\sum_{i=1}^{m_{dev}}w^{(i)} I(y_{pred}^{(i)} \neq y^{(i)}) Error=∑i?w(i)1?i=1∑mdev??w(i)I(ypred(i)??=y(i))
其中
- m d e v m_{dev} mdev?表示dev集的樣本數(shù)量
- w ( i ) = { 1 如果x不是不良信息 100 如果x是不良信息 w^{(i)}=\left\{\begin{matrix} 1 \text{ 如果x不是不良信息}\\ 100 \text{ 如果x是不良信息} \end{matrix}\right. w(i)={1?如果x不是不良信息100?如果x是不良信息?相當(dāng)于一個乘法項(xiàng)目
- I ( y p r e d ( i ) ≠ y ( i ) ) = 1 I(y_{pred}^{(i)} \neq y^{(i)})=1 I(ypred(i)??=y(i))=1 如果 y p r e d y_{pred} ypred?預(yù)測錯誤
步驟:
1.8 為什么是人的表現(xiàn)
- 貝葉斯最優(yōu)誤差(Bayes Optimal Error):準(zhǔn)確率的上限。( x → y x\to y x→y映射的最優(yōu)上限)
- 我們觀察到當(dāng)準(zhǔn)確率超過人類時,準(zhǔn)確率上升速率就變慢了
- 可能的解釋:
- 人的表現(xiàn)已經(jīng)貝葉斯最優(yōu)誤差很接近了。
- 只要Algs比人類能力強(qiáng),一些方法就不再有效了。
- 當(dāng)Algs不比人類強(qiáng),有一些可能有效的方法:
- 獲得更多有標(biāo)簽的數(shù)據(jù)
- 人工對算法誤差進(jìn)行分析
- 對Bias和Variance方差進(jìn)行分析
1.9 可避免偏差
- 用人類水平的誤差估計(jì)來代替貝葉斯最優(yōu)誤差,這在計(jì)算機(jī)視覺里面比較常見。
- Avoidable Bias= Human-level error
- Variance= Training error
- 例子:
1.10 理解人的表現(xiàn)
- Recap:
用人類水平的誤差估計(jì)來代替貝葉斯最優(yōu)誤差
-
問題:怎么定義人類水平?
-
例子:醫(yī)療影響分析
-
Hyp:
我們看的是最高水平,因?yàn)槿祟?#xff08;或者任何系統(tǒng))都只能趨近于(小于等于)貝葉斯最優(yōu)誤差。如果能超過人類水平,則可以部署我們訓(xùn)練的模型了。
當(dāng)算法水平很高的時候,我們不太確定是否要繼續(xù)改善模型(減小Bias)還是減小方差。因?yàn)槲覀儾恢涝趺垂烙?jì)貝葉斯最優(yōu)誤差。
1.11 超過人的表現(xiàn)
例如:
- 人的表現(xiàn) 0.5%
- Train Error 0.3%
這時候我們不知道貝葉斯最優(yōu)誤差是否小于0.3%,因?yàn)橛羞^擬合的風(fēng)險。
目前算法比人類強(qiáng)的地方:
這些都是從Structed Data中得到的結(jié)果,并不是自然感知任務(wù)(如計(jì)算機(jī)視覺)。
- 開車路線的時間
- 貸款
- 廣告投放
1.12 改善模型表現(xiàn)
改進(jìn)方向
- Avoidable Bias改善方法:
- Variance改善方法:
第一周測試總結(jié):
這里準(zhǔn)確率就是優(yōu)化指標(biāo),內(nèi)存就是滿足指標(biāo)。
| 95% | 2.5% | 2.5% |
總結(jié)
以上是生活随笔為你收集整理的第一周:和平之城中的鸟类识别(案例研究)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 软技能之基本沟通技巧
- 下一篇: 饭谈:盘点六种错误的技术问题提问