判別式模型與生成式模型

2021-09-11 03:52:36 字數 1706 閱讀 3090

產生式模型(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.馬爾科夫...