---
# System prepended metadata

title: Probability
tags: [machine learning, 學習筆記]

---

---
disqus: ierosodin
---

# Probability

> Organization contact [name= [ierosodin](ierosodin@gmail.com)]
###### tags: `machine learning` `學習筆記`

==[Back to Catalog](https://hackmd.io/@ierosodin/Machine_Learning)==

## 名詞解釋

1. trail 試驗
    * toss two coins
2. outcome 結果
    * HH, HH, TT, HT, ...
3. sample space 樣本空間（宇集）
    * {HH, HT, TH, TT}
4. random variable 隨機變數
    * 是一種 mapping function
        * HH -> 0
        * HT -> 1
        * TH -> 1
        * TT -> 2
5. event 事件
    * 符合 sample space 的子集合
    * give a condition, a set of outcomes
6. 機率
    * 由於我們不能掌控一切，無法知道一件事情是否一定會發生或出現，才需要利用機率。
    * ${P(outcome\ =\ HT)\ =\ P(HT)\ =\ P(X=1)}$
    * how to get ${P(X\ =\ 1)}$? infinite times of trials

7. mean
    * 即為平均值，若用在 random variable，稱為期望值：
    * ${E(X)\ =\ \sum_{i=1}^n P(X_i)\ *\ X_i}$

8. variance
    * 標準差，為變異數 (${\sigma}$) 的平方，定義：
    * ${\begin{split}
    \sigma^2\ &=\ \frac{1}{n}\sum_i(x_i-E(x))^2\ \\
    &=\ \frac{1}{n}\sum(x^2-2x\mu+\mu^2) \\
    &=\ \frac{1}{n}\sum x^2\ -\ \frac{2}{n}\sum x\mu\ +\ \frac{1}{n}\sum     \mu^2 \\
    &=\ E(x^2)\ -\ 2\mu\frac{\sum x}{n}\ +\ \frac{1}{n}\mu^2n \\
    &=\ E(x^2)\ -\ 2\mu^2\ +\ \mu^2 \\
    &=\ E(x^2)\ -\ E^2(x)
    \end{split}}$

9. covariance
    * 用來描述兩筆資料間的關係性，若為正，則為正相關，若為負，則為負相關，若為 0，則表示兩筆資料無關，定義：
    * ${cov(x,y)\ =\ E(x-E(x))\ *\ E(y-E(y))}$

10. 其他
    * ${E(x)}$ 可以用來描述資料的 location
    * ${E((x-\mu)^2)}$ 則可以用來表示兩筆資料的距離 (distance) 或是散佈情形 (dispersion)
    * ${E((x-\mu)^3)}$ 則影響了資料的偏斜程度

## pmf, pdf, cdf

pmf (probability mess function)是用來描述每種 random variable 輸出值的機率 (discrete space)，若是在 continuous space，稱為 pdf (probability density function)。

而 cdf 則是 pmf 或 pdf 的累加，cumulative density function。

## Conditional probability

表示在事件 B 發生的條件下，事件 A 發生的機率：
${P(A|B) = \frac{P(A,B)}{P(B)}}$

### 三門問題

在三個門後，有兩個是一頭羊，另一道門則是一台汽車，在選擇一道門後，主持人會開啟一道是羊的門，此時是否要換門，可以提高猜中是汽車的門？

利用條件機率，如果選擇換，則抽中汽車的機率為：
${P(汽車)\ =\ P(羊)\ *\ P(換成車|羊)\ = \ \frac{2}{3}\ *\ 1\ =\ \frac{2}{3}}$

如果選擇不換，則抽中的機率為：

其實可以這樣思考：今天問題是換跟不換誰抽中汽車的機率高？如果不換，則很理所當然的，抽中汽車的機率即為 ${\frac{1}{3}}$，而換與不換是互斥且包含了宇集的所有可能（因為主持人開啟一道門後，剩下兩道門，換與不換一定有一個會抽中汽車），因此選擇換抽中汽車的機率為 ${1\ -\ \frac{1}{3}\ =\ \frac{2}{3}}$

可以思考四道門一台車的問題，結論是：不斷的選擇換，可以得到最高的機率抽中汽車，因為在公佈一道門後，sample space縮小了，所以選擇換以後，抽中汽車的機率變高了。

## Joint probability

與條件機率不同，joint probability 為在宇集下，發生事件 A 且發生事件 B 的機率為：${P(A,B|U)}$

# Baye's theorem

${P(A|B)\ =\ P(B|A)\frac{P(A)}{P(B)}}$

其中，
$P(A)$:事前機率 (prior probability)
$P(A|B)$:事後機率 (posteriorior probability) -> ==我們所關心的==
$P(B|A)$ : 可能性函數 (likelihood function)
$P(B)$ : 全機率 (total probability or marginal probability)

概念:希望透過已知的事前機率 $P(B|A)$透過貝氏定理得到事後機率 $P(A|B)$

## Likelihood

${L(observed\ event|\theta)\ =\ P(\theta|observed\ event)}$

> likelihood 不是機率

## MLE

即找出 ${\theta=p}$ 使得 likelihood 的值最大

## Difference between bayesian and frequentist

frequentist 相信透過觀察所得到的結論，並認為這是不變的真理。所以假設今天擲硬幣的到 HH，則透過 likelihood 可以知道，在硬幣的 random variable = 1 的情況下，likelihood 是最大的 (MLE)，因此我們就會認為這個硬幣不可能擲出反面。

然而對於 bayesian，我們會透過先前的 knowledge，再加上新來的資料 (likelihood) 來對 knowledge 做更新 (posterior)，因此對於硬幣的問題，我們一開始可能認為硬幣是公平 ${(\theta\ =\ 0.5)}$ 的機率會是最高的，然而隨著不斷丟到正面，我們的 knowledge 也會不斷更新，可以透過以下的迭代觀察的 knowledge 的改變：
[prior]
${
P(\theta=0)\ =\ 0.05 \\
P(\theta=0.3)\ =\ 0.1 \\
P(\theta=0.5)\ =\ 0.7 \\
P(\theta=0.7)\ =\ 0.1 \\
P(\theta=1)\ =\ 0.05
}$

第一次擲出正面，
[likelihood]
${
P(H|\theta=0)\ =\ 0 \\
P(H|\theta=0.3)\ =\ 0.3 \\
P(H|\theta=0.5)\ =\ 0.5 \\
P(H|\theta=0.7)\ =\ 0.7 \\
P(H|\theta=1)\ =\ 1
}$

由於大家的 marginal probability 都一樣，直接做 normalization，可以得到：
[posterior]
${
P(\theta=0|H)\ =\ 0 \\
P(\theta=0.3|H)\ =\ 0.06 \\
P(\theta=0.5|H)\ =\ 0.7 \\
P(\theta=0.7|H)\ =\ 0.14 \\
P(\theta=1)|H\ =\ 0.1
}$

在經過十次都擲出正面後：
[posterior]
${
P(\theta=0|H)\ =\ 0 \\
P(\theta=0.3|H)\ =\ 1.88*10^{-7} \\
P(\theta=0.5|H)\ =\ 6.04*10^{-4} \\
P(\theta=0.7|H)\ =\ 4.89*10^{-3} \\
P(\theta=1)|H\ =\ 1.77*10*{-1}
}$

有別於 frequentist，bayesian 不會因為不斷擲出正面，就否定擲出反面的可能性，但隨著次數越來越多，就會慢慢貼近 frequentist ，這也可以說明，如果經過無限次都擲出正面，那這個硬幣只能擲出正面就成了事實。

# Naive baye's classifier

這裡舉一個天氣與打網球的例子，來模擬要如何用 Bayes 進行事件的預測。

![](https://i.imgur.com/7Zc81HK.png)

上表為過去天氣的情況與打網球與否的紀錄，這也就是我們 Bayes 中要用來作為 lokelihood 的 data，因此我們可以得到：
${P(O=\{s,o,r\},T=\{h,c\},H=\{h,n\},W=\{w,s\})|play=\{yes,no\})}$

而我們也有過去打網球的機率，即為我們的 prior：
${P(play=\{yes,no\})}$

因此藉由這些資料，我們就可以預測當今天天氣是 ${O=x,T=y,H=z,W=w}$ 的情況下，會去打網球的機率。

這裡由於資料量的不足，我們必須假設所有的天氣都是 i.i.d (independent and identically distributed)，因此：
${\begin{split}
P(x,y,z,w|A)\ &=\ P(x,y,z|w,A)\ *\ P(w|A) \\
&=\ P(x,y|z,w,A)\ *\ P(z|w,A)\ *\ P(w|A) \\
&=\ P(x|y,z,w,A)\ *\ P(y|z,w,A)\ *\ P(z|w,A)\ *\ P(w|A) \\
\end{split}}$

又，
${\begin{split}
P(z,w|A)\ &=\ P(z|A)\ *\ P(w|A)\ (i.i.d) \\
&\Rightarrow\ \frac{P(z,w,A)}{P(A)}\ =\ \frac{P(z,A)}{P(A)}\ *\ \frac{P(w,A)}{P(A)} \\
&\Rightarrow\ \frac{P(z,w,A)}{P(w,A)}\ =\ \frac{P(z,A)}{P(A)} \\
&\Rightarrow\ P(z|w,A)\ =\ P(z|A)
\end{split}}$

同理，
${P(y|z,w,A)\ =\ P(y|A)}$
${P(x|y,z,w,A)\ =\ P(x|A)}$

所以，
${P(x,y,z,w|A)\ =\ P(x|A)\ *\ P(y|A)\ *\ P(z|A)\ *\ P(w,|A)}$

藉由 i.i.d ，likelihood probability 就變成
${\ \ \ \ P(O=\{s,o,r\}|play=\{yes,no\}) \\
*\ P(T=\{h,c\}|play=\{yes,no\}) \\
*\ P(H=\{h,n\}|play=\{yes,no\}) \\
*\ P(W=\{w,s\})|play=\{yes,no\})}$

例如我們想知道 ${P(play=yes|O=s,T=c,H=h,W=s)}$，藉由計算
${\begin{split}
&\frac{P(play=yes|O=s,T=c,H=h,W=s)}{P(play=no|O=s,T=c,H=h,W=s)}\ =\ \frac{125}{486} \\
&\Rightarrow\ P(play=yes|O=s,T=c,H=h,W=s)\ =\ 20\%
\end{split}}$

> 如果不用 i.i.d，會因為資料太少，而得到更差的結果 (0%)，雖然假設各種天氣參數是 i.i.d 有點牽強，但是結果還蠻合理的