基礎知識:
先驗概率:對某個事件發生的概率的估計。可以是基于歷史數據的估計,可以由專家知識得出等等。一般是單獨事件概率。
后驗概率:指某件事已經發生,計算事情發生是由某個因素引起的概率。一般是一個條件概率。
條件概率:條件事件發生后,另一個事件發生的概率。一般的形式為 P ( B ∣ A ) P(B|A) P(B∣A),表示 A A A發生的條件下 B B B發生的概率。
P ( B ∣ A ) = P ( A B ) P ( A ) P(B|A) = \frac {P(AB)}{P(A)} P(B∣A)=P(A)P(AB)?
貝葉斯公式基于先驗概率,計算后驗概率的方法;公式為:
P ( A ∣ B ) = P ( B ∣ A ) ? P ( A ) P ( B ) P(A|B) = \frac {P(B|A) \cdot P(A)}{P(B)} P(A∣B)=P(B)P(B∣A)?P(A)?
- P ( A ∣ B ) P(A∣B) P(A∣B): 在事件? B B B?發生的條件下,事件? A A A?發生的概率(后驗概率)。
- P ( B ∣ A ) P(B | A) P(B∣A):在事件 A A A 發生的條件下,事件 B B B 的發生概率(似然概率)。
- P ( A ) P(A) P(A):事件 A A A 發生的先驗概率(先驗知識)。
- P ( B ) P(B) P(B):事件 B B B 發生的總概率。
貝葉斯公式可以從條件概率和全概率公式推導得出:
- 條件概率定義:
P ( A ∣ B ) = P ( A ∩ B ) P ( B ) , P ( B ∣ A ) = P ( A ∩ B ) P ( A ) P(A | B) = \frac {P(A \cap B)}{P(B)}, P(B|A) = \frac {P(A \cap B)}{P(A)} P(A∣B)=P(B)P(A∩B)?,P(B∣A)=P(A)P(A∩B)? - 公式聯立:
P ( A ∩ B ) = P ( B ∣ A ) ? P ( A ) = P ( A ∣ B ) ? P ( B ) P(A \cap B) = P(B|A) \cdot P(A) = P(A | B) \cdot P(B) P(A∩B)=P(B∣A)?P(A)=P(A∣B)?P(B) - 整理得到貝葉斯公式:
P ( A ∣ B ) = P ( B ∣ A ) P ( A ) P ( B ) P(A | B) = \frac {P(B | A) P(A)}{P(B)} P(A∣B)=P(B)P(B∣A)P(A)?
- 貝葉斯公式:將先驗概率? P ( A ) P(A) P(A)、似然概率? P ( B ∣ A ) P(B∣A) P(B∣A)?和證據? P ( B ) P(B) P(B)?結合,計算后驗概率 P ( A ∣ B ) P(A∣B) P(A∣B)。
樸素貝葉斯做出了一個假設”屬性條件獨立假設“:對所有已知標簽的樣本,假設每個屬性獨立地對標簽結果產生影響。(這是一個很強的條件)
假設樣本為: x = { a 1 , a 2 , . . . , a d } x=\{a_{1}, a_{2}, ..., a_{d} \} x={a1?,a2?,...,ad?},label為 Y = { c 1 , c 2 , c 3 , . . . , c n } Y = \{c_{1}, c_{2}, c_{3}, ...,c_{n} \} Y={c1?,c2?,c3?,...,cn?};則計算這樣一個樣本 x x x 的所屬類別的公式為:
P ( c k ∣ x ) = max ? { P ( c 1 ∣ x ) , P ( c 2 ∣ x ) , P ( c 3 ∣ x ) , . . . , P ( c n ∣ x ) } P(c_{k} | x) = \max \{ P(c_{1} |x), P(c_{2} | x), P(c_{3} | x), ..., P(c_{n} |x)\} P(ck?∣x)=max{P(c1?∣x),P(c2?∣x),P(c3?∣x),...,P(cn?∣x)}
基于條件獨立假設;可以得到
P ( c ∣ x ) = P ( c ) P ( x ∣ c ) P ( x ) = P ( c ) P ( x ) ∏ i = 1 d P ( x i ∣ c ) P(c|x) = \frac {P(c)P(x|c)}{P(x)} = \frac {P(c)}{P(x)} \prod_{i=1}^{d} P(x_{i}|c) P(c∣x)=P(x)P(c)P(x∣c)?=P(x)P(c)?i=1∏d?P(xi?∣c)
其中 d d d為屬性數目, x i x_{i} xi?為 x x x 在第 i i i 個屬性上的取值。
我們重寫上述公式:
h n b ( x ) = max ? { P ( c 1 ∣ x ) , P ( c 2 ∣ x ) , P ( c 3 ∣ x ) , . . . , P ( c n ∣ x ) } = arg ? max ? c ∈ Y P ( c ) P ( x ) ∏ i = 1 d P ( x i ∣ C ) = arg ? max ? c ∈ Y P ( c ) ∏ i = 1 d P ( x i ∣ C ) \begin{align} h_{nb}(x) &= \max \{ P(c_{1} |x), P(c_{2} | x), P(c_{3} | x), ..., P(c_{n} |x)\} \\ &= \arg \max_{c \in Y} \frac {P(c)}{P(x)} \prod_{i=1}^{d}P(x_{i} | C) \\ &= \arg \max_{c \in Y} P(c) \prod_{i=1}^{d}P(x_{i} | C) \end{align} hnb?(x)?=max{P(c1?∣x),P(c2?∣x),P(c3?∣x),...,P(cn?∣x)}=argc∈Ymax?P(x)P(c)?i=1∏d?P(xi?∣C)=argc∈Ymax?P(c)i=1∏d?P(xi?∣C)?? 令 D c D_{c} Dc? 表示訓練集 D D D 中第 c c c 類樣本組成的集合,若有充足的獨立同分布樣本,則可以容易地估計出類別的先驗概率:
P ( c ) = ∣ D c ∣ ∣ D ∣ P(c) = \frac {|D_{c}|}{|D|} P(c)=∣D∣∣Dc?∣?
對于離散屬性而言,令 D c , x i D_{c, x_{i}} Dc,xi?? 表示 D c D_{c} Dc? 中第 i i i 個屬性上取值為 x i x_{i} xi? 的樣本組成的集合,則條件概率 P ( x i ∣ c ) P(x_{i} |c) P(xi?∣c) 可估計為:
P x i ∣ c = ∣ D c , x i ∣ ∣ D c ∣ P{x_{i} | c} = \frac {|D_{c, x_{i}}|}{|D_{c}|} Pxi?∣c=∣Dc?∣∣Dc,xi??∣?
對于連續屬性可考慮概率密度函數,假定 p ( x i ∣ c ) ~ N ( μ c , i , σ c , i 2 ) p(x_{i}|c) \sim \mathcal{N}(\mu _{c, i}, \sigma _{c,i}^{2}) p(xi?∣c)~N(μc,i?,σc,i2?)d,其中 μ c , i \mu_{c, i} μc,i?和 σ c , i 2 \sigma_{c, i}^{2} σc,i2?分別是第 c c c 類樣本在第 i i i 個屬性上取值的均值和方差,則有:
p ( x i ∣ c ) = 1 2 π σ c , i exp ? ( ? ( x i ? μ c , i ) 2 2 σ c , i 2 ) p(x_{i} | c) = \frac {1}{\sqrt{2 \pi} \sigma_{c, i}} \exp (- \frac {(x_{i}-\mu_{c, i})^2}{2 \sigma_{c, i}^{2}}) p(xi?∣c)=2π?σc,i?1?exp(?2σc,i2?(xi??μc,i?)2?)