【機器學習】:判別式模型與生成式模型

目錄

問題引出

基本概念

舉個例子

優缺點

模型實例

參考文獻


 

問題引出

來源:牛客網

以下幾種模型方法屬於判別式模型(Discriminative Model)的有()

1)混合高斯模型

2)條件隨機場模型

3)區分度訓練

4)隱馬爾科夫模型

 

基本概念

監督學習的任務是學習一個模型,應用這個模型對給定的輸入預測相應的輸出。

監督學習又分爲生成方法(generative approach)和判別方法(discriminative approach),所學到的模型成爲生成模型(generative model)和判別模型(discriminative model)。

 

生成模型估計的是聯合概率分佈,然後求出條件概率分佈P(Y|X)作爲預測的模型,即生成模型:P(Y|X)= P(X,Y)/ P(X)。

生成方法關心的是給定輸入x產生輸出y的生成關係。

判別模型估計的是條件概率分佈,有數據直接學得決策函數P(X)或者條件概率分佈P(Y|X)作爲預測的模型。

判別式方法關心的是給定輸入X,應該預測什麼樣的輸出Y

 

舉個例子

(來自參考文獻3)

比如說要確定一隻羊是山羊還是綿羊,

生成模型的方法是我們可以根據山羊的特徵首先學習出一個山羊模型,然後根據綿羊的特徵學習出一個綿羊模型。然後從這隻羊中提取特徵,放到山羊模型P(w1|X)中看概率是多少,再放到綿羊模型P(w2|X)中看概率是多少,若P(w1|X)>P(w2|X),那麼我們就認爲X是屬於w1類,即該羊屬於山羊。

判別模型的方法是先從歷史數據中學習到模型,然後通過提取這隻羊的特徵x來預測出這隻羊f(X)是山羊的概率,是綿羊的概率。

優缺點

生成方法

優點:

1、可以還原聯合分佈率(判別式模型不可以)

2、學習的收斂速度,即:當樣本容量增加的時候,學到的模型可以更快地收斂於真實模型

3、可以應付存在隱變量的情況,比如混合高斯模型就是含有隱變量的生成方法。

 

缺點:

1、浪費計算資源。聯合分佈是能提供更多的信息,但也需要更多的樣本和更多計算,尤其是爲了更準確估計類別條件分佈,需要增加樣本的數目,而且類別條件概率的許多信息是我們做分類用不到,因而如果我們只需要做分類任務,就浪費了計算資源。

2、實踐中多數情況下判別模型效果更好

 

判別方法

優點:

1、節約了計算資源,相比較於生成模型而言

2、直接學習條件概率或者決策函數,直接面對預測往往學習效率更高

3、直接學習可以對數據進行各種程度上的的抽象、定義特徵並使用特徵,因此可以簡化學習問題

缺點:

對應生成模型的優點

 

兩者的聯繫和區別

1、由生成模型可以得到判別模型,但由判別模型得不到生成模型。

2、當存在隱變量(當我們找不到引起某一現象的原因的時候,我們就把這個在起作用,但是,無法確定的因素,叫“隱變量”) 時,仍可以利用生成方法學習,此時判別方法不能用。
 

 

模型實例

生成式模型有:
1. 判別式分析
2. 樸素貝葉斯Native Bayes
3. 混合高斯型Gaussians
4. 隱馬爾科夫模型HMM
5. 貝葉斯網絡
6. sigmoid belief networks
7. 馬爾科夫隨機場Markov random fields
8. 深度信念網絡DBN
9. 隱含狄利克雷分佈簡稱LDA(Latent Dirichlet allocation)
10. 多專家模型(the mixture of experts model)


判別式模型有:
1. 感知機
2. 決策樹
3. 邏輯迴歸logic regression
4. K近鄰 KNN
5. 最大熵模型
6. 支持向量機SVM
7. 提升方法Boosting
8. 神經網絡NN
9. 高斯過程Gaussian process
10. 條件隨機場CRF
11. CART(Classification and regression tree)

 

參考文獻

1.統計學習方法(李航)

2.牛客‘chen尾巴’的答案

3.機器學習---生成模型與判別模型

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章