生成式模型与判别式模型

参考 https://www.zybuluo.com/vivounicorn/note/446479

从概率分布的角度看待模型。

例如,如果我想知道一个人A说的是哪个国家的语言,我应该怎么办呢?

  • 生成式模型 我把每个国家的语言都学一遍,这样我就能很容易知道A说的是哪国语言,并且C、D说的是哪国的我也可以知道,进一步我还能自己讲不同国家语言。

  • 判别式模型 我只需要学习语言之间的差别是什么,学到了这个界限自然就能区分不同语言,我能说出不同语言的区别,但我哦可能不会讲。

如果我有输入数据 \(x\), 并且想通过标注 \(y\) 去区分不同数据属于哪一类,生成式模型是在学习样本和标注的联合概率分布 \(p(x,y)\),而判别式模型是在学习条件概率 \(p(y|x)\)

  • 生成式模型 \(p(x,y)\) 可以通过贝叶斯公式转化为 \(p(y|x)=\frac{p(x,y)}{p(x)}\) ,并用于分类,而联合概率分布 \(p(x,y)\) 也可用于其他目的,比如用来生成样本对 \((x,y)\)
  • 判别式模型的主要任务是找到一个或一系列超平面,利用它(们)划分给定样本 $x $ 到给定分类 \(y\),这也能直白的体现出“判别”模型这个名称。

最后给一个很简单的例子说明一下:

假如我有以下独立同分布的若干样本 \((x,y)\),其中 \(x\)为特征,\(y \in \{-1,1\}\) 为标注。

\((x,y) \in \{(2,-1),(2,-1),(3,-1),(3,1),(3,1)\}\),则:

  • \(p(x,y)\)
\(y\)=-1 \(y\)=1
\(x\)=2 \(\frac{2}{5}\) 0
\(x\)=3 \(\frac{1}{5}\) \(\frac{2}{5}\)
  • \(p(y|x)\)
\(y\)=-1 \(y\)=1
x=2 1 0
x=3 \(\frac{1}{3}\) \(\frac{2}{3}\)

1、常见生成式模型

  • Naive Bayes
  • Gaussians
  • Mixtures of Gaussians
  • Mixtures of Experts
  • Mixtures of Multinomials
  • HMM (Hidden Markov Model)
  • Markov random fields
  • Sigmoidal belief networks
  • Bayesian networks

2、常见判别式模型

  • Linear regression
  • Logistic regression
  • SVM
  • Perceptron
  • Traditional Neural networks
  • Nearest neighbor
  • Conditional random fields