1. 程式人生 > >斯坦福機器學習: 網易公開課系列筆記(五)——高斯判別分析、樸素貝葉斯

斯坦福機器學習: 網易公開課系列筆記(五)——高斯判別分析、樸素貝葉斯

高斯判別分析(Gaussian discriminant analysis)

判別模型和生成模型

      前面我們介紹了Logistic迴歸,通過學習hΘ(x)來對資料的分類進行預測:給定一個特徵向量x→輸出分類y∈{0,1}。這類通過直接學習分類決策函式 hΘ(x)或者直接對後驗概率分佈P(y|x)進行建模的學習方法稱為判別方法,得到的模型稱為判別模型。如果是直接對P(x|y)進行建模(有時還需要對P(y)進行建模),即通過樣本資料,分析在已知類別y的情況下x具有某些特徵的概率,稱為生成方法,學習到的模型稱為生成模型,然後使用P(x|y)通過貝葉斯公式求得argmaxP(y|x)=P(x|y)P(y)/P(x)進行預測。

多元高斯分佈

      如題,高斯判別分析即是一個生成模型。之前我們都接觸過一元正態分佈,在介紹高斯判別分析之前,我們這裡先介紹下多元正態分佈:

這裡寫圖片描述

      這裡展示幾個均值為0,Σ取不同值的高斯分佈的影象便於直觀上的理解:

這裡寫圖片描述
這裡寫圖片描述

      按行數,Σ(2*2)的取值依次為I,0.6I,2I;I,主對角線為1副對角線為0.5,主對角線為1副對角線為0.8。可以看到,主對角線的元素控制整個分佈的“高低”,副對角線的元素控制整個分佈的“扁圓”,當副對角線元素取負值時,將沿著與影象上對稱的方向進行壓縮。均值則控制分佈在水平面的整體位置。

GDA模型

      高斯判別分析

就是基於多元高斯分佈對P(x|y)進行建模的,同樣以二分類問題來說明:

GDA

      我們對每個引數求導,令導數為0:


對μ1的求法同μ0


      引數求解完畢,接下來我們就要使用模型進行預測,即求解:

      至此,便是高斯判別模型的整個執行流程,直觀上理解:

      我們根據兩類資料建立了兩個高斯分佈,兩者在概率閾值的交線成為分類的判別線,在圖中,分類線的右上為正類,左下為負類。

      其實,如果我們假設x|y服從高斯分佈,則後驗概率y=1|x滿足邏輯斯蒂迴歸。在實際應用中,如果我們不知道資料服從什麼分佈,那麼選用邏輯斯蒂迴歸

一般總會有較好的效果。
      個人感覺,如果將P(y)由Bernoulli分佈改為多項式分佈,建立多個高斯分佈也可以用於多分類問題的處理上。

樸素貝葉斯(Naive Bayes)

      在垃圾郵件分類器中,我們假設根據某個單詞是否出現來判斷其是否屬於垃圾郵件,假設我們的詞庫共有10000個單詞,則每一封待判定郵件組成一個10000維的特徵向量,每個分量對應於該單詞是否出現:出現為1,不出現為0(這種特徵向量的定義方式說明每個xi是否出現的概率服從Bernoulli分佈)。輸出y∈{0,1},y=1時判定該郵件為垃圾郵件,y=0時判定為正常郵件。
      我們假設xi條件獨立的(在y給定的情況下,xi相互獨立)。直觀理解就是一封郵件某個單詞是否出現不會影響其他單詞出現的概率。用概率公式表述如下:


PS:前面我們說過,下標表示向量的某個分量,帶括號的上標表示某個樣本

      我們定義:
            1)某個郵件是垃圾郵件的**先驗概率**P(y=1)=ϕy
            2)垃圾郵件中某個單詞出現的概率P(xi=1|y=1)=ϕi|y=1
            3)正常郵件中某個單詞出現的概率P(xi=1|y=0)=ϕi|y=0

      同樣,寫出其聯合分佈概率對數似然性函式:

Na.Bayes似然函式

      對各個引數求導,令導數為0,解出模型引數:

PS:之前推錯了,在此更正!!!!

      ϕi|y=0解法同上。
      Na.Bayes的執行方式同高斯判別分析。都是求使後驗概率最大的y即是預測樣本的分類。

      同理,將特徵向量的每個分量的取值擴充套件為{1,2,…,k},運用多項式分佈也可以用來處理多分類問題。

Laplace平滑

      我們使用上述方法生成的模型進行垃圾郵件處理時,會有一個問題:如果我們的詞典用的某個單詞在所有的樣本中都沒有出現過,那麼當我們第一次碰到這個單詞的時候,帶入上述的後驗概率計算公式時會發現,分子和分母都為0!
      為了避免這種情況的發生,我們在計算公式的分子和分母個各新增一項來避免這個問題,這種處理方式稱為Laplace平滑

Laplace

相關推薦

no