生成模型(Generative Model)和 判別模型(Discriminative Model)



引入

監督學習的任務就是學習一個模型(或者得到一個目標函數),應用這一模型,對給定的輸入預測相應的輸出。這一模型的一般形式為一個決策函數Y=f(X),或者條件概率分布P(Y|X)。
監督學習方法又可以分為生成方法(generative approach)和判別方法(discriminative approach)。所學到的模型分別為生成模型(generative model)和判別模型(discriminative model)。

決策函數和條件概率分布

決策函數Y=f(X)

決策函數Y=f(X):你輸入一個X,它就輸出一個Y,這個Y與一個閾值比較,根據比較結果判定X屬於哪個類別。例如兩類(w1和w2)分類問題,如果Y大於閾值,X就屬於類w1,如果小於閾值就屬於類w2。這樣就得到了該X對應的類別了。

條件概率分布P(Y|X)

你輸入一個X,它通過比較它屬於所有類的概率,然后輸出概率最大的那個作為該X對應的類別。例如:如果P(w1|X)大於P(w2|X),那么我們就認為X是屬於w1類的。

小結

兩個模型都可以實現對給定的輸入X預測相應的輸出Y的功能。實際上通過條件概率分布P(Y|X)進行預測也是隱含着表達成決策函數Y=f(X)的形式的。
而同樣,很神奇的一件事是,實際上決策函數Y=f(X)也是隱含着使用P(Y|X)的。因為一般決策函數Y=f(X)是通過學習算法使你的預測和訓練數據之間的誤差平方最小化,而貝葉斯告訴我們,雖然它沒有顯式的運用貝葉斯或者以某種形式計算概率,但它實際上也是在隱含的輸出極大似然假設(MAP假設)。也就是說學習器的任務是在所有假設模型有相等的先驗概率條件下,輸出極大似然假設。

生成方法和生成模型

生成模型:無窮樣本==》概率密度模型 = 產生模型==》預測

生成方法由數據學習聯合概率分布P(X,Y),然后求出條件概率分布P(Y|X)=P(X,Y)/P(X)作為預測的模型。這樣的方法之所以成為生成方法,是因為模型表示了給定輸入X產生輸出Y的生成關系。用於隨機生成的觀察值建模,特別是在給定某些隱藏參數情況下。典型的生成模型有:朴素貝葉斯法、馬爾科夫模型、高斯混合模型。這種方法一般建立在統計學和Bayes理論的基礎之上。

生成方法的特點

  • 從統計的角度表示數據的分布情況,能夠反映同類數據本身的相似度;
  • 生成方法還原出聯合概率分布,而判別方法不能;
  • 生成方法的學習收斂速度更快、即當樣本容量增加的時候,學到的模型可以更快地收斂於真實模型;
  • 當存在隱變量時,扔可以用生成方法學習,此時判別方法不能用

判別方法和判別模型

判別模型:有限樣本==》判別函數 = 預測模型==》預測

判別方法由數據直接學習決策函數f(X)或者條件概率分布P(Y|X)作為預測的模型,即判別模型。判別方法關心的是對給定的輸入X,應該預測什么樣的輸出Y。典型的判別模型包括:k近鄰法、感知機、決策樹、邏輯斯蒂回歸模型、最大熵模型、支持向量機、boosting方法和條件隨機場等。判別模型利用正負例和分類標簽,關注在判別模型的邊緣分布。

判別方法的特點

  • 判別方法尋找不同類別之間的最優分類面,反映的是異類數據之間的差異;
  • 判別方法利用了訓練數據的類別標識信息,直接學習的是條件概率P(Y|X)或者決策函數f(X),直接面對預測,往往學習的准確率更高;
  • 由於直接學習條件概率P(Y|X)或者決策函數f(X),可以對數據進行各種程度上的抽象、定義特征並使用特征,因此可以簡化學習問題。
  • 缺點是不能反映訓練數據本身的特性

判別模型和生成模型對比

(1)訓練時,二者優化准則不同
生成模型優化訓練數據的聯合分布概率;
判別模型優化訓練數據的條件分布概率,判別模型與序列標記問題有較好的對應性。
(2)對於觀察序列的處理不同
生成模型中,觀察序列作為模型的一部分;
判別模型中,觀察序列只作為條件,因此可以針對觀察序列設計靈活的特征。
(3)訓練復雜度不同
判別模型訓練復雜度較高。
(4)是否支持無指導訓練
生成模型支持無指導訓練。
(5)本質區別
discriminative model 估計的是條件概率分布(conditional distribution)p(class|context)
generative model 估計的是聯合概率分布(joint probability distribution)p()

另外,由生成模型可以得到判別模型,但由判別模型得不到生成模型。

對於跟蹤算法

由於之前用Camshift方法做人臉的跟蹤,這里看到了有關跟蹤算法的說明,特此陳述一下。

