生成式模型 判別式模型的區別?

2021-09-22 19:45:44 字數 846 閱讀 3296

​ 對於機器學習模型,我們可以根據模型對資料的建模方式將模型分為兩大類,生成式模型和判別式模型。如果我們要訓練乙個關於貓狗分類的模型,

對於判別式模型,只需要學習二者差異即可。比如說貓的體型會比狗小一點。

而生成式模型則不一樣,需要學習貓張什麼樣,狗張什麼樣。有了二者的長相以後,再根據長相去區分。

具體而言:

來闡述一下,對於性別分類問題,分別用不同的模型來做:

可以訓練乙個模型,學習輸入人的特徵x和性別y的關係。比如現在有下面一批資料:

y(性別)01

x(特徵)

01/4

3/41

3/41/4

​ 這個資料可以統計得到,即統計人的特徵x=0,1….的時候,其類別為y=0,1的概率。統計得到上述聯合概率分布p(x, y)後,可以學習乙個模型,比如讓二維高斯分布去擬合上述資料,這樣就學習到了x,y的聯合分布。在**時,如果我們希望給乙個輸入特徵x,**其類別,則需要通過貝葉斯公式得到條件概率分布才能進行推斷:

可以訓練乙個模型,輸入人的特徵x,這些特徵包括人的五官,穿衣風格,髮型等。輸出則是對於性別的判斷概率,這個概率服從乙個分布,分布的取值只有兩個,要麼男,要麼女,記這個分布為y。這個過程學習了乙個條件概率分布p(y|x),即輸入特徵x的分布已知條件下,y的概率分布。

​ 顯然,從上面的分析可以看出。判別式模型似乎要方便很多,因為生成式模型要學習乙個x,y的聯合分布往往需要很多資料,而判別式模型需要的資料則相對少,因為判別式模型更關注輸入特徵的差異性。不過生成式既然使用了更多資料來生成聯合分布,自然也能夠提供更多的資訊,現在有乙個樣本(x,y),其聯合概率p(x,y)經過計算特別小,那麼可以認為這個樣本是異常樣本。這種模型可以用來做outlier detection。

判別式模型與生成式模型

判別式模型 該模型主要對p y x 建模,通過x來 y。在建模的過程中不需要關注聯合概率分布。只關心如何優化p y x 使得資料可分。通常,判別式模型在分類任務中的表現要好於生成式模型。但判別模型建模過程中通常為有監督的,而且難以被擴充套件成無監督的。常見的判別式模型有 logistic regre...

判別式模型與生成式模型

產生式模型 generative model 與判別式模型 discrimitive model 是分類器常遇到的概念,它們的區別在於 對於輸入x,類別標籤y 產生式模型估計它們的聯合概率分布p x,y 判別式模型估計條件概率分布p y x 產生式模型可以根據貝葉斯公式得到判別式模型,但反過來不行。...

判別式模型和生成式模型

判別式模型與生成式模型 生成式模型 generative model 與判別式模型 discrimitive model 是分類器常遇到的概念,它們的區別在於 對於輸入x,類別標籤y 1.生成式模型估計它們的聯合概率分布p x,y 2.判別式模型估計決策函式f x 或條件概率分布p y x 3.生成...