高斯判別分析模型


對於常見的分類算法,經常用到的都是判別學習算法,如 logistic二元分類器,還有softmax分類器等。它們都有一個共同的特點,那就是我們直接去求 p(y|x; θ), 有時候也表示為 hθ(x),這類方法的重點是去擬合參數θ。

還有一種算法:生成學習算法。它的中心思想是直接去求p(y|x; θ)很難,然后轉而去求 p(x|y) 與p(y ), 然后利用貝葉斯公式得到:p(y|x) = p(x|y) * p(y )/ p(x)。

 

 

下面介紹生成學習算法中的高斯判別分析:

它是核心假設為:p(x|y)服從高斯分布。這個假設的含義就是指在給定某一類別下,所屬類別的所有樣本的分布為高斯分布。這個假設在大多數情況下是成立的。

image

下面以兩分類(伯努利分布)來說明一個高斯判別分析:

當我們求p(y|x)時, 我們利用葉斯公式:

image

對於分類問題,我們不用關心p(x),因為我們求的是所屬類 Y 的概率大小啊,所以我們只關心分子就可以啦,即:

image

如果我們非得想求出p(x)也可以,利用全概率公式就可以求出來了,即 p(x) = p(x|y = 1)p(y = 1) + p(x|y = 0)p(y = 0)。

下面呢,讓我們看一下各自的分布情況哈:

由於 y服從伯努利分布,而p(x|y)服從的為高斯分布,所以呢,可以寫作:

image

注意:雖然類別分別為0與1,但是我們用了相同的協方差矩陣。當然也可以用不相同的協方差矩陣。

然后呢,對於一個訓練樣本集合來說,我們可以寫出它的擬然函數來,如下所示為log形式的擬然函數:

image

為使似然函數得到最大值,對參數求使層數為 0,我們得到對應的參數的值:

image

到現在為止,我們就得到了高斯判別分析模型了,它可以用於分類的哦,分類時,我們的核心假設為對於每類中的樣本分布呈現高斯分布。

我們來看一個直觀的的例子,下圖為二維的情況下的圖哈,變量x 為二維的。

image

 

 

 

高斯判別分析模型與logistic模型的關系:

在兩分類上,我們也可以用logistic模型進行分類(它屬於判別學習算法),我們看看高斯判別模型與logistic回歸模型的關系哈,先看個圖:

image

說明了什么呢?

其實 上圖中的losgtic回歸網線就是p(y=1|x) = p(x |y=1)p(y=1) / p(x)的曲線。 兩個高斯分布交界的地方就是logistic曲線等於0.5的地方, 因為在這一點 p(y = 0) 與 p(y =1)的概率相同。

當p(x |y )服從高斯分布時,我們可以推出logistic回歸,但是呢反推是不成立的。 所以呢, 當p(x |y)真的服從高斯分布時,我們用高斯判別分析比logistic模型更好。

總之呢,高斯判別作出了更強的假設,需要少的數據,並且大大部分的情況下結果很好的,而logistic回歸模型通常更加泛化。

 

 

 

參考:ufldl 教程;


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM