机器学习:生成式模型和判别式模型
決策函數(shù)Y=f(X)與條件概率分布P(Y|X)
決策函數(shù)Y=f(x):輸入一個(gè)x,它就輸出一個(gè)y值,這個(gè)y與一個(gè)閾值比較,根據(jù)比較結(jié)果判定x屬于哪個(gè)類別。
條件概率分布P(y|x):輸入一個(gè)x,它通過比較它屬于所有類的概率,然后預(yù)測時(shí)應(yīng)用最大后驗(yàn)概率法(MAP)即比較條件概率最大的類為x對應(yīng)的類別。
舉個(gè)例子,對于一個(gè)二分類問題:對于Y=f(x)形式的分類模型,如果輸出Y大于某個(gè)閾值V就屬于類w1,否則屬于類w2;而對于P(y|x)形式的分類模型,分別計(jì)算條件概率,如果P(w1|x)大于P(w2|x),x就屬于類w1,否則屬于類w2。
?
生成式模型與判別式模型
生成式模型(Generative Model):由數(shù)據(jù)學(xué)習(xí)聯(lián)合概率密度分布P(x,y),然后生成條件概率分布P(y|x),或者直接學(xué)得一個(gè)決策函數(shù)?Y=f(x),用作模型預(yù)測。
判別式模型(Discriminative Model):由數(shù)據(jù)直接學(xué)習(xí)決策函數(shù)f(x)或者條件概率分布P(y|x)作為預(yù)測。
?
異同點(diǎn)
1.生成模型和判別模型都屬于監(jiān)督學(xué)習(xí)的模型。
2.生成式模型可以根據(jù)貝葉斯公式得到條件概率分布P(y|x),但反過來不行,即判別方法不能還原出聯(lián)合概率分布P(x,y)。
3.生成方法學(xué)習(xí)聯(lián)合概率密度分布P(x,y),所以就可以從統(tǒng)計(jì)的角度表示數(shù)據(jù)的分布情況,能夠反映同類數(shù)據(jù)本身的相似度,但它不關(guān)心到底劃分各類的那個(gè)分類邊界在哪;判別方法不能反映訓(xùn)練數(shù)據(jù)本身的特性,但它尋找不同類別之間的最優(yōu)分類面,反映的是異類數(shù)據(jù)之間的差異。
?
常見模型分類
生成式模型:
- 判別式分析
- 樸素貝葉斯
- 混合高斯模型
- 隱馬爾科夫模型(HMM)
- 貝葉斯網(wǎng)絡(luò)
- Sigmoid Belief Networks
- 馬爾可夫隨機(jī)場(Markov Random Fields)
- 深度信念網(wǎng)絡(luò)(DBN)
判別式模型:
- 線性回歸(Linear Regression)
- 邏輯斯特回歸(Logistic Regression)
- K近鄰(KNN)
- 感知機(jī)
- 神經(jīng)網(wǎng)絡(luò)(NN)
- 支持向量機(jī)(SVM)
- 決策樹
- 最大熵模型(maximum entropy model, MaxEnt)
- 高斯過程(Gaussian Process)
- 條件隨機(jī)場(CRF)
- 區(qū)分度訓(xùn)練
- boosting方法
借用一個(gè)網(wǎng)友舉的通俗易懂的例子
假如你的任務(wù)是識別一個(gè)語音屬于哪種語言,對面一個(gè)人走過來,和你說了一句話,你需要識別出她說的到底是漢語、英語還是法語等。那么你可以有兩種方法達(dá)到這個(gè)目的:
(1)學(xué)習(xí)每一種語言,你花了大量精力把漢語、英語和法語等都學(xué)會(huì)了,我指的學(xué)會(huì)是你知道什么樣的語音對應(yīng)什么樣的語言。然后再有人過來對你說,你就可以知道他說的是什么語音.
(2)不去學(xué)習(xí)每一種語言,你只學(xué)習(xí)這些語言之間的差別,然后再判斷(分類)。意思是指我學(xué)會(huì)了漢語和英語等語言的發(fā)音是有差別的,我學(xué)會(huì)這種差別就好了。
第一種方法就是生成方法,第二種方法是判別方法。
?
參考一篇比較判別式模型和生成式模型的paper:?
On Dicriminative vs. Generative classfier: A comparison of logistic regression and naive Bayes
總結(jié)
以上是生活随笔為你收集整理的机器学习:生成式模型和判别式模型的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 宝塔Linux面板安装教程(+Mysql
- 下一篇: bt种子文件变成html,bt种子文件是