產生式模型(generative model)與判別式模型(discrimitive model)是分類器常遇到的概念,它們的區別在於:
對於輸入x,類別標籤y:
產生式模型估計它們的聯合概率分布p(x,y)
判別式模型估計條件概率分布p(y|x)
產生式模型可以根據貝葉斯公式得到判別式模型,但反過來不行。
andrew ng在nips2023年有一篇專門比較判別模型和產生式模型的文章:
on discrimitive vs. generative classifiers: a comparision of logistic regression and ***** bayes
(判別式模型常見的主要有:
logistic regression
邏輯回歸
svm支援向量機
traditional neural networks
傳統神經網路
nearest neighbor
knn演算法
crf條件隨機場
linear discriminant analysis
線性判別分析
boosting
linear regression
線性回歸
產生式模型常見的主要有:
gaussians
高斯***** bayes
樸素貝葉斯
mixtures of multinomials
多項式的混合物
mixtures of gaussians
混合高斯模型
mixtures of experts
多專家模型
hmms
隱馬爾可夫模型
sigmoidal belief networks, bayesian networks
markov random fields
馬爾可夫隨機場
latent dirichlet allocation
隱狄利克雷分配模型
通俗易懂的解釋:
假設您輸入資料x並且想要將資料分類為標籤y。 生成模型學習聯合概率分布p(x,y),判別模型學習條件概率分布p(y | x) - 你應該把它讀作』給定x的概率』。
這是乙個非常簡單的例子。 假設您在表單(x,y)中有以下資料:
(1,0), (1,0), (2,0), (2, 1)
p(x,y) is
y=0y=1
x=11/2
0x=2
1/41/4
p(y|x) is
y=0y=1
x=11
0x=2
1/21/2
如果您花幾分鐘時間盯著這兩個矩陣,您將理解兩個概率分布之間的差異。
分布p(y | x)是用於將給定示例x分類為類y的自然分布,這就是為什麼直接對其進行建模的演算法稱為判別演算法。 生成演算法模型p(x,y),可以通過應用貝葉斯規則轉換為p(y | x),然後用於分類。 但是,分布p(x,y)也可用於其他目的。 例如,您可以使用p(x,y)來生成可能的(x,y)對。
從上面的描述中你可能會認為生成模型更有用,因此更好,但它並不那麼簡單。 本文是乙個關於歧視性與生成性分類主題的非常受歡迎的參考文獻,但它非常重要。 總體要點是,判別模型通常在分類任務中優於生成模型。
兩個模型的對比
判別式模型與生成式模型
判別式模型 該模型主要對p y x 建模,通過x來 y。在建模的過程中不需要關注聯合概率分布。只關心如何優化p y x 使得資料可分。通常,判別式模型在分類任務中的表現要好於生成式模型。但判別模型建模過程中通常為有監督的,而且難以被擴充套件成無監督的。常見的判別式模型有 logistic regre...
常見生成式模型與判別式模型
生成式模型 p x,y 對聯合概率進行建模,從統計的角度表示資料的分布情況,刻畫資料是如何生成的,收斂速度快。1.判別式分析 2.樸素貝葉斯native bayes 3.混合高斯型gaussians 4.k近鄰knn 5.隱馬爾科夫模型hmm 6.貝葉斯網路 7.sigmoid 信念網 8.馬爾科夫...
常見生成式模型與判別式模型
生成式模型 p x,y 對聯合概率進行建模,從統計的角度表示資料的分布情況,刻畫資料是如何生成的,收斂速度快。1.判別式分析 2.樸素貝葉斯native bayes 3.混合高斯型gaussians 4.k近鄰knn 5.隱馬爾科夫模型hmm 6.貝葉斯網路 7.sigmoid 信念網 8.馬爾科夫...