第五課 生成學習算法

本講大綱:

1.生成學習算法(Generative learning algorithm)
2.高斯判別分析(GDA,Gaussian Discriminant Analysis)
3.樸素貝葉斯(Naive Bayes)
4.拉普拉斯平滑(Laplace smoothing)

1.生成學習算法

判別學習算法(discriminative learning algorithm):直接學習p(y|x)(比如說logistic回歸)或者說是從輸入直接映射到{0,1}.
生成學習算法(generative learning algorithm):p(x|y)(和p(y))進行建模.
簡單的來說,判別學習算法的模型是通過一條分隔線把兩種類別區分開,而生成學習算法是對兩種可能的結果分別進行建模,然后分別和輸入進行比對,計算出相應的概率。
比如說良性腫瘤和惡性腫瘤的問題,對良性腫瘤建立model1(y=0),對惡性腫瘤建立model2(y=1),p(x|y=0)表示是良性腫瘤的概率,p(x|y=1)表示是惡性腫瘤的概率.
根據貝葉斯公式(Bayes rule)推導出y在給定x的概率為:

</br>

2.高斯判別分析 GDA

GDA是我們要學習的第一個生成學習算法.
GDA的兩個假設:
假設輸入特征x∈Rn,并且是連續值;
p(x|y)是多維正態分布(multivariate normal distribution);

2.1 多維正態分布
若x服從多維正態分布(也叫多維高斯分布),均值向量(mean vector)

,協方差矩陣(convariance matrix)#,寫成x~
, 其密度函數為:
表示行列式(determinant).
均值:
協方差Cov(Z)=
=
= ∑
高斯分布的一些例子:

左圖均值為零(21的零向量),協方差矩陣為單位矩陣I(22)(成為標準正態分布). 中圖協方差矩陣為0.6I, 右圖協方差矩陣為2I
均值為0,方差分別為(趨于扁平):

2.2 高斯判別分析模型

寫出概率分布:

模型的參數為φ,μ0,μ1,∑,
求出最大似然估計為:

結果如圖所示:

注:這張圖很好地描述了GDA的過程:上面的小點就是訓練樣本,我們會對正樣本(圖中的x樣本)擬合出一個高斯分布,這個高斯分布表示了 p(x|y=1)。之后再觀察負樣本(圖中的o樣本),擬合出一個高斯分布,這個高斯分布表示了 p(x|y=0)。然后這兩個高斯分布的密度函數可以定義出兩個類別的分隔器。這個分隔器比邏輯回歸得到的直線要更復雜一些。

1.3 討論GDA和logistic回歸
GDA模型和logistic回歸有一個很有意思的關系. 如果把

這里寫圖片描述
看做是x的函數,則有:
這里寫圖片描述
其中
這里寫圖片描述
這里寫圖片描述
的函數,這正是logistic回歸的形式.

關于模型的選擇: 剛才說到如果p(x|y)是一個多維的高斯分布,那么p(y|x)必然能推出一個logistic函數;反之則不正確,p(y|x)是一個logistic函數并不能推出p(x|y)服從高斯分布.這說明GDA比logistic回歸做了更強的模型假設.
如果p(x|y)真的服從或者趨近于服從高斯分布,則GDA比logistic回歸效率高.
當訓練樣本很大時,嚴格意義上來說并沒有比GDA更好的算法(不管預測的多么精確).
事實證明即使樣本數量很小,GDA相對logisic都是一個更好的算法.

但是,logistic回歸做了更弱的假設,相對于不正確的模型假設,具有更好的魯棒性(robust).許多不同的假設能夠推出logistic函數的形式. 比如說,如果#

那么p(y|x)是logistic. logstic回歸在這種類型的Poisson數據中性能很好. 但是如果我們使用GDA模型,把高斯分布應用于并不是高斯數據中,結果是不好預測的,GDA就不是很好了.

3.樸素貝葉斯

在GDA模型中,特征向量x是連續的實數向量.如果x是離散值,我們需要另一種學習算法了.
例子:垃圾郵件分類問題 首先是把一封郵件作為輸入特征,與已有的詞典進行比對,如果出現了該詞,則把向量的xi=1,否則xi=0,例如:


