前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >理解生成模型与判别模型

理解生成模型与判别模型

原创
作者头像
SIGAI学习与实践平台
发布于 2018-10-10 09:57:42
发布于 2018-10-10 09:57:42
1K0
举报

导言

我们都知道,对于有监督的机器学习中的分类问题,求解问题的算法可以分为生成模型与判别模型两种类型。但是,究竟什么是生成模型,什么是判别模型?不少书籍和技术文章对这对概念的解释是含糊的。在今天这篇文章中,我们将准确、清晰的解释这一组概念。

第一种定义

对于判别模型和生成模型有两种定义,第一种定义针对的是有监督学习的分类问题。该问题的目标是给定一个样本的向量x(可以是原始数据如图像,声音,也可以是提取出来的特征向量),在这里我们将它称为输入变量,目标是预测出这个样本的类别y即标签值,一般是一个离散的标量,即类别编号。因此算法要解决的核心问题是根据训练样本建立下面这样的映射函数:

对于这个问题,有3种求解思路,下面我们分别介绍。

第一种做法称为生成模型。已知输入变量x和目标变量y,先对它们的联合概率分布p(x, y)建模,然后计算样本属于每一个类的条件概率p(y|x)即类后验概率,按照这个值来完成分类,如将样本分到概率p(y|x)最大的那个类。根据概率论的知识,有:

在这里,p(x, y)为联合概率密度函数,p(x)为样本输入向量x的边缘密度函数。对上面这种做法的直观解释是:我们已知某一个样本具有某种特征x,现在要确定它输入哪个类,而自然的因果关系是,样本之所以具有这种特征x,是因为它属于某一类。例如,我们要根据体重,脚的尺寸这两个特征x来判断一个人是男性还是女性,我们都知道,男性的体重总体来说比女性大,脚的尺寸也更大,因此从逻辑上来说,是因为一个人是男性,因此才有这种大的体重和脚尺寸。而在分类任务中要做的却相反,是给了你这样个特征的样本,让你反推这人是男性还是女性。

联合概率密度函数等于类概率p(y)与类条件概率p(x|y)即先验概率的乘积,即:

将上面两个公式合并起来,有:

这就是贝叶斯公式。它完成了因果转换,我们要完成的是由果推断因,而在训练时我们建立的是因到果的模型及p(x|y),即男性和女性的体重、脚尺寸分别服从的概率分布。

总结起来,生成模型对联合概率p(x, y)建模,根据它,我们可以得到类后验概率p(y|x)。事实上,这种做法不仅仅局限于分类问题,如果将x看做可以观测的变量,y看做不可观测到的变量,只要具有这种特征的问题,我们都可以建立生成模型。

生成模型的典型代表是贝叶斯分类器,它对类条件概率p(x|y)建模,而p(x|y)p(y)就是联合概率p(x, y)。通过贝叶斯公式,根据联合概率又可以得到类后验概率:

如果只用于分类而不需要给出具体的概率值,则分母p(x)对所有类型y都是一样的,只需要计算分子p(x|y)p(y)。如果我们假设每个类y的样本的特征向量x的每个分量相互独立,则可以得到朴素贝叶斯分类器,如果假设每个类的样本服从正态分布,则p(x|y)为正态分布,此时为正态贝叶斯分类器。

生成模型的另外一个典型代表是受限玻尔兹曼机(RBM),这是一种随机性的神经网络,由两类神经元组成(每一类为一个层),量个层之间有连接关系,第一种神经元为可见变量,即可以直接观测到的值v,如图像的每个像素。第二类为隐含变量h,是不能直接观测到的变量,如图像的特征。v和h的联合概率服从玻尔兹曼分布:

根据这个联合概率,我们可以很容易得到条件概率p(x|y)和p(y|x)。例如为了得到p(y|x),可以先求边缘概率p(x),对于离散型随机变量,对y的概率求和,对于连续型随机变量,则为求积分,然后有:

生成模型最显著的一个特征是假设样本向量x服从何种概率分布,如正态分布,均匀分布。

第二种做法称为判别模型。已知输入变量x,它直接对目标变量y的条件概率p(y|x)建模。即计算样本x属于 每一类的概率。注意,这里和生成模型有一个本质的区别,那就是每一假设x服从何种概率分布,而是直接估计出条件概率p(y|x)。

这类模型的典型代表是logistic回归和softmax回归,它们直接对p(y|x)建模,而不对p(x, y)建模,即每一假设x服从何种概率分布。logistic回归用于二分类问题,它直接根据样本x估计出它是正样本的概率:

