1. 程式人生 > >生成模型和判別模型的區別

生成模型和判別模型的區別

1.監督學習分為生成模型和判別模型

有監督機器學習方法可以分為生成方法和判別方法(常見的生成方法有混合高斯模型、樸素貝葉斯法和隱形馬爾科夫模型等,常見的判別方法有SVM、LR等),生成方法學習出的是生成模型,判別方法學習出的是判別模型。

2.生成模型

生成模型主要是求解聯合概率密度,比如我們有資料集:(C,X),其中(c,x)表示其中一個樣本,c為類別,x為特徵。那麼對於生成模型來說我們需要求解p(x,c)的聯合概率密度,根據貝葉斯概率,p(x,c) = p(x|c)*p(c),所以我們的任務變成了求解p(x|c)的類別條件概率,和p(c)的類別先驗概率。

生成模型的求解思路是:聯合分佈——->求解類別先驗概率和類別條件概率

3.判別模型

還是上面的例子,比如有了(C,X),其中(c,x)表示一個樣本資料,c為類別,x為特徵,那麼判別模型輸出的就是p(c|x)這個條件概率模型,即輸入特徵x,求輸出類別是c的概率(c關於x的條件概率)。
實際上,這個過程包含了我們“看過”訓練資料得到的後驗知識,根據這個後驗知識和測試集的特徵就可以判斷出測試集的類別。p(c|x) = p(c|x , C,X),我們認為這個條件概率由引數theta決定,即p(c|x, theta)。
但是theta怎樣求得呢?theta是模型“看過”訓練集後得到的,即theta在訓練集上的後驗分佈p(theta | C,X)。
所以,綜上整個流程為:p(c|x) = p(c|x, C,X) = p(c,theta|x,C,X)關於theta積分 = p(c|x , theta)*p(theta|C,X)關於theta積分。那麼現在的重點就是求p(theta | C,X),即theta關於訓練集的後驗分佈。
這個後驗分佈對應的似然函式為:p(C | X,theta) = L(theta) = 乘積p(c | x , theta)。
又因為貝葉斯概率: p(theta | C,X)*p(C | X) = p(C | X , theta)*p(theta)。
又:p(C | X) = p(C,theta | X)對theta積分 = p(C | X , theta)* p(theta)對theta積分。

綜上:
這裡寫圖片描述

條件分佈——>模型引數後驗概率最大——->(似然函式\cdot 引數先驗)最大——->最大似然

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

生成模型

優點:

  • 1)生成給出的是聯合分佈,不僅能夠由聯合分佈計算條件分佈(反之則不行),還可以給出其他資訊,比如可以使用來計算邊緣分佈。如果一個輸入樣本的邊緣分佈很小的話,那麼可以認為學習出的這個模型可能不太適合對這個樣本進行分類,分類效果可能會不好,這也是所謂的outlier
    detection。
  • 2)生成模型收斂速度比較快,即當樣本數量較多時,生成模型能更快地收斂於真實模型。
  • 3)生成模型能夠應付存在隱變數的情況,比如混合高斯模型就是含有隱變數的生成方法。

缺點:

  • 1)天下沒有免費午餐,聯合分佈是能提供更多的資訊,但也需要更多的樣本和更多計算,尤其是為了更準確估計類別條件分佈,需要增加樣本的數目,而且類別條件概率的許多資訊是我們做分類用不到,因而如果我們只需要做分類任務,就浪費了計算資源。
  • 2)另外,實踐中多數情況下判別模型效果更好。

判別模型

優點:

  • 1)與生成模型缺點對應,首先是節省計算資源,另外,需要的樣本數量也少於生成模型。
  • 2)準確率往往較生成模型高。
  • 3)由於直接學習,而不需要求解類別條件概率,所以允許我們對輸入進行抽象(比如降維、構造等),從而能夠簡化學習問題。

缺點:

  • 1)是沒有生成模型的上述優點。

相關推薦

生成模型判別模型區別

1.監督學習分為生成模型和判別模型 有監督機器學習方法可以分為生成方法和判別方法(常見的生成方法有混合高斯模型、樸素貝葉斯法和隱形馬爾科夫模型等,常見的判別方法有SVM、LR等),生成方法學習出的是生成模型,判別方法學習出的是判別模型。 2.生成模型

生成模型判別模型

特征 數據 學習方法 最大 mem 針對 表示 不能 問題 1、定義: 生成模型(或稱產生式模型)和判別模型(或稱判別式模型)的本質區別在於模型中觀測序列x和狀態序列y的決定關系。前者假設y決定x,後者假設x決定y。 2、生成模型特點 2.1、生成模型以“狀態序列y按照一定

機器學習之---生成模型判別模型

  監督學習方法可分為兩大類,即生成方法與判別方法,它們所學到的模型稱為生成模型與判別模型。 判別模型:判別模型是學得一個分類面(即學得一個模型),該分類面可用來區分不同的資料分別屬於哪一類; 生成模型:生成模型是學得各個類別各自的特徵(即可看成學得多個模型),可用這些

【機器學習】生成模型判別模型

定義: 生成方法由資料學習聯合概率分佈P(x, y),然後求出條件概率分佈P(y|x)作為預測的模型。 包括樸素貝葉斯,貝葉斯網路,高斯混合模型,隱馬爾科夫模型等。 判別方法由資料直接學習決策函式

