模式識別與機器學習筆記專欄之貝葉斯分類決策(一)

這是模式識別與機器學習筆記專欄的第一篇,我會持續更新。機器學習

在全部的生活場景中,咱們無時無刻不在進行着模式識別。好比你看見迎面走來一我的,根據他的長相來辨認出他好像是你一年前某個活動小組的組長,而後你開始決策要不要和他打個招呼。或者你走進水果店,把西瓜拍了個遍來決定最後買哪個。或者你忽然被捂上眼睛,聽着背後人的聲音來辨別是否是你的親愛的。函數

模式(pattern) 能夠理解成某種特徵,也就是你能夠獲取到的某種原始數據,而 模式識別(pattern recognition) 就是根據輸入原始數據來判斷其類別並採起相應行爲的能力。它對咱們相當重要,但咱們經常但願能夠有機器幫咱們來作這個工做,讓機器執行預約的程序來進行分類從而決策。好比一個短信攔截系統,幫咱們分辨哪些是騷擾短信,哪些是有用的信息。學習

在這個問題上,貝葉斯決策理論是最最經典而基本的分類方法了。那麼,何爲貝葉斯分類決策?spa

1. 貝葉斯公式

首先,咱們熟悉的貝葉斯公式對象

\[P(\omega_i|x)=\frac{p(x|\omega_i)P(\omega_i)}{p(x)} \]

在模式識別問題中,用 \(d\) 維向量 \(x\) 來表示但願分類對象的特徵,它通常是從傳感器獲取,而且抽象化出來。\(\omega\) 來表示可能分類的類別。\(\omega_i\) 對應着第 \(i\) 類,若是是一個兩類問題,\(i=1,2\) ,若是是 \(c\) 類問題,則 \(i=1,2,...,c\)it

\(P(\omega_i|x)\) 是由特徵 \(x\) 預測的結果,也就是後驗機率,\(p(x|\omega_i)\) 是類條件機率,或者叫似然機率,就是特徵 \(x\) 這個隨機變量分佈狀況,它是取決於類別 \(\omega\) 的狀態的。\(P(\omega_i)\)是類先驗信息,是根據先前知識經驗給定的,而且由於總共就c類,因此很容易獲得\(\sum^{c}_{j=1}P(\omega_j)=1\)\(p(x)\)是歸一化因子,並不重要:io

\[p(x)=\sum^{c}_{j=1}p(x|\omega_j)P(\omega_j) \]

目的就是使得全部後驗機率之和爲1。table

貝葉斯公式提供了一個後驗機率的重要計算依據:從似然機率和先驗機率獲得。class

2. 最小錯誤率貝葉斯決策

首先簡化問題爲二分類問題,好比短信分類問題,\(\omega=\omega_1\) 是將短信分爲有用短信,\(\omega=\omega_2\) 是將短信分類爲垃圾短信。假設咱們如今對這兩類的先驗機率和特徵 \(x\) 的類條件機率分佈都知道了。那麼經過一個短信提取到的特徵 \(x\) ,就能夠利用貝葉斯公式計算後驗機率,也就是對可能的兩類作出的機率判斷。變量

\[P(\omega_1|x)=p(x|\omega_1)P(\omega_1)\\ P(\omega_2|x)=p(x|\omega_2)P(\omega_2) \]

很天然的來比較後驗機率來進行決策,哪一類的後驗機率大,就斷定爲哪一類,先驗是給定的,歸一化因子不重要,實質上比的就是類條件機率分佈。

  • 如今引入一個錯誤率 \(P(error|x)\) 的概念,對一個\(x\) ,算出了 \(P(\omega_1|x)\)\(P(\omega_2|x)\),假如咱們讓\(\omega=\omega_1\),也就是斷定爲第一類,把這條短信判斷成有用的,那麼咱們判斷正確的機率就是 \(P(\omega_1|x)\) ,而判斷錯誤的機率就是\(P(\omega_2|x)\)。寫成公式:

\[P(error|x)= \begin{cases} P(\omega_1|x)& \text{若是斷定爲}\omega_2 \\ P(\omega_2|x)& \text{若是斷定爲}\omega_1 \end{cases} \]

  • 咱們但願咱們判斷的錯誤率更小,所以咱們獲得判決規則:

若是\(P(\omega_1|x)>P(\omega_2|x)\),斷定爲 \(\omega_1\);不然斷定爲 \(\omega_2\)

——這就是最小錯誤率貝葉斯決策,也就是哪一類後驗機率大,判爲哪一類

  • 寫成似然機率和先驗機率的形式:

若是\(p(x|\omega_1)P(\omega_1)>p(x|\omega_2)P(\omega_2)\),斷定爲 \(\omega_1\);不然斷定爲 \(\omega_2\)

3. 最小風險貝葉斯決策

下面把判決規則升級一下。

