机器学习判别式与生成式

栏目: 数据库 · 发布时间: 5年前

内容简介:在机器学习中,对于监督学习我们可以将其分为两类模型:判别式模型和生成式模型。可以简单地说,生成式模型是针对联合分布进行建模,而判别式模型则针对条件分布建模。从感性上认识,生成式能学习到更多信息,而判别式则较少,就好比学习英语,有类人只学会听懂这是英语,有类人学会了听懂这是英语并且知道说的是什么。另外,生成式模型在一定条件下也可以转换成判别式模型,比如通过贝叶斯公式进行转换。假设有训练样本:(1,0)、(1,0)、(2,0)、(2, 1),则

判别&生成

在机器学习中,对于监督学习我们可以将其分为两类模型:判别式模型和生成式模型。可以简单地说,生成式模型是针对联合分布进行建模,而判别式模型则针对条件分布建模。

从感性上认识,生成式能学习到更多信息,而判别式则较少,就好比学习英语,有类人只学会听懂这是英语,有类人学会了听懂这是英语并且知道说的是什么。另外,生成式模型在一定条件下也可以转换成判别式模型,比如通过贝叶斯公式进行转换。

常见生成式模型

  • 混合高斯模型,估计了不同输入和类别的联合分布。

  • 朴素贝叶斯,模型训练时采用联合概率分布积。

  • 隐马尔科夫模型,建立了状态序列和观察序列的联合分布。

  • 贝叶斯网络,概率图模型中的有向图网络,对联合分布建模,由各自局部条件概率分布相乘。

  • 马尔科夫随机场,概率图模型中无向图网络,同样对联合分布建模,分解为极大团上势函数的乘积。

常见判别式模型

  • 条件随机场,在观测序列上对目标序列进行建模。

  • 线性回归,在X的条件下Y的分布。

  • 逻辑回归,在x的条件下两个分类的概率。

  • 支持向量机,它的训练过程是在学习分类边界。

  • 传统神经网络,同样是学习分类边界。

一个简单例子

假设有训练样本:(1,0)、(1,0)、(2,0)、(2, 1),则

  • 生成式模型学习的是联合概率p(x,y),

y=0 y=1
x=1 1/2 0
x=2 1/4 1/4
  • 判别式模型学习的是条件概率p(y|x),

y=0 y=1
x=1 1 0
x=2 1/2 1/2

对比图

机器学习判别式与生成式
image

上图左边为判别式而右边为生成式,可以很清晰地看到差别,判别式模型是在寻找一个决策边界,通过该边界来将样本划分到对应类别。而生成式则不同,它学习了每个类别的边界,它包含了更多信息,可以用来生成样本。

生成式特点

  • 对联合概率建模,学习所有分类数据的分布。

  • 学习到的数据本身信息更多,能反应数据本身特性。

  • 学习成本较高,需要更多的计算资源。

  • 需要的样本数更多,样本较少时学习效果较差。

  • 推断时性能较差。

  • 一定条件下能转换成判别式。

判别式特点

  • 对条件概率建模,学习不同类别之间最优边界。

  • 捕捉不同类别特征的差异信息,不学习本身分布信息,无法反应数据本身特性。

  • 学习成本较低,需要的计算资源较少。

  • 需要的样本数可以较少,少样本也能很好学习。

  • 预测时拥有较好性能。

  • 无法转换成生成式。


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

C专家编程

C专家编程

Peter Van Der Linden / 徐波 / 人民邮电出版社 / 2008-2 / 45.00元

《C专家编程》展示了最优秀的C程序员所使用的编码技巧,并专门开辟了一章对C++的基础知识进行了介绍。 书中C的历史、语言特性、声明、数组、指针、链接、运行时、内存以及如何进一步学习C++等问题进行了细致的讲解和深入的分析。全书撷取几十个实例进行讲解,对C程序员具有非常高的实用价值。 本书可以帮助有一定经验的C程序员成为C编程方面的专家,对于具备相当的C语言基础的程序员,本书可以帮助他们......一起来看看 《C专家编程》 这本书的介绍吧!

Base64 编码/解码
Base64 编码/解码

Base64 编码/解码

RGB HSV 转换
RGB HSV 转换

RGB HSV 互转工具