---
# System prepended metadata

title: 4.2 Maximum Likelihood Estimation
tags: [ML]

---

# 4.2 Maximum Likelihood Estimation

1. 本節中沒有多解釋的名詞或 Probability 相關內容可參考 Appendix。
> - 以下簡稱 probability density function 為 pdf。
> - 以下簡稱 probability mass function 為 pmf。
2. 本節內容可參考本章後半部補充部分的筆記「補充：Maximum Likelihood Estimation」，有比較多且詳細的數學解釋和例子。另外，如果那邊有講到和此處相同的概念，就不會在此多細講。


---
假設我們有一個 independent and identically distributed (iid) sample：

\begin{equation}
X = \{x^t\}_{t=1}^N
\end{equation}

> 其中 $t$ 是 index，因此總共有 $N$ 個 instance $x^1,...,x^N$ 在這個 sample $X$ 中。

我們假定 $x^t$ 這些 instances 是從某個已知的 <font color = "snake">probability density family</font> ==$p(x|\theta)$== 中得到的，並且由 ++parameters++ $\theta$ 定義。

\begin{equation}
x^t \sim p(x|\theta)
\end{equation}

:::info
Q：為什麼這裡要用 probability density "family"，而不是用 probability density distribution？probability density family 指的又是什麼？由 $\theta$ 定義又是什麼意思？
:::
我們先來回答這些問題再繼續原本的內容。

## probability density family

要回答這些問題，首先我們要先介紹一個名詞叫做 shape parameters。shape parameter 是我們對 parameter 分類中的一種，parameter 的分類如下：

### parameter 分類

- <font color = "snake">location parameter</font>：告訴我們 distribution 的中心在水平軸上的哪個點的 parameter。
- <font color = "snake">scale parameter</font>：告訴我們水平軸的 scale 的 parameter。
> 也就是說去增加或降低這個 parameter 會讓圖形被擠壓或拉伸。
- <font color = "snake">shape parameter</font>：決定整個 function 的 graph 形狀的 parameter
> 如果改變這個 parameter 整個形狀都會改變（前兩種 parameters 造成的改變不算形狀改變）
> 
> $\rightarrow$ 就像前兩種 parameters 不會改變 shape，shape parameter 也不會位移或壓扁／伸長我們的圖形，它既不同於前兩種 parameters，也不是由他們組成的 function。
> - 並非每個 distribution 都有 shape parameter。

### 例子：Weibull distribution

直接先舉個例子，有一種 distribution 叫做 <font color = "green">Weibull distribution</font>，它的 pdf 為：

:::success
\begin{equation}
f(x) = \frac{\gamma}{\alpha}(\frac{x-\mu}{\alpha})^{(\gamma-1)}e^{-(\frac{x-\mu}{\alpha})^\gamma} \qquad x \ge \mu;\ \gamma, \alpha >0 
\end{equation}
:::

在這麼多的 parameters 中：

- $\gamma$ 是 shape parameter
- $\mu$ 是 location parameter
- $\alpha$ 是 scale parameter

根據這些 parameters 值的不同，我們可以定義不同的 distribution 名稱，像是當

- $\mu = 0, \alpha = 1$ 時我們稱為 standard Weibull distribution
- $\mu = 0$ 時我們稱為 2-parameter Weibull distribution

或是當我們改變 shape parameter $\gamma$ 的值時，distribution 為各種不同的形狀：

