目錄
判別式模型 vs. 生成式模型
-
簡介
生成式模型(generadtive model)會對
的聯合分布進行建模,然后通過貝葉斯公式求得條件概率(在x發生的條件下y發生的概率)
,
最后選擇使得
取得最大的
。
判別式模型(discriminative model)則會對
進行建模。
-
對比
下面簡單比較下生成式模型的和判別式模型的優缺點。
本質區別是建模對象不同。
-
一般來說,生成式模型都會對數據的分布做一定的假設,比如朴素貝葉斯會假設在給定
的條件下各個特征
之間是條件獨立的 :
條件獨立性:
給定第三個事件
,如果
,則稱
是條件獨立事件。
若
關於事件
條件獨立,則有以下一些理解:
-
事件
的發生,使本來可能不獨立的事件
變得獨立起來
-
事件
的出現或發生,解開了
的依賴關系
-
若
關於
條件獨立,則
證明:
-
當數據滿足這些假設時, 生成式模型通常需要較少的數據就能取得不錯的效果, 但是當這些假設不成立時, 判別式模型會得到更好的效果.
-
生成式模型最終得到的錯誤率會比判別式模型高, 但是其需要更少的訓練樣本就可以使錯誤率收斂
-
生成式模型更容易擬合, 比如在朴素貝葉斯中只需要計下數就可以, 而判別式模型通常都需要解決凸優化問題.
-
當添加新的類別時, 生成式模型不需要全部重新訓練, 只需要計算新的類別
的聯合分布
即可, 而判別式模型則需要全部重新訓練.
-
生成式模型可以更好地利用無標簽數據(比如DBN), 而判別式模型不可以.
-
生成式模型可以生成
特征變量,因為生成式模型是對
進行建模。而判別式模型不可以生成
-
生成模型支持無指導訓練。
-
只有生成模型能檢測異常值。由於生成模型完全學習了所有的分布,所以它可以用來檢測某個值是否異常:P(X)是否太小。
-
-
二者所包含的算法
生成模型是模擬這個結果是如何產生的,然后算出產生各個結果的概率
判別模型是發現各個結果之間的不同,不關心產生結果的過程
-
生成式模型
-
朴素貝葉斯
-
K緊鄰(KNN)
-
混合高斯模型
-
隱馬爾科夫模型(HMM)
-
貝葉斯網絡
-
Sigmoid Belief Networks
-
馬爾科夫隨機場(Markov Random Fields)
-
深度信念網絡(DBN)
-
-
判別式模型
-
線性回歸(Linear Regression)
-
邏輯斯蒂回歸(Logistic Regression)
-
神經網絡(NN)
-
支持向量機(SVM)
-
高斯過程(Gaussian Process)
-
條件隨機場(CRF)
-
CART(Classification and Regression Tree)
-