我們要對p(x|y)建模,但是假設我們的詞典有50000個詞,那么
,如果采用多項式建模的方式,會有
,明顯參數太多了,這個方法是行不通的.
為了對p(x|y)建模,我們做一個很強的假設,假設給定y,xi是條件獨立(conditionally independent)的.這個假設成為樸素貝葉斯假設(Naive Bayes assumption).
因此有:
條件獨立

意思就是比如垃圾郵件分類,一些詞的出現與否并不影響你對另一些詞出現與否的判斷。雖然說樸素貝葉斯假設是很強的(因為實際上是有影響的),但是其實這個算法在很多問題都工作的很好.

模型參數包括:

這里寫圖片描述
這里寫圖片描述

聯合似然性(joint likelihood)為:
這里寫圖片描述
得到最大似然估計值:
這里寫圖片描述

很容易計算:
這里寫圖片描述

樸素貝葉斯的問題: 假設在一封郵件中出現了一個以前郵件從來沒有出現的詞,在詞典的位置是35000,那么得出的最大似然估計為:
這里寫圖片描述
也即使說,在訓練樣本的垃圾郵件和非垃圾郵件中都沒有見過的詞,模型認為這個詞在任何一封郵件出現的概率為0. 假設說這封郵件是垃圾郵件的概率比較高,那么 模型失靈.
在統計上來說,在你有限的訓練集中沒有見過就認為概率是0是不科學的.

</br>

4.laplace平滑

為了避免樸素貝葉斯的上述問題,我們用laplace平滑來優化這個問題.

回到樸素貝葉斯問題,通過laplace平滑:

分子加1,分母加1就把分母為零的問題解決了.

</br>

擴展

1. 生成模型和判別模型的區別

有監督機器學習方法可以分為生成方法和判別方法

  • 常見的生成方法有混合高斯模型、樸素貝葉斯法和隱形馬爾科夫模型等
  • 常見的判別方法有SVM、LR等)

需要估計joint distribution的是generative model, 直接估計conditional distribution的是discriminative model。GMM 是一個典型的generative model, 它估計的是不同feature的聯合分布。

生成方法學習出的是生成模型,判別方法學習出的是判別模型。

判別模型

  • 求解的思路是:
    條件分布------>模型參數后驗概率最大------->(似然函數參數先驗)最大------->最大似然

  • 優點
    1)與生成模型缺點對應,首先是節省計算資源,另外,需要的樣本數量也少于生成模型。
    2)準確率往往較生成模型高。

    3)由于直接學習
    P(\tilde{c}|\tilde{x} )
    P(\tilde{c}|\tilde{x} )
    ,而不需要求解類別條件概率,所以允許我們對輸入進行抽象(比如降維、構造等),從而能夠簡化學習問題。
  • 缺點
    沒有生成模型的上述優點。

生成模型

  • 求解思路是:
    以樸素貝葉斯為例,聯合分布------->求解類別先驗概率和類別條件概率

  • 優點

  1. 生成給出的是聯合分布,不僅能夠由聯合分布計算條件分布(反之則不行),還可以給出其他信息,比如可以使用P(x)=求和(P(x|ci)) 來計算邊緣分布P(x)。如果一個輸入樣本的邊緣分布P(x)很小的話,那么可以認為學習出的這個模型可能不太適合對這個樣本進行分類,分類效果可能會不好,這也是所謂的outlier detection。
    2)生成模型收斂速度比較快,即當樣本數量較多時,生成模型能更快地收斂于真實模型。
    3)生成模型能夠應付存在隱變量的情況,比如混合高斯模型就是含有隱變量的生成方法。
  • 缺點
    1)聯合分布是能提供更多的信息,但也需要更多的樣本和更多計算,尤其是為了更準確估計類別條件分布,需要增加樣本的數目,而且類別條件概率的許多信息是我們做分類用不到,因而如果我們只需要做分類任務,就浪費了計算資源。
    2)另外,實踐中多數情況下判別模型效果更好。
    3)對數據分布做出的假設要求更強,魯棒性較差。
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 229,908評論 6 541
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 99,324評論 3 429
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 178,018評論 0 383
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,675評論 1 317
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 72,417評論 6 412
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,783評論 1 329
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,779評論 3 446
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,960評論 0 290
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 49,522評論 1 335
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 41,267評論 3 358
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,471評論 1 374
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 39,009評論 5 363
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,698評論 3 348
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 35,099評論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 36,386評論 1 294
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 52,204評論 3 398
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 48,436評論 2 378

推薦閱讀更多精彩內容