生成模型和判別模型

生成模型 (generative model) 和判別模型 (discriminative model) 是兩種學習未知函數 f:X \rightarrow Y,或說機率 P(Y|X) 的方法,其中差異藉由貝氏定理說明:P(Y|X) \sim P(X|Y) P(Y) 生成模型同時估計 P(X|Y) 和 P(Y),判別模型直接估計 P(Y|X)

CMU 的教授 Tom Mitchell 有篇文章介紹 Gaussian Naive Bayes (GNB) 和 Logistic Regression (LG) 兩個典型的生成和判別分類器。理想狀況下,亦即 GNB 的假設滿足,且樣本趨近無窮大時,GNB 和 LR 的分類結果會趨近一致。若 GNB 假設不滿足,且樣本數量足夠讓 LG 反映樣本分布時,判別模型比生成模型好用。反之,樣本少,GNB 表現相對較好。

打個比方,面對現實生活中的問題,GNB 就像是家庭經驗,當你對社會還一無所知的時候,聽媽媽的話不會錯。另一方面,LG 就像實際的社會歷練,當你累積夠多且發現這個世界和媽媽說的不太一樣時,也許就該修正原本對社會的假設,用自己的經驗解決問題。

當然,多少的經驗才夠,本身就是一個待解決的問題,這也是為什麼值得討論和比較這兩種模型的原因。