生成模型和判别模型

Intro

介绍

Recently I gave a presentation at work, where I explained how I solved some problem using Conditional Random Fields (CRF). And, since CRF was not so much known to my colleagues, I had a couple of slides devoted to the theory behind this algorithm. As I prepared the theory slides, I felt a duty to compare CRF with a conceptually similar algorithm, Hidden Markov Model (HMM). CRF is known to be a discriminative model and HMM is a generative model. I had to refresh my knowledge about this categorisation of supervised machine learning methods, especially generative models. Now I would like to share my understanding of the difference between generative and discriminative models in simple terms.

最近,我在工作中做了一个演讲,向我解释了如何使用条件随机场(CRF)解决一些问题。 而且,由于我的同事对CRF知之甚少,所以我有几张幻灯片专门讨论了该算法背后的理论。 在准备理论幻灯片时,我感到有责任将CRF与概念上类似的算法,即隐马尔可夫模型(HMM)进行比较 。 众所周知,CRF是一种判别模型,而HMM是一种生成模型。 我必须刷新有关监督式机器学习方法(尤其是生成模型)的分类的知识。 现在,我想简单地分享一下我对生成模型和区分模型之间差异的理解。

Generative models are a wide class of machine learning algorithms which make predictions by modelling joint distribution P(y, x).

生成模型是一类广泛的机器学习算法,它们通过对联合分布P(y,x)建模来进行预测。

Discriminative models are a class of supervised machine learning models which make predictions by estimating conditional probability P(y|x).

判别模型是一类监督的机器学习模型,通过估计条件概率P(y | x)进行预测

In order to use a generative model, more unknowns should be solved: one has to estimate probability of each class and probability of observation given class. These probabilities are used to compute joint probability, and finally, joint probability can be used as a substitute for conditional probability to make predictions.

为了使用生成模型,应该解决更多的未知数:必须估计每个类别的概率和给定类别的观察概率。 这些概率用于计算联合概率,最后,联合概率可以用作条件概率的替代来进行预测。

Generative model has more steps than discriminative model in order to estimate conditional probability P(y|x)
生成模型比判别模型具有更多的步骤,以便估计条件概率P(y | x)

The discriminative model takes a shorter way: it simply estimates conditional probability directly.

判别模型采用了更短的方法:它只是直接估算条件概率。

There are many pros and cons to each of the models. I just note that generative model can be used to generate new samples, but it requires more data. Discriminative model often superior than generative model, given the same amount of data, but it does not know about dependencies between features, because it is irrelevant for prediction. Therefore discriminative model can not generate new samples.

每个模型都有很多优点和缺点。 我只是注意到生成模型可用于生成新样本,但是它需要更多数据。 在给定相同数据量的情况下,判别模型通常优于生成模型,但它不了解要素之间的依赖性,因为它与预测无关。 因此,判别模型无法生成新样本。

Now let’s take a closer look at the concept of generative models.

现在,让我们仔细看看生成模型的概念。

Generative model

生成模型

As I showed earlier, to make predictions, conditional distribution P(y|x) is enough. But since P(y|x) = P(y, x) / P(x), where P(x) is constant for the given x and all possible y, it is valid to use joint distribution P(y, x) to make predictions.

如我先前所示,要进行预测,条件分布 P(y | x) 就足够了。 但是由于 P(y | x)= P(y,x)/ P(x) ,其中 P(x) 对于给定 x 所有可能的 y 都是常数 ,因此使用联合分布 P(y,x) 是有效的 做出预测。

By modelling joint distribution P(y, x) is meant that for each pair (yᵢ, xᵢ) a probability P(yi, xi) is known (modelled). At the beginning it was a bit difficult for me to understand how it is even possible — the range of possible values of X might be enormous, so it’s gonna be unrealistic to suggest probabilities for each xi, leave alone pair (yi, xi). How is it supposed to be done?

通过对联合分布P(y,x)进行建模意味着对于每一对( yᵢ,xᵢ) 已知概率P(yi,xi) (已建模)。 刚开始时,我很难理解它的可能性-X的可能值范围可能很大,因此建议每个xi的概率,而对( yixi)单独给出概率将是不现实的 应该怎么做?

First. Bayes theorem! It breaks computation of joint probability P(y,x) into computation of two other types of probabilities: probability of class, P(y), and probability of observation given class, P(x|y).

第一。 贝叶斯定理! 它将联合概率P(y,x)的计算分解为另外两种类型的概率的计算:类概率P(y)和给定类观察概率P(x | y)。

P(y, x) = P(y) * P(x|y)

P(y,x)= P(y)* P(x | y)

What benefits does it give? This way it is at least easier to figure out probability P(y), because it can be estimated from the dataset by computing class frequencies. P(x|y) is trickier, because usually x is not just one feature, but a set of features: x = xi, …, xn, which might have dependencies between each other.

它有什么好处? 这样,至少可以容易地找出概率P(y) ,因为可以通过计算类别频率从数据集中进行估计。 P(x | y)比较棘手,因为通常x不仅是一个特征,而且是一组特征: x = xi,…,xn ,它们之间可能存在依赖关系

