生成模型和判别模型

1,645 阅读2分钟

定义

监督学习的任务就是学习一个模型,应用这一模型,对给定的输入预测相应的输出,这个模型的一般形式为决策函数:

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近邻法、感知机、决策树、逻辑斯谛回归模型、最大熵模型、支持向量机、提升方法和条件随机场等.

特点对比

生成模型和判别模型的对比

生成模型(generative model)

优点

  • 能计算出联合概率分布P(X,Y),可以反映同类数据本身的相似度.
  • 学习收敛速度更快,即当样本容量增加的时候,学习到的模型可以更快地收敛于真实模型.
  • 能够用于数据不完整的情况,且能检测异常值.

缺点

  • 含有更多的信息,但同样也需要更多的计算资源.
  • 仅用于分类任务时,有许多冗余信息.

判别模型(discriminative model)

优点

  • 学习的是条件概率P(Y|X) 或决策函数f(X),直接面对预测问题,往往准确率更高.
  • 可以对数据进行各种程度上的抽象、定义特征并使用特征,简化学习问题.
  • 对分类任务,冗余信息更少,能节省计算资源.

缺点

  • 不能反映数据本身的特性.
  • 数据缺失或者异常值对预测结果的影响较大.

举例

假设有四个样本:

样本

生成模型的世界中是:

生成模型

\sum P(x,y) =1

而在判别模型的世界中是:

\sum_y P(y|x) = 1

模型实例

生成模型

判别模型



参考资料

[1] 李航. 统计学习方法[M]. 清华大学出版社, 2012: 17,18.

[2] politer. 知乎: 机器学习“判定模型”和“生成模型”有什么区别?[EB/OL]. www.zhihu.com/question/20…, 2018-06-07/2018-07-17