1. 程式人生 > >機器學習---生成模型和判別模型

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

【摘要】
判別式模型,就是隻有一個模型,你把測試用例往裡面一丟,label就出來了,如SVM。生成式模型,有多個模型(一般有多少類就有多少個),你得把測試用例分別丟到各個模型裡面,最後比較其結果,選擇最優的作為label,如樸素貝葉斯。本文將從生成式模型與判別式模型的概念,適用環境以及具體模型三個方面分析比較這兩個模型,並在最後對列出模型範例,進行範例比較。
【基本概念】

  • 生成模型,就是生成(資料的分佈)的模型;
  • 判別模型,就是判別(資料輸出量)的模型。
【適用環境】
更進一步,從結果角度,兩種模型都能給你 輸出量(label 或 y etc.)。
  • 但,生成模型的處理過程會告訴你關於資料的一些統計資訊(p(x|y) 分佈 etc.),更接近於統計學;
  • 而 判別模型則是通過一系列處理得到結果,這個結果可能是概率的或不是,這個並不改變他是不是判別的。
  • 如,決策樹的 if then 說不是這個就是那個(而很多屬性都是有分佈的),明顯是一種 判別嘛;
  • 而樸素貝葉斯說,p( cancer , fat ) = x% etc.,模型 生成 了一個分佈給你了,即使你沒意識到/沒用到,只用到 p( cancer | fat ) = y% 這個最終的判別。
【具體模型】
更進一步,可以再理解一下:
生成式模型
  • 樸素貝葉斯
  • K近鄰(KNN)
  • 混合高斯模型
  • 隱馬爾科夫模型(HMM)
  • 貝葉斯網路
  • Sigmoid Belief Networks
  • 馬爾科夫隨機場(Markov Random Fields)
  • 深度信念網路(DBN)
判別式模型
  • 線性迴歸(Linear Regression)
  • 邏輯斯蒂迴歸(Logistic Regression)
  • 神經網路(NN)
  • 支援向量機(SVM)
  • 高斯過程(Gaussian Process)
  • 條件隨機場(CRF)
  • CART(Classification and Regression Tree)
【模型範例】
假設你現在有一個分類問題,x是特徵,y是類標記。用生成模型學習一個聯合概率分佈P(x,y),而用判別模型學習一個條件概率分佈P(y|x)。用一個簡單的例子來說明這個這個問題。假設x就是兩個(1或2),y有兩類(0或1),有如下如下樣本(1,0)、(1,0)、(1,1)、(2,1)
則 學習到的聯合概率分佈(生成模型)如下:

0 1
1 1/2 1/4
2 0 1/4
而學習到的條件概率分佈(判別模型)如下:
0 1
1 2/3 1/3
2 0 1
在實際分類問題中,判別模型可以直接用來判斷特徵的類別情況,而生成模型,需要加上貝耶斯法則,然後應用到分類中。但是,生成模型的概率分佈可以還有其他應用,就是說生成模型更一般更普適。不過判別模型更直接,更簡單。兩種方法目前交叉較多。由生成式模型可以得到判別式模型,但由判別式模型得不到生成式模型。

關於生成式模型和判別式模型的優缺點的具體分析

詳址:http://www.cnblogs.com/kemaswill/p/3427422.html

相關推薦

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

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

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

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

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

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

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

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

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

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

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

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

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

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

生成模型判別模型

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

生成模型判別模型的區別

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

生成模型判別模型對比

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

生成模型判別模型的理解

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

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

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

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

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

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

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

【模式識別與機器學習】——判別式產生式模型

(1)判別式模型(Discriminative Model)是直接對條件概率p(y|x;θ)建模。常見的判別式模型有線性迴歸模型、線性判別分析、支援向量機SVM、神經網路、boosting、條件隨機場等。   舉例:要確定一個羊是山羊還是綿羊,用判別模型的方法是從歷史資料中學習到模型,然後通過提取這隻羊的特

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

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

機器學習之LDA線性判別分析模型

機器學習之LDA線性判別分析模型 # -*- coding: utf-8 -*- """ Created on Wed Nov 21 21:03:14 2018 @author: muli """ import matplotlib.pyplot as plt im

Python機器學習筆記:深入理解Keras中序貫模型函式模型

  先從sklearn說起吧,如果學習了sklearn的話,那麼學習Keras相對來說比較容易。為什麼這樣說呢?   我們首先比較一下sklearn的機器學習大致使用流程和Keras的大致使用流程: sklearn的機器學習使用流程: 1 2 3 4

機器學習(六)分類模型--線性判別法、距離判別法、貝葉斯分類器

機器學習(六)分類模型--線性判別法、距離判別法、貝葉斯分類器   首先我們瞭解常見的分類模型和演算法有哪些   線性判別法 簡單來說就是用一些規定來尋找某一條直線,用直線劃分學習集,然後根據待測點在直線的哪一邊決定它的分類 如圖,假如紅色這條線是找

Spark機器學習(8):LDA主題模型算法

算法 ets 思想 dir 骰子 cati em算法 第一個 不同 1. LDA基礎知識 LDA(Latent Dirichlet Allocation)是一種主題模型。LDA一個三層貝葉斯概率模型,包含詞、主題和文檔三層結構。 LDA是一個生成模型,可以用來生成一篇文