生成式模型VS判別式模型淺析
這兩天在學習隱馬爾可夫鏈模型(HMM)和條件隨機場模型(CRF),在學習完CRF後,我發現線性鏈CRF好像和HMM差不多嘛,兩者有什麼區別呢?
查閱資料後發現兩者差異有很多,其中有一個區別是:HMM屬於生成式模型(Generative Model),而CRF屬於判別式模型(Discrimitive Model)。
今天總結一下這兩個模型之間的區別。
假設我們已有訓練數據(X,Y),X是屬性集合,Y是類別標記。這時來了一個新的樣本 ,我們想要預測它的類別 。
我們最終的目的是要求得最大的條件概率 作為新樣本的分類。
1.判別式模型這麼做:
我們根據訓練數據得到分類函數和分界面,比如說根據SVM模型得到了一個分界面,然後直接計算條件概率 ,我們將最大的 作為新樣本的分類。判別式模型不能反映訓練數據本身的特性,能力有限,其只能告訴我們分類的類別。
2.生成式模型這麼做
一般我們對每一個類建立一個模型,有多少個類別,我們就建立多少個模型。比方說類別標籤有{貓,狗,豬},那首先根據貓的特徵學習出一個貓的模型,再根據狗的特徵學習出狗的模型,之後分別計算新測試樣本 跟三個類別的聯合概率 ,然後根據貝葉斯公式:
分別計算 ,選擇三類中最大的 作為樣本的分類。
我們發現,不管是生成式模型還是判別式模型,它們最終的判斷依據都是條件概率 ,但是生成式模型先計算了聯合概率 ,再由貝葉斯公式計算得到條件概率。生成式模型可以體現更多數據本身的分布信息,其普適性更廣。
最後,兩者的聯繫是:由生成式模型可以得到判別式模型,但由判別式模型不能得到生成式模型。
以上就是生成式模型和判別式模型的一些區別,希望能給大家一些幫助。
下面是兩篇博客的鏈接,作為補充:
http://blog.csdn.net/wolenski/article/details/7985426
http://www.leexiang.com/discriminative-model-and-generative-model
推薦閱讀:
TAG:機器學習 | 深度學習DeepLearning |