有监督学习回归模型中,我们利用训练集直接对条件概率p(y|x;θ)建模,例如logistic回归就利用hθ(x) = g(θTx)对p(y|x;θ)建模(其中g(z)是sigmoid函数)。
假设现在有一个分类问题,要根据一些动物的特征来区分大象(y = 1)和狗(y = 0)。给定这样的一种数据集,回归模型比如logistic回归会试图找到一条直线也就是决策边界,来区分大象与狗这两类,然后对于新来的样本,回归模型会根据这个新样本的特征计算这个样本会落在决策边界的哪一边,从而得到相应的分类结果。
现在我们考虑另外一种建模方式:首先,根据训练集中的大象样本,我们可以建立大象模型,根据训练集中的狗样本,我们可以建立狗模型。然后,对于新来的动物样本,我们可以让它与大象模型匹配看概率有多少,与狗模型匹配看概率有多少,哪一个概率大就是那个分类。

  • 判别式模型(Discriminative Model)是直接对条件概率p(y|x;θ)建模。

  • 生成式模型(Generative
    Model)则会对x和y的联合分布p(x,y)建模,然后通过贝叶斯公式来求得p(yi|x),然后选取使得p(yi|x)最大的yi

判别式与生成式模型
下面简单比较下生成式模型和判别式模型的优缺点:

  1. 一般来说, 生成式模型都会对数据的分布做一定的假设, 比如朴素贝叶斯会假设在给定y

p(X|y=c,θ)=N(μc,Σc)

  1. 生成式模型最终得到的错误率会比判别式模型高, 但是其需要更少的训练样本就可以使错误率收敛[限于Genarative-Discriminative Pair, 详见[2]].

  2. 生成式模型更容易拟合, 比如在朴素贝叶斯中只需要计下数就可以, 而判别式模型通常都需要解决凸优化问题.

  3. 当添加新的类别时, 生成式模型不需要全部重新训练, 只需要计算新的类别ynew

  4. 生成式模型可以更好地利用无标签数据(比如DBN), 而判别式模型不可以.

  5. 生成式模型可以生成x

  6. 判别式模型可以对输入数据x

相关文章: