引入
監督學習的任務就是學習一個模型(或者得到一個目標函數),應用這一模型,對給定的輸入預測相應的輸出。這一模型的一般形式為一個決策函數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方法做人臉的跟蹤,這里看到了有關跟蹤算法的說明,特此陳述一下。
跟蹤算法一般來說可以分為兩類:基于外觀模型的生成模型或者基于外觀模型的判別模型。
生成模型:一般是學習一個代表目標的模型,然后通過它去搜索圖像區域,然后最小化重構誤差。類似于生成模型描述一個目標,然后就是模式匹配了,在圖像中找到和這個模型最匹配的區域,就是目標了。
判別模型:將跟蹤問題看成一個二分類問題,然后找到目標和背景的決策邊界。它不管目標是怎么描述的,那只要知道目標和背景的差別在哪,然后你給一個圖像,它看它處于邊界的那一邊,就歸為哪一類。
參考資料
統計學習方法 李航著,清華大學出版社
CSDN博客 生成模型與判別模型
轉載請注明作者Jason Ding及其出處
Github主頁(http://jasonding1354.github.io/)
CSDN博客(http://blog.csdn.net/jasonding1354)
簡書主頁(http://www.lxweimin.com/users/2bd9b48f6ea8/latest_articles)