Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >判别模型 和 生成模型

判别模型 和 生成模型

作者头像
机器学习AI算法工程
发布于 2018-03-12 06:57:18
发布于 2018-03-12 06:57:18
1.1K0
举报

【摘要】 - 生成模型:无穷样本==》概率密度模型 = 产生模型==》预测 - 判别模型:有限样本==》判别函数 = 预测模型==》预测 【简介】 简单的说,假设o是观察值,q是模型。 如果对P(o|q)建模,就是Generative模型。其基本思想是首先建立样本的概率密度模型,再利用模型进行推理预测。要求已知样本无穷或尽可能的大限制。 这种方法一般建立在统计力学和bayes理论的基础之上。 如果对条件概率(后验概率) P(q|o)建模,就是Discrminative模型。基本思想是有限样本条件下建立判别函数,不考虑样本的产生模型,直接研究预测模型。代表性理论为统计学习理论。 这两种方法目前交叉较多。 【判别模型Discriminative Model】——inter-class probabilistic description 又可以称为条件模型,或条件概率模型。估计的是条件概率分布(conditional distribution), p(class|context)。 利用正负例和分类标签,focus在判别模型的边缘分布。目标函数直接对应于分类准确率。 - 主要特点: 寻找不同类别之间的最优分类面,反映的是异类数据之间的差异。 - 优点: 分类边界更灵活,比使用纯概率方法或生产模型得到的更高级。 能清晰的分辨出多类或某一类与其他类之间的差异特征 在聚类、viewpoint changes, partial occlusion and scale variations中的效果较好 适用于较多类别的识别 判别模型的性能比生成模型要简单,比较容易学习 - 缺点: 不能反映训练数据本身的特性。能力有限,可以告诉你的是1还是2,但没有办法把整个场景描述出来。 Lack elegance of generative: Priors, 结构, 不确定性 Alternative notions of penalty functions, regularization, 核函数 黑盒操作: 变量间的关系不清楚,不可视 - 常见的主要有: logistic regression SVMs traditional neural networks Nearest neighbor Conditional random fields(CRF): 目前最新提出的热门模型,从NLP领域产生的,正在向ASR和CV上发展。 - 主要应用: Image and document classification Biosequence analysis Time series prediction 【生成模型Generative Model】——intra-class probabilistic description 又叫产生式模型。估计的是联合概率分布(joint probability distribution),p(class, context)=p(class|context)*p(context)。 用于随机生成的观察值建模,特别是在给定某些隐藏参数情况下。在机器学习中,或用于直接对数据建模(用概率密度函数对观察到的draw建模),或作为生成条件概率密度函数的中间步骤。通过使用贝叶斯rule可以从生成模型中得到条件分布。 如果观察到的数据是完全由生成模型所生成的,那么就可以fitting生成模型的参数,从而仅可能的增加数据相似度。但数据很少能由生成模型完全得到,所以比较准确的方式是直接对条件密度函数建模,即使用分类或回归分析。 与描述模型的不同是,描述模型中所有变量都是直接测量得到。 - 主要特点: 一般主要是对后验概率建模,从统计的角度表示数据的分布情况,能够反映同类数据本身的相似度。 只关注自己的inclass本身(即点左下角区域内的概率),不关心到底 decision boundary在哪。 - 优点: 实际上带的信息要比判别模型丰富, 研究单类问题比判别模型灵活性强 模型可以通过增量学习得到 能用于数据不完整(missing data)情况 modular construction of composed solutions to complex problems prior knowledge can be easily taken into account robust to partial occlusion and viewpoint changes can tolerate significant intra-class variation of object appearance - 缺点: tend to produce a significant number of false positives. This is particularly true for object classes which share a high visual similarity such as horses and cows 学习和计算过程比较复杂 - 常见的主要有: Gaussians, Naive Bayes, Mixtures of multinomials Mixtures of Gaussians, Mixtures of experts, HMMs Sigmoidal belief networks, Bayesian networks Markov random fields 所列举的Generative model也可以用disriminative方法来训练,比如GMM或HMM,训练的方法有EBW(Extended Baum Welch),或最近Fei Sha提出的Large Margin方法。 - 主要应用: NLP: Traditional rule-based or Boolean logic systems (Dialog and Lexis-Nexis) are giving way to statistical approaches (Markov models and stochastic context grammars) Medical Diagnosis: QMR knowledge base, initially a heuristic expert systems for reasoning about diseases and symptoms been augmented with decision theoretic formulation Genomics and Bioinformatics Sequences represented as generative HMMs 【两者之间的关系】 由生成模型可以得到判别模型,但由判别模型得不到生成模型。 Can performance of SVMs be combined elegantly with flexible Bayesian statistics? Maximum Entropy Discrimination marries both methods: Solve over a distribution of parameters (a distribution over solutions) ================== 比较三种模型:HMMs and MRF and CRF HMMs(隐马尔科夫模型): 状态序列不能直接被观测到(hidden); 每一个观测被认为是状态序列的随机函数; 状态转移矩阵是随机函数,根据转移概率矩阵来改变状态。 HMMs与MRF的区别是只包含标号场变量,不包括观测场变量。 MRF(马尔科夫随机场) 将图像模拟成一个随机变量组成的网格。 其中的每一个变量具有明确的对由其自身之外的随机变量组成的近邻的依赖性(马尔科夫性)。 CRF(条件随机场),又称为马尔可夫随机域 一种用于标注和切分有序数据的条件概率模型。 从形式上来说CRF可以看做是一种无向图模型,考察给定输入序列的标注序列的条件概率。 在视觉问题的应用: HMMs:图像去噪、图像纹理分割、模糊图像复原、纹理图像检索、自动目标识别等 MRF: 图像恢复、图像分割、边缘检测、纹理分析、目标匹配和识别等 CRF: 目标检测、识别、序列图像中的目标分割 P.S. 标号场为隐随机场,它描述像素的局部相关属性,采用的模型应根据人们对图像的结构与特征的认识程度,具有相当大的灵活性。 空域标号场的先验模型主要有非因果马尔可夫模型和因果马尔可夫模型。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2015-07-20,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 大数据挖掘DT数据分析 微信公众号,前往查看

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

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
学习 | Node.js 之定时任务
这里关于Node.js 使用的是node-schedule定时器。所以这里总体是对node-schedule包的相关的学习。
mySoul
2020/08/03
2.1K0
nodejs之定时任务
定时任务的作用是在一定时间间隔或到某个时间点执行一次任务,避免人手工操作,比如redis和本地数据库同步任务,定时备份数据库任务等。在nodejs中有一个模块node-schedule专门用来处理定时任务,其原理有点类似于setTimeout和setInterval,但是使用起来更加的方便。 用模块首先要做的就是安装
OECOM
2020/07/01
2.9K0
Node Schedule文档翻译
Node Schedule 是一个Node.js的灵活的类似cron又不类似的任务调度库.它允许你调度任务(任意函数)在特殊的日期执行,并循环执行。他只在在任何给定的时间里使用一个定时器(而不是每隔一秒/一分钟来重新判断将要执行的任务)
治电小白菜
2020/08/25
1.8K0
mall整合SpringTask实现定时任务
Seconds Minutes Hours DayofMonth Month DayofWeek
macrozheng
2019/07/22
4240
nodejs定时任务
参考文档:https://blog.csdn.net/sunqy1995/article/details/83750368
biaoblog.cn 个人博客
2022/11/16
9790
给企业微信加个群机器人
现在很多企业在使用企业微信或钉钉进行工作交流,我们可以在群里添加一个自定义群机器人,定时发送一些提醒或咨询信息,它可以作为一个小组手,也为工作增加一点乐趣。
NanBox
2020/02/13
6.4K1
给企业微信加个群机器人
Node.js代码不到50行,实现稀土掘金社区自动签到
我们这里采用的技术栈是Node.js。代码不到50行,先贴上代码。 const Koa = require('koa'); const schedule = require('node-schedule'); const _request = require('request'); const app = new Koa(); // 自定义 const sessionid = ''; // SessionID const url = ''; // Url const options = { ur
Vam的金豆之路
2022/01/27
1K0
搭建简易的物联网服务端和客户端-微博接口(十四)
(1)github网址 https://github.com/vczero/node-weibo
治电小白菜
2020/08/25
5340
搭建简易的物联网服务端和客户端-微博接口(十四)
搭建简易的物联网服务端和客户端-邮件通知(十九)
(1)emailjs模块 send emails, html and attachments (files, streams and strings) from node.js to any smtp server (2)github网址 https://github.com/eleith/emailjs (3)安装
治电小白菜
2020/08/25
6260
搭建简易的物联网服务端和客户端-邮件通知(十九)
Node.js 实现定时每天给女朋友发消息—nodemailer模块
本文是以一个给女友发邮件的例子讲解 nodemailer 模块,实际工作中发送异常日志等到自己的邮箱还是挺常用的,有兴趣的小伙伴学习下这个模块。
coder_koala
2020/12/17
1.7K0
Node.js 实现定时每天给女朋友发消息—nodemailer模块
Python基于APScheduler实现定时任务
Python这个语言的优势就在于有丰富的第三方库,既然原生实现有这样那样的缺点,我们可以借助第三方库来实现定时任务。
Steve Wang
2021/12/20
2.6K0
Spring之定时任务基本使用篇
文章链接:https://liuyueyi.github.io/hexblog/2018/08/01/180801-Spring之定时任务基本使用篇/
一灰灰blog
2018/08/07
4640
Spring之定时任务基本使用篇
java定时任务
引言:知易行难 这里我推荐使用第一种,Spring定时任务,简单又简介,高效 一、Spring定时任务 基于springboot创建一个项目,使用定时任务很简单 俩步即可实现 1、启动类上加注解@
栖西
2023/10/17
2930
java定时任务
JS来一个极简的每日毒鸡汤
最近发现了基于node的一个发送邮件的小插件,逛论坛看别人用它做了一些有意思的东西,也模仿着搞一个分享下~ 重在分享,重在分享!
流眸
2021/01/04
1.2K0
JS来一个极简的每日毒鸡汤
史上最“脑残”的“抢火车票”程序(node.js版)
【背景】 快过年了,我妈一个电话打过来叫我给他买火车票,我到12306一查,硬座和硬卧基本没有了,高铁又太贵. 最后只抢了3张无座票,但是我妈说能不能买有座位的啊,我说没有了啊,我妈:你过两天再帮我看看。我:... 为了帮老妈抢到有座的票,后来用了360抢票插件,还用了网上的一个别人用c#写的客户端来抢票,妈的,用了两三天都没用。 最后还是打算自己用node写一个,当时我的想法就是写个简单的,能用就行。 所以,思路如下: 用node写一个爬虫,每过一分钟就爬取12306,查询某一辆火车是否还有余票,有余票就
用户1749219
2018/05/16
1.6K0
Nodejs定时自动截图并发送给邮箱
Nodejs获取桌面截图,并定时发送给指定邮箱 代码地址: https://github.com/klren0312/NodejsGetScreenshotSend 前面还写过Python获取截图并发邮件的 代码地址:https://github.com/klren0312/PythonGetScreenshotSend 1.安装相关包 npm install --save screenshot-desktop //截图 npm install --save nodemailer
治电小白菜
2020/08/25
2.1K0
.NET 纯原生实现 Cron 定时任务执行,未依赖第三方组件
常用的定时任务组件有 Quartz.Net 和 Hangfire 两种,这两种是使用人数比较多的定时任务组件,个人以前也是使用的 Hangfire ,慢慢的发现自己想要的其实只是一个能够根据 Cron 表达式来定时执行函数的功能,Quartz.Net 和 Hangfire 虽然都能实现这个目的,但是他们都只用来实现 Cron表达式解析定时执行函数就显得太笨重了,所以想着以 解析 Cron表达式定期执行函数为目的,编写了下面的一套逻辑。
乌拉栋
2022/10/28
1.2K0
.NET 纯原生实现 Cron 定时任务执行,未依赖第三方组件
spring boot 系列之八:SpringBoot处理定时任务
本次借用上一篇《spring boot 整合Mybatis》的既有项目结构进行案例调试。
全栈程序员站长
2022/07/18
1.3K0
Python 实现定时任务的八种方案!
来源:https://www.biaodianfu.com/python-schedule.html
Python编程与实战
2021/10/12
34.5K0
PHP实现定时任务hellogerard/jobby实例
//自动推单'00 00 * * *'凌晨 '45 21 * * *'每晚 21:45 //'10 0 * * 0'每周日0点10执行 '* */2 * * *'每两个小时执行一次00 * * * *每整点小时(12点,13点,14点。。)执行一次 //00 0/1 * * * * 每分钟执行一次 php /home/wwwroot/kaijiang-server-dev/think WormUpdateOneTeamInfoCommand
OwenZhang
2021/12/08
7760
相关推荐
学习 | Node.js 之定时任务
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档