P(x|y) = П P(xi|y, x1, xi-1, xi+1, xn)

P(x | y)=ПP(xi | y,x1,xi-1,xi + 1,xn)

Often the dependencies between the features are not known, especially when they appear in complex constellations (y, x1, xi-1, xi+1, xn).

通常,这些特征之间的依存关系是未知的,尤其是当它们出现在复杂的星座( y,x1,xi-1,xi + 1,xn)中时

So what should be done to estimate P(x|y)? For this, there is the following trick:

那么,应该怎么做才能估计P(x | y)呢? 为此,有以下技巧:

Second. Make wild assumptions! Or just some assumptions which make estimation of P(x|y) tractable. Naive Bayes classifier can serve as a perfect example of a generative model with such assumption, which makes computation of P(x|y) easier. Namely, it has independence assumption between the features xi, …, xn.

第二。 做出疯狂的假设! 或者只是使P(x | y)的估算变得容易的一些假设。 在这种假设下,朴素贝叶斯分类器可以用作生成模型的完美示例,这使得P(x | y)的计算更加容易。 即,它在特征xi,…,xn之间具有独立性假设

P(x|y) = П P(xi|y)

P(x | y)=ПP(xi | y)

With this relaxation, estimation of P(x|y) is tractable, because every P(xi|y) can be estimated either by finding frequencies of discrete feature xi independently from other features or using Gaussian distribution, if feature xi is continuous.

通过这种放宽, P(x | y)的估计是易于处理的,因为如果特征xi是连续的,则可以通过独立于其他特征找到离散特征xi的频率或使用高斯分布来估计每个P(xi | y)

Conclusion

结论

So now you can see that in order to use generative models one should be prepared to estimate two types of probabilities P(y) and P(x|y). At the same time, discriminative models estimate conditional probability P(y|x) directly, which often is more efficient because one does not estimate dependencies between features, as these relationships don’t necessarily contribute to the prediction of the target variable.

因此,现在您可以看到,为了使用生成模型,应该准备一个估计两种类型的概率P(y)P(x | y)。 同时,判别模型直接估算条件概率P(y | x) ,这通常更为有效,因为人们不估算特征之间的依赖性,因为这些关系不一定有助于目标变量的预测。

翻译自: https://medium.com/@tanyadembelova/introduction-to-generative-and-discriminative-models-9c9ef152b9af

生成模型和判别模型


http://www.taodudu.cc/news/show-863620.html

相关文章:

  • 机器学习算法 拟合曲线_制定学习曲线以检测机器学习算法中的错误
  • 重拾强化学习的核心概念_强化学习的核心概念
  • gpt 语言模型_您可以使用语言模型构建的事物的列表-不仅仅是GPT-3
  • 廉价raid_如何查找80行代码中的廉价航班
  • 深度学习数据集制作工作_创建我的第一个深度学习+数据科学工作站
  • pytorch线性回归_PyTorch中的线性回归
  • spotify音乐下载_使用Python和R对音乐进行聚类以在Spotify上创建播放列表。
  • 强化学习之基础入门_强化学习基础
  • 在置信区间下置信值的计算_使用自举计算置信区间
  • 步进电机无细分和20细分_细分网站导航会话
  • python gis库_使用开放的python库自动化GIS和遥感工作流
  • mask rcnn实例分割_使用Mask-RCNN的实例分割
  • 使用FgSegNet进行前景图像分割
  • 完美下巴标准_平行下颚抓
  • api 规则定义_API有规则,而且功能强大
  • r语言模型评估:_情感分析评估:对自然语言处理的过去和未来的反思
  • 机器学习偏差方差_机器学习101 —偏差方差难题
  • 机器学习 多变量回归算法_如何为机器学习监督算法识别正确的自变量?
  • python 验证模型_Python中的模型验证
  • python文本结构化处理_在Python中标记非结构化文本数据
  • 图像分类数据库_图像分类器-使用僧侣库对房屋房间类型进行分类
  • 利用PyCaret的力量
  • ai伪造论文实验数据_5篇有关AI培训数据的基本论文
  • 机器学习经典算法实践_服务机器学习算法的系统设计-不同环境下管道的最佳实践
  • css餐厅_餐厅的评分预测
  • 机器学习结构化学习模型_生产化机器学习模型
  • 人工智能已经迫在眉睫_创意计算机已经迫在眉睫
  • 合奏:机器学习中唯一(几乎)免费的午餐
  • 在Ubuntu 18.04上安装和使用Tesseract 4
  • pytorch机器学习_机器学习— PyTorch

