機器學習-生成學習算法

本講大綱:

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的機率爲:這裏寫圖片描述orm

2.高斯判別分析

GDA是咱們要學習的第一個生成學習算法.圖片

GDA的兩個假設:get

  • 假設輸入特徵x∈Rn,而且是連續值;
  • p(x|y)是多維正態分佈(multivariate normal distribution);

2.1 多維正態分佈
若x服從多維正態分佈(也叫多維高斯分佈),均值向量(mean vector)這裏寫圖片描述,協方差矩陣(convariance matrix)這裏寫圖片描述,寫成x~這裏寫圖片描述, 其密度函數爲:
這裏寫圖片描述
這裏寫圖片描述表示行列式(determinant).it

均值:這裏寫圖片描述
協方差Cov(Z)=這裏寫圖片描述=這裏寫圖片描述 = ∑io

高斯分佈的一些例子:
這裏寫圖片描述
左圖均值爲零(2*1的零向量),協方差矩陣爲單位矩陣I(2*2)(成爲標準正態分佈).
中圖協方差矩陣爲0.6I,
右圖協方差矩陣爲2I

這裏寫圖片描述
均值爲0,方差分別爲:
這裏寫圖片描述

2.2 高斯判別分析模型
這裏寫圖片描述
寫出機率分佈:
這裏寫圖片描述

模型的參數爲φ,μ0,μ1,∑,對數似然性爲:
這裏寫圖片描述

求出最大似然估計爲:
這裏寫圖片描述

結果如圖所示:
這裏寫圖片描述

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是不科學的.

4.laplace平滑

爲了不樸素貝葉斯的上述問題,咱們用laplace平滑來優化這個問題.
這裏寫圖片描述

回到樸素貝葉斯問題,經過laplace平滑:
這裏寫圖片描述

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

相關文章
相關標籤/搜索