機器學習小問題 -- 生成式模型與判別式模型
本篇博文總結最近學習到的生成式模型與判別式模型的知識。
1. 簡介
就像之前在總結分類和聚類時說的一樣,機器學習基本在做的事情就是在分類、打標籤,我們的模型也就像一個個分類機器(個人看法,歡迎指正)。而這麼多的模型,可以分為兩類:生成式模型與判別式模型。
對於一個分類器,當我們丟進去 x 以後,那麼我們到底該如何決定它該分到哪一個標籤呢,也就是它丟擲的 y 會是多少呢?很自然地,我們會想到使條件概率 p(y|x) 最大的 y 是我們的理想值。說到這裡,我們就可以接著簡單介紹生成式模型和判別式模型了
判別式模型:按名字,並不嚴謹地,我們可以理解為它直接判別 y 到底應該為多少。它直接對後驗概率 p(y|x
) 建模,然後求使得 p(y|x) 最大的 y,從而得到 y 的估計值。
生成式模型:按名字,同樣並不嚴謹地,我們可以理解為它是‘生成’一個分佈。因為他是對聯合分佈 p(x,y) 進行建模處理的。那麼生成式模型如何判別到底 y 為多少呢?它是通過對 p(x,y) 運用貝葉斯公式得到 p(y|x) ,然後再求使得 p(y|x) 最大的 y ,從而得到 y 的估計值。具體的公式為:
從上面的介紹也可以發現,從生成式模型可以推出判別式模型,但從判別式模型卻不能推出生成式模型(二者聯絡)。
也有這麼說二者的:判別式模型只形成一個模型,輸入 x ,就根據 p(y|x) 的值返回標籤;生成式模型則同時形成多個模型,一個類別形成一個模型,然後再每個模型中計算 p(y|x
2. 常見的生成式模型與判別式模型
生成式模型 | 判別式模型 |
---|---|
1.判別式分析 2.樸素貝葉斯 3.K近鄰(KNN) 4.混合高斯模型 5.隱馬爾科夫模型(HMM) 6.貝葉斯網路 7.Sigmoid Belief Networks 8.馬爾科夫隨機場(Markov Random Fields) 9.深度信念網路(DBN) |
1.線性迴歸(Linear Regression) 2.邏輯斯蒂迴歸(Logistic Regression) 3.神經網路(NN) 4.支援向量機(SVM) 5.高斯過程(Gaussian Process) 6.條件隨機場(CRF) 7.CART(Classification and Regression Tree) |
3. 生成式模型與判別式模型的比較
優點 | 缺點 | |
---|---|---|
生成式模型 |
|
|
判別式模型 |
|
|
參考連結: