infer.net 入门2 用一个侦探故事来讲解,通俗易懂
a more sophisticated model with more variables work even better? If you add enough
variables to a model, you can fit almost anything. However, you generally reach a
point of diminishing returns; at some point additional complexity starts reducing the
model’s quality. You need an Occam’s razor to find a balance between accuracy and
complexity. That “razor” is an integral part of Bayesian inference, which includes a
robust way to assess model quality called evidence that you can use to pick the best
model.
如果你加了足够的变量的一个模型,你可以适合几乎任何。然而,你一般都会到达
收益递减点;在某些点上附加的复杂性开始减少模型质量。你需要一个奥卡姆的剃刀,以找到一个平衡之间的精度和复杂性。“剃刀”是贝叶斯推理的一个组成部分,它包括可靠的方法来评估模型的质量,称为证据,你可以用以挑选最好的模型
三个例子:
罪犯。最初,你知道:
有两个可能的罪魁祸首:管家和厨师。
有三种可能的谋杀武器:一把屠刀,一把手枪,和一个壁炉铁棒。
条件分布
推断posterior,你必须首先构造一个数学模型的谋杀情景。您已经指定了一个先验的罪魁祸首。你也知道:
管家保存了老韦布利的手枪在上锁的抽屉,但厨师不拥有手枪。男管家更可能使用了手枪。
厨师有足够锋利的屠刀供应及禁止管家要踏上厨房。管家不太可能用那把刀。
管家比厨师老多了,已经有点虚弱。专职管家不太可能使用一种对身体要求的武器铁棒。
Pistol Knife Poker
Cook 5% 65% 30% = 100%
Butler 80% 10% 10% = 100%
每个嫌疑犯必须使用一个可能的武器,所以每个条件分布的和是100%
Cook 4% 52% 24% =80%
Butler 16% 2% 2% =20%
罪魁祸首是变量,我们感兴趣的,我们要推断posterior ,所以我们定义了一个prior 变量。
凶器是变量,我们可以观察到,所以我们定义该变量的条件分布。
可以使用联合分布来询问各种问题。假设我们想知道手枪是杀人武器的概率。你可以从联合分配的概率来计算 ,厨师使用的手枪和管家用手枪的可能性。你可以做同样的计算,为刀和铁棒。在你“总结”后仍然保持的分布,但联合分布中的一个变量,是剩余变量的边缘分布或更普遍些只是边际。
Cook 4% 52% 24%
Butler 16% 2% 2%
= 20% = 54% = 26%
posterior 是一个有条件边缘,罪犯的边缘,通过观察发现凶器是手枪的条件。在这种简单的情况下,可以从联合分布表中获得posterior

.jpg)
在实践中,模型通常要比在这个例子更复杂,使计算后验概率更困难。应用“真实世界”情景的概率规划需要一个更为复杂的方法,对于模型构建和推理。
.jpg)

每个方块代表一个随机变量。
箭头表示随机变量之间的因果关系。
阴影框表示可观测的随机变量。
非阴影框表示不可观测的随机变量,我们希望推断。
模型(b)是一个更复杂的模型,采用了额外的随机变量的谋杀时间,尸体的状态等几个可观察到的。你可以使用这个模型结合多个随机变量的观测计算后验概率,也许证明管家是无辜的,也许产生压倒性的证据,他不得不承认。
侦探小说,你可以用简单的算法来推断后从表图2。当你添加变量,这种方法变得更加困难-----特别是如果他们有大量的可能的值----变量表示一个连续的可能值的变量而不工作。更现实的模型需要一个更复杂的方式来推断后验概率
例如,当你将一个多项式拟合为一组数据点时,你可以通过向多项式中添加足够的元素来获得精确的拟合。然而,一个多项式完全适合每个数据点通常摆荡在每个点之间,现象称为过拟合,可能在一定程度上是准确的,但不是很有用。一个多项式与较少的元素,往往可以拟合数据,以及提供了一个更有用的和现实的模型。
你想要的是一个快乐的媒介:一个模型,适合的数据合理,而不过于复杂。简而言之,你需要应用奥卡姆的剃刀,最好的模型是充分符合数据的最简单的一个-----可能模型中的。
.jpg)

