生成模型 判別模型

問題由來:監督學習分類問題算法

 監督學習的任務就是從數據中學習一個模型(也叫分類器),應用這一模型,對給定的輸入X預測相應的輸出Y。這個模型的通常形式爲決策函數Y=f(X)或者條件機率分佈P(Y|X)。ide

 決策函數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)的形式的。例如也是兩類w1和w2,那麼咱們求得了P(w1|X)和P(w2|X),那麼實際上判別函數就能夠表示爲Y= P(w1|X)/P(w2|X),若是Y大於1或者某個閾值,那麼X就屬於類w1,若是小於閾值就屬於類w2。idea

而一樣,很神奇的一件事是,實際上決策函數Y=f(X)也是隱含着使用P(Y|X)的。由於通常決策函數Y=f(X)是經過學習算法使你的預測和訓練數據之間的偏差平方最小化,而貝葉斯告訴咱們,雖然它沒有顯式的運用貝葉斯或者以某種形式計算機率,但它實際上也是在隱含的輸出極大似然假設(MAP假設)。也就是說學習器的任務是在全部假設模型有相等的先驗機率條件下,輸出極大似然假設。spa

此段話核心是:條件機率分佈預測包含決策函數思惟;決策函數隱含使用極大似然假設進行決策結果計算。設計

關鍵表達:不管進行機率模型估計仍是找決策函數都是爲了能設計出分類器(classifier)。class

 分類器的design idea:基礎

if(在給定訓練數據的基礎上估計其機率模型P(Y|X)。即若是能夠估計出來,那麼就能夠分類了。)變量

if(機率模型比較難估計的【數據少、規律不明顯】){

        #如何設計分類器?

        if(可以從要解決的問題和訓練樣本出發直接求出判別函數F(X),就不用估計機率模型了)

}

 判別方法:由數據直接學習決策函數Y=f(X)或者條件機率分佈P(Y|X)做爲預測的模型,即判別模型。基本思想是有限樣本條件下創建判別函數,不考慮樣本的產生模型,直接研究預測模型。典型的判別模型包括k近鄰,感知機,決策樹,支持向量機等。

生成方法:由數據學習聯合機率密度分佈P(X,Y),而後求出條件機率分佈P(Y|X)做爲預測的模型,即生成模型:P(Y|X)= P(X,Y)/ P(X)。基本思想是首先創建樣本的聯合機率機率密度模型P(X,Y),而後再獲得後驗機率P(Y|X),先求出P(X,Y)進而獲得P(Y|X),這個過程得先求出P(X)。

 

生成模型和判別模型的優缺點

       在監督學習中,兩種方法各有優缺點,適合於不一樣條件的學習問題。

        生成方法的特色:生成方法學習聯合機率密度分佈P(X,Y)。因此,可從統計的角度表示數據的分佈狀況,可以反映同類數據自己的類似度。但它不關心到底劃分各種的那個分類邊界在哪。

  1.  生成方法能夠還原出聯合機率分佈P(Y,X),而判別方法不能;
  2. 生成方法的學習收斂速度更快,即當樣本容量增長的時候,學到的模型能夠更快的收斂於真實模型;
  3. 當存在隱變量時,仍能夠用生成方法學習。此時判別方法就不能用。

       判別方法的特色:判別方法直接學習的是決策函數Y=f(X)或者條件機率分佈P(Y|X)。不能反映訓練數據自己的特性。但它尋找不一樣類別之間的最優分類面,反映的是異類數據之間的差別。

  1. 直接面對預測,每每學習的準確率更高
  2. 因爲直接學習P(Y|X)或P(X),能夠對數據進行各類程度上的抽象、定義特徵並使用特徵,所以能夠簡化學習問題。

 

4、生成模型和判別模型的聯繫

       由生成模型能夠獲得判別模型,但由判別模型得不到生成模型。

 


總結: 

生成模型試圖找到這個數據是怎麼生成的(產生的),而後再對一個樣本數據進行分類。即基於模型的生成假設,決策樣本數據最有可能的類別。

判別模型則不關心數據是如何生成的,它只關心數據之間的差異,而後基於數據間的差異來對給定的一個樣本數據進行分類。

相似於推薦系統的中一個是基於內容推薦(生成模型),一個是基於行爲推薦(判別模型)。這只是一個意識上的相似,或者說爲了更好的理解兩者的含義,嚴格意義不能這樣表述。

相關文章
相關標籤/搜索