跟蹤算法一般來說可以分為兩類:基於外觀模型的生成模型或者基於外觀模型的判別模型。
生成模型:一般是學習一個代表目標的模型,然后通過它去搜索圖像區域,然后最小化重構誤差。類似於生成模型描述一個目標,然后就是模式匹配了,在圖像中找到和這個模型最匹配的區域,就是目標了。
判別模型:將跟蹤問題看成一個二分類問題,然后找到目標和背景的決策邊界。它不管目標是怎么描述的,那只要知道目標和背景的差別在哪,然后你給一個圖像,它看它處於邊界的那一邊,就歸為哪一類。

參考資料

統計學習方法 李航著,清華大學出版社
CSDN博客 生成模型與判別模型

轉載請注明作者Jason Ding及其出處
Github主頁(http://jasonding1354.github.io/)
CSDN博客(http://blog.csdn.net/jasonding1354)
簡書主頁(http://www.jianshu.com/users/2bd9b48f6ea8/latest_articles)



作者:JasonDing
鏈接:https://www.jianshu.com/p/d195b887a32e
來源:簡書
簡書著作權歸作者所有,任何形式的轉載都請聯系作者獲得授權並注明出處。

 

      概率圖分為有向圖(bayesian network)與無向圖(markov random filed)。在概率圖上可以建立生成模型或判別模型。有向圖多為生成模型,無向圖多為判別模型。

 

      判別模型(Discriminative Model),又可以稱為條件模型,或條件概率模型。估計的是條件概率分布(conditional distribution),p(class|context)。利用正負例和分類標簽,主要關心判別模型的邊緣分布。其目標函數直接對應於分類准確率。 (判別模型多數放在分類

      主要特點:尋找不同類別之間的最優分類面,反映的是異類數據之間的差異。

      優點:(1)分類邊界更靈活,比使用純概率方法或生產模型得到的更高級;(2)能清晰的分辨出多類或某一類與其他類之間的差異特征;(3)在聚類、視角變化、部分遮擋、尺度改變等方面效果較好;(4)適用於較多類別的識別;(5)判別模型的性能比生成模型要簡單,比較容易學習。

      缺點:(1)不能反映訓練數據本身的特性,即能力有限,可以告訴你的是1還是2,但沒有辦法把整個場景描述出來;(2)缺少生成模型的優點,即先驗結構的不確定性;(3)黑盒操作,即變量間的關系不清楚,不可視。

      常見的主要有:logistic regression、SVMs、traditional neural networks、Nearest neighbor、Conditional random fields。

      主要應用:Image and document classification、Biosequence analysis、Time series prediction。

    生成模型(Generative Model),又叫產生式模型。估計的是聯合概率分布(joint probability distribution),p(class, context)=p(class|context)*p(context)。用於隨機生成的觀察值建模,特別是在給定某些隱藏參數情況下。在機器學習中,或用於直接對數據建模(用概率密度函數對觀察到的樣本數據建模),或作為生成條件概率密度函數的中間步驟。通過使用貝葉斯規則可以從生成模型中得到條件分布。如果觀察到的數據是完全由生成模型所生成的,那么就可以擬合生成模型的參數,從而僅可能的增加數據相似度。但數據很少能由生成模型完全得到,所以比較准確的方式是直接對條件密度函數建模,即使用分類或回歸分析。與描述模型的不同是,描述模型中所有變量都是直接測量得到。
 
 
所以生成模型和判別模型的主要區別在於:添加了先驗概率
 即:生成模型:p(class, context)=p(class|context)*p(context)
判別模型: p(class|context) 
 
 
     主要特點:(1)一般主要是對后驗概率建模,從統計的角度表示數據的分布情況,能夠反映同類數據本身的相似度;(2)只關注自己的類本身(即點左下角區域內的概率),不關心到底決策邊界在哪。

      優點:(1)實際上帶的信息要比判別模型豐富;(2)研究單類問題比判別模型靈活性強;(3)模型可以通過增量學習得到;(4)能用於數據不完整(missing data)情況;(5)很容易將先驗知識考慮進去。

      缺點:(1)容易會產生錯誤分類;(2)學習和計算過程比較復雜。

      常見的主要有:Gaussians、Naive Bayes、Mixtures of multinomials、Mixtures of Gaussians、Mixtures of experts、HMMs、Sigmoidal belief networks、Bayesian networks、Markov random fields。

      主要應用:(1)傳統基於規則的或布爾邏輯系統正被統計方法所代替;(2)醫學診斷。

      注:所列舉的生成模型也可以用判決模型的方法來訓練,比如GMM或HMM,訓練的方法有EBW(Extended Baum Welch),或最近Fei Sha提出的Large Margin方法。

 
 
 過去的報告認為判別模型在 分類問題上比生成表現更加好(比如Logistic Regression與Naive Bayesian的比較,再比如HMM與Linear Chain CRF的比較)。
 
當然,生成模型的圖模型也有一些難以代替的地方,比如更容易結合無標注數據做semi-or-un-supervised learning。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM