---
# System prepended metadata

title: Probability & Statistics for Machine Learning & Data Science(Week3 - Lession2 - Point Estimation)
tags: [math, coursera, Linear Algebra]

---

# Probability & Statistics for Machine Learning & Data Science(Week 3 - Sampling and Point estimation)
###### tags: `coursera` `Linear Algebra` `math`
[Week3 - Lession2 - Point Estimation](https://www.coursera.org/learn/machine-learning-probability-and-statistics/home/week/3)

## Maximum Likelihood Estimation: Motivation
[課程連結](https://www.coursera.org/learn/machine-learning-probability-and-statistics/lecture/XBcUi/maximum-likelihood-estimation-motivation)
### There's Popcorn on the Floor. What Happened?
![image](https://hackmd.io/_uploads/SkRYSs92p.png)

想像一下，你進到客廳然後發現地上都是爆米花，如果有三件事，電影、打牌、睡覺，給你選擇，你覺得那一件會是最有可能的？

答案是電影，合理又沒有毛病，按照常識我們就推論，看電影是最有機率產生這麼多爆米花在地上的。我們選擇最有可能的那一個，這就是最大似然概率，也就是Maximum Likelihood。

### Maximum Likelihood
![image](https://hackmd.io/_uploads/SJql8ichp.png)

這跟我們在機器學習上做的事情一樣，你有很多個model，那一個model可以最大機率的生成那些資料，那就是我們要的模型，也就是最大機率的給定模型生成資料的機率。
### Example: Linear Regression
![image](https://hackmd.io/_uploads/S1f5Ioqnp.png)

後面課程會再說明到線性迴歸，這邊只是給個概念。假如我們有一個模型可以產生一條直線，那一個模型是我們要的？很明顯的，Model2可以更好的擬合資料，這就是我們要的。

## MLE: Bernoulli Example
[課程連結](https://www.coursera.org/learn/machine-learning-probability-and-statistics/lecture/i4dJz/mle-bernoulli-example)
### Maximum Likelihood: Bernoulli Example
![image](https://hackmd.io/_uploads/Hyo9wjc3T.png)

假設我們丟十次硬幣得到8個正面與2個反面，有三組硬幣組合如上圖所示，硬幣丟出正反面的機率不同，你覺得丟出上面8個正面2個反面的是那一個硬幣？或是換成是你的話你會想選擇那一個硬幣來嚐試？
### Maximum Likelihood: Bernoulli Example
![image](https://hackmd.io/_uploads/rJzydi93T.png)

怒算一發得到結論，就是第一個硬幣能夠產生這個結果的機率最高。
### Maximum Likelihood: Bernoulli Example
![image](https://hackmd.io/_uploads/BygyFscnT.png)

這邊我們做的就是最大似然概率，三個硬幣有不同的機率丟到正反面，每個硬幣都有一定的機率生成資料，最有可能生成8個正面與2個反面的硬幣是那一個？給定一個硬幣，最大限度的提高得到8個正面與2個反面的機率的那個硬幣就是我們要的。

Coin1就是我們要的那一個。
### Maximum Likelihood: Bernoulli Example
![image](https://hackmd.io/_uploads/Hy4_6o92p.png)

有沒有機會得到更高的機率來產生這個組合？假設正面的機率是$p$，即$p=\mathbf{P}(H)$，反面是$1-p$，那產生8個正面跟2個反面的機率就是$p^8(1-p)^2$，我們希望可以最大化這個機率。

這就是Likelihood，$L(p;8H)=p^8(1-p)^2$，也就是基於模型看到這個資料的機率有多少，其中機率為$p$，我們要最大化它。

這部份在微積分課程的時候有討論過，處理乘積太麻煩，所以取對數log，變成$\log((p^8(1-p)^2))$，那就變成處理加減了，$8\log(p)+2\log(1-p)$，這就是log likelihood，基本是一樣的，只是更好處理。

接下來就是計算它的導數，得到$\dfrac{d}{dp}(8\log(p)+2\log(1-p))=\dfrac{8}{p}+\dfrac{2}{1-p}(-1)$，其中$-1$是來自鏈式法則。

導數為0的點在於$\hat{p}=\dfrac{8}{10}$，就代表著，最好的機率就是在$p=0.8$的地方，這也合理，因為我們的目標就是希望得到8個正面。
### Maximum Likelihood: Bernoulli Example
![image](https://hackmd.io/_uploads/Hyp_vHT2p.png)

數學一點來看這個問題，假設丟$n$次的硬幣要得到$k$個正面，然後每一個硬幣都有著參數為$p$的Bernoulli variable，寫為$X_i \sim Bernoulli(p)$，並且為iid，也就是有機率$p$的機會落到正面。

整個數學式就可以寫成：
* $L(p;\mathbf{x})=P_p(\mathbf{X}=\mathbf{x})=\prod^n_{i=1} p_{X_i}(x_i)=\prod_{i=1}^np^{x_i}(1-p)^{1-x_1}=p^{(\sum_{i=1}^nx_i)}(1-p)^{n-\sum^n_{i=1}x_i}$

最後的數學式取log likelihood說明著，如果$p=1$，那就剩下$p^{x_i}$，反之則剩下$(1-p)^{1-x_i}$
### Maximum Likelihood: Bernoulli Example
![image](https://hackmd.io/_uploads/H1zoKSa36.png)

接著取log，我們得到它的log likelihood：
$$
\log((p^{\sum^n_{i=1}x_i})(1-p)^{n-\sum^n_{i=1}x_i})=(\sum_{i=1}^nx_i)\log(p)+(n-\sum^n_{i=1}x_i)\log(1-p)
$$

然後我們希望最大化這個log likelihood，要做的事情就是取其導數為0的那個點。

總之，最後推導之後得到的就是$\hat{p}=\dfrac{\sum^n_{i=1}x_i}{n}$，這正是總體平均值。也就是說，如果我們的硬幣中有$k$個正面，那得到$k$個正面的最好的機率就是$k/n$

## MLE: Gaussian Example
[課程連結](https://www.coursera.org/learn/machine-learning-probability-and-statistics/lecture/29rsk/mle-gaussian-example)
### Maximum Likelihood: Gaussian Example
![image](https://hackmd.io/_uploads/HyDrTBan6.png)

假設，我們有一些觀測資料，這些觀測資料的值是-1、1，然後這些觀測資料點是從某一個分佈中採樣而得，什麼樣的分佈可以得到這種的樣本？

兩個候選分佈：
1. 均值為10，標準差為1
2. 均值為2，標準差為1

把分佈畫出來，然後把想要的採樣點放上去，不難看出，對於均值為10，標準差為1的分佈來說，這兩個資資料(1、-1)的機率非常非常小，幾乎是0。而另一個均值為2且標準差為1的分佈來說是有比較高的機率的。

我們可以說，均值為10的那個分佈有著較低的似然概率，而均值為2的那個分佈有著較高的似然概率。
### Maximum Likelihood: Gaussian Example
![image](https://hackmd.io/_uploads/Hk__CHpnT.png)

現在有三個候選分佈，一樣的畫出分佈，然後把資料點標上去，從x軸拉到曲線的高度就是likelihood。如果這些點是機率，那就不會相乘，因為資料點是獨立生成的，但這些是likelihood，所以就相乘，最後得到的是中間的分佈，也就是均值為0標準差為1的分佈機率最高，也就是這個分佈的可能性是比較高的。


### Maximum Likelihood: Gaussian Example
![image](https://hackmd.io/_uploads/rkMngL6ha.png)

另外一點要注意的是，原始資料的均值會是0，理由是，它的分佈的均值會是樣本均值。
### Gaussian With Three Different Variance
![image](https://hackmd.io/_uploads/HkeYbLTna.png)

均值確定了，就來看一下它的標準差，現在給出三個不同標準差並且均值為0的分佈。

一樣的，分佈畫出來，然後把資料點弄上去，每個點的likelihood就是x軸到曲線的高度，然後將之相乘看誰的機率最高。沒意外的話，中間那個均值為0，標準差為1的機率是最高的。
### Gaussian With Three Different Variance
![image](https://hackmd.io/_uploads/SyG-Q8T2T.png)

現在有個有趣的問題，那就是它的變異數是多少？變異數是各點與均值的距離取平均，結果是1。這邊可以注意到，分母是2不是1。根據之前課程所說，總體是除$n$，樣本是$n-1$，但變異數的最大似然估計量(MLE)是有偏差的且等於總體變異數，所以就除$n$，也就是2了。

:::info
這是因為，如上所述，總體變異數是有偏的，因此要獲得無偏估計量，應將其除以$n-1$而不是$n$。然而，變異數的最大似然估計量(MLE)是有偏差的且等於總體變異數。
:::

## MLE: Linear Regression
[課程連結](https://www.coursera.org/learn/machine-learning-probability-and-statistics/lecture/FZHfM/mle-linear-regression)
### Maximum Likelihood
![image](https://hackmd.io/_uploads/HJt6tcA2p.png)

回想一下我們說過的，你有多個資料，然後有一個資料集，我們想知道那一個模型是最有可能生成這一堆資料的，也就是$\mathbf{P}(\text{Data|Model})$最大的那一個。
### Example: Linear Regression
![image](https://hackmd.io/_uploads/ByH89qA3p.png)

這邊給出一個簡單的線性迴歸範例，假設有這麼一個資料集，那左邊三個模型直觀來看那一個是最有可能生出這個資料集的模型？

很明顯的答案是Model 2，不過還是要來說說是怎麼回事。
### How Exactly Does a Line Produce Points?
![image](https://hackmd.io/_uploads/ry0a65An6.png)

這個觀念就是，讓這些線生成靠近線的點，就好像房子都會蓋在馬路旁的那個概念。
### How Exactly Does a Line Produce Points?
![image](https://hackmd.io/_uploads/BkGRR5C2p.png)

左圖來看，那條線就是就是model，$x$是資料點，然後以$x$與線的交接處做為高斯函數的中心點，也就是高斯函數的均值，我們要從這個高斯函數中採樣，也就是綠色點。

右圖就是採樣五個點，這五個點都以與線交接的地方做為中心點來產生一個高斯分佈採樣。
### How Exactly Does a Line Produce Points?
![image](https://hackmd.io/_uploads/H1MKkjR36.png)

我們要找的就是最能夠生成出這個資料分佈的線，只是很剛好的這條線就是能夠最好的擬合資料的迴歸線。
### How Exactly Does a Line Produce Points?
![image](https://hackmd.io/_uploads/BkvJbjRnT.png)

那架都賀？用數學來說明一下，假設這條線是$y=mx+b$，旁邊的綠色點是生成的資料點，灰色點是交接點。交接點到生成點的距離以$d$來表示。

剛剛說過，我們是以交接點做為高斯分佈的中心，然後綠色點就是從高斯函數中採樣的資料點，我們假設這是一個均值為0，標準差為1的高斯分佈。那採樣到這個資料點的likelihood就是由高斯函數所給出，即$\dfrac{1}{\sqrt{2\pi}}e^{-\dfrac{1}{2}d_1^2}$
### How Exactly Does a Line Produce Points?
![image](https://hackmd.io/_uploads/S1jhmoA36.png)

已經知道怎麼算的了，這邊五個資料點就是計算它們的乘積，然後我們要目標是最大化這個乘積。

這裡面很多常數項就不理它，$e^{-\dfrac{1}{2}d_1^2}\cdot e^{-\dfrac{1}{2}d_2^2}... \cdot e^{-\dfrac{1}{2}d_5^2}=e^{-\dfrac{1}{2}(d^2_1+d^2_2+d^2_3+d^2_4+d^2_5)}$，這跟你最大化把它取log是一樣的道理，這樣就可以擺脫$e$了，也可以忽略掉$\dfrac{1}{2}$，但是這邊一個負號很重要，這個負號讓我們變成必需要最小化$d^2_1+d^2_2+d^2_3+d^2_4+d^2_5$，這串是什麼？這串就是點到線的距離，也就是說，我們想要最小化的平方和就剛好就是最小化平方誤差(least squares error)，這就正是線性迴歸。線性迴歸要得到的就是最小化點到線的平均距離的總和。

也就是說，最大化似然概率找出最有可能生成點的線跟線性迴歸最小化平方誤差是完全相同的。
### Picking the Right Model
![image](https://hackmd.io/_uploads/B19dNsA36.png)

## Regularization
[課程連結](https://www.coursera.org/learn/machine-learning-probability-and-statistics/lecture/Ex6WB/regularization)
### Example: Polynomial Regression
![image](https://hackmd.io/_uploads/H1JsWyVTp.png)

假設我們有一個資料集，現在有三個模型，分別為線性，二次多項式跟十次多項式。要找出那一個模型最能夠生成這樣的資料集我們就必需要計算相關的loss，也就是平方誤差。

假設現在就是計算出三個模型的loss了，從帳面上來看就是十次多項式贏了，但這種過度擬合的模型並不是那麼好。這時候我們就要應用正規化來幫助我們選擇到2號模型。

作法上很簡單，就是在原本的多項式中加入一個懲罰項。模型愈是複雜，懲罰就會愈高。懲罰的部份我們在這邊採用得是$L_2$正規化，懲罰的項目就是所有多項式的常數項的平方和。

以線性模型為例，它的多項式的常數為4，那就是4的平方，也就是16，其它兩個模型也是依此類推的計算，得到各自的懲罰項。

每個模型的loss就不再是自己本身計算得到的平方誤差，而是再加上這個懲罰項的部份。現在很明顯的，2號模型的loss最小，它變成是贏家了。
### Regularization Term
![image](https://hackmd.io/_uploads/HkMuGJ4ap.png)

這邊是它的整個數學式的說明，剛剛我們提到，會把多項式的系數做平方和的計算，但是這樣的懲罰力道有時候太大了，所以會利用參數$\lambda$來做為調控，把懲罰項的部份乘上$\lambda$再加上原本的loss，就是整個完整的log-loss。


## Back to "Bayesics"
[課程連結](https://www.coursera.org/learn/machine-learning-probability-and-statistics/lecture/5ksrn/back-to-bayesics)
### There's Popcorn on the Floow. What Happened?
![image](https://hackmd.io/_uploads/Hk4or1EaT.png)

課程提過的範例，地板為什麼會有爆米花，因為看電影，還是因為下棋，又或者是因為小睡一下。不管怎麼看，看電影都是機率最高的。

但是，如果現在變成是看電影跟爆米花大戰呢？那看起來似乎是爆米花大戰才對。但是我們卻還是會覺得看電影的機率最高，為什麼？

這意謂著，我們不能單純的考慮$\mathbf{P}(\text{Popcorn | Movies})$與$\mathbf{P}(\text{Popcorn | Contest})$，必需要再考慮兩個事件各自會發生的機率，也就是$\mathbf{P}(\text{Movies})$與$\mathbf{P}(\text{Contest})$。

所以我們就必需要把兩個機率相乘，現在，這個式子很眼熟，因為這就是計算兩個事件的交集，也就是$\mathbf{P}(A|B)\mathbf{P}(B)=\mathbf{P}(A\cap B)$，也就是兩個事件同時發生的機率。

不過這跟正規化有什麼關係？讓我們繼續看下去。

## Relationship between MAP, MLE and Regularization
[課程連結](https://www.coursera.org/learn/machine-learning-probability-and-statistics/lecture/PDw38/relationship-between-map-mle-and-regularization)
### Example: Polynomial Regression
![image](https://hackmd.io/_uploads/HkNQDkEap.png)

這個範例剛剛說過了，故事也都還記得就不多說。理論上就是給定模型的情況下，生成這個資料集的機率。單純的這樣看就是3號模型100%勝出。

但是，我們剛剛的爆米花世界大戰已經知道，不能單純的看給定模型生成這個資料集的機率，還必需要考慮選擇到模型的機率。事實上，模型愈是簡單，被選擇到的機率就愈高。這時候，勝利的就可能是2號模型了。
### Example: Polynomial Regression
![image](https://hackmd.io/_uploads/ByUawJETp.png)

那到底最大似然概率加上貝葉斯與多項式迴歸加上正規項有什麼關係？左邊的是相乘，右邊的是相加，是什麼可以讓相乘變成相加？

沒錯，答案就是取對數。
### What Is the Probability of a Model?
![image](https://hackmd.io/_uploads/HJwrYyE6a.png)

這邊解釋為什麼剛剛會說愈簡單的模型被選擇的機率愈高。

把三個模型的方程式寫出來，我們要做的就是從標準的常態分佈中選出這些係數，也就是這三個模型的多項式中的係數，即$a_1...a_{10}$。這些係數的likelihood有多少？它們會是我們在常態分佈中學習過的，$\dfrac{1}{\sqrt{2\pi}}e^{\dfrac{1}{2}a_i^2}$。

現在就不難計算出這三個模型的likelihood了，是likelihood，所以會計算它們的乘積。這種情況下，自然愈是複雜的模型被選擇出來的機率就愈低了。
### Bayes and Regularization
![image](https://hackmd.io/_uploads/rJ7eRy46p.png)

有這些觀念之後就可以回頭嚐試擬合最佳模型了。

首先是，要擬合模型我們就必需要從方程式中計算採樣到每個資料點的機率，方式的話就是切線上為高斯分佈的中心點來計算機率。所以就可以計算給定模型的情況下，採樣到5個資料點的機率，因為是likelihood，所以就是計算它們的乘積，最後再加上模型本身的機率。

然後，我們要最大化這個似然概率，重覆的常數項就不要理它，剩下的就取對數，把連乘積變成相加，最大化這個項目，但是不要忘記它的前面有一個$-\dfrac{1}{2}$，所以我們變成最小化這個數學式。最終就變成平方誤差加上正規項。

很神奇的，兩者結合起來，這就是正規項的意義。
### Regularization
![image](https://hackmd.io/_uploads/Sylt014Ta.png)

這邊就再做個總結，正規項就可以從這邊推演出去，基於bayes的正規化訓練模型的方式。