注意,这里只是直接猜测出了这个概率,而没有假设每个类的样本服从何种概率分布,即没有对p(x|y)或者p(x, y)建模。如果对logistic回归感兴趣,可以阅读SIGAI之前的公众号文章“理解logistic回归”。

softmax回归是logistic回归的多分类版本,它直接估计出一个样本向量x属于k个类中每一个类的概率:

这里预测出的是一个向量,每个分量为样本属于每个类的概率。和logistic回归一样,它是直接预测出了这个条件概率,而没有假设每个类的样本x所服从的概率分布。

第三种做法最直接,分类器根本就不建立概率模型,而是直接得到分类结果,这种是非概率模型,也称为判别模型。它直接根据样本向量x预测出类别编号y:

这类模型的典型代表是决策树,支持向量机,随机森林,kNN算法,AdaBoost算法,xgboost,标准的人工神经网络(包括全连接神经网络,卷积神经网络循环神经网络等)。如果神经网络的最后一层是softmax变换,即softmax回归,则可以归到第二种情况里,如果没有使用,则是这第三种情况。

支持向量机的预测函数是:

它自始至终没有假设样本向量x服从何种分布,也没有估计类后验概率p(y|x)。这可以看成是一种几何划分的思想,把空间划分成多个部分。如果对支持向量机感兴趣,可以阅读SIGAI之前的公众号文章“用一张图理解支持向量机的脉络”。

类似的,决策树的预测函数时分段常数函数,直接实现从向量x到类别标签y的映射,没有计算任何概率值。如果对决策树感兴趣,可以阅读SIGAI之前的公众号文章“理解决策树”。其他的算法如随机森林,kNN,也是如此。

这类模型没有使用概率的观点进行建模,而是用几何或者分析(函数)的手段建模,如找出分类超平面或者曲面,直接得到映射函数。

一般来说,我们把使用第一种模型的分类器称为生成式分类器,把使用第二种和第三种模型的分类器称为判别式分类器。

第二种定义

除此之外,对生成模型和判别模型还有另外一种定义。生成模型是已知样本的标签值y,对样本的特征向量x的条件概率进行建模,即对条件概率p(x|y)建模,它研究的是每种样本服从何种概率分布。判别模型则刚好相反,已知样本的特征向量x,对样本的标签值y的概率进行建模,即对条件概率p(y|x)建模,这种一般用于分量,即给定样本x,计算它属于每个类的概率。

根据这种定义,生成模型可以用来根据标签值y生成随机的样本数据x。生成对抗网络(GAN)就是典型的例子,它可以生成服从某种概率分布的随机变量,即拟合类条件概率密度函数p(x|y),而此时它的目的不是分类,而是生成样本。事实上,如果我们知道了p(x|y)或者p(x, y),无论是用来做分类,还是用来做数据生成,都是可以的。

而判别模型以及不使用概率模型的判别型分类器则根据样本特征向量x的值判断它的标签值y,即用于判断样本的标签值y。

推荐阅读

[1]机器学习-波澜壮阔40年【获取码】SIGAI0413.

[2]学好机器学习需要哪些数学知识?【获取码】SIGAI0417.

[3] 人脸识别算法演化史【获取码】SIGAI0420.

[4]基于深度学习的目标检测算法综述 【获取码】SIGAI0424.

[5]卷积神经网络为什么能够称霸计算机视觉领域?【获取码】SIGAI0426.

[6] 用一张图理解SVM的脉络【获取码】SIGAI0428.

[7] 人脸检测算法综述【获取码】SIGAI0503.

[8] 理解神经网络的激活函数 【获取码】SIGAI2018.5.5.

[9] 深度卷积神经网络演化历史及结构改进脉络-40页长文全面解读【获取码】SIGAI0508.

[10] 理解梯度下降法【获取码】SIGAI0511.

[11] 循环神经网络综述—语音识别与自然语言处理的利器【获取码】SIGAI0515

[12] 理解凸优化 【获取码】 SIGAI0518

[13] 【实验】理解SVM的核函数和参数 【获取码】SIGAI0522

[14]【SIGAI综述】行人检测算法 【获取码】SIGAI0525

[15] 机器学习在自动驾驶中的应用—以百度阿波罗平台为例(上)【获取码】SIGAI0529

[16]理解牛顿法【获取码】SIGAI0531

[17] 【群话题精华】5月集锦—机器学习和深度学习中一些值得思考的问题【获取码】SIGAI 0601

