概念理解
監督學習方法可分為兩大類,即生成方法與判別方法,它們所學到的模型稱為生成模型與判別模型。
- 判別模型:判別模型是學得一個分類面(即學得一個模型),該分類面可用來區分不同的數據分別屬於哪一類;
- 生成模型:生成模型是學得各個類別各自的特征(即可看成學得多個模型),可用這些特征數據和要進行分類的數據進行比較,看新數據和學得的模型中哪個最相近,進而確定新數據屬於哪一類。
舉個例子:若分類目標是對圖像中的大象和狗進行分類。判別方法學得一個模型,這個模型可能是判斷圖中動物鼻子的長度是否大於某一閾值,若大於則判斷為大象,否則判斷為狗;生成學習則分別構建一個大象的特征模型與狗的特征模型,來了一個新圖像后,分別用大象模型與狗模型與其進行比較,若新圖像與狗相似度更高則判斷為狗,否則判斷為大象。
相關數學理論
若已知某分類任務的生成模型,是可以求得該任務的判別模型,反之則不行。這和概率論中的全概率密度函數以及邊沿概率密度函數是一致的(即已知全概率密度可求得邊沿概率密度,但已知邊沿概率密度不能求得全概率密度)。
例如:若現在已知一個二分類問題獲得的5個訓練數據為:(1,0),(1,0),(2,0),(2,1),(2,1)
1、全概率分布P(X,Y)如下表所示
X\Y | 0 | 1 |
---|---|---|
1 | 2/5 | 0 |
2 | 1/5 | 2/5 |
注意:根據全概率分布,可以推導出如下邊沿概率分布P(Y|X)以及P(X)。
2、邊沿概率分布P(Y|X)如下表所示
X\Y | 0 | 1 |
---|---|---|
1 | 1 | 0 |
2 | 1/3 | 2/3 |
注意:根據邊沿概率分布,不可以推導出全概率分布。例如,此例中邊沿概率分布對應的全概率分布可能如下:
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