機器學習---生成模型判別模型

【摘要】判別式模型,就是隻有一個模型,你把測試用例往裡面一丟,label就出來了,如SVM。生成式模型,有多個模型(一般有多少類就有多少個),你得把測試用例分別丟到各個模型裡面,最後比較其結果,選擇

監督學習:生成模型判別模型

生成模型與判別模型        一直在看論文的過程中遇到這個問題,折騰了不少時間,然後是下面的一點理解,不知道正確否。若有錯誤,還望各位前輩不吝指正,以免小弟一錯再錯。在此謝過。 一、決策函式Y=f(X)或者條件概率分佈P(Y|X)        監督學習的任務就是從

生成模型判別模型對比

比如說你的任務是識別一個語音屬於哪種語言。例如對面一個人走過來,和你說了一句話,你需要識別出她說的到底是漢語、英語還是法語等。那麼你可以有兩種方法達到這個目的:用生成模型的方法是學習每一種語言,你花了大量精力把漢語、英語和法語等都學會了,我指的學會是你知道什麼樣的語音對應什麼

監督學習中的“生成模型判別模型

ref: http://blog.csdn.net/zouxy09/article/details/8195017  講的非常清晰了。該內容部分來自於維基百科。兩者都是概率統計模型,從維基上的解釋來看生成模型(Generative Model):定義了在觀測{X}和結果{Y}

機器學習:生成模型判別模型

經典提問:Navie Bayes和Logistic迴歸區別是什麼? Navie Bayes是生成式模型,Logistic迴歸是判別式模型,二者的區別就是生成式模型與判別式模型的區別。 首先,Navie Bayes通過已知樣本求得先驗概率P(Y), 及條件概率P(X|Y),

生成模型判別模型的理解

【摘要】    - 生成模型:無窮樣本==》概率密度模型 = 產生模型==》預測    - 判別模型:有限樣本==》判別函式 = 預測模型==》預測【簡介】簡單的說,假設o是觀察值,q是模型。如果對P(o|q)建模,就是Generative模型。其基本思想是首先建立樣本的概

生成模型判別模型,自己看完資料後總結

1. Ref:  http://blog.csdn.net/zouxy09/article/details/8195017  講的非常清晰了。http://www.cnblogs.com/lifegoesonitself/p/3437747.html ---進一步補充豐富理

生成模型判別模型(《統計學習方法》截圖)

技術分享 img http htm mage info alt 統計學 www. 有一篇博客寫的很好,給上鏈接: https://www.cnblogs.com/xiaoshayu520ly/p/9079435.html生成模

聯合概率與聯合分佈、條件概率與條件分佈、邊緣概率與邊緣分佈、貝葉斯定理、生成模型(Generative Model)判別模型(Discriminative Model)的區別

在看生成模型和判別模型之前,我們必須先了解聯合概率與聯合分佈、條件概率與條件分佈、邊緣概率與邊緣分佈、貝葉斯定理的概念。 聯合概率與聯合概率分佈: 假設有隨機變數X與Y, 此時,P(X=a,Y=b)用於表示X=a且Y=b的概率。這類包含多個條件且所有條件同時成立的概率稱為聯合概率。聯合概

統計學習:泛化能力、生成模型判別模型、分類、標註迴歸問題

宣告: 1.本文章為參考相關書籍和前輩經驗所寫,只為個人學習專用。 2.若有內容錯誤之處請大家留言改進。 3.若有引用不當之處,請告知本人,會進行相關處理。 泛化能力 泛化誤差 學習方法的泛化能力(generalization ab

生成模型判別模型區別

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

Actor模型CSP模型區別

  Akka/Erlang的actor模型與Go語言的協程Goroutine與通道Channel代表的CSP(Communicating Sequential Processes)模型有什麼區別呢?   首先這兩者都是併發模型的解決方案,我們看看Actor和Channel這兩個方案的不同:

ML13生成模型判別模型

轉載自GitHub:http://t.cn/E76fhB6 生成模型與判別模型 監督學習的任務是學習一個模型,對給定的輸入預測相應的輸出 這個模型的一般形式為一個決策函式或一個條件概率分佈(後驗概率):

理解生成模型判別模型

導言 我們都知道,對於有監督的機器學習中的分類問題,求解問題的演算法可以分為生成模型與判別模型兩種型別。但是,究竟什麼是生成模型,什麼是判別模型?不少書籍和技術文章對這對概念的解釋是含糊的。在今天這篇文章中,我們將準確、清晰的解釋這一組概念。 第一種定義 對於判別模型和生成模型有兩種定義

生成方法vs判別方法+生成模型vs判別模型

監督學習的方法可以分為2類,生成方法(generative approach)和判別方法(discriminative approach),所學到的模型分別為生成模型(generative model)和判別模型(discriminative model)。   生成方法:

生成模型判別模型

一、決策函式Y=f(X)或者條件概率分佈P(Y|X) 監督學習的任務就是從資料中學習一個模型(也叫分類器),應用這一模型,對給定的輸入X預測相應的輸出Y。這個模型的一般形式為決策函式Y=f(X)或者條件概率分佈P(Y|X)。 決策函式Y=f(X):你輸入一個