[18] 大话Adaboost算法 【获取码】SIGAI0602

[19] FlowNet到FlowNet2.0:基于卷积神经网络的光流预测算法【获取码】SIGAI0604

[20] 理解主成分分析(PCA)【获取码】SIGAI0606

[21] 人体骨骼关键点检测综述 【获取码】SIGAI0608

[22]理解决策树 【获取码】SIGAI0611

[23] 用一句话总结常用的机器学习算法【获取码】SIGAI0611

[24] 目标检测算法之YOLO 【获取码】SIGAI0615

[25] 理解过拟合 【获取码】SIGAI0618

[26]理解计算:从√2到AlphaGo ——第1季 从√2谈起 【获取码】SIGAI0620

[27] 场景文本检测——CTPN算法介绍 【获取码】SIGAI0622

[28] 卷积神经网络的压缩和加速 【获取码】SIGAI0625

[29] k近邻算法 【获取码】SIGAI0627

[30]自然场景文本检测识别技术综述 【获取码】SIGAI0627

[31] 理解计算:从√2到AlphaGo ——第2季 神经计算的历史背景 【获取码】SIGAI0704

[32] 机器学习算法地图【获取码】SIGAI0706

[33] 反向传播算法推导-全连接神经网络【获取码】SIGAI0709

[34] 生成式对抗网络模型综述【获取码】SIGAI0709.

[35]怎样成为一名优秀的算法工程师【获取码】SIGAI0711.

[36] 理解计算:从根号2到AlphaGo——第三季 神经网络的数学模型【获取码】SIGAI0716

[37]【技术短文】人脸检测算法之S3FD 【获取码】SIGAI0716

[38] 基于深度负相关学习的人群计数方法【获取码】SIGAI0718

[39] 流形学习概述【获取码】SIGAI0723

[40] 关于感受野的总结 【获取码】SIGAI0723

[41] 随机森林概述 【获取码】SIGAI0725

[42] 基于内容的图像检索技术综述——传统经典方法【获取码】SIGAI0727

[43] 神经网络的激活函数总结【获取码】SIGAI0730

[44] 机器学习和深度学习中值得弄清楚的一些问题【获取码】SIGAI0802

[45] 基于深度神经网络的自动问答系统概述【获取码】SIGAI0803

[46] 反向传播算法推导——卷积神经网络 【获取码】SIGAI0806

[47] 机器学习与深度学习核心知识点总结 写在校园招聘即将开始时 【获取 码】SIGAI0808

[48] 理解Spatial Transformer Networks【获取码】SIGAI0810

[49]AI时代大点兵-国内外知名AI公司2018年最新盘点【获取码】SIGAI0813

[50] 理解计算:从√2到AlphaGo ——第2季 神经计算的历史背景 【获取码】SIGAI0815

[51] 基于内容的图像检索技术综述--CNN方法 【获取码】SIGAI0817

[52]文本表示简介 【获取码】SIGAI0820

[53]机器学习中的最优化算法总结【获取码】SIGAI0822

[54]【AI就业面面观】如何选择适合自己的舞台?【获取码】SIGAI0823

[55]浓缩就是精华-SIGAI机器学习蓝宝书【获取码】SIGAI0824

[56]DenseNet详解【获取码】SIGAI0827

[57]AI时代大点兵国内外知名AI公司2018年最新盘点【完整版】【获取码】SIGAI0829

[58]理解Adaboost算法【获取码】SIGAI0831

[59]深入浅出聚类算法 【获取码】SIGAI0903

[60]机器学习发展历史回顾【获取码】SIGAI0905

[61] 网络表征学习综述【获取码】SIGAI0907

[62] 视觉多目标跟踪算法综述(上) 【获取码】SIGAI0910

[63] 计算机视觉技术self-attention最新进展 【获取码】SIGAI0912

[64] 理解Logistic回归 【获取码】SIGAI0914

[65] 机器学习中的目标函数总结 【获取码】SIGAI0917

[66] 人脸识别中的活体检测算法综述【获取码】SIGAI0919

[67] 机器学习与深度学习常见面试题(上)【获取码】SIGAI0921

[68] 浅谈动作识别TSN,TRN,ECO 【获取码】SIGAI0924

[69] OCR技术简介【获取码】SIGAI0926

[70] 轻量化神经网络综述【获取码】SIGAI1001

[71] 行人重识别PCB-RPP,SGGNN 【获取码】SIGAI1001

[72] 人工智能非技术从业者必知的十件事 【获取码】SIGAI1008

