机器学习_生成式模型与判别式模型

在这里插入图片描述
从概率分布的角度看待模型。
给个例子感觉一下: 如果我想知道一个人A说的是哪个国家的语言,我应该怎么办呢?

  • 生成式模型

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

  • 判别式模型

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

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

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

最后给一个很简单的例子说明一下:
假如我有以下独立同分布的若干样本 (x,y) ,其中 x 为特征,
y { 0 , 1 } y\in\left\{ 0,1 \right\} 为标注, ( x , y ) { ( 2 , 1 ) , ( 2 , 1 ) , ( 3 , 1 ) , ( 3 , 1 ) , ( 3 , 1 ) } (x,y)\in\left\{ (2,-1),(2,-1),(3,-1),(3,1),(3,1) \right\} 则:
p ( x , y ) p(x,y)
y ( y x ) y(y|x)
一些理论可看:On Discriminative vs Generative classifiers: A comparison of logistic regression and naive Bayes。

  • 常见生成式模型
    Naive Bayes
    Gaussians
    Mixtures of Gaussians
    Mixtures of Experts
    Mixtures of Multinomials
    HMM
    Markov random fields
    Sigmoidal belief networks
    Bayesian networks
  • 常见判别式模型
    Linear regression
    Logistic regression
    SVM
    Perceptron
    Traditional Neural networks
    Nearest neighbor
    Conditional random fields

猜你喜欢

转载自blog.csdn.net/weixin_44151168/article/details/85251489