Recap
source: https://www.csie.ntu.edu.tw/~htlin/course/ml24fall/doc/08u_handout.pdf p.2
如果資料有 noise 怎麼辦?
Noise and Probabilistic Target
VC bound on Noise
先來說說什麼是 noise,一樣以 credit approval 為例:
- noise in : good customer mislabeled as bad, same customer but different labels
- noise in : incorrect customer information
在有 noise 的情況下,VC bound 還能正常運作嗎?
在 Lecture 4 的時候,我們用罐子取球來當例子,假設罐子內球的分布是 ,想要知道拿到紅色球的機率,也就是
現在如果罐子內的球會變色,也就是有 noise,在我們取 的當下罐子分布是 ,但之後罐子裡的分布會改變,因此拿到紅色球的機率就會變成
如果這時候 都是 i.i.d. (independent and identically distributed) 的話,則實際上 和 的概念是一樣的,所以 VC bound 仍是成立的。
Target Distribution
在這裡 被稱為 target distribution,我們用一個例子來解釋它的概念。
假設現在我們知道 ,也就是說真正的 是 的機率是 70%。還記得我們學習的目的是「預測真正的 是什麼」,如果我們將理想的 設定成 當作學習目標的話,則
- 的機率是 100%
- 真正的 的機率是 70%,因此我們預測成功 () 的機率就是 70%
- 反之,noise 出現的機率 (noise level) 就是 30%。
我們通常都會以出現機率較高的那個結果 (in this case, ) 當作理想的結果來做訓練,因此 target distribution 的概念其實就是 ideal mini-target (理想的 ) + noise。
原本(沒有考慮 noise)的 target function 其實就是 noise level = 0% 的 :
- for
- for
小結,在原本(沒有考慮 noise)的情況下,我們的學習目標是: 在 的分布下, 找出模型 來逼近真實的 target function 。
現在如果考慮 noise,則變成了: 在 的分布下,找出模型 來逼近理想的 mini-target function (有 noise),用 mini-target function 來逼近真實的 target function。
source: https://www.csie.ntu.edu.tw/~htlin/course/ml24fall/doc/08u_handout.pdf p.6
Erorr Measure
在這個章節,我們要討論如何知道 和 有多接近。在前面的章節,我們其實已經用了 來在 out-of-sample 的 unknown 內衡量 和 的「平均誤差」,也就是平均出錯的機率。我們一般將這個方法稱為 error measure ,而接下來我們要討論的是另一種在單一 上衡量誤差的方法。
Pointwise Error Measure
我們可以先把 表達成 averaged ,因此 而 被稱為 pointwise error measure。
因此原本的 和 就變成了:
那實際上 內部是怎麼衡量誤差的?
Two Pointwise Error Measures
現在我們將 和
0/1 error
檢查 是否正確,通常用在 classification 上。
squared error
檢查 距離 有多遠,通常用在 regression 上。
How Error Function Guide Learning?
我們要找的 ideal mini-target 實際上是可以由 和 來定義的。
source: https://www.csie.ntu.edu.tw/~htlin/course/ml24fall/doc/08u_handout.pdf p.11
從圖中我們可以發現在同一個 下,使用不同的 會產出不同的 。
Choice of Error Measure
假設我們現在要實作指紋辨識機器,則機器在判斷時可能會有四種情況:
如果我們使用 0/1 error 的話,則學習過程中我們給予 false reject 和 false accept 的 penalty 會是一樣的 (因為 0/1 error 只知道它分類錯誤而已)。
然而,在不同的應用情境,false reject 和 false accept 造成的後果可能相當不同。
舉例來說,如果我們將指紋辨識用來幫超市顧客做打折,則
- false reject: 代表該顧客有優惠,但機器拒絕給優惠 → 顧客很不開心,爛超市
- false accept: 代表該顧客沒有優惠,但機器卻給了優惠 → 沒啥影響,賺到了 很明顯的,對超市來說,false reject 的後果比較嚴重,所以應該要把 false reject 的 penalty 加重,來讓減少機器產生 false reject 的可能:
第二個例子,如果我們將指紋辨識用來做 CIA 的出入管制,則
- false reject: 代表該人員有認證,但機器拒絕給其進入 → 該人員很不開心,然後呢
- false accept: 代表該人員沒有認證,但機器卻放其通行 → 出事了 因此,在這個情境下,false accept 的後果嚴重很多,因此我們應該將 false accept 的 penalty 加重:
從上面的例子我們知道 的挑選和使用情境有非常大的關係,然而實際上即便我們設計了一個完全符合情境的 ,這個 可能在學習的過程中很難去 optimize,因此我們需要使用另外的,可能沒那麼符合情境但是比較容易 optimize 的 algorithmic error function: 。這個 需要是 plausible,而且要 easy to optimize for 。
至此,我們已經完整的介紹整個 learning flow 了。
source: https://www.csie.ntu.edu.tw/~htlin/course/ml24fall/doc/08u_handout.pdf p.18