生成模型和判别模型_生成模型和判别模型简介相关推荐

  1. 有关糖尿病模型建立的论文_预测糖尿病结果的模型比较

    有关糖尿病模型建立的论文 项目主题 (Subject of the Project) The dataset is primarily used for predicting the onset of ...

  2. 论文模型构建的步骤_构建进化树---核苷酸替换模型的选择

    在进行系统发育分析时需要通过构建系统发育树来描述不同物种之间的进化关系,通过同源DNA的核苷酸序列或者同源蛋白质分子的氨基酸序列可以实现构建进化树.在系统发育分析中,最大似然法(ML)和贝叶斯法(BI ...

  3. 生成对抗网络gan原理_生成对抗网络(GAN)的半监督学习

    前言 如果您曾经听说过或研究过深度学习,那么您可能就知道MNIST, SVHN, ImageNet, PascalVoc或者其他数据集.这些数据集都有一个共同点: 它们由成千上万个有标签的数据组成. ...

  4. bim 模型web页面展示_一种操纵BIM模型在网页展示的方法与流程

    本发明涉及操纵BIM模型在网页展示的方法. 背景技术: : 现有网页展示BIM模型使用的是同步传输技术,同步传输的比特分组较大,它不是独立地发送每个字符,每个字符都有自己的开始位和停止位,而是把它们组 ...

  5. vecm模型怎么写系数_经典传染病的SIR模型(基于MATLAB)

    经典的SIR模型是一种发明于上个世纪早期的经典传染病模型,此模型能够较为粗略地展示出一种传染病的发病到结束的过程,其核心在于微分方程,本次我们利用matlab来对此方程进行 其中三个主要量 S是易感人 ...

  6. 业务模型管理平台 开源_在可靠的开源模型上建立业务

    业务模型管理平台 开源 自从我们宣布Nextcloud ,一个ownCloud叉,很多人都问我,我们打算如何建立一个可持续的,健康的开源业务. 我的简短回答是,它需要高度重视在所有利益相关者(用户,贡 ...

  7. java内存模型作用是什么_什么是JVM内存模型?

    本篇文章带大家初步了解一下JVM内存模型,有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助. 计算机内存模型 在程序运行时,CPU通过访问主存获取数据,但随着CPU的快速发展,CPU访问 ...

  8. bim 模型web页面展示_一种基于BIM模型的Web端轻量化展示方法与流程

    本发明涉及基坑结构模型技术领域,尤其涉及一种基于bim模型的web端轻量化展示方法. 背景技术: 建筑信息模型(buildinginformationmodeling,bim)技术在土木工程领域快速推 ...

  9. gwr模型用什么做_为什么我的 CV 模型不好用?没想到原因竟如此简单……

    计算机视觉模型表现不佳的原因有很多,比如架构设计缺陷.数据集代表性不足.超参数选择失误等.但有一个很简单的原因却常常被人们忽略:图像的方向.机器学习专家 Adam Geitgey 近日发布了一篇文章探 ...

  10. dsge模型难做吗_请在针对DSGE模型学习的建议性计划--转自人大经济论坛

    我在这篇文章里面只提供一个DSGE模型的建设性路线,因为发现大多数同学都不知道如何入手,再加上学校开课不同,数学储备不同,起点也大不相同.我这篇文章的出发点是从基础入门的同学的观点出发,如果你想要做D ...

最新文章

  1. 【翻译】理念:无冲突的扩展本地DOM原型
  2. Java黑皮书课后题第6章:6.12(显示字符)使用下面的方法头,编写一个打印字符的方法。编写一个测试程序、打印从‘1‘到‘Z‘的字符,每行打印10个,字符之间使用一个空格字符隔开
  3. win7纯净版下载csdn_win10原版纯净版下载,安装技巧
  4. 操作系统:Linux虚拟内存知识介绍
  5. 前端学习(2738):重读vue电商网站48之通过 chainWebpack 自定义打包入口
  6. Digit v3.0.0 – 响应式WHMCS模板
  7. 如何不用更改底层来实现Dao多样化
  8. ArcGIS 查看运行结果
  9. 约架的节奏?BAT之后 小米加入地图生态资源争夺战
  10. html水平垂直居中
  11. Python爬取拉勾网招聘信息并可视化分析
  12. 迅雷方舟与花瓣:不一样的“瀑布流”
  13. 前端取值的方式(ModelMap)
  14. asp.Net Core 多线程之Task轻松学,快速上手
  15. Struts2 学习记录(2)
  16. 使用 C# 获取计算机硬件信息
  17. Git本地实现服务器搭建
  18. Oracle 列由VARCHAR2改为CLOB类型
  19. 解读 | 赛迪“区块链赋能实体经济推进计划”
  20. flex与布局(基本网格布局、百分比布局、一侧固定一侧自适应、圣杯布局)

热门文章

  1. 10月13日学习内容整理:线程,创建线程(threading模块),守护线程,GIL(全局解释器互斥锁)...
  2. spring boot 中启用 https
  3. 来自东软的 OpenStack 负载均衡即服务开源项目
  4. [原创] GSM/GPRS 以及CDMA区分以及相关模块选型
  5. PHP Hashtable实现源码分析
  6. JAVA基础学习笔记(2)
  7. 截取最后一个下划线前面的字符
  8. 虚幻4 控制台_虚幻引擎打造足球手游!实况足球新引擎测试今日开启
  9. linux赋权限命令chmod给其他用户,Linux 基础基础——权限管理命令chmod
  10. win7计算机用户名在哪找,win7 c盘里找不到users,用户里也没有C:#92;User...-win7电脑c盘USERS文件夹在哪...