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

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

引入

監督學習的任務就是學習一個模型(或者得到一個目標函式),應用這一模型,對給定的輸入預測相應的輸出。這一模型的一般形式為一個決策函式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方法做人臉的跟蹤,這裡看到了有關跟蹤演算法的說明,特此陳述一下。

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

相關推薦

生成模型判別模型區別

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

ML13生成模型判別模型

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

理解生成模型判別模型

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

生成模型判別模型

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

機器學習引數模型非引數模型/生成模型判別模型

2018-03-31更新:生成模型與判別模型引數模型:根據預先設計的規則,例如方差損失最小,進行學習,引數模型例子:迴歸(線性迴歸、邏輯迴歸)模型;最好可以看一下或者直接進行一下相關的推導;根據規則,擁有少部分資料就可以;非引數模型:不需要事先假設規則,直接挖掘潛在資料中的規

斯坦福大學-自然語言處理入門 筆記 第十一課 最大熵模型判別模型(2)

一、最大熵模型 1、模型介紹 基本思想:我們希望資料是均勻分佈的,除非我們有其他的限制條件讓給我們相信資料不是均勻分佈的。均勻分佈代表高熵(high entropy)。所以,最大熵模型的基本思想就是我們要找的分佈是滿足我們限制條件下,同時熵最高的分佈。 熵:表示分佈的不

斯坦福大學-自然語言處理入門 筆記 第八課 最大熵模型判別模型

一、生成模型與判別模型 1、引言 到目前為止,我們使用的是生成模型(generative model),但是在實際使用中我們也在大量使用判別模型(discriminative model),主要是因為它有如下的優點: 準確性很高 更容易包含很多和

生成模型判別模型區別

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

生成模型判別模型

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

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

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

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

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

機器學習_生成模型判別式模型

從概率分佈的角度看待模型。 給個例子感覺一下: 如果我想知道一個人A說的是哪個國家的語言,我應該怎麼辦呢? 生成式模型 我把每個國家的語言都學一遍,這樣我就能很容易知道A說的是哪國語言,並且C、D說的是哪國的我也可以知道,進一步我還能自己講不同國家語言。

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

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

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

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

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

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

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

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

生成模型判別模型對比

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

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

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

生成模型 VS 判別模型

監督學習方法又分生成方法(Generative approach)和判別方法(Discriminative approach),所學到的模型分別稱為生成模型(Generative Model)和判別模(Discriminative Model)。 判別模型:由資料直接學習決

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

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