原创声明:本文为 SIGAI 原创文章,仅供个人学习使用,未经允许,不能用于商业目的

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
­­-机器学习和深度学习中值得弄清楚的一些问题 SIGAI飞跃计划答疑精华问题汇总
原创声明:本文为 SIGAI 原创文章,仅供个人学习使用,未经允许,不得转载,不能用于商业目的。
SIGAI学习与实践平台
2018/08/03
6150
­­-机器学习和深度学习中值得弄清楚的一些问题 SIGAI飞跃计划答疑精华问题汇总
生成模型和判别模型
生成模型(Generaive Model)一般以概率的方式描述了数据的产生方式,通过对模型采样就可以产生数据。 一个简单例子:给定平面上一系列点,我可以认为这些点是根据一个二维高斯分布产生的,这就是一个生成模型,它可以产生数据。我可以用最大似然方法,根据已有的样本估计出模型的参数,再对这个模型进行采样,就可以得到更多的样本,这些样本和之前的样本在空间分布上可能差不多。
故事尾音
2019/12/18
1.1K0
生成模型和判别模型
理解生成模型与判别模型
我们都知道,对于有监督的机器学习中的分类问题,求解问题的算法可以分为生成模型与判别模型两种类型。但是,究竟什么是生成模型,什么是判别模型?不少书籍和技术文章对这对概念的解释是含糊的。在今天这篇文章中,我们将准确、清晰的解释这一组概念。
SIGAI学习与实践平台
2018/10/18
9840
理解生成模型与判别模型
数据挖掘面试题之:生成模型 VS 判别模型
最近,milter在进行算法工程师的面试,发现面试官特别钟爱生成模型和判别模型相关的问题,为了能够和面试官谈笑风生,milter精心整理了面试官可能问到的相关问题。
木东居士
2019/07/23
6710
数据挖掘面试题之:生成模型 VS 判别模型
AI: 判别模型与生成模型两大核心技术解析
判别模型和生成模型是机器学习中两大重要的模型类别,它们在数据处理和预测方面有不同的应用和特点。以下是对这两种模型的详细讲解。
运维开发王义杰
2024/07/10
4800
AI: 判别模型与生成模型两大核心技术解析
判别模型与生成模型
监督学习方法可以分为生成方法(generative approach)和判别方法(discriminative approach),所学到的模型分别称为生成模型(generative model)和判别模型(discriminative model)。
Coggle数据科学
2019/08/29
1.1K0
用一句话总结常用的机器学习算法
浓缩就是精华。想要把书写厚很容易,想要写薄却非常难。现在已经有这么多经典的机器学习算法,如果能抓住它们的核心本质,无论是对于理解还是对于记忆都有很大的帮助,还能让你更可能通过面试。在本文中,SIGAI将用一句话来总结每种典型的机器学习算法,帮你抓住问题的本质,强化理解和记忆。下面我们就开始了。
SIGAI学习与实践平台
2018/08/07
3220
用一句话总结常用的机器学习算法
判别模型、生成模型与朴素贝叶斯方法
1、判别模型与生成模型 回归模型其实是判别模型,也就是根据特征值来求结果的概率。形式化表示为 ,在参数 确定的情况下,求解条件概率 。通俗的解释为在给定特征后预测结果出现的概率。 比如说要确定一
机器学习AI算法工程
2018/03/12
1.3K0
判别模型、生成模型与朴素贝叶斯方法
生成式模型 vs 判别式模型
生成式模型和判别式模型的概念是机器学习领域非常重要的基础知识,但能准确区分开二者并不是一件非常容易的事情,笔者经常是看一遍忘一遍,为了巩固下知识点,我将从以下几个方面对两种模型进行介绍和对比。
Datawhale
2019/11/27
4.4K0
机器学习算法地图
很多同学在学机器学习和深度学习的时候都有一个感受:所学的知识零散、不系统,缺乏整体感,这是普遍存在的一个问题。在这里,SIGAI对常用的机器学习和深度学习算法进行了总结,整理出它们之间的关系,以及每种算法的核心点,各种算法之间的比较。由此形成了一张算法地图,以帮助大家更好的理解和记忆这些算法。
SIGAI学习与实践平台
2018/07/05
1.3K1
机器学习算法地图
NLP系列学习:生成型模型和判别型模型
在学习机器学习的过程中我们总会遇见一些模型,而其中的一些模型其实可以归类于生成模型或者是判别模型中去,而这一篇文章我将会简单的概述下我最近所遇到的一些模型,并且按照自己的理解去记录下来,其中肯定会有差
云时之间
2018/04/11
8200
NLP系列学习:生成型模型和判别型模型
判别模型和生成模型
原文链接:https://www.jianshu.com/p/e57aabf32c18
用户1332428
2018/07/30
5780
机器学习与深度学习常见面试题(下)
为了帮助参加校园招聘、社招的同学更好的准备面试,SIGAI曾整理出了一些常见的机器学习、深度学习面试题(上篇),获得了小伙伴们的广泛好评,并强烈要求推出下篇的面试问题集锦。千呼万唤始出来,今日特地奉上,希望帮助各位更好的理解机器学习和深度学习的算法原理和实践应用。
SIGAI学习与实践平台
2018/11/23
2K0
机器学习中的概率模型
概率论,包括它的延伸-信息论,以及随机过程,在机器学习中有重要的作用。它们被广泛用于建立预测函数,目标函数,以及对算法进行理论分析。如果将机器学习算法的输入、输出数据看作随机变量,就可以用概率论的观点对问题进行建模,这是一种常见的思路。本文对机器学习领域种类繁多的概率模型做进行梳理和总结,帮助读者掌握这些算法的原理,培养用概率论作为工具对实际问题进行建模的思维。要顺利地阅读本文,需要具备概率论,信息论,随机过程的基础知识。
SIGAI学习与实践平台
2020/07/29
2.6K0
机器学习中的概率模型
生成模型和判别模型
监督学习方法又分生成方法(Generative approach)和判别方法(Discriminative approach),所学到的模型分别称为生成模型(Generative Model)和判别模型(Discriminative Model)
zeekling
2022/06/17
7120
生成模型和判别模型
机器学习中的目标函数总结
几乎所有的机器学习算法最后都归结为求解最优化问题,以达到我们想让算法达到的目标。为了完成某一目标,需要构造出一个“目标函数”来,然后让该函数取极大值或极小值,从而得到机器学习算法的模型参数。如何构造出一个合理的目标函数,是建立机器学习算法的关键,一旦目标函数确定,接下来就是求解最优化问题,这在数学上一般有现成的方案。如果你对最优化算法感兴趣,可以阅读SIGAI之前的公众号文章“理解梯度下降法”,“理解牛顿法”,“理解凸优化”,“机器学习中的最优化算法总结”。本文的侧重点是对目标函数的构造进行总结。
SIGAI学习与实践平台
2018/09/17
2.8K0
机器学习中的目标函数总结
生成模型&判别模型
在机器学习中,对于有监督学习可以将其分为两类模型:判别式模型和生成式模型。简单地说,判别式模型是针对条件分布建模,而生成式模型则针对联合分布进行建模。
用户10713522
2023/08/17
3490
判别模型 和 生成模型
【摘要】 - 生成模型:无穷样本==》概率密度模型 = 产生模型==》预测 - 判别模型:有限样本==》判别函数 = 预测模型==》预测 【简介】 简单的说,假设o是观察值,q是模型。 如果对P(o|q)建模,就是Generative模型。其基本思想是首先建立样本的概率密度模型,再利用模型进行推理预测。要求已知样本无穷或尽可能的大限制。 这种方法一般建立在统计力学和bayes理论的基础之上。 如果对条件概率(后验概率) P(q|o)建模,就是Discrminative模型。基本思想是有限
机器学习AI算法工程
2018/03/12
1.1K0
深入浅出聚类算法
原创声明:本文为 SIGAI 原创文章,仅供个人学习使用,未经允许,不能用于商业目的。
SIGAI学习与实践平台
2018/09/04
1K0
机器学习与深度学习核心知识点总结--写在校园招聘即将开始时
一年一度的校园招聘就要开始了,为了帮助同学们更好的准备面试,SIGAI 在今天的公众号文章中对机器学习、深度学习的核心知识点进行了总结。希望我们的文章能够帮助你顺利的通过技术面试,如果你对这些问题有什么疑问,可以关注我们的公众号,向公众号发消息,我们将会无偿为你解答。对于不想在近期内找工作的同学,阅读这篇文章,对加深和巩固机器学习和深度学习的知识也是非常有用的。
SIGAI学习与实践平台
2018/08/21
4470
机器学习与深度学习核心知识点总结--写在校园招聘即将开始时
相关推荐
­­-机器学习和深度学习中值得弄清楚的一些问题 SIGAI飞跃计划答疑精华问题汇总
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文