生成模型与判别模型的区别
引言
监督学习的任务就是学习一个模型,应用这一模型,对给定的输入预测相应的输出。这个模型的一般形式为决策函数:
$$Y=f(x)$$
或者条件概率分布:
$$P(Y|X)$$
监督学习方法又可以分为生成方法(generative approach)和判别方法(discriminative approach)。所学到的模型分别称为生成模型(generative model)和判别模型(discriminative model)。
概念
生成模型
生成方法由数据学习联合概率分布\(P(X,Y)\), 然后求出条件概率分布\(P(Y|X)\)作为预测的模型,即生成模型:
$$P(Y|X)=\frac{P(X,Y)}{P(X)}$$
这样的方法之所以称为生成方法,是因为模型表示了给定输入\(X\)产生输出\(Y\)的生成关系。
典型的生成模型有:
- 朴素贝叶斯法
- 隐马尔科夫模型
判别模型
判别方法由数据直接学习决策函数\(f(X)\)或者条件概率分布\(P(Y|X)\)作为预测的模型,即判别模型。判别方法关心的是对给定的输入\(X\),应该预测什么样的输出\(Y\)。
典型的判别模型有:
- K近邻法
- 决策树
- 逻辑回归模型
- 最大熵模型
- 支持向量机
- 提升方法
- 条件随机场
特点
生成方法
- 生成方法可以还原出联合概率分布\(P(X,Y)\),而判别方法不能
- 生成方法的学习收敛速度更快,即当样本容量增加的时候,学到的模型可以更快的收敛于真实模型
- 当存在隐含变量的时候,生成方法仍然有效,而判别方法则无效
- 对数据分布做出的假设要求更强,效果好坏与数据分布是否符合假设有关
判别方法
- 判别方法直接学习的是条件概率\(P(Y|X)\)或者决策函数\(f(X)\),直接面对预测,往往学习的准确率更高
- 由于直接学习\(P(Y|X)\)或\(f(X)\),可以对数据进行各种程度上的抽象,定义特征并使用特征,因此可以简化学习问题
- 对数据分布的假设要求不强