生成式模型与判别式模型
从概率分布的角度看待模型。
例如,如果我想知道一个人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