最初知道生成模型与判别模型是从GAN里听到的,分别训练一个生成模型和判别模型,然后进行对抗,提升总体模型的性能,这是一个令人惊叹的创新和突破。这里总结一下生成模型和判别模型的特点和不同
一、判别模型和生成模型的思想
拿一个分别男女的二分类问题来说,判别模型就是要找到区分男女的划分边界,而生成模型则是要找到可以描述男女这两类数据分布的模型,可以用下面这张图简单概括一下
判别模型要学习的是这里的划分边界,而生成模型要学习的是男女的数据分布,由上图可知,生成模型本身并不具有分别功能,但由于生成模型详细描述了数据本身的特征,稍加处理便可以推出判别模型进行分类。但是判别模型因为本身只是划分规则,并不包含对数据的描述,所以无法倒推出生成模型。
同时,需要注意的是,生成模型因为要估计数据本身的分布,需要数据尽可能的充分,而判别模型在这方面的要求则相对宽松,能够学习得到相应划分规则即可
概括一下:
判别模型: 有限样本->判别模型=分类(回归)模型->分类(回归)
生成模型:无限样本->生成模型->分类(回归)模型->分类(回归)
二、判别模型和生成模型的概率描述
生成模型和判别模型都可以基于概率模型来描述
判别模型:学习条件概率分布P(y|x),给定x,判断其类别
生成模型:学习联合概率分布P(x,y),即特征x和标记y共同出现的概率,然后推导出条件概率分布P(y|x),即给定x,判断其类别
2.1 判别模型
判别模型的主要特点是: 判别模型寻找不同类别之间的最优分类面,反映的是不同类别数据之间的差异
-
优点:
寻找分类边界更加直接,比使用生成模型更加针对分类任务本身
能清晰的分辨出多类或某一类与其他类之间的差异特征
判别模型的性能比生成模型要简单,比较容易学习 -
缺点:
不能反映训练数据本身的特性,可以区分数据是哪个类别,但不能描述数据集本身
黑盒特性,数据间的关系不清楚,不可视 -
常见的主要有:
逻辑回归、支持向量机、普通的神经网络、最近邻、条件随机场、boosting、卷积神经网络
2.2 生成模型
生成模型首先估计数据的联合概率分布P(x,y),其基本思想是先为数据指定一个分布(如高斯分布),再利用标注数据估计分布参数(如均值和方差,利用EM或者极大似然求解),从而得到P(x,y)。基于得到的联合概率分布,利用贝叶斯公司可以得到我们的判别模型P(y|x)=P(x,y)/P(x).
生成模型的主要特点是:从统计的角度表示数据的分布情况,能够反映同类数据本身的相似度。它只关注类别本身的特性,不关心类别之间的分类界限在哪
-
优点:
包含的信息要比判别模型丰富,
研究单类问题比判别模型灵活性强
模型可以通过增量学习得到 -
缺点:
基于较强的分布假设
学习和计算过程比较复杂 -
常见的主要有:
高斯混合模型,朴素贝叶斯,隐马尔可夫模型,贝叶斯网络