判别式和产生式的区别
這個(gè)題目遇到兩次
自然語言處理中,經(jīng)常要處理序列標(biāo)注問題(分詞、詞性標(biāo)注、組快分析等),為給定的觀察序列標(biāo)注標(biāo)記序列。
令o和s分別代表觀察序列和標(biāo)記序列,
?
根據(jù)貝葉斯公式,
1?生成模型和判別模型的定義
對(duì)o和s進(jìn)行統(tǒng)計(jì)建模,通常有兩種方式:
(1)生成模型
構(gòu)建o和s的聯(lián)合分布p(s,o) = p(s) *p(o|s)
(2)判別模型
構(gòu)建o和s的條件分布p(s|o)
2?判別模型和生成模型的對(duì)比
(1)訓(xùn)練時(shí),二者優(yōu)化準(zhǔn)則不同
生成模型優(yōu)化訓(xùn)練數(shù)據(jù)的聯(lián)合分布概率;
判別模型優(yōu)化訓(xùn)練數(shù)據(jù)的條件分布概率,判別模型與序列標(biāo)記問題有較好的對(duì)應(yīng)性。
(2)對(duì)于觀察序列的處理不同
生成模型中,觀察序列作為模型的一部分;
判別模型中,觀察序列只作為條件,因此可以針對(duì)觀察序列設(shè)計(jì)靈活的特征。
(3)訓(xùn)練復(fù)雜度不同
判別模型訓(xùn)練復(fù)雜度較高。需要各種梯度下降,優(yōu)化等等求解參數(shù)
生成式模型感覺只要統(tǒng)計(jì)共現(xiàn)頻率(就像樸素貝葉斯)
(4)是否支持無指導(dǎo)訓(xùn)練
生成模型支持無指導(dǎo)訓(xùn)練。
3 優(yōu)缺點(diǎn)
判別式:
- 主要特點(diǎn):
尋找不同類別之間的最優(yōu)分類面,反映的是異類數(shù)據(jù)之間的差異。
- 優(yōu)點(diǎn):
分類邊界更靈活,比使用純概率方法或生產(chǎn)模型得到的更高級(jí)。
能清晰的分辨出多類或某一類與其他類之間的差異特征
在聚類、viewpoint changes, partial occlusion and scale variations中的效果較好
適用于較多類別的識(shí)別
生成式:
優(yōu)點(diǎn):可以增量式訓(xùn)練
4 主要模型
判別式:
logistic regression
線性回歸以及各種回歸(什么叫回歸呢,就是用函數(shù)擬合點(diǎn),使得誤差最小,然后用各種下降法使得誤差最小)
SVMs
traditional neural networks
Nearest neighbor
Conditional random fields(CRF):?
生成式:
Gaussians,?Naive Bayes, Mixtures of multinomials
Mixtures of Gaussians, Mixtures of experts, HMMs
Sigmoidal belief networks, Bayesian networks
Markov random fields,EM,LDA
【摘要】
- 生成模型:無窮樣本==》概率密度模型 = 產(chǎn)生模型==》預(yù)測(cè)
- 判別模型:有限樣本==》判別函數(shù) = 預(yù)測(cè)模型==》預(yù)測(cè)
【簡介】
簡單的說,假設(shè)o是觀察值,q是模型。
如果對(duì)P(o|q)建模,就是Generative模型。其基本思想是首先建立樣本的概率密度模型,再利用模型進(jìn)行推理預(yù)測(cè)。要求已知樣本無窮或盡可能的大限制。
這種方法一般建立在統(tǒng)計(jì)力學(xué)和bayes理論的基礎(chǔ)之上。
如果對(duì)條件概率(后驗(yàn)概率) P(q|o)建模,就是Discrminative模型。基本思想是有限樣本條件下建立判別函數(shù),不考慮樣本的產(chǎn)生模型,直接研究預(yù)測(cè)模型。代表性理論為統(tǒng)計(jì)學(xué)習(xí)理論。
這兩種方法目前交叉較多。
【判別模型Discriminative Model】——inter-class probabilistic description
又可以稱為條件模型,或條件概率模型。估計(jì)的是條件概率分布(conditional distribution), p(class|context)。
利用正負(fù)例和分類標(biāo)簽,focus在判別模型的邊緣分布。目標(biāo)函數(shù)直接對(duì)應(yīng)于分類準(zhǔn)確率。
- 主要特點(diǎn):
尋找不同類別之間的最優(yōu)分類面,反映的是異類數(shù)據(jù)之間的差異。
- 優(yōu)點(diǎn):
分類邊界更靈活,比使用純概率方法或生產(chǎn)模型得到的更高級(jí)。
能清晰的分辨出多類或某一類與其他類之間的差異特征
在聚類、viewpoint changes, partial occlusion and scale variations中的效果較好
適用于較多類別的識(shí)別
判別模型的性能比生成模型要簡單,比較容易學(xué)習(xí)
- 缺點(diǎn):
不能反映訓(xùn)練數(shù)據(jù)本身的特性。能力有限,可以告訴你的是1還是2,但沒有辦法把整個(gè)場(chǎng)景描述出來。
Lack elegance of generative: Priors, 結(jié)構(gòu), 不確定性
Alternative notions of penalty functions, regularization, 核函數(shù)
黑盒操作: 變量間的關(guān)系不清楚,不可視
- 常見的主要有:
logistic regression
SVMs
traditional neural networks
Nearest neighbor
Conditional random fields(CRF): 目前最新提出的熱門模型,從NLP領(lǐng)域產(chǎn)生的,正在向ASR和CV上發(fā)展。
- 主要應(yīng)用:
Image and document classification
Biosequence analysis
Time series prediction
【生成模型Generative Model】——intra-class probabilistic description
又叫產(chǎn)生式模型。估計(jì)的是聯(lián)合概率分布(joint probability distribution),p(class, context)=p(class|context)*p(context)。
用于隨機(jī)生成的觀察值建模,特別是在給定某些隱藏參數(shù)情況下。在機(jī)器學(xué)習(xí)中,或用于直接對(duì)數(shù)據(jù)建模(用概率密度函數(shù)對(duì)觀察到的draw建模),或作為生成條件概率密度函數(shù)的中間步驟。通過使用貝葉斯rule可以從生成模型中得到條件分布。
如果觀察到的數(shù)據(jù)是完全由生成模型所生成的,那么就可以fitting生成模型的參數(shù),從而僅可能的增加數(shù)據(jù)相似度。但數(shù)據(jù)很少能由生成模型完全得到,所以比較準(zhǔn)確的方式是直接對(duì)條件密度函數(shù)建模,即使用分類或回歸分析。
與描述模型的不同是,描述模型中所有變量都是直接測(cè)量得到。
- 主要特點(diǎn):
一般主要是對(duì)后驗(yàn)概率建模,從統(tǒng)計(jì)的角度表示數(shù)據(jù)的分布情況,能夠反映同類數(shù)據(jù)本身的相似度。
只關(guān)注自己的inclass本身(即點(diǎn)左下角區(qū)域內(nèi)的概率),不關(guān)心到底 decision boundary在哪。
- 優(yōu)點(diǎn):
實(shí)際上帶的信息要比判別模型豐富,
研究單類問題比判別模型靈活性強(qiáng)
模型可以通過增量學(xué)習(xí)得到
能用于數(shù)據(jù)不完整(missing data)情況
modular construction of composed solutions to complex problems
prior knowledge can be easily taken into account
robust to partial occlusion and viewpoint changes
can tolerate significant intra-class variation of object appearance
- 缺點(diǎn):
tend to produce a significant number of false positives. This is particularly true for object classes which share a high visual similarity such as horses and cows
學(xué)習(xí)和計(jì)算過程比較復(fù)雜
- 常見的主要有:
Gaussians, Naive Bayes, Mixtures of multinomials
Mixtures of Gaussians, Mixtures of experts, HMMs
Sigmoidal belief networks, Bayesian networks
Markov random fields
所列舉的Generative model也可以用disriminative方法來訓(xùn)練,比如GMM或HMM,訓(xùn)練的方法有EBW(Extended Baum Welch),或最近Fei Sha提出的Large ?? ??? ?Margin方法。
- 主要應(yīng)用:
NLP:
Traditional rule-based or Boolean logic systems (Dialog and Lexis-Nexis) are giving way to statistical approaches (Markov models and stochastic context grammars)
Medical Diagnosis:
QMR knowledge base, initially a heuristic expert systems for reasoning about diseases and symptoms been augmented with decision theoretic formulation Genomics and Bioinformatics
Sequences represented as generative HMMs
【兩者之間的關(guān)系】
由生成模型可以得到判別模型,但由判別模型得不到生成模型。
Can performance of SVMs be combined elegantly with flexible Bayesian statistics?
Maximum Entropy Discrimination marries both methods: Solve over a distribution of parameters (a distribution over solutions)
【參考網(wǎng)址】
http://prfans.com/forum/viewthread.php?tid=80
http://hi.baidu.com/cat_ng/blog/item/5e59c3cea730270593457e1d.html
http://en.wikipedia.org/wiki/Generative_model
http://blog.csdn.net/yangleecool/archive/2009/04/05/4051029.aspx
==================
比較三種模型:HMMs and MRF and CRF
http://blog.sina.com.cn/s/blog_4cdaefce010082rm.html
HMMs(隱馬爾科夫模型):
狀態(tài)序列不能直接被觀測(cè)到(hidden);
每一個(gè)觀測(cè)被認(rèn)為是狀態(tài)序列的隨機(jī)函數(shù);
狀態(tài)轉(zhuǎn)移矩陣是隨機(jī)函數(shù),根據(jù)轉(zhuǎn)移概率矩陣來改變狀態(tài)。
HMMs與MRF的區(qū)別是只包含標(biāo)號(hào)場(chǎng)變量,不包括觀測(cè)場(chǎng)變量。
MRF(馬爾科夫隨機(jī)場(chǎng))
將圖像模擬成一個(gè)隨機(jī)變量組成的網(wǎng)格。
其中的每一個(gè)變量具有明確的對(duì)由其自身之外的隨機(jī)變量組成的近鄰的依賴性(馬爾科夫性)。
CRF(條件隨機(jī)場(chǎng)),又稱為馬爾可夫隨機(jī)域
一種用于標(biāo)注和切分有序數(shù)據(jù)的條件概率模型。
從形式上來說CRF可以看做是一種無向圖模型,考察給定輸入序列的標(biāo)注序列的條件概率。
在視覺問題的應(yīng)用:
HMMs:圖像去噪、圖像紋理分割、模糊圖像復(fù)原、紋理圖像檢索、自動(dòng)目標(biāo)識(shí)別等
MRF: 圖像恢復(fù)、圖像分割、邊緣檢測(cè)、紋理分析、目標(biāo)匹配和識(shí)別等
CRF: 目標(biāo)檢測(cè)、識(shí)別、序列圖像中的目標(biāo)分割
P.S.
標(biāo)號(hào)場(chǎng)為隱隨機(jī)場(chǎng),它描述像素的局部相關(guān)屬性,采用的模型應(yīng)根據(jù)人們對(duì)圖像的結(jié)構(gòu)與特征的認(rèn)識(shí)程度,具有相當(dāng)大的靈活性。
空域標(biāo)號(hào)場(chǎng)的先驗(yàn)?zāi)P椭饕蟹且蚬R爾可夫模型和因果馬爾可夫模型。
參考自:link
==================================================
概率圖模型之生成模型與判別模型
From:link
====================================================
一個(gè)通俗易懂的解釋,摘錄如下:
Let’s say you have input data x and you want to classify the data into labels y. A?generative model?learns the?joint probability distribution p(x,y)?and a?discriminative model?learns the?conditional probability distribution p(y|x)?– which you should read as ‘the probability of y given x’.
Here’s a really simple example. Suppose you have the following data in the form (x,y):
(1,0), (1,0), (2,0), (2, 1)p(x,y) is
y=0 y=1 ----------- x=1 | 1/2 0 x=2 | 1/4 1/4p(y|x) is
y=0 y=1 ----------- x=1 | 1 0 x=2 | 1/2 1/2If you take a few minutes to stare at those two matrices, you will understand the difference between the two probability distributions.
The distribution p(y|x) is the?natural?distribution for classifying a given example x into a class y, which is why algorithms that model this directly are called?discriminative?algorithms. Generative algorithms model p(x,y), which can be tranformed into p(y|x) by applying Bayes rule and then used for classification. However, the distribution p(x,y) can also be used for other purposes. For example you could use p(x,y) to?generate?likely (x,y) pairs.
From the description above you might be thinking that generative models are more generally useful and therefore better, but it’s not as simple as that.?This paper?is a very popular reference on the subject of discriminative vs. generative classifiers, but it’s pretty heavy going.?The overall gist is that discriminative models generally outperform generative models in classification tasks.
另一個(gè)解釋,摘錄如下:
假定輸入x, 類別標(biāo)簽y
—產(chǎn)生式模型(生成模型)估計(jì)聯(lián)合概率 P(x, y), 因可以根據(jù)聯(lián)合概率來生成樣本 —:?HMMs—判別式模型(判別模型)估計(jì)條件概率 P(y|x), 因?yàn)闆]有x的知識(shí),無法生成樣本,只能判斷分類: SVMs,CRF,MEM一個(gè)舉例: (1,0), (1,0), (2,0), (2, 1)
產(chǎn)生式模型:
p(x, y):
P(1, 0) = 1/2, P(1, 1) = 0, P(2, 0) = 1/4, P(2, 1) = 1/4.
P(y|x):
P(0|1) = 1, P(1|1) = 0, P(0|2) = 1/2, P(1|2) = 1/2—o和s分別代表觀察序列和標(biāo)記序列—產(chǎn)生式模型—???? 構(gòu)建o和s的聯(lián)合分布p(s,o)—判別式模型—??? ?構(gòu)建o和s的條件分布p(s|o)—產(chǎn)生式模型中,觀察序列作為模型的一部分;—判別式模型中,觀察序列只作為條件,因此可以針對(duì)觀察序列設(shè)計(jì)靈活的特征。產(chǎn)生式模型:無窮樣本==》概率密度模型 = 產(chǎn)生模型==》預(yù)測(cè)
判別式模型:有限樣本==》判別函數(shù) = 預(yù)測(cè)模型==》預(yù)測(cè)一般認(rèn)為判別型模型要好于生成型模型,因?yàn)樗侵苯痈鶕?jù)數(shù)據(jù)對(duì)概率建模,而生成型模型還要先求兩個(gè)難度相當(dāng)?shù)母怕省C
CRF其實(shí)就是一種在生產(chǎn)模型基礎(chǔ)上的判別模型?
條件隨機(jī)場(chǎng)模型是由Lafferty在2001年提出的一種典型的判別式模型。它在觀測(cè)序列的基礎(chǔ)上對(duì)目標(biāo)序列進(jìn)行建模,重點(diǎn)解決序列化標(biāo)注的問題條件隨機(jī)場(chǎng)模型既具有判別式模型的優(yōu)點(diǎn),又具有產(chǎn)生式模型考慮到上下文標(biāo)記間的轉(zhuǎn)移概率,以序列化形式進(jìn)行全局參數(shù)優(yōu)化和解碼的特點(diǎn),解決了其他判別式模型(如最大熵馬爾科夫模型)難以避免的標(biāo)記偏置問題。
條件隨機(jī)場(chǎng)理論(CRFs)可以用于序列標(biāo)記、數(shù)據(jù)分割、組塊分析等自然語言處理任務(wù)中。在中文分詞、中文人名識(shí)別、歧義消解等漢語自然語言處理任務(wù)中都有應(yīng)用,表現(xiàn)很好。
目前基于 CRFs 的主要系統(tǒng)實(shí)現(xiàn)有 CRF,FlexCRF,CRF++
缺點(diǎn):訓(xùn)練代價(jià)大、復(fù)雜度高
———————————
條件隨機(jī)場(chǎng)模型是一種無向圖模型,它是在給定需要標(biāo)記的觀察序列的條件下,計(jì)算整個(gè)標(biāo)記序列的聯(lián)合概率分布,而不是在給定當(dāng)前狀態(tài)條件下,定義下一個(gè)狀態(tài)的狀態(tài)分布。即給定觀察序列O,求最佳序列S。與最大熵模型相似,條件隨機(jī)場(chǎng)(Conditional random fields,CRFs)是一種機(jī)器學(xué)習(xí)模型,在自然語言處理的許多領(lǐng)域(如詞性標(biāo)注、中文分詞、命名實(shí)體識(shí)別等)都有比較好的應(yīng)用效果。條件隨機(jī)場(chǎng)最早 由John D. Lafferty提出,其也是Brown90的 作者之一,和賈里尼克相似,在離開IBM后他去了卡耐基梅隆大學(xué)繼續(xù)搞學(xué)術(shù)研究,2001年以第一作者的身份發(fā)表了CRF的經(jīng)典論文 “Conditional random fields: Probabilistic models for segmenting and labeling sequence data”。關(guān)于條件隨機(jī)場(chǎng)的參考文獻(xiàn)及其他資料,Hanna Wallach在05年整理和維護(hù)的這個(gè)頁面“conditional random fields”非常不錯(cuò),其中涵蓋了自01年CRF提出以來的很多經(jīng)典論文(不過似乎只到05年,之后并未更新)以及幾個(gè)相關(guān)的工具包(不過也沒有包括CRF++),但是仍然非常值得入門條件隨機(jī)場(chǎng)的讀者參考。
——————————————–
一 般序列分類模型常常采用隱馬模型(HMM), 像基于類的中文分詞, 但隱馬模型中存在兩個(gè)假設(shè): 輸出獨(dú)立性假設(shè)和馬爾可夫性假設(shè). 其中, 輸出獨(dú)立性假設(shè)要求序列數(shù)據(jù)嚴(yán)格相互獨(dú)立才能保證推導(dǎo)的正確性, 而事實(shí)上大多數(shù)序列數(shù)據(jù)不能 被表示成一系列獨(dú)立事件. 而條件隨機(jī)場(chǎng)則使用一種概率圖模型, 具有表達(dá)長距離依賴性和交疊性特征的能力, 能夠較好地解決標(biāo)注(分類)偏置等問題的優(yōu)點(diǎn), 而且所有特征可以進(jìn)行全局歸一化, 能夠求得全局的最優(yōu)解.
條件隨機(jī)場(chǎng)是一個(gè)無向圖上概率分布的學(xué)習(xí)框架, 由Lafferty 等首先引入到自然語言處理的串標(biāo)引學(xué)習(xí)任務(wù)中來. 最常用的一類CRF是線性鏈CRF, 適用于我們的分詞學(xué)習(xí). 記觀測(cè)串為W=w1w2…wn, 標(biāo)記串(狀態(tài))序列 Y=y1y2…yn, 線性鏈CRF對(duì)一個(gè)給定串的標(biāo)注, 其概率定義為:
。。。 。。。
其中, Y是串的標(biāo)注序列, W是待標(biāo)記的字符, fk是特征函數(shù), λk是對(duì)應(yīng)的特征函數(shù)的權(quán)值, 而t是標(biāo)記, Z(W)是歸一化因子, 使得上式成為概率分布.
CRF模型的參數(shù)估計(jì)通常使用L-BFGS算法來完成. CRF的解碼過程, 也就是求解未知串標(biāo)注的過程, 需要搜索計(jì)算該串上的一個(gè)最大聯(lián)合概率, 即:
Y* = arg max(y)P(Y|W)
在線性鏈CRF上, 這個(gè)計(jì)算任務(wù)可以用一般的Viterbi算法來有效地完成.
目前我發(fā)現(xiàn)的關(guān)于CRF的實(shí)現(xiàn)有:
* CRF++(http://crfpp.sourceforge.net/)
* Pocket CRF(http://sourceforge.net/project/showfiles.php?group_id=201943)
Reference:
[1] http://blog.csdn.net/wen718/archive/2010/10/23/5960820.aspx
[2] http://hi.baidu.com/%D5%D4%B7%F6%B7%E7/blog/item/803dfccfedd38037f8dc617b.html
總結(jié)
以上是生活随笔為你收集整理的判别式和产生式的区别的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Logistic regression
- 下一篇: 找单独出现的bit 数组