从概率分布的角度考虑,对于一堆样本数据,每个均有特征Xi对应分类标记yi。

生成模型:学习得到联合概率分布P(x,y),即特征x和标记y共同出现的概率,然后求条件概率分布。能够学习到数据生成的机制。

判别模型:学习得到条件概率分布P(y|x),即在特征x出现的情况下标记y出现的概率。

数据要求:生成模型需要的数据量比较大,能够较好地估计概率密度;而判别模型对数据样本量的要求没有那么多。

两者的优缺点如下图,摘自知乎

生成模型:以统计学和Bayes作为理论基础

1、朴素贝叶斯:

通过学习先验概率分布和条件概率分布,得到联合概率分布,然后对应分类时的后验概率为:

使用极大似然估计(使用样本中的数据分布来拟合数据的实际分布概率)得到先验概率。

2、混合高斯模型:

3、隐马尔可夫模型 (HMM)

由隐藏的马尔可夫链随机生成观测序列,是生成模型。HMM是关于时序的概率模型,描述由一个隐藏的马尔可夫链随机生成不可观测的状态随机序列,再由各个状态生成一个观测而产生观测随机序列的过程。包含三要素:初始状态概率向量pie,状态转移概率矩阵A,观测概率矩阵B。

判别模型

1、感知机 (线性分类模型)

输入空间为,输出空间为,使用的映射函数为,其中sign为符号函数 (输入大于等于1时输出为1;否则为0)。使用的损失函数为误分类点到超平面的总距离,即:

其中M为所有误分类点的集合,||w||可以不考虑。可以使用随机梯度下降得到最后的分类超平面。

2、k近邻法

基于已知样本,对未知样本进行预测时,找到对应的K个最近邻,通过多数表决进行预测。没有显式的学习过程。

3、决策树

决策树在每个单元定义一个类的概率分布,形成一个条件概率分布。决策树中递归地选择最优特征,所谓最优特征即分类效果最好的特征,算法中使用信息增益 (information gain)来衡量,对应公式为:

其中D为训练集,A为待测试的特征,H(D)为熵 (经验熵),H(D|A)为条件熵,两者的计算为

但是以信息增益为划分,存在偏向于选择取值较多的特征,因此使用信息增益比来校正,

其中n为特征A的取值个数。

4、逻辑斯蒂回归模型

使用条件概率分布表示,

可以使用极大似然估计法估计模型参数,对优化目标使用梯度下降法或者拟牛顿法。

5、最大熵模型

原理:概率模型中,熵最大的模型是最好的模型,可以使用拉格朗日函数求解对偶问题解决。

6、支持向量机 (SVM)

SVM分为线性可分支持向量机 (硬间隔最大化)、线性支持向量机 (软间隔最大化)、非线性支持向量机 (核函数)三种。

目的是最大化间隔,这是和感知机最大的区别。

7、boosting方法 (AdaBoost等)

通过改变训练样本的权重,训练多个分类器,将分类器进行线性组合,提升分类性能。AdaBoost采用加权多数表决的方法。

8、条件随机场 (conditional random field, CRF)

给定一组输入随机变量条件下另一组输出随机变量的条件概率分布模型,其特点是假设输出随机变量构成马尔可夫随机场。可应用于标注问题。

9、CNN

训练过程中,每一个中间层都有其功能,但其具体的功能无法知道。

