大数跨境
0
0

【十分钟 机器学习 系列课程】 讲义(七):生成模型与判别模型

【十分钟  机器学习  系列课程】 讲义(七):生成模型与判别模型 简博士数据分析吧
2021-04-15
0
导读:本课程讲义基于李航老师第2版的《统计学习方法》



内容提要:

 * 生成模型 and 判别模型

 * 生成模型 Vs 判别模型

点击蓝字 |关注我们


这一篇,我们讲一下生成模型与判别模型。


回顾监督学习的整个流程:


通过训练集学习出一个模型,一般有两种形式,条件概率的形式和决策函数的形式。这里,通过学习获得模型的方法,又可以分为生成方法和判别方法,与之相对应的模型则是生成模型和判别模型。


生成模型与判别模型

Generative and Discriminative

这里,需要理解的就是条件概率分布。学过概率论的小伙伴应该明白,条件概率分布等于联合概率分布函数与边际分布的比。


之所以称为生成模型,是因为每给定一个输入变量X,就可以根据分布函数生成一个输出变量Y。需要注意的是,生成模型中的输入变量和输出变量,都为随机变量。


这里补个小插曲。


想必各位小伙伴对随机变量这个词语很熟悉了,那么什么是随机变量呢?


是随机变化的量么[偷笑]


也可以这么简易理解,不过更严谨的是通过随机事件来解释。


随机事件,指的是在同样的一组条件下,每次试验可能出现也可能不出现的事件。也就是说,这个事件出现与否是随机的,是一个不确定性的事儿。如果用数量标识来表示这个随机事件,那么就是随机变量了。


举个例子,小时候大家应该都玩儿过抛硬币的游戏,硬币落下时扣在手中,让小伙伴猜正反面。


“硬币正面朝上”就是一个随机事件,不妨用A表示,在一次试验中,A可能发生也可能不发生。


“硬币朝上的面”是一个随机变量,可以用X表示。假如指定正面为0,反面为1,在一次试验中,如果出现正面,“硬币正面朝上”这个事件就可以表示为X=0,“硬币反面朝上”表示为X=1。


言归正传,典型的生成模型有朴素贝叶斯法,还有隐马可夫模型。


从贝叶斯定理,很容可以理解为何朴素贝叶斯法是生成模型。


隐马尔科夫模型其实就是一个时间序列的概率模型。先由一个隐藏的马尔可夫链,随机生成不可观测的状态随机序列,然后再由各个状态生成一个观测,以此得到观测的随机序列。



判别模型,与生成模型不同,可以通过数据直接学习得到决策函数,不需要考虑X和Y的联合分布。所以说,判别方法是有针对性的,研究的是对于特定的输入,应该预测得到一个什么样的输出。


对于判别模型,并不要求输入变量和输出变量均为随机变量。


典型的判别模型有 k 近邻法、感知机,还有决策树。


生成模型Vs判别模型

Generative Vs Discriminative

下面,我们详细对比一下生成模型和判定模型。


先看一个比较形象的小例子,假如现在的目标是对图中的小狗,还有大象进行分类。


两种动物之间存在很明显的一个差异,即鼻子的长度。小狗的鼻子比较短,而大象的鼻子很长。


那么,判别方法就可以通过动物鼻子长短来决定它的类别。如果出现一个新的图像,我们只需要判断新图像中动物鼻子的长度就可以了。给定某个阈值,如果长度大于该阈值,就判断这个动物为大象,否则就判定为小狗。


如果采用生成方法,则需要分别构建小狗和大象的特征模型,这里不只包含鼻子,还有耳朵、嘴巴、眼睛、四肢等等。


当出现一个新图像的时候,我们将新图像中的动物,分别与小狗,还有大象的特征模型进行比较。如果该动物与小狗的相似度更高,则判断为小狗,否则判断为大象。当然,构建具体的特征模型,需要大量数据。


简单来讲,生成模型,希望从大量的数据中寻找规律,通过学习知晓数据是如何生成的,然后再对数据进行分类,而判别模型侧重点只在于利用这个差别去分类就可以了,十分具有针对性。



接下来,看一下生成模型与判别模型之间的具体差异。


从样本量上来比较:

  1. 生成模型所需要的数据量较大,因为只有在大数据量的情况下,才能够更好地估计联合概率分布,也就是所有变量的一个全概率模型;

  2. 判别模型,是针对性地学习,只需要得到条件概率分布或者决策函数即可,所以不需要像生成模型的那样,必须配备足够多的样本,因此判别模型所需的样本量要少于生成模型。

从目的来比较:

  1. 生成模型可以还原联合概率分布,借此可以计算出边际分布和条件概率分布,所以可以提供更多的信息;

  2. 判别模型的目的就是预测,所以准确率往往比生成模型会更高一些。

从过程来比较:

  1. 对生成模型而言,样本容量越多,学习到的模型就能够更快地收敛到真实模型上,所以生成模型的收敛速度,较之判别模型更快;

  2. 判别模型,是直接学习的过程,所以不需要面面俱到,因此可以简化学习问题。

从反映数据特征来比较:

  1. 生成模型学习到的模型更接近于真实模型,所以能够反映同类数据本身的相似度;

  2. 判别模型,并不考虑数据的各项特征,所以并不能像生成模型那样反映数据本身的特性。

最后一条是关于隐变量的,生成模型,可以很好地应对具有隐变量的情况,比如混合高斯模型。


好啦,咱们这一期的讲义就结束了,以下为本节课程的视频链接.

 生成模型与判别模型

欢迎大家关注简博士的B站和公众号,在公众号私信“入群”,可以与小伙伴们一起讨论问题哦。

扫码关注我们

微信号|Dr_Janneil

B站|简博士

【声明】内容源于网络
0
0
简博士数据分析吧
信息时代最不缺的是什么?数据!最缺的是什么?数据分析的思维!在这里,你将获取神秘的力量,推开数据之门!
内容 181
粉丝 0
简博士数据分析吧 信息时代最不缺的是什么?数据!最缺的是什么?数据分析的思维!在这里,你将获取神秘的力量,推开数据之门!
总阅读66
粉丝0
内容181