再回想一下短信分類的問題。假如預測成有用短信和騷擾短信的後驗機率接近的時候,這時候誤判的可能性仍是比較高的。若是誤判,可能會把有用的分紅垃圾,把垃圾短信分紅有用的。能夠想象這二者的錯誤率是此消彼長的,但對哪一種的錯誤率容忍度更高呢?把有用的分紅垃圾的看起來更加難以接受。這時候可能就但願那種模棱兩可的狀況仍是斷定成有用的好。那麼如何來體現這種對錯誤率容忍度的不一樣呢?下面就引入損失函數。

對每一種判斷以及真實狀況定義一個損失函數\(\lambda(\alpha_i|\omega_j)\),如下面的兩類問題爲例

\(\lambda(\alpha_i\vert\omega_j)\) \(\omega_1\) \(\omega_2\)
\(\alpha_1\) 0 1
\(\alpha_2\) 2 0

\(\omega_j\) 表示要分類對象的真實類別是 \(\omega_j\)\(\alpha_i\) 表示要採起的行爲,即斷定爲 \(\omega_i\)

以短信分類爲例,假如真實是\(\omega_1\) ,有用短信,採起\(\alpha_1\) ,判斷爲有用,也就是判斷正確了,能夠定義損失就是0。假如真實是\(\omega_2\) ,垃圾短信,採起\(\alpha_1\) ,判斷爲有用,也就是判斷錯誤了,能夠定義損失函數爲1。假如真實是\(\omega_1\) ,有用短信,採起\(\alpha_2\) ,判斷爲垃圾,一樣是判斷錯誤了,而這種錯誤咱們的容忍度更低,那麼能夠定義損失函數爲2。

  • 損失函數乘以對應的後驗機率\(P(\omega_j|x)\) 並求和,獲得風險函數\(R(\alpha_i|x)\)

\[R(\alpha_1|x)=\lambda(\alpha_1|\omega_1)P(\omega_1|x) +\lambda(\alpha_1|\omega_2)P(\omega_2|x)\\ R(\alpha_2|x)=\lambda(\alpha_2|\omega_1)P(\omega_1|x) + \lambda(\alpha_2|\omega_2)P(\omega_2|x) \]

理解起來就是:\(\alpha_i\)行爲的風險=每種 \(\omega\) 狀況下采起\(\alpha_i\)行爲的損失x是這種 \(\omega\) 的後驗機率

  • 與最小錯誤率貝葉斯決策相對應的,這時候使得風險函數最小就好了,判決規則寫成:

若是\(R(\alpha_1|x) < R(\omega_2|x)\),採起行爲\(\alpha_1\) ,也就是斷定爲 \(\omega_1\);不然採起行爲\(\alpha_2\) ,也就是斷定爲 \(\omega_2\)

所以決策的方式就是採起風險\(R(\alpha_i|x)\)最小的行爲\(\alpha_i\)——這是最小風險貝葉斯決策

  • \(\lambda(\alpha_i|\omega_j)\) 簡寫成\(\lambda_{ij}\) ,並把類條件機率和先驗機率代入,獲得判決規則:

若是\((\lambda_{11}-\lambda_{21})p(x|\omega_1)P(\omega_1) < (\lambda_{22}-\lambda_{12})p(x|\omega_2)P(\omega_2)\),採起行爲\(\alpha_1\) ,也就是斷定爲 \(\omega_1\);不然採起行爲\(\alpha_2\) ,也就是斷定爲 \(\omega_2\)

  • 還能夠寫成似然比的形式:

若是\(\frac{p(x|\omega_1)}{p(x|\omega_2)}<\frac{(\lambda_{22}-\lambda_{12})}{(\lambda_{11}-\lambda_{21})}\frac{P(\omega_2)}{P(\omega_1)}\) ,採起行爲\(\alpha_1\) ,也就是斷定爲 \(\omega_1\);不然採起行爲\(\alpha_2\) ,也就是斷定爲 \(\omega_2\)

這樣寫的好處是,不等式右邊的損失函數和先驗機率都是給定的,是一個常數,左邊就是似然機率之比,因此只須要算出似然機率之比就能夠進行分類預測

  • 另外,若是採用以下0-1損失函數的時候,最小風險貝葉斯決策就會退化成最小錯誤率貝葉斯決策
\(\lambda(\alpha_i\vert\omega_j)\) \(\omega_1\) \(\omega_2\)
\(\alpha_1\) 0 1
\(\alpha_2\) 1 0

\[R(\alpha_1|x)=\lambda(\alpha_1|\omega_1)P(\omega_1|x)+\lambda(\alpha_1|\omega_2)P(\omega_2|x)=P(\omega_2|x)\\ R(\alpha_2|x)=\lambda(\alpha_2|\omega_1)P(\omega_1|x) + \lambda(\alpha_2|\omega_2)P(\omega_2|x)=P(\omega_1|x) \]

  • 若是是多類狀況

\[R(\alpha_i|x)=\sum^c_{j=1}\lambda(\alpha_i|\omega_j)P(\omega_j|x) \]

決策行爲\(\alpha^*=argminR(\alpha_i|x)\) ,也就是採起的行爲\(\alpha_i\) 是使得風險\(R(\alpha_i|x)\) 最小的那個\(\alpha_i\)

相關文章
相關標籤/搜索