0%

生成模型和判别模型

ePCNdg.png

  • 生成模型可以产生数据,判别模型只能根据数据做判断。
  • 生成模型的指导思想是贝叶斯,判别模型的指导思想是频率学派

生成模型

生成模型(Generaive Model)一般以概率的方式描述了数据的产生方式,通过对模型采样就可以产生数据。
一个简单例子:给定平面上一系列点,我可以认为这些点是根据一个二维高斯分布产生的,这就是一个生成模型,它可以产生数据。我可以用最大似然方法,根据已有的样本估计出模型的参数,再对这个模型进行采样,就可以得到更多的样本,这些样本和之前的样本在空间分布上可能差不多。

对于分类来说:生成模型观察 x 与 c 的整体分布,通过对每一个 c 建模,最终选择能使结果最优的 c 作为最终分布 P (x,c)。训练完模型后,每新来一个数据,就根据所得到的 P (x,c) 与 x 的特征,来判断 c。

判别模型

判别模型(Discriminative Model)对数据之间的映射关系建模,而不考虑数据本身是如何生成的。判别模型可以根据给定的数据 预测对应的 (回归),或根据不同的映射结果来区分(discriminate)给定的数据 (分类)。但模型自身并不能产生数据 。

对于分类来说:判别模型直接根据 x 的特征,来对 c 建模,划定一个整体判别边界。训练完模型后,每新来一个数据,就根据这个边界来判断它应该属于哪一类。

常见模型的分类

生成模型

  • 高斯混合模型(和其他类型的混合模型)
  • 隐马尔可夫模型
  • 贝叶斯网络(例如 Naive bayes,Autoregressive 模型)
  • LDA
  • 玻尔兹曼机器(例如受限玻尔兹曼机器,深信念网络)
  • 变分自动编码器
  • 生成对抗性网络

判别模型

  • k - 最近邻算法
  • 逻辑回归
  • 支持向量机
  • 最大熵马尔可夫模型
  • 条件随机场
  • 神经网络
支持一根棒棒糖!