Generative vs Discriminative Models
来源:互联网 发布:网络爬虫实战 胡松涛 编辑:程序博客网 时间:2024/06/05 17:15
机器学习中有很多算法,或者说是很多模型,比较流行的包括:决策树、朴素贝叶斯、贝叶斯网络、逻辑回归、支持向量机、人工神经网络、随机森林、隐马尔科夫模型、kNN、k-Means、AdaBoost、EM ... ...
如果要把它们归个类,比较常见的可以分成 “supervised 和 unsupervised” 或者 “贝叶斯派 和 频率派”等等。把为数众多的算法分成几类,绝对不仅仅是为了给算法们贴上标签,或者仅仅是为了分类而分类。事实上,当我们把某个算法看做这一类或者那一类的同时,更重要的是通过这种划分体现出算法本质上的某种特殊属性。
除了上面提到的那几种划分以外,另外一种常常被提到的分类法就是本文将要讨论的 “Generative Models(生成模型)” 和 “Discriminative Models(判别模型)” 。这种分类方法所使用的两个标签相当不容易理解,至少从字面意思上并不能很明显地体现出它们的内在逻辑。
不妨以本博客介绍过的两个经典的机器学习模型朴素贝叶斯(naive Bayes)和逻辑回归(logistic regression)为例来探讨Generative 和 Discriminative 的区别。Logistic regression 是一个 discriminative 的分类器,而 naive Bayes 却是一个 generative 的分类器。
回想一下分类器(Classifier)的机制,当我们有一些 输入(特征)x 时,我们要为样本选择一个最合适的(分类)标签y,为此就需要求得条件概率 P(y|x) 的大小,其中令整个条件概率最大的 y 就是最合适的分类结果。在朴素贝叶斯法中,我们以贝叶斯定理为基础,借助似然P(x|y) 和 先验 P(y) 来”间接“地评估哪个y才是最合适的,即
似然 P(x|y) 的意思就是在给定类别标签y的时候,试图预测那些特征更有可能会出现(也即是会产生何种的x),所以我们说如果一个模型是generative model,那么这个模型就是被训练成 通过类别 y 来生成数据 x (a model that is trained to generate the data x from the class y)。然后我们再通过贝叶斯定理来计算我们想要的概率 P(y|x) 。
一个 discriminative model 会采用一个直接的方法,它通过在不同的类别y的可能取值之间进行判定,从而计算出概率 P(y|x) ,即
根据上面这种分类方式,我们可以列举一些 generative models 的例子:
- Naive Bayes
- Gaussian mixture model and other types of mixture model
- Hidden Markov model
- Probabilistic context-free grammar
- Latent Dirichlet allocation
- Restricted Boltzmann machine
同样,可以列举一些 discriminative models 的例子:
- Logistic regression
- Support vector machines
- Conditional random fields
- Neural networks
- Generative vs Discriminative Models
- Generative vs. Discriminative Models
- Discriminative vs. Generative model
- generative vs discriminative
- Discriminative model vs Generative model
- Discriminative Modeling vs Generative Modeling
- [转载]Discriminative Modeling vs Generative Modeling
- 生成式模型(generative) vs 判别式模型(discriminative)
- Generative model & discriminative model
- Generative& Discriminative model
- Discriminative models, not discriminative training
- 关于生成模型和判别模型 --- generative model vs discriminative model
- 生成模型(Generative Model)Vs 判别模型(Discriminative Model)
- 生成模型(Generative Model)Vs 判别模型(Discriminative Model)
- 判别式模型与产生式模型解析(Discriminative Model vs. Generative Model)
- Discriminative Modeling vs Generative Modeling(学习Free Mind知识整理)
- Discriminative Learning和Generative Learning
- Discriminative Model and Generative Model
- shell
- 关键字const用法详解
- ADO.NET 连接access 和 excel
- TCP/IP协议源码学习笔记之典型数据结构-链表
- 自然语言处理中的上下文无关文法(CFG)
- Generative vs Discriminative Models
- 此处第一博
- 真的有点晚
- 下定决心
- 闲言絮语01
- 太晚了
- 天啦
- 学习C的建议
- 难