標籤:

Gaussian Discriminant Analysis

本文將介紹第一個generative learning algorithm,稱為Gaussian Discriminant Analysis(GDA 高斯判別演算法),很有趣的是演算法是generative learning algorithm,卻叫discriminant analysis。

在該模型中,我們假定是多變數正態分布,在討論GDA模型之前,我們先討論下多變數正態分布的性質.

1. 多變數正態分布

n維多變數正態分布,也稱為多變數高斯分布,參數包括:

  1. mean vector mu in R^{n}
  2. covariance matrix Sigma in R^{n 	imes n} 協方差矩陣

其中 Sigma ge 0 ,是對稱並且半正定矩陣,多變數高斯分布可以寫為: x sim N(u,Sigma) ,密度函數為

p(x;mu,Sigma)=frac{1}{(2pi)^{n/2}|Sigma|^{1/2}}exp(-frac{1}{2}(x-mu)^{T}Sigma^{-1}(x-mu))

對於一個任意的變數X分布為 N(u,Sigma) ,其平均值為: E[X]=int_{x}^{}xp(x;mu,Sigma)dx=mu

一個vector-valued 任意變數Z的協方差定義為: Cov(Z)=E[(Z-E[Z])(Z-E[Z]^{T})]

協方差也可以寫為: Cov(Z)=E[ZZ^{T}]-({E[Z]})({E[Z]})^{T}

如果 X sim N(u,Sigma) ,那麼 Cov(X)=Sigma

下圖1給出了一些高斯分布的例子,其中

  1. 最左邊的是 mu=[0,0],Sigma=I ,這樣的高斯分布稱為標準正態分布
  2. 中間的是 mu=[0,0],Sigma=0.6I ,可以看出協方差更小就更加陡峭
  3. 最右邊是 mu=[0,0],Sigma=2I ,可以看出協方差更大,高斯分布變得更加扁平

圖1 高斯分布示意圖

我們在看一些額外的例子

圖2 高斯分布示意圖

其中 mu=[0,0] ,而協方差矩陣如下所示

圖2中

  1. 最左邊是標準正態分布
  2. 當我們增加協方差矩陣中的非對角線元素,密度會沿著 45^{o} 壓縮,增加越多,壓縮的更加明顯

同樣我們可以給出當非獨角仙元素減小時,密度會如何變化

其中協方差矩陣分別為

2. GDA模型

當我們遇到一個分類問題,其中輸入特徵 x 是連續的,就可以採用GDA模型。GDA模型採用多變數正態分布對 p(x|y) 進行建模,模型如下:

ysim Bernoulli(phi)

x|y=0 sim N(mu_{0},Sigma)

x|y=1 sim N(mu_{1},Sigma)

將分布用密度函數表示即可得到:

p(y)=phi^{y}(1-phi)^{1-y}

p(x|y=0)=frac{1}{(2pi)^{n/2}|Sigma|^{1/2}}exp(-frac{1}{2}(x-mu_{0})^{T}Sigma^{-1}(x-mu_{0}))

p(x|y=1)=frac{1}{(2pi)^{n/2}|Sigma|^{1/2}}exp(-frac{1}{2}(x-mu_{1})^{T}Sigma^{-1}(x-mu_{1}))

所有數據下的log-likelihood是:

l(phi, mu_{0},mu_{1},Sigma)=logprod_{i=1}^{m}p(x^{(i)},y^{(i)};phi, mu_{0},mu_{1},Sigma)=logprod_{i=1}^{m}p(x^{(i)}|y^{(i)}; mu_{0},mu_{1},Sigma)p(y^{(i)};phi)

通過最大化 l 我們發現參數的最大似然估計是:

tuzho

這個可以採用 frac{partial l}{partial phi}=0 的方法來進行計算,並不難,這裡就略過

GDA模型給出來的結果可以看作如圖所示,圖中給出了訓練集和兩個高斯分布的輪廓。圖中給出了確定邊界的直線,在直線上 p(y=1|x)=0.5 ,在另一邊 y=1 是最可能的輸出,在另一邊預測 y=0

3. 討論:GDA VS 邏輯回歸

GDA與邏輯回歸之間有一個有趣的關係,如果將 p(y=1|x;phi, mu_{0},mu_{1},Sigma) 看作 x 的函數,那麼就可以寫作以下形式 p(y=1|x;phi, mu_{0},mu_{1},Sigma)=frac{1}{1+exp(-	heta^{T}x)} ,其中 	hetaphi, mu_{0},mu_{1},Sigma 組成的函數,這與邏輯回歸的形式完全相同

GDA和logistic regression在相同的訓練集上會給出不同的邊界,哪個結果更好?

我們說明了如果 p(x|y) 是多變數高斯分布,那麼 p(y|x)就可以寫為邏輯函數。但是反過來並不成立。這意味著GDA對數據的建模假設比邏輯回歸更強烈。這意味著當建模假設成立的時候,GDA會更好的擬合數據是 一個更好的模型。當 p(x|y) 符合高斯分布時,GDA是漸進有效(asymptotically efficient), 非正式地說,當訓練集數目很大時,沒有模型能顯著地比GDA更好。

想對而言,通過構造更弱的假設,邏輯回歸的魯棒性更強並且對錯誤的建模假設更不敏感。有很多不同的假設會導致 p(y|x) 符合邏輯回歸的形式,例如 x|y=0sim Poisson(lambda_{0}),x|y=1sim Poisson(lambda_{1}) 會導致 p(y|x) 是邏輯回歸形式。邏輯回歸在泊松分布的數據上也可以work,但是如果採用GDA在這樣的數據上,那麼結果就可能很差。

因此我們總結如下:

  1. GDA構造了更強的建模假設並且當建模假設成立的時候is more data efficient(也就是需要更少的訓練數據來學習很好的效果)
  2. Logistic regression構造了較弱的建模假設,魯棒性更強,當數據並不符合高斯分布的時候,在一定的數據量下,邏輯回歸比GDA更好。因此在實踐中,邏輯回歸比GDA應用更加廣泛。

推薦閱讀:

Learning Explanatory Rules from Noisy Data 閱讀筆記1
AutoML——降低機器學習門檻的利器
如何理解機器學習?
記第一次參加的數據挖掘比賽

TAG:機器學習 |