![image](https://hackmd.io/_uploads/r1JZN4lrA.png)

正因為 shape parameter 允許我們的 distribution 有很多種不同的形狀，這樣的 distribution 特別適合拿來 model applications，因為較有彈性來去 model 不同的 data sets。

---

回到原本的問題：

如同上面 Weibull distribution 的例子，很多 probability distribution 指的並非單一一個 distribution，因為儘管它們的 pdf $f(x)$ 「結構」相同，但是裡面實際 parameters 的值不同。
> 像是可能有一個或多個 shape parameters，使得值不同的情況下，這些 distributions 呈現完全不同的形狀。

所以在這種情況下我們稱這群 distributions 為一個 <font color = "snake">distribution family</font>，定義如下：

:::info
A <font color = "blue">distribution family</font> is an indexed collection
\begin{equation}
P = \{f(x|\theta)\ |\ \theta \in \Omega\}
\end{equation}
of densities or probability mass functions on a common sample space.
:::
> 也就是說， $P$ 包含了許多 pdf 或 pmf $f(x|\theta_i)$ 的「不同版本」，每個結構相同，但根據不同的 $\theta_i$ 有不同的 parameter 值。
>> 是 pdf 或 pmf 根據 random variable continuous 或 discrete 而定，詳細說明可參考 Appendix A.2.1。

最後，distribution family 中的各個不同的 distributions 會不同，正是因為它們有不同的 parameters 值，所以我們說它們 <font color = "snake">defined up to parameters $\theta$</font>。


## likelihood

前面說了這麼多，我們應該也就能夠明白 parameters 對一個 distribution 的影響有多大。因此，我們希望能找到某一組 $\theta$ 使得：

:::info
sampling $x^t$ from $p(x|\theta)$ as likely as possible
:::
> 意思就是我們希望能找到一組參數 $\theta$，使得我們的 model best-fit 我們的 sample data。
>> 更進一步去解釋：如上面的例子所呈現的，每一組 $\theta$ 會定義一種 probability distribution，我們希望找到 optimal 的 $\theta$（用 $\hat{\theta}$ 表示），使得畫出來的圖和我們 experiment 做出來的 outcomes 分佈最接近。

因為我們預設我們的這 $N$ 個 instances $x^t$ 為 independent，所以在給定這樣的一個 sample $X$ 的情況下，parameter $\theta$ 的 likelihood 為個別的點的 likelihood 相乘：
> 意思就是：
> 
> 因為我們在做一個 experiment $N$ 次來得到 $N$ 個 outcomes 時，這些 experiments 之間彼此獨立，所以當我們要試圖找出最接近所有 outcomes 形成的 distribution 的 function 時，這個 function 的參數是 $\theta$ 的機率，會等同：
> 
> 我們這 $N$ 個 outcomes 分別有著 $\theta$ 作為 parameter 的機率相乘。

![image](https://hackmd.io/_uploads/H1EN4R8SR.png)
> 假設有兩個 $\theta_i, \theta_j \in \Omega$（$\Omega$ 為 parameter space），如果 $p(X|\theta_i) > p(X|\theta_j)$ ，那就代表對於 $X$ 這個 sample 來說，用 $\theta_i$ 來作 parameter 的值更適合；同時，根據定義 $l(\theta_i|X) > l(\theta_j|X)$，所以當我們說找 likelihood 大的 $\theta$，就等同是在找更可能是最適合的 $\theta$。

那麼這個找出 ++optimal parameter++ ==$\hat{\theta}$== 的過程稱作 <font color = "snake">maximum likelihood estimation</font>，我們去找出某個 $\theta$ 使 likelihood 的值最大，也就是說我們++希望找到某個 $\hat{\theta}$ that maximizes $l(\theta|X)$++。

在找 $\max l(\theta|X)$ 時，我們也可以取 $log$ 再找 maximum。
> 取 $log$ 是因為不影響答案，且為了計算方便。
>> 詳細可參考下一小節「補充：Maximum Likelihood Estimation」。 

於是我們再多定義一個 <font color = "snake">log likelihood </font>，也就是原本的 likelihood 定義再多取一個 $log$：

![image](https://hackmd.io/_uploads/Hy6uHR8HA.png)


接著，下面要來討論三種常用的 distributions 它們的 parameters 的 maximum likelihood estimators（MLE）。
> 也就是我們要來找出要算這三種 distributions 最好的 parameter 要用什麼樣的 functions。 

三種  distributions 為：

1. Bernoulli（2-class 常用）
2. Multinomial（Bernoulli generalize 到多個 classes）
3. Gaussian（常態分佈）

- 關於這三種 distribution 的基礎介紹可參考 Appendix。

## 4.2.1 Bernoulli Density

Bernoulli distribution 只有兩種 outcomes $\{0,1\}$，分別對應到 probability $1-p$ 和 $p$，它的 pmf 為： 

![image](https://hackmd.io/_uploads/H1PMv0LS0.png)
 
expected value 和 variance 為：

![image](https://hackmd.io/_uploads/S1iU_08rA.png)
> 推導過程見「A.3.1 Bernoulli Distribution」

因為我們只有一個 parameter $p$，所以我們想得到的 optimal parameter 計算方式只有 $\hat{p}$（作為 estimator）一個。

一樣假設我們有一個 iid sample $X$，裡面有 $N$ 個 instances，即 $X = \{x^t\}_{t=1}^N$，其中每個 $x^t \in \{0,1\}$。我們計算 log likelihood 來求 $\hat{p}$：

![image](https://hackmd.io/_uploads/HJyFKALH0.png)
> 因為 sample iid，所以 log likelihood $L(p|X)$ 為個別 instance 的 likelihood 相乘取 log，再利用一些簡單的 log 特性就會得到上方的結果。
>> - 詳細過程參考「補充：Maximum Likelihood Estimation」

我們將 log likelihood $L(p|X)$ 對 $p$ 微分，由微分等於零的點來取極值，就會得到最大的 log likelihood 會發生在什麼樣的 $p$。
> 過程一樣參考「補充：Maximum Likelihood Estimation」。

經過一連串計算以後會得到 $\hat{p}$：

![image](https://hackmd.io/_uploads/HkitiAUBC.png)

記得在 Bernoulli 的情況下，$X$ 的 expected value $E[X] = p$，所以 $p$ 的 estimator $\hat{p}$ 就是 mean 的 estimator，也就是上方 $4.4$ 的 sample average $\frac{\sum_tx^t}{N}$。

:::warning
++$\hat{p}$ 本身也是一個 random variable++，所以 $\hat{p}$ 也有自己的 distribution。因此，我們可以去討論如果從同個原本的 distribution 取出不同的 sample $X_i$，$\hat{p}$ 的 distribution 會如何改變。
:::

舉例來說：

當 $N$ 變大時，$Var(\hat{p})$ 會變小。
> 因為當 sample 變大時，sample mean 的變化量應該要變小（大數法則），也就等同於 $\hat{p}$ 的變化量變小。


## 4.2.2 Multinomial Density

考慮 Bernoulli 的 generalization，也就是我們不是只有兩個 state，而是有 $K$ 個 states（$K > 2$）。

一個 random event 就是這 $K$ 個 mutually exclusive 且 exhaustive 的 states 的其中一個。

舉例來說我們有 $K$ 個 classes，每個對應到 probability $p_i$，且 $\sum_{i=1}^Kp_i=1$。
> 因為 mutually exclusive 且 exhaustive，所以所有可能的 classes 的機率相加為 $1$。

我們令一些 indicator variables $x_1,...,x_K$，如果 outcome 是 state $i$ 則 $x_i$ 為 $1$，否則為 $0$。

![image](https://hackmd.io/_uploads/BJn6JkPr0.png)
> 意義也就是 outcome 為 $x_1,...,x_K$ 的機率等同 $p_1\times p_2\times ...\times p_k$。

一樣我們假設做 $N$ 次 independent experiments，取得 outcomes 所成的集合 $X= \{x^t\}_{t=1}^N$，不過要注意的是這裡的每個 outcome $x^t$ 是一個 $K$ 維向量，向量中的每個 entry 值如上方定義： 

![image](https://hackmd.io/_uploads/SkB8eyvH0.png)
> 如果第 $t$ 次 experiment $\in$ class $i$，則 $x^t$ 的第 $i$ 個 entry $x_i^t$ 為 $1$，否則為 $0$。

因為一般情況下一個 outcome 應該要只屬於某一個 class，所以在 $x^t$ 的 entries 裡，只會有一個是 $1$，其餘都是 $0$。因此滿足 $\sum_i{x_i^t}=1$。

那麼我們每個 class 的 probability $p_i$ 的 maximum likelihood estimator (MLE) 為：

![image](https://hackmd.io/_uploads/Sysh41vSC.png)

> 意思就是：
> 
> 我們能找到的最適合的 $p_i$ 值 $\hat{p}_i$ 是++所有 $N$ 次 experiments 的 outcome 裡面，被分到 class $i$ 的比例++。
>> 因為在每個 experiment outcome $x^t$ 裡面（$t=1,...,N$），如果是 state $i$ 則 $x_i^t$ 為 $1$，否則為 $0$，所以對每個 $x^t$ 的第 $i$-th entry 加總就能知道 $N$ 次裡是 state $i$ 的有幾次。

因為有 $K$ 個 classes，且一個 $x^t$ 裡的每個 entry 值不是 $0$ 就是 $1$，所以其中一種方式是我們可想成 $K$ ++個 Bernoulli experiment++。

或是我們也可以算 log likelihood，然後找到使 likelihood 最大的 $p_i$（在條件 $\sum_{i=1}^Kp_i=1$ 之下。）


## 4.2.3 Gaussian (Normal) Density

- 課本都沒寫過程，只有直接寫出 MLE，所以在此我直接貼出我的整個計算過程：
> 關於 normal distribution 的 pdf 以及相關背景知識，可參考「A.3.5 Normal(Gaussian) Distribution」。

首先我們根據定義計算 normal distribution 的 log likelihood。
> $\rightarrow$ 這裡就可以看出為什麼 log likelihood 有時後在計算上會比直接算 likelihood 輕鬆。

![image](https://hackmd.io/_uploads/HJeSd0wSR.png)

接著透過分別對兩個 parameters 偏微求極值（最大值）：

![image](https://hackmd.io/_uploads/ryQZYCPr0.png)


![image](https://hackmd.io/_uploads/Hy3NY0DHC.png)



# 參考資料

- [Shape Parameter: Definition and Examples](https://www.statisticshowto.com/shape-parameter/)
- Engineering Statistic Handbook
	- [Families of distributions](https://www.itl.nist.gov/div898/handbook/eda/section3/eda363.htm)
	- [Weibull distribution](https://www.itl.nist.gov/div898/handbook/eda/section3/eda3668.htm)