目录
判别式模型 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)
-