生成模型 VS 判别模型 (含义、区别、对应经典算法)的更多相关文章

  1. 生成模型(generative model)与判别模型(discriminative model)的区别

    监督学习可以分为生成方法与判别方法,所学到的模型可以分为生成模型与判别模型. 生成模型 生成模型由数据学习联合概率分布\(P(X,Y)\),然后求出条件概率分布\(P(Y|X)\)作为预测的模型,即生 ...

  2. PRML读书会第四章 Linear Models for Classification(贝叶斯marginalization、Fisher线性判别、感知机、概率生成和判别模型、逻辑回归)

    主讲人 planktonli planktonli(1027753147) 19:52:28 现在我们就开始讲第四章,第四章的内容是关于 线性分类模型,主要内容有四点:1) Fisher准则的分类,以 ...

  3. 生成模型(Generative Model)和 判别模型(Discriminative Model)

    引入 监督学习的任务就是学习一个模型(或者得到一个目标函数),应用这一模型,对给定的输入预测相应的输出.这一模型的一般形式为一个决策函数Y=f(X),或者条件概率分布P(Y|X). 监督学习方法又可以 ...

  4. 生成模型(Generative)和判别模型(Discriminative)

    生成模型(Generative)和判别模型(Discriminative) 引言    最近看文章<A survey of appearance models in visual object ...

  5. 生成模型(Generative Model)Vs 判别模型(Discriminative Model)

      概率图分为有向图(bayesian network)与无向图(markov random filed).在概率图上可以建立生成模型或判别模型.有向图多为生成模型,无向图多为判别模型. 判别模型(D ...

  6. tflearn kears GAN官方demo代码——本质上GAN是先训练判别模型让你能够识别噪声,然后生成模型基于噪声生成数据,目标是让判别模型出错。GAN的过程就是训练这个生成模型参数!!!

    GAN:通过 将 样本 特征 化 以后, 告诉 模型 哪些 样本 是 黑 哪些 是 白, 模型 通过 训练 后, 理解 了 黑白 样本 的 区别, 再输入 测试 样本 时, 模型 就可以 根据 以往 ...

  7. 生成模型(Generative Model)与判别模型(Discriminative Model)

    摘要: 1.定义 2.常见算法 3.特性 4.优缺点 内容: 1.定义 1.1 生成模型: 在概率统计理论中, 生成模型是指能够随机生成观测数据的模型,尤其是在给定某些隐含参数的条件下.它给观测值和标 ...

  8. AJAX是什么? AJAX的交互模型(流程)?同步和异步的区别? AJAX跨域的解决办法?

      AJAX是什么? AJAX的交互模型(流程)?同步和异步的区别? AJAX跨域的解决办法? 分类: web前端面试题2013-07-20 22:40 630人阅读 评论(0) 收藏 举报 目录(? ...

  9. 机器学习在入侵检测方面的应用 - 基于ADFA-LD训练集训练入侵检测判别模型

    1. ADFA-LD数据集简介 ADFA-LD数据集是澳大利亚国防学院对外发布的一套主机级入侵检测数据集合,包括Linux和Windows,是一个包含了入侵事件的系统调用syscall序列的数据集(以 ...

随机推荐

  1. vuex页面刷新数据丢失的解决办法

    在vue项目中用vuex来做全局的状态管理, 发现当刷新网页后,保存在vuex实例store里的数据会丢失. 原因: 因为store里的数据是保存在运行内存中的,当页面刷新时,页面会重新加载vue实例 ...

  2. mac添加oh my zsh

    Mac 终端 oh-my-zsh 配置   Mac 终端默认 shell 为 bash.zsh 可能是目前最好的 shell ,至于好在哪里可自行百度.本文主要介绍使用 zsh 以及 oh-my-zs ...

  3. 批处理引擎MapReduce编程模型

    批处理引擎MapReduce编程模型 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. MapReduce是一个经典的分布式批处理计算引擎,被广泛应用于搜索引擎索引构建,大规模数据处理 ...

  4. jenkins+ant+jmeter接口自动化的持续集成

    一.jmeter.jenkins安装 这里不再说明,请看上一个随笔!!! 链接:https://www.cnblogs.com/magicYJ/p/11839646.html 二.ant安装 下载地址 ...

  5. 安装 uwsgi报错解决

    背景: 安装 uwsgi时报错如下,查阅相关资料说是 python-devel的问题,于是安装之后python-devel后问题解决 报错如下: (venv) [xxxxxxx]# pip insta ...

  6. Redis 缓存雪崩、穿透、击穿

    缓存雪崩 定义: 同一时间所有 key 大面积失效,比如网站首页的数据基本上都是同一批次去缓存的. 解决方法: ① 存的时候设定随机的失效时间. ② 服务做熔断处理(异常或着慢查询 Hystrix 限 ...

  7. SVM: 相对于logistic regression而言SVM的 cost function与hypothesis

    很多学习算法的性能都差不多,关键不是使用哪种学习算法,而是你能得到多少数据量和应用这些学习算法的技巧(如选择什么特征向量,如何选择正则化参数等) SVM在解决非线性问题上提供了强大的方法. logis ...

  8. PHP——获取当前时间精确到毫秒(yyyyMMddHHmmssSSS)

    前言 emmmmmm,别说话,我们偷偷偷狗子 格式 | yyyyMMddHHmmssSSS 代码 获取毫秒 //获取当前时间毫秒 function msectime() { list($msec, $ ...

  9. HTTP 包体

    HTTP包体:承载的消息内容 两种传输HTTP包体的方式 定长包体: 不定长包体: HTML FORM表单 HTML FORM表单提交请求时的关键属性 HTML FORM表单提交请求时的关键属性 Mu ...

  10. 使用Default Trace查看谁还原了你的数据库?

    select e.nameaseventclass,t.loginname,t.spid,t.starttime, t.textdata,t.objectid,t.objectname,t.datab ...