無論你在調超參數，或嘗試不同演算法
或是嘗試不同的選項
來打造你的機器學習系統
如果能有單一數字的衡量指標，
讓你很快看出新的嘗試比之前好還是壞
你的進度就能飛快無比。
所以，團隊要開始一個機器學習的計畫，我常建議
為你的問題設定好一個「單一數字的衡量指標」 (single real number evaluation metric)
讓我們看一個例子
你曾聽我說過，運用機器學習是很需要
經驗的過程
時常我們有點子，寫程式，跑實驗，觀察表現
然後拿實驗的結果來修正我們的點子
然後你不斷在這輪迴中持續改善
那麼以貓貓辨認器為例，你先前做了分類器 A
然後改了超參數、訓練資料或其他東西
你現在訓練了一個分類器 B
一個合理評估分類器成效的方法，是觀察
準確率和查全率 (precision 和 recall)
準確率和查全率的細節不大重要 —
以這個例子來說。
不過簡單說，準確率 (precision) 的定義是
你的分類器說是貓的圖片中
有百分之幾是真的貓？
所以如果分類器 A 有 95% 準確率，代表當 A 說
某個東西是貓，有 95% 的機會那真的是貓
而查全率 (recall) 是，拿所有是貓的照片
你的分類器有百分之幾的機會能正確認出來？
有多少真正的貓能被正確辨認出？
所以如果分類器 A 有 90% 的查全率，代表
開發集所有貓的圖片裡
分類器 A 能查出全部的 90%。
不用擔心準確率和查全率的定義
其實，你常常需要在準確率和查全率之間取捨
而你兩者都在乎
當分類器說是貓
你想要他真的是貓
但是對於所有貓的圖片
你也想要一大部分是貓
所以可能合理的評估是
用分類器的準確率和查全率
同時用 precision 和 recall 來衡量的問題是
如果分類器 A 查全率比較高，但是分類器 B
準確率比較高，你會不確定哪個好
而如果你實驗很多想法、很多超參數
你不只試兩個分類器
可能是十來個分類器，而你想快快挑"最好"的
以繼續後面的步驟
如果用了兩個衡量指標
會很難二選一，或是十個中挑最好的。
所以我建議，與其於用兩個數字：
「準確率」和「查全率」來挑選分類器
你必須找一個新的衡量指標，結合兩者
在機器學習文獻，結合準確率和查全率的標準作法
叫做「F1 分數」
F1 分數的細節不重要，粗略說
你可看作是準確率 P 和查全率 R 的平均
從公式看，F1 分數定義是
2 除以 (1/P + 1/R)
數學上這叫調和平均，
準確率 P 和查全率 R 的調和平均
非正式來說
你可以想成是他們的某種平均
只不過不是算術平均，
而是調和平均，用這個公式算出
對兩者的取捨會有些優點
不過在這例子
你可以一眼看出分類器 A 的 F1 分數比較好
假設用 F1 分數來綜合準確率和查全率很合理，
那你很快就能選擇 A 而非 B
所以我發現
對很多機器學習的團隊，能有好的開發集
讓你測量準確/查全率，再加上單一數字的衡量指標
有時我會叫單一實數的衡量指標
這能讓你很快知道分類器 A 好還是 B 好
因此，有開發集和單一指標
這通常能加快腳步
讓改進演算法的這種迭代過程更快
讓我們看另一個例子
假設你為四個地區的愛貓者做一個貓貓 app
美國、中國、印度和其他地方
假設你有兩個分類器，在這四個地區的資料
分別有不同的錯誤率
例如演算法 A 對美國使用者上傳的照片有 3% 的錯誤率
你想掌握這些分類器
在每個不同地區的成效，這很合理
然而想追蹤四個數字，還想快速決定
演算法 A 還是 B 比較好，這很困難
如果你在測試很多個分類器
看著這堆數字做選擇，這真的很難
以這個例子我會建議，除了
追蹤四個地區的表現以外，也算他們的平均
假設把四個錯誤率平均是合理的單一實數指標
那麼藉由算出平均
你能很快發現方法 C 的平均錯誤率最低
所以我們可能選這一個繼續下去
選一個演算法，從這繼續改進。
機器學習的流程通常是，你有個點子，
你實作，試試看，然後你想知道這點子有沒有用
我們在這部影片看到，有單一數字的衡量指標
在做出各種決定時，
能增加你或你團隊的效率
不過還沒完
我們尚未提到如何有效設定衡量指標
在下一個影片中
我想分享怎麼去設「優化指標」和「滿足指標」
來看看下一部影片吧