標籤:

[貝葉斯七]之正態分布貝葉斯決策

<個人網頁blog已經上線,一大波乾貨即將來襲:faiculty.com/>

/* 版權聲明:公開學習資源,只供線上學習,不可轉載,如需轉載請聯繫本人 .*/


貝葉斯是非常傳統,理論簡單,但是非常有效的一種機器學習方法。經過大量實驗表明,貝葉斯方法是極具魯棒性的。至今為止仍然有很多人在研究貝葉斯的基礎理論,而且發現許多演算法都可以由貝葉斯推導而來,所以貝葉斯是具有極大的研究價值的理論。

這一章節我們就來扯一扯正態分布數據的貝葉斯決策理論,看看我們能搞點什麼事情出來。自己多多推導,沒準能發現新的大陸。許多優秀的演算法,比如SVM等等往往就是這樣誕生的。

這一節因為推導的東西比較多,可能很枯燥。所以先搞個大綱出來,看看我們接下來要搞點什麼事情。

  • 正態分布
    • 單變數正態分布
    • 多變數正態分布
    • 正態分布的特點
  • 貝葉斯分類器設計
    • 理論推導
    • 簡化case1:最小歐式距離
    • 簡化case2:馬氏距離
    • General

主要就是這樣一個構架了,談正態分布的貝葉斯決策,顯然我們得談談正態分布,然後由此出發,我們從最簡單的case(增加各種假設條件,得到一個最簡單的模型),然後依次General。

閑話少說,開始我們的旅程吧。

一、正態分布

這裡不是將概率論,詳情請看我們寫的數學系列教程。這裡我們從需求出發,簡單闡述單變數正態分布、多變數正態分布,最重要的是闡述一下正態分布的特點。

1.1 單變數正態分布

首先,搞個熱身運動。下面是最簡單的單變數正態分布。

其中:

  • Pdf(單變數概率密度函數)

p(x) = frac {1}{sqrt{2pi}sigma} e^{{-frac{1}{2}(frac{x-mu}{sigma})^2}}

  • Mean Vector (均值)

mu = E{{x}} = int xp(x)dx

  • Variance(方差)

sigma^2 = E{{(x-u)^2}} = int (x-mu)^2p(x)dx

  • 數學表達式

p(x) ~ N(mu, sigma^2)

1.2 多變數正態分布

  • 多變數pdf表達

p(x)=frac{1}{(2pi)^{1/2}|sum|^{1/2}}exp {{-frac{1}{2}(x-mu)^T{sum}^{-1}(x-mu)}}, quad x in R^l

  • Mean Vector(均值)

mu = E[x] = E[x_1,x_2,.....,x_l]

  • Convariance matrix (協方差矩陣)

egin{align} sum &= E[(x-mu)(x-mu)^T]\ end{align}= egin{bmatrix} sigma_{11}^2 & sigma_{12}^2 & cdots & sigma_{1l}^2\ sigma_{21}^2 & sigma_{22}^2 & cdots & sigma_{2l}^2\ vdots & vdots & ddots & vdots\ sigma_{l1}^2 & sigma_{l2}^2 & cdots & sigma_{ll}^2\ end{bmatrix}

  • 數學表達

p(x) ~ N(mu, Sigma)

1.3 正態分布的特點

  • K個參數(均值和方差)決定L-dim的正態分布

K = l + l  (l+1)/2

  • 超橢球面(super-ellipsoid)上點概率值相等

  • 協方差矩陣的特徵向量決定主軸,而且主軸的長度和協方差矩陣的特徵向量是成比例的。
  • 對於正態分布來說,不相關和獨立是相等的
  • 如果x是獨立的,那麼協方差矩陣是對角矩陣

二、貝葉斯分類器設計

這一小節的目的是:在輸入x是正態分布的前提下(假設輸入的變數是服從正態分布的),設計一個最小誤差MPE貝葉斯分類器

2.1 理論推導

這裡,我們考慮每個類別數據都是服從正態分布的。同樣的,我們判決函數用ln函數,那麼我們能得到如下的決策函數。

egin{align} g_i(x) &= ln  [p(x|w_i)p(w_i)]\ &= ln  p(x|w_i) + ln  p(w_i) end{align}

然後,因為x是服從正態分布的,由此,我們將x的函數帶入到上式。得到如下式子。

egin{align} g_i(x) &= -frac{1}{2}ln  (2pi) - frac{1}{2}ln  |Sigma_i| - frac{1}{2}(x-mu_i)^TSigma_i^{-1}(x-mu_i) + ln  p(w_i) 	ag 1 end{align}

