生成模型與判別模型區別

概念理解

監督學習方法可分爲兩大類,即生成方法與判別方法,它們所學到的模型稱爲生成模型與判別模型。函數

  • 判別模型:判別模型是學得一個分類面(即學得一個模型),該分類面可用來區分不一樣的數據分別屬於哪一類;
  • 生成模型:生成模型是學得各個類別各自的特徵(便可當作學得多個模型),可用這些特徵數據和要進行分類的數據進行比較,看新數據和學得的模型中哪一個最相近,進而肯定新數據屬於哪一類。

舉個例子:若分類目標是對圖像中的大象和狗進行分類。判別方法學得一個模型,這個模型多是判斷圖中動物鼻子的長度是否大於某一閾值,若大於則判斷爲大象,不然判斷爲狗;生成學習則分別構建一個大象的特徵模型與狗的特徵模型,來了一個新圖像後,分別用大象模型與狗模型與其進行比較,若新圖像與狗類似度更高則判斷爲狗,不然判斷爲大象。學習

相關數學理論

若已知某分類任務的生成模型,是能夠求得該任務的判別模型,反之則不行。這和機率論中的全機率密度函數以及邊沿機率密度函數是一致的(即已知全機率密度可求得邊沿機率密度,但已知邊沿機率密度不能求得全機率密度)。ui

例如:若如今已知一個二分類問題得到的5個訓練數據爲:(1,0),(1,0),(2,0),(2,1),(2,1) 
一、全機率分佈P(X,Y)以下表所示.net

X\Y 0 1
1 2/5 0
2 1/5 2/5

注意:根據全機率分佈,能夠推導出以下邊沿機率分佈P(Y|X)以及P(X)。blog

二、邊沿機率分佈P(Y|X)以下表所示數學

X\Y 0 1
1 1 0
2 1/3 2/3

注意:根據邊沿機率分佈,不能夠推導出全機率分佈。例如,此例中邊沿機率分佈對應的全機率分佈可能以下:table

X\Y 0 1
1 4/7 0
2 1/7 2/7

由上述例子可知,生成模型的信息比判別模型信息要更全一些。基礎

兩類方法的特色

生成方法一般須要無窮多樣本,進而學習一個聯合機率分佈P(X,Y),而後求出條件機率分佈P(Y|X)=P(X,Y)/P(X)來對新輸入的數據進行分類。學習方法

此類方法之因此成爲生成方法,是由於模型表示了給定輸入X產生輸出Y的生成關係。典型的生成模型有:樸素貝葉斯法、馬爾科夫模型、高斯混合模型。這種方法通常創建在統計學和Bayes理論的基礎之上。變量

生成方法的特色:

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

判別方法能夠根據有限個樣本得到一個判別函數(即判別模型),而後用它來對新數據進行分類。典型的判別模型包括:k近鄰法、感知機、決策樹、邏輯斯蒂迴歸模型、最大熵模型、支持向量機、boosting方法和條件隨機場等。

判別方法的特色:

  • 判別方法尋找不一樣類別之間的最優分類面,反映的是異類數據之間的差別;
  • 判別方法利用了訓練數據的類別標識信息,直接學習的是條件機率P(Y|X)或者決策函數f(X),直接面對預測,每每學習的準確率更高;
  • 因爲直接學習條件機率P(Y|X)或者決策函數f(X),能夠對數據進行各類程度上的抽象、定義特徵並使用特徵,所以能夠簡化學習問題;
  • 缺點是不能反映訓練數據自己的特性。

兩類方法的應用

根據所獲取的數據,兩類方法都有各自的用場。例如:咱們若只有人的側面數據,咱們固然不知道這我的是否長得帥、美,但咱們可作(男、女)、(有耳、無耳)分類。用生成模型來作的話,則表示這我的所有信息都有了,固然能作的分類更多了。

 

轉載自:https://blog.csdn.net/quintind/article/details/77923147

相關文章
相關標籤/搜索