<style> .green { color: green; } .blue { color: blue; } </style> # [🔥淬鍊思考]條件機率與貝式定理 * 定義關係: * **互斥事件**:兩事件的交集是空集合,即A∩B=ϕ,P(A∩B) = 0,**兩事件不能同時發生**。 * **獨立事件**:兩事件是不相關的、彼此獨立運作,即P(A∩C) = P(A)×P\(C\)。**兩事件可以同時何在一起考慮,描述兩事件「時序上先後發生」也可視為「同時發生」,機率是可以相乘而得**。 * 因此兩互斥的事件永遠不可能為獨立事件,因為無法同時發生,反之亦然,是獨立就不會互斥。 * ==**所關心的事件**==:就是 Probability's seting 的主角、即機率方程式的自變數、就是 P(H) 的 H,也可以是 P(E) 的 E。 * ==**條件機率** P(H|E) = P(H⋂E)/P(E)的意思==: * 此部分假設 H 與 E 為兩集合,重疊部分為 (H⋂E) * 條件機率的原本假設:Given E 事件發生的狀況下,H 事件**也發生**的機率,就是 P(H|E)。故分子部分會是兩事件的交集 (H⋂E),且 (H⋂E) 是 H 與 E 的共同子集。**因為條件機率只在意 Base on E 的 H,因此只要考慮 (H⋂E);而不 Base on E 的 H 部分則不用去考慮,Don't care (H⋂~E)** * 想法二:假設 E 必會發生 (讓 P(E) 視為不變動的常數),則 P(H|E) 就是 **當條件成立的前提下 (E is true),所關心事件 H 發生的機率**。 * (特殊情況) 當 H 與 E 等大重合,則表示 P(H|E) = 1,此條件機率一定會發生 * (特殊情況) 當 H 與 E 互為**獨立事件**,則**定義 P(H⋂E) = P(H)P(E)**,表示 P(H|E) = P(H),此條件機率與原本所關心事件之發生機率無異。 * ==條件機率的**移項: 集合論與機率的轉換**== 根據條件機率的定義: <span class="blue">P(H|E) = </span>P(H⋂E) / <span class="blue">P(E)</span> ... (1) 將H與E互換發現: <span class="green">P(E|H) = </span>P(H⋂E) / <span class="green">P(H)</span> ...(2) 由(1)、(2)得: **<span class="blue">P(H|E) x P(E)</span> = P(H⋂E) = <span class="green">P(E|H) x P(H)</span>** * 由上式推導可知: 1. **這是數學上的重大意義: 使集合論 (Set Theory) 與機率搭上橋梁,可互相解釋、轉換** 2. 其實兩事件中,誰是H、誰是E,其實沒有差別,只是變數名稱(代號)不同而已,本質上是一樣的啦! 然而這個技巧卻是**貝式定理推導的關鍵,很好用。** * ==**直觀想法(把機率視為實驗總數的比例、發生頻率、轉換功率):**== 當為條件機率給一個被乘數為**總事件母體數**,則 母體數 \* P(H⋂E) = 母體數 \* P(E) \* P(H|E), 也就是:「實驗總數 \* P(E) \* P(H|E)」**等於**「所有實驗中 H⋂E 的數量(佔的比例)」 更詳細解釋: 實驗總數 \* P(E) 得到「E 事件的總數」,再乘上 P(H|E) 得到我們所在乎的「E 發生時 H 事件的數量」。 (因為P(H|E)是假設分母E為真、成立,如此一來,「P(E)」可與「P(H|E)的分母」互消) * ==切麵包定理==: 用來**思考 P(E) 怎麼算**。假設 Case H 是由多個的**互斥事件**所組成,H = H<sub>1</sub>∪H<sub>2</sub>∪H<sub>3</sub>∪ ...∪H<sub>n</sub>,則**對於任何事件 E**,其 P(E) = P(E⋂H<sub>1</sub>) + ...+ P(E⋂H<sub>n</sub>) = Sum( P(E⋂H<sub>i</sub>) ) * ==Total Probility==: 就是**切麵包定理**的**條件機率移項版本(交集->機率相乘)** **P(E) = Sum( P(H<sub>i</sub>) x P(E|H<sub>i</sub>) )** * ==貝氏定理 (Bayes' Rule)== **<span class="blue">P(H|E) x P(E)</span> = P(H⋂E) = <span class="green">P(E|H) x P(H)</span> 移項一下** : * **使用時機--想法一**:欲計算的條件機率為「原先關心的事件與條件事件角色互換」,如果原先都在計算 P(E|H<sub>i</sub>) 的話。 * **使用時機--想法二**:關心的機率是「當有一個事件發生後,原先所關心的事件發生率因而受到影響,其影響後的機率」 * ![幾何說明](https://i.imgur.com/rDqpXzM.png) * **Prior**: **P(H)** 原始假說之機率 (Hypothesis)、原先所關心的事件發生率、原始抽樣機率 或 母體普查的比例 * **用古典機率==長度比例==解釋:** P(H)_長度比例 就是「所關心事件數 / 總事件數」 = 「所關心事件數 / (所關心事件數+非關心事件數)」 * **Likelihood**: **P(E|H)**,H 為真的前提下,E 的發生比例、發生率 * How often Hypothesis is true * **用古典機率==面積比例==解釋(Proportion)** : 條件機率中做為 prior 的乘數,表示為 prior 的比例、prior發生的可能率 * 所以有人會這麼說:「**Likelihood就是機率的機率。**」要理解這句話可以先把「第一個機率(prior)」稱為*事件A*,再配上「第二個機率」就變成「Likelihood就是*事件A*發生的機率」;不過剛好*事件A*本身也是機率,所以又變成「Likelihood就是『某事件發生的機率』所發生的機率。」 (是不是越來越混亂了呢?呵呵~) * ==**Posterior**: **P(H|E)**==,貝式定理之所求,H 受 E 影響變成 H' 之 P(H') = P(H|E) 。 * Posterior = (proior x likelihood) / E's Total Probility = P(Hypothesis) x Frequence / P(Evidence) * **用古典機率==面積比例==解釋:** P(H|E)_新H的面積比例 = 「所關心之面積_底寬 P(H) \* 高 P(E|H) / (所關心之面積 + 非關心之面積) * 只知道所關心事件之面積是無用的,也須設法計算不關心事件之面積才能算出面積比例,才會是發生機率。 * 「非關心之面積 = 底寬P(~H) \* 高P(E|~H)」,當 Hypothesis 是二元以上的互斥事件組成,假設所關心之 Hypothesis 為 H1,則「非關心之面積 = (P(H2)\*P(E|H2)) + ... + (P(Hn)\*P(E|Hn))」 * **P(E)** 使用切麵包進化版 **Total Probility** 便可求得 * **Casese (可切的麵包)**: Hypothesises,二元情況原始假設為 H,對立假設為 ~H,可推廣至多元。 * **Condition (被切的奶油)**: 條件事件,此命名為**發生事例 Evidence**。**注意:條件機率、貝氏定理的條件事例永遠是原先單一組成的集合,受 Hypothesis 所分割** * 最後,**釐清貝式定理的兩個條件機率關係** 及 貝式定理的**真正用途(預測模型)** * ![picture of bayes](https://i.imgur.com/8vgGlcZ.png) * 機率完全可以想成面積與面積的比例關係(命中率) * 貝式定理中有兩個命中率觀點 P(H|E) 和 P(E|H) * 他們要命中的部分都是相同的重疊部分,即 P(H⋂E),只是一個是描述黃色地塊中命中率,一個是描述深藍地塊中的命中率 * 貝式定理有趣的地方就是,**想要知道A地的命中率 P(H|E),只要 (1)已知B地面積 P(H)、B地命中率 P(E|H) (2)算出重疊面積 P(H⋂E) (3)已知A地面積,可由 「A地裡面與B地重疊面積」 + 「A地裡面與B地不重疊面積」算得: P(E)= P(H⋂E) + P(~H⋂E) 如此就能輕鬆算出A地的命中率 P(H|E)** * ==貝式定理精隨,**更新A地命中率**:== * 首先A事件的發生 P(H) 與B事件的發生 P(E) **不能互為互斥事件**,他們是可以同時並存的事件。且**不互為獨立事件**,表示兩者是會互相影響,即 P(H⋂E)!=ϕ 且 P(H⋂E)!=P(H)xP(E),這兩個條件就是貝式定理可以發揮真正效用的重要前提。 * ~~有了上述的假設,貝式定理除了能間接計算A地命中率之外,更重要的是當已知B地命中率發生變化(A地命中率也變),我們就必須連帶改變A地命中率的狀態,因為他們兩個是有關係的,這個糾葛正是因為他們共用P(H⋂E)。~~ * 如何Model學習、調整Model,其實非常簡單,神奇寶貝的例子: * 任務: 當已知一個神奇寶貝重量超過50公斤,則牠是水系神奇寶貝的機率是多少?當預測結果的機率值大於0.5,就當作牠是水系神奇寶貝。 * 目標: P(H|E)=? * P(H) 牠是水系神奇寶貝的機率 (母群體中,水系神奇寶貝的分布),我們能用抽樣估計方法或用訓練資料的比例可得,這不難,假設是0.4 * P(~H) 假設只有水系、草系兩種,因此此值就是 1-P(H)=0.6 * P(E|H) 是水系的前提下,神奇寶貝大於50公斤的機率,也就是分布情形,一樣能用抽樣估計方法或用訓練資料的分布,不難,我們假設水系大部分很重設為 0.6 * P(E) 大於50公斤神奇寶貝的分布,這要拆成兩部分來算: P(H) x P(E|H) + P(~H) x P(E|~H),只剩 P(E|~H) 需要得到,這就是草系神奇寶貝大於50公斤的機率,這也能抽樣估計所以不難,假設草系大部分很輕設為 0.2 * P(~E) 我們不需要知道這個,因為我們的目標是知道「P(E)為真的前提下」所以假設這個神奇寶貝小於50公斤,我們根本不care,那不是我們這個Model要管的事情 * 最後計算 P(H|E)=(0.6 * 0.6) / (0.6 * 0.6 + 0.4 * 0.2) = 0.818 * 假設結果正確,那下一步就是更新 P(H)、P(E|H)、P(E),假設預測錯誤那就是更新 P(~H) (其實就是P(H))、P(E|~H)、P(E),這樣 P(H|E) 的結果就會改變囉~ ###### tags: `機率`