根據決策面方程(第i類和第j類的分界面):

g_{ij}(x) = g_i(x) - g_j(x) = 0

由此我們可以推導出決策面:

-frac{1}{2}[(x-mu_i)^TSigma_i^{-1}(x-mu_i) - (x-mu_j)^TSigma_j^{-1}(x-mu_j)] - frac{1}{2}ln  frac{|Sigma_i|}{Sigma_j} + ln  frac{p(w_i)}{p(w_j)} = 0

顯然,該方程是一個二次曲面,如下圖所示。

2.2 簡化case1: 最小歐式距離

Step1: 做個假設

我們發現這個方程其實還是很難的,而且雖然每個類別樣本都是服從正態分布,但是正態分布也會因為協方差矩陣不同而千差萬別(就像單變數正態分布,如果方差不一樣,那麼他們之間的胖瘦就不一樣)。不僅如此,多變數正態分布還存在屬性之間的關係等等。所以,這裡為了進一步分析上面的方程,就像樸素貝葉斯一樣,我們也可以做一些強的假設。假設條件如下:

  • 我們假設協方差矩陣元素相等,而且是一個對角陣。即特徵向量之間是相互獨立的,方差相等
  • 因為每個類別的協方差矩陣相等,我們可以忽略決策函數(公式(1))中的第1項和第2項,那麼可以得到一個簡化的判定函數如下。

egin{align} g_i(x) &= - frac{1}{2}(x-mu_i)^TSigma_i^{-1}(x-mu_i) + ln  p(w_i) \ &= -frac{1}{2}x^TSigma^{-1}x + (Sigma^{-1}mu_i)^T  x - frac{1}{2}mu_i^TSigma^{-1}mu_i + ln  p(w_i) end{align} 	ag 2

  • 上式中的第1個二次項與類別無關,因此完全可以忽略。

經過上述簡化過程之後,簡化後的決策函數(公式2)可以接著改寫為如下的式子。

egin{align} g_i(x) = (Sigma^{-1}mu_i)^T x - frac{1}{2}{mu_i}^TSigma^{-1}mu_i + ln  p(w_i) 	ag 3 end{align}

簡化後的決策函數(公式3)過於冗餘,我們可以用一些變數來進行替換,做如下幾個定義。

