主要区别在于:要不要生成联合分布P(C_k,x)!!!
其中,C_k是类别,x是数据。
判别模型
- 直接估计后验概率 P(C_k|x) ,不同估计, 参数少。
- 效果好。当真实分布和假设的分布差异很大的时候,直接估计后验概率效果更好。
- 节省计算资源,另外,需要的样本数量也少于生成模型。
- 允许我们对输入进行抽象(比如降维、构造等),从而能够简化学习问题。
生成模型
- 收敛速度差异。It has been shown empirically that for certain generative-discriminative model pairs, such as Naive Bayes versus logistic regression, generative models can achieve faster convergence on discriminative tasks with fewer points, but discriminative models achieve better convergence with more points.
(即,数据少,生成模型收敛更快;数据很多,判别模型收敛更快。) - 生成模型能够应付存在隐变量的情况,比如混合高斯模型就是含有隐变量的生成方法。
- 生成联合分布P(C_k,x), 联合分布能提供更多信息。但也需要更多的样本和更多计算资源。
思考
k近邻法、感知机、逻辑斯谛回归模型、最大熵模型、支持向量机、隐马尔可夫模型、Boosting、决策树、条件随机场是什么模型?
欢迎补充。谢谢!
Reference
[1] Li Deng, Navdeep Jaitly. Deep Discriminative and Generative Models for pattern recognition . https://www.microsoft.com/en-us/research/wp-content/uploads/2016/04/DengJaitly2015-ch1-2.pdf
Andrew Y. Ng, Michael I. Jordan. On Discriminative vs. Generative classifiers: A comparison of logistic regression and naive Bayes. NIPS 2002. http://ai.stanford.edu/~ang/papers/nips01-discriminativegenerative.pdf