判別模型和生成模型的區別
什麼是判別模型(Discriminative Model)和生成模型(Generative Model)? 一個通俗易懂的解釋判別模型和生成模型可以點選這裡檢視,這裡我摘錄如下:
Let's say you have input data x and you want to classify the data into labels y. A generative model(生成模型) learns the joint probability distribution(聯合概率分佈) p(x,y) and adiscriminative
model(判別模型) learns the conditional probability distribution(條件概率分佈) p(y|x)
關於生成模型和判別模型,我發現的另外一個解釋我摘錄如下,原文點選這裡:
判別模型Discriminative Model,又可以稱為條件模型,或條件概率模型。估計的是條件概率分佈(conditional distribution), p(class|context)。
生成模型Generative Model,又叫產生式模型。估計的是聯合概率分佈(joint probability distribution),p(class, context)=p(class|context)*p(context)。
另外對於生成模型和判別模型,總結如下:
1.生成模型和判別模型的定義
記o為觀察序列,s為狀態序列。對o和s進行統計建模,通常有兩種方式:
(1) 生成模型 (又叫產生模型): 構建o和s的聯合分佈p(s,o)
(2) 判別模型 (又叫條件概率模型, 也叫條件模型): 構建o和s的條件分佈p(s|o)
2.判別模型和生成模型的對比
(1) 訓練時,二者優化準則不同:生成模型優化訓練資料的聯合分佈概率,而判別模型優化訓練資料的條件分佈概率。從這裡可以看出,判別模型與序列標記問題有較好的對應性。
(2) 對於觀察序列的處理不同:生成模型中,觀察序列作為模型的一部分,而判別模型中,觀察序列只作為條件,因此可以針對觀察序列設計靈活的特徵。
(3) 訓練複雜度不同:由於需要歸一化,判別模型訓練複雜度較高。
(4) 是否支援無指導訓練:生成模型支援無指導訓練,而判別模型不支援。
3. 二者的本質區別是:判別模型(discriminative model )估計的是條件概率分佈(conditional distribution)p(class|context),而生成模型(generative model) 估計的是聯合概率分佈(joint probability distribution)
通常來講,(該部分援引自這裡)常見的生成模型(Generative Model)主要有:
– Gaussians, Naive Bayes, Mixtures of multinomials
– Mixtures of Gaussians, Mixtures of experts, HMMs
– Sigmoidal belief networks, Bayesian networks
– Markov random fields
常見的Discriminative Model主要有:
– logistic regression
– SVMs
– traditional neural networks
– Nearest neighbor