left{ egin{array}{c} w_i = Sigma^{-1}mu_i \ w_{i0} = frac{1}{2}{mu_i}^TSigma^{-1}mu_i + ln  p(w_i) end{array} 
ight.

由此,我們可以將公式3改寫成如下的式子。

g_i(x) = w_i^Tx + w_{i0} 	ag 4

哇哦~~~~可以說是非常的爽了。數學講究的簡單就是美~!!!不著急。。。還沒完呢,現在我們假設的是類別樣本都是標準的、除了mu不同的正態分布。最終是想知道和mu之間有什麼關係。所以。。。。接著來,我們要把mu給牽出來。

Step2:牽出mu

從上式可以看出,這個判決函數是一個線性函數,所以我們所要得到的決策面是一個超平面(Hyperplane)。

繼續,將Sigma=sigma^2I帶入到公式4,由此我們能得到如下的式子。

g_i(x) = frac{1}{sigma^2}mu_i^Tx + w_i0 	ag 5

接著,同樣的,我們做一些定義(定義有點多,有點繞,但,相信,結果會非常美好的!!)

left{ egin{array}{c} w =mu_i - mu_j\ x_0 = frac{1}{2}(mu_i+mu_j) - sigma^2 ln  left(frac{p(w_i)}{p(w_j)}
ight)frac{mu_i-mu_j}{||mu_i - mu_j||^2} end{array} 
ight.

我們將這個定義帶入上述決策函數(公式5)中,並結合之前的決策面方程,得到如下的表達式。

egin{align} g_{ij}(x) &= g_i(x) - g_j(x)\ &= w^T(x - x_0) end{align} 	ag 6

這個式子可以說是完美了~~~~

Step3: 中場分析

重新溫習一下。。。我們得到了公式6,其中:

  • w = mu_i - mu_j
  •  x_0 只和 mu_i, mu_j, p(w_i), p(w_j) 有關,而這些全是定值,所以x_0顯然是定值。

所以這個式子是完美的。由這個式子,我們能輕而易舉的得到如下的啟示:

  • 決策面是一個超平面(Hyperplane),而且超平面顯然是通過 x_0 這個定點的,而且是垂直於w

這樣真的堪稱完美了吧? 怎麼還是中場分析? 別著急。。。

Step4: 再假設

由上式可以看出,雖然x_0是一個定值,但是一大串,總感覺不舒服。搞個假設,再次弱化這個case。

假設:

  • 如果這兩個類別ij出現的概率是一樣,顯然就是p(w_i) = p(w_j)

這樣就好玩了,我們再寫一下x_0的表達式。

x_0 = frac{1}{2}(mu_i+mu_j) - sigma^2 ln  left(frac{p(w_i)}{p(w_j)}
ight)frac{mu_i-mu_j}{||mu_i - mu_j||^2}

因為p(w_i) = p(w_j),顯然,x_0 = (mu_i = mu_j)/2

我的天啊,,這是什麼玩意。。看看我們的決策面:

egin{align} w^T(x-x0) = 0\ where, w = mu_i - mu_j, x_0 = (mu_i + mu_j)/2 end{align}

我的天啊,這不是最小歐式距離分類器么?

怎麼說呢?我們先將我們的前置、結果展現一下。我們是假設每個類別都是服從正態分布的,然後設計了一個MPE貝葉斯分類器。然後我們假設了類內的元素都是獨立的,然後繼續推導就得到了上述式子。整理這個過程表達式如下。

egin{align} &p(x_i|w_i) - N(mu_i, sigma^2), Sigma_1 = Sigma_2 = sigma^2I, p(w_i) = p(w_j) \ &w^T(x-x0) = 0, where, w = mu_i - mu_j, x_0 = (mu_i + mu_j)/2 end{align}

下面我們仔細分析一下這個結果。我們假設,有2個類別(M = 2),為了方便展示,我們假設特徵空間是2維的(l = 2),那麼我們能得到如下的圖像。

如上圖所示,同心圓可以表示兩個類別。同心圓的中心點就是均值點。為什麼是同心圓?顯然因為我們的特徵空間是2維,如果畫出來,正態分布肯定是一座小山,朝xoy平面投影后就成了上述形式(這裡還有假設元素相互獨立,協方差矩陣元素是相等的,由此更上一層,變成等距同心圓了),可以詳細的看正態分布所簡述的特點。由此,我們可以得到如下啟示。

  • 決策面是一條線(通過了x_0點),而且垂直於兩個類別均值點的連線,也就是我們之前所闡述的w
  • 如果樣本x落在了線的左側,那麼顯然就是屬於類別1。如果落在了線的右側,顯然就是類別2了。
  • 在這樣的case中,x_0顯然是兩個類別均值點連線線段的中點。

思考:上述推導我們做了很多假設條件。現在我們回退一步,之前不是要類別出現的概率相等么?即p(w_i )= p(w_j)。現在我們假設他們不相等會怎麼樣?

讀者可以按照上述推導過程,自己推導一遍,加深對該推導過程的理解。非常interesting。

當然,我們會告訴你結果的。。

color {red}{如上圖所示,如果類別概率不相等,那麼決策面將在兩類別均值連線上移動。}

2.3 簡化case2:馬氏距離推導

2.2小節中,case的假設非常強。現在我們逐步的弱化,假設條件如下。

  • 協方差矩陣不是對角矩陣,但是每個類別的均方差是相等的。

egin{align} &p(x|w_i) - N(mu_i, sigma^2)\ &Sigma_i = Sigma\ &p(w_i) 
eq p(w_j) ,i ,j = 1,2,3, cdots, M end{align}

  • 由此可見類別內樣本形成的都是超橢球形

根據上述case1的推導,我們可以得到如下判決函數:

g_i(x) = -frac{1}{2sigma^2}(x-mu_i)^TSigma^{-1}(x-mu_i)+ln  p(w_i)

不難發現,首項就是一個馬氏距離公式。表示樣本x到類別i均值點的馬氏距離平方。如下式子就是馬氏距離的平方。

d_M^2 = (x-mu_i)^TSigma^{-1}(x-mu_i)

經過上述推導,可以得到如下的表達式。

egin{align} &g_i(x) = g_j(x)\ & Rightarrow w^T(x-x_0), where, w = Sigma^{-1}(mu_i - mu_j),\ &x_0 = frac{1}{2}(mu_i+mu_j) - frac{ln  (p(w_i)/p(w_j))}{(mu_i-mu_j)^TSigma^{-1}(mu_i-mu_j)}(mu_i-mu_j) end{align}

畫圖表示如下,感興趣的推薦自己動手推一遍。

2.4 General

以下是幾個普通化的例子。


推薦閱讀:

「猜你喜歡」—邏輯回歸分類
機器學習數學:梯度下降法
用一個像素攻陷神經網路
關於機器學習、數據科學面試的準備

TAG:機器學習 |