---
# System prepended metadata

title: 2.4 Noise
tags: [ML]

---

# 2.4 Noise

<font color = "snake">Noise</font> 就是某種 data 裡面我們不希望有的異常；如果有 noise，我們的 class 就更難被去 learn，而且沒有辦法透過一個 simple 的 hypothesis class 去達到 0 error。
> simple hypothesis 舉例來說就像是長方形，只需要四個 parameters 去定義四個角。

![fig 2.8](https://hackmd.io/_uploads/Hk-81PsxR.png)
> 這個圖就是一個有 noise 的例子。如果我們用長方形來當作 hypothesis，試圖涵蓋所有的 positive examples，就一定會包到 negative example。

關於 noise 有幾種解釋方式：
- 因為在記錄 attributes 時有可能不太精確，以致於 input space 裡的 data points 被位移。
- 在 label data points 時有可能會有 errors，所以 positive 可能會被 label 成 negative，或是相反。這樣的情況我們有時候會稱作 <font color = "snake">teacher noise</font>。
- 有可能除了我們考量到的 attributes 之外還有其他的，這些沒有被考慮到的 attributes 可能是潛在的所以我們觀察不到，而它們就有可能會去影響我們如何 label 一個 instance。

就像我們在上圖 Fig 2.8 中看到的，當有 noise 的時候，我們沒辦法找到一個簡單的界線去劃分 positive / negative instances，如果我們真的要去劃分邊界，我們就需要一個更複雜的 hypothesis，對應到有更大容量的 hypothesis class。

一個長方形只需要四個 parameters 去定義四個頂點，但如果要去 define 一個更複雜的形狀，我們就需要更多的 parameters 去定義一個更複雜的 model。例如同樣上圖的不規則形狀，如果用這樣的一個 complex model，我們就可以 perfect fit to 我們的 data，達到 0 error，但是另一種做法是我們就++維持一個簡單一點的 model，然後容許一些 error++（像是圖中的長方形）。

其實選擇後者（簡單的長方形，容許一點錯誤）更合理，因為以下四個理由：

1. 它是一個簡單的 model，所以我們很容易去檢查一個點到底是在長方形的裡面還是外面，未來如果有其他的 instance，我們就很容易辨別它是 positve 還是 negative。
2. 我們可以去 train 一個更簡單的 model，而且只需要更少的 parameters。去找長方形的四個點，比起去找某個奇形怪狀的圖形的 control points 要容易許多。而且如果我們用的是一個小小的 training set，且 training instances 差異不大，比較簡單的 model 比起複雜的更不容易改變，也就是說++簡單一點的 model ==variance== 比較小++；不過另一方面太簡單的 model 比較沒有彈性，如果實際背後的 class 沒有那麼簡單，就可能會 fail，也就是說++一個比較簡單的 model ==bias== 比較大++。如果要找到一個 opt 的 model，我們就要去最小化 bias 和 variance。
3. 簡單的 model 更容易去解釋，像是長方形其實就是定義兩個 attributes 該落在哪個區間。
4. 如果實際上 input 裡確實有 mislabeling 或 noise，然後真正的 class 確實是一個如同長方形的簡單 model，因為長方形的 variance 比較小，也比較不容易被單一的 instances 影響，相對那個不規則形，就會是一個比較好的 discriminator（鑑別器），即使長方形在 training set 上可能會產生比較多的 errors。
$\rightarrow$ 如果給定差不多的 empirical error，++一個簡單（但又不會過度簡單）的 model 相對複雜的 model 會 generalize better++。
$\Rightarrow$ 這樣的 principle 又叫作 Occam's razor，它是在說其實比較簡單的解釋更可信，並且我們應該要避免一些不必要的 complexity。
> 舉一個 wiki 的例子：
> 
> 如果有一個颳風的晚上有兩棵樹倒了，比起說「有兩顆隕石分別把兩棵樹擊倒，然後這兩顆隕石相撞，於是我們沒看到這兩顆隕石」，其實講「風把這兩棵樹吹倒了」聽起來可能性高了很多。