生成模型和判别模型的区别
作者:politer
鏈接:https://www.zhihu.com/question/20446337/answer/256466823
來(lái)源:知乎
著作權(quán)歸作者所有。商業(yè)轉(zhuǎn)載請(qǐng)聯(lián)系作者獲得授權(quán),非商業(yè)轉(zhuǎn)載請(qǐng)注明出處。
其實(shí)機(jī)器學(xué)習(xí)的任務(wù)是從屬性X預(yù)測(cè)標(biāo)記Y,即求概率P(Y|X);
對(duì)于判別式模型來(lái)說(shuō)求得P(Y|X),對(duì)未見(jiàn)示例X,根據(jù)P(Y|X)可以求得標(biāo)記Y,即可以直接判別出來(lái),如上圖的左邊所示,實(shí)際是就是直接得到了判別邊界,所以傳統(tǒng)的、耳熟能詳?shù)臋C(jī)器學(xué)習(xí)算法如線性回歸模型、支持向量機(jī)SVM等都是判別式模型,這些模型的特點(diǎn)都是輸入屬性X可以直接得到Y(jié)(對(duì)于二分類任務(wù)來(lái)說(shuō),實(shí)際得到一個(gè)score,當(dāng)score大于threshold時(shí)則為正類,否則為反類)~(根本原因個(gè)人認(rèn)為是對(duì)于某示例X_1,對(duì)正例和反例的標(biāo)記的條件概率之和等于1,即P(Y_1|X_1)+P(Y_2|X_1)=1)
而生成式模型求得P(Y,X),對(duì)于未見(jiàn)示例X,你要求出X與不同標(biāo)記之間的聯(lián)合概率分布,然后大的獲勝,如上圖右邊所示,并沒(méi)有什么邊界存在,對(duì)于未見(jiàn)示例(紅三角),求兩個(gè)聯(lián)合概率分布(有兩個(gè)類),比較一下,取那個(gè)大的。機(jī)器學(xué)習(xí)中樸素貝葉斯模型、隱馬爾可夫模型HMM等都是生成式模型,熟悉Naive Bayes的都知道,對(duì)于輸入X,需要求出好幾個(gè)聯(lián)合概率,然后較大的那個(gè)就是預(yù)測(cè)結(jié)果~(根本原因個(gè)人認(rèn)為是對(duì)于某示例X_1,對(duì)正例和反例的標(biāo)記的聯(lián)合概率不等于1,即P(Y_1,X_1)+P(Y_2,X_1)<1,要遍歷所有的X和Y的聯(lián)合概率求和,即sum(P(X,Y))=1,具體可參見(jiàn)樓上woodyhui提到的維基百科Generative model里的例子)
博文機(jī)器學(xué)習(xí)之判別式模型和生成式模型 - nolonely - 博客園 舉了一個(gè)例子:
判別式模型舉例:要確定一個(gè)羊是山羊還是綿羊,用判別模型的方法是從歷史數(shù)據(jù)中學(xué)習(xí)到模型,然后通過(guò)提取這只羊的特征來(lái)預(yù)測(cè)出這只羊是山羊的概率,是綿羊的概率。
生成式模型舉例:利用生成模型是根據(jù)山羊的特征首先學(xué)習(xí)出一個(gè)山羊的模型,然后根據(jù)綿羊的特征學(xué)習(xí)出一個(gè)綿羊的模型,然后從這只羊中提取特征,放到山羊模型中看概率是多少,在放到綿羊模型中看概率是多少,哪個(gè)大就是哪個(gè)。
細(xì)細(xì)品味上面的例子,判別式模型是根據(jù)一只羊的特征可以直接給出這只羊的概率(比如logistic regression,這概率大于0.5時(shí)則為正例,否則為反例),而生成式模型是要都試一試,最大的概率的那個(gè)就是最后結(jié)果~
補(bǔ)充20180524:
在機(jī)器學(xué)習(xí)中任務(wù)是從屬性X預(yù)測(cè)標(biāo)記Y,判別模型求的是P(Y|X),即后驗(yàn)概率;而生成模型最后求的是P(X,Y),即聯(lián)合概率。從本質(zhì)上來(lái)說(shuō):
判別模型之所以稱為“判別”模型,是因?yàn)槠涓鶕?jù)X“判別”Y;
而生成模型之所以稱為“生成”模型,是因?yàn)槠漕A(yù)測(cè)的根據(jù)是聯(lián)合概率P(X,Y),而聯(lián)合概率可以理解為“生成”(X,Y)樣本的概率分布(或稱為 依據(jù));具體來(lái)說(shuō),機(jī)器學(xué)習(xí)已知X,從Y的候選集合中選出一個(gè)來(lái),可能的樣本有(X,Y_1), (X,Y_2), (X,Y_3),……,(X,Y_n),實(shí)際數(shù)據(jù)是如何“生成”的依賴于P(X,Y),那么最后的預(yù)測(cè)結(jié)果選哪一個(gè)Y呢?那就選“生成”概率最大的那個(gè)吧~
總結(jié)
以上是生活随笔為你收集整理的生成模型和判别模型的区别的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: python网盘系统_python做系统
- 下一篇: Pycharm 入门问题