这两者在不同的方式中存在指纹的存在:
模型(a),罪犯在犯罪现场留下的指纹。
模型(B),罪犯对于留下指纹很小心,但帮凶也可能留下。
概率规划是一个一般的概念,并且可以在各种各样的方法。使用infer.net有什么优势?总之,infer.net提供在代码中表示图形化模型的简单方法,包括一个推理引擎inference engine处理posteriors的复杂数学推导。本节介绍了infer.net功能,以及它们如何快速帮助你,轻松实现强大的概率方案。
创造一个好的概念模型是困难的,而在infer.net范围。。API 实现了一个广泛的模型,包括标准模型如,Bayes point machine, latent Dirichlet allocation, factor analysis, and principal component analysis通常只有几行代码
使用任何有支持的算法中的所有数值重举—并返回请求的后验概率。
infer.net 入门2 用一个侦探故事来讲解,通俗易懂的更多相关文章
- CXF 入门:创建一个基于WS-Security标准的安全验证(CXF回调函数使用,)
http://jyao.iteye.com/blog/1346547 注意:以下客户端调用代码中获取服务端ws实例,都是通过CXF 入门: 远程接口调用方式实现 直入正题! 以下是服务端配置 ==== ...
- SpringMVC基础入门,创建一个HelloWorld程序
ref:http://www.admin10000.com/document/6436.html 一.SpringMVC基础入门,创建一个HelloWorld程序 1.首先,导入SpringMVC需要 ...
- 【转】C# 串口操作系列(1) -- 入门篇,一个标准的,简陋的串口例子。
C# 串口操作系列(1) -- 入门篇,一个标准的,简陋的串口例子. 标签: c#objectnewlineexceptionbytestring 2010-05-17 01:10 117109人阅读 ...
- spring cloud 入门,看一个微服务框架的「五脏六腑」
Spring Cloud 是一个基于 Spring Boot 实现的微服务框架,它包含了实现微服务架构所需的各种组件. 注:Spring Boot 简单理解就是简化 Spring 项目的搭建.配置.组 ...
- Flask从入门到做出一个博客的大型教程(一)
本项目全部在虚拟环境中运行,因此请参照前面的文章,链接为https://blog.csdn.net/u014793102/article/details/80302975 建立虚拟环境后,再接着完成本 ...
- Jmeter Web 性能测试入门 (四):一个小实例带你学会 Jmeter 脚本编写
测试场景: 模拟并发100个user,在TesterHome 站内搜索VV00CC 添加线程组 添加HTTP信息头管理器 添加HTTP Sampler 填写HTTP Sampler中的信息 添加监听器 ...
- 项目自动化建构工具gradle 入门3——生一个exe的helloWorld
前两次呢,我们能够用一个外部的jar 来实现输出helloWorld.但问题是我每次都要用java -jar 来执行,这样我们自己玩还可以,让用户玩就不好了.所以我们生成一个exe给他们吧.这次我们仍 ...
- 无废话WCF入门教程六[一个简单的Demo]
一.前言 前面的几个章节介绍了很多理论基础,如:什么是WCF.WCF中的A.B.C.WCF的传输模式.本文从零开始和大家一起写一个小的WCF应用程序Demo. 大多框架的学习都是从增.删.改.查开始来 ...
- 【WebGL入门】画一个旋转的cube
最近搜罗了各种资料,发现WebGL中文网特别好用,很适合新手入门:http://www.hewebgl.com/article/getarticle/50 只需要下载好需要的所有包,然后用notepa ...
随机推荐
- One to One 的数据库模型设计与NHibernate配置
在数据库模型设计中,最基本的实体关系有三种:一对一.一对多.多对多.关于一对多和多对多使用的情况较多,之前也有过一些讨论,现在来说明一下在数据库中一对一的模型设计. 首先,关系数据库中使用外键来表示一 ...
- 【Python】-【类解析】--【脚本实例】
通过脚本事例,解析下Python中类的几个概念在脚本中的应用 脚本如下: ++++++++++++++++++++++++++++++++++++++++ #!/usr/bin/env python# ...
- MySQL客户端工具 SQLyog
我最喜欢它的History功能,把执行过的操作对应语句都输出出来,一些麻烦的语句用GUI操作后,还能保存对应的sql语句.不错! 官网:http://www.webyog.com 下面是官方的介绍:S ...
- Hyper-V 上的android
为了各种实验环境,装了Hyper-V,然后ADT的android虚拟机就用不上Intel的HAXM了,慢得不行.只有想办法在Hyper-v上装android,还得要ADT能连上. 半天下来,终于搞定. ...
- Linux下NDK编译FFMPEG包含neon参数
FFMPEG编译成Android库已经有很多案例了,编译优化neon的也很多,以下是我通过实践成功的案例,这里主要讲编译的配置文件,其他设置可结合Linux下使用NDK编译FFMPEG(libstag ...
- 烂泥:通过binlog恢复mysql数据库
本文由秀依林枫提供友情赞助,首发于烂泥行天下. 在上一篇文章,我们讲解了有关mysql的binlog日志的基础知识.这篇文章,我们来讲解如何通过mysql的binlog日志来恢复数据库. 在使用bin ...
- x01.FileProcessor: 文件处理
姚贝娜落选,意味着好声音失败.“我们在一起”的精彩亮相,正如同她的歌声,愈唱愈高,直入云霄. 文件处理,无外乎加解密,加解压,分割合并.本着“快舟"精神,花了两天时间,写了个小程序,基本能满 ...
- QT5.5.0版本添加icon图标步骤
1.制作icon图标文件 可以进入这个网站在线制作:http://www.ico.la/ 2.创建资源文件:qrc文件 接着 添加2两项,先点击prefix,然后添加文件--->图标路径 3.可 ...
- Neutron分析(5)—— neutron-l3-agent中的iptables
一.iptables简介 1.iptables数据包处理流程 以本机为目的的包,由上至下,走左边的路 本机产生的包,从local process开始走左边的路 本机转发的包,由上至下走右边的路 简化流 ...
- NET Core中实现一个Token base的身份认证
NET Core中实现一个Token base的身份认证 注:本文提到的代码示例下载地址> How to achieve a bearer token authentication and au ...