3.1 概率

翻译 2015年11月21日 00:34:31

本章我们描述概率论。概率论是表示不确定现象的数学框架。它提供了定量不确定性和公理来导出新不确定现象的方法。在人工智能应用中,我们主要用在两个方面。首先,概率法则告诉我们人工智能系统应该如何推理,所以我们设计算法,来计算或近似各种用概率论推导出来的表达式。其次,我们可以用概率和统计理论来分析人工智能系统的行为。

概率论是许多科学和工程学科的基本工具。我们提供这一章是为了确保较少接触概率论的软件工程可以理解本书的材料。如果你已经熟悉了概率论,那么可以跳过这一章。如果你有没有接触过概率论,这一章内容足以进行深度学习的研究项目,但我们建议看一些额外的资源,如( Jaynes ,2003)。

许多计算机科学分支处理的是完全确定的实体。程序员通常可以假设一个CPU将正常地执行每个机器指令。硬件错误确实会发生,但很少见,所以大多数设计出来的软件应用不需要考虑它们。鉴于许多计算机科学家和软件工程师是在一个相对干净且稳定的环境下工作,而令人惊讶的是,机器学习大量使用了概率论。

这是因为机器学习必须处理不确定的量,有时也可能应对随机的(不确定的)量。不确定性和随机性可能有多种来源。至少从20世纪80年代起,研究人员对于用概率量化不确定性做出了令人信服的论点。这里提出的许多论点由 Pearl(1988)总结或受启发于他。

几乎所有的活动都需要在不确定性的情况中推断。事实上,除了那些定义为真的数学现象外,很难想到某些命题完全为真,或者某些事件保证会发生。

有三个不确定的可能来源:

  1. 系统中的被建模的固有随机性。例如,量子力学解释中,将大多数亚原子粒子的动态描述为概率。我们也可以创建一个理论场景,假定有随机动态,如一个假想的纸牌游戏,该游戏中我们假设卡牌顺序是随机的。
  2. 不完整的可观察性。当我们无法观察到所有驱动系统行为的变量时,即使确定系统也会出现不确定性。例如,在蒙提霍尔问题中,游戏表明参赛者要求在三个门里选一个并赢得所选门后的奖品。两扇门是山羊,而第三个是汽车。给定选手选择的结果后,结果是确定的,但是从选手的角度来说,结果是不确定。
  3. 不完整的模型。当我们使用一个模型时,该模型必须抛弃一些我们观察到的信息,被丢弃的信息在模型预测中产生了不确定性。例如,假设我们建了一个机器人,它可以准确地观察到它周围每一个物体的位置。如果在预测这些对象将来位置的时候,它离散化了空间,那么离散使得机器人对对象的精确位置变得不确定:每个对象可能是观察到它所在的那个离散区域的任何地方。

在许多情况下,使用简单而不确定规则要比复杂而确定的更加实用,即便真规则是确定的,我们的建模系统具有保真度以适应复杂的规则。例如,简单的规则:“大多数鸟类会飞”很容易制定并具有广泛的实用性,而形如“鸟会飞,除了非常年轻的鸟类,它们还没有学会飞,还有生病或受伤的失去了能力的鸟类,鸟类中不会飞的物种包括食火鸡,鸵鸟和kiwi等”制定,维护和沟通哦都很麻烦,毕竟这种尝试容易失败。

鉴于我们需要表示和推理不确定性的一种方法,概率论可以提供给我们在人工智能应用中的工具似乎不太明显。概率论最初被用来分析事件的频率。很容易看到概率论如何被用来研究事件,就像扑克游戏中手中拿到的一副牌。这种事件往往是重复的。当我们说一个结果发生的概率为p,它意味着如果我们反复实验(例如,拿一手牌)无限次,则重复比例p将导致那种结果。这种推理似乎并不适用于不重复的命题。如果医生分析病情,说病人有40%的几率的流感,我们不能做出无数个病人副本,也没有任何理由相信病人副本将有相同的症状。在医生诊断病人中,我们用概率来表示置信度,1表示患者肯定患有流感而0表示患者肯定没得流感。前种概率(直接和事件发生率相关)是频率论概率,而后者(与确定性水平有关)是贝叶斯概率。

事实证明,如果我们列出不确定性常识推理拥有的一些属性,那么满足这些属性的唯一方法是将贝叶斯概率看做频率概率。举例来说,如果我们要计算一个玩家赢得扑克游戏的概率,当然她已有一套牌。我们可以使用医生病人中相同的公式来计算概率。有关为什么常识假设暗含着同样的公理满足这两种概率的更多信息,请参阅Ramsey(1926)

概率可以被看作是处理不确定性的逻辑扩展。逻辑提供了一套规则来确定哪些命题是真,哪些是假,前提是给定了一些命题是真是假的假设。概率论提供了一套规则来确定一个命题为真的可能性,前提是给定其他命题的可能性。

最新版Servlet3.1规范--注解

Servlet3.0规范提供了注解(annotation),使得不再需要在web.xml文件中进行Servlet的部署描述,现对最新版官方文档中5个注解详细整理总结。  @WebServlet ...
  • BiLaHePan
  • BiLaHePan
  • 2017年01月31日 22:54
  • 908

Linux CentOS6 64位升级3.1内核的方法记录

有些时候我们由于某些项目和软件配置的需要,需要将默认Linux系统的内核提高版本才可以安装需要的软件(比如docker需要内核3.10版本以上)。比如当前老左在CentOS6 64bit环境中内核默认...
  • lupeng0206
  • lupeng0206
  • 2017年04月11日 18:23
  • 624

第十五章 Spring基于注解的配置(Spring Framework3.1教程)

从Spring2.5可以使用基于注解的依赖注入。因此可以替代XML去描述bean的包装,你可以在组建类上使用注解在相关的类,方法或域声明上。 注解的注入在XML注入之前执行,然而后者的配置将覆盖前者的...
  • pangjingji
  • pangjingji
  • 2014年02月28日 20:11
  • 795

Servlet3.1标准学习笔记

Servlet3.1标准学习笔记 1.Servlet默认是线程不安全的,需要开发人员处理多线程问题。 通常Web容器对于并发请求将使用同一个servlet处理,并且在不同的线程中并发执行servi...
  • magic_hwz
  • magic_hwz
  • 2016年04月18日 11:33
  • 1150

Vijos 1926 紫色的手链

【题意】求任意区间最大值异或次大值得最大值 【分析】 这道题比较新颖,给出了单调栈对区间最大、次大的应用。 【代码】 #include #include #include using ...
  • u013598409
  • u013598409
  • 2015年02月25日 11:21
  • 350

条件概率、联合概率、边缘概率

条件概率概述条件概率问题可以想象成面积的问题。思考时都可以转化为面积。 假设变量M的取值为A、B、C,以及N的取值为X、Y、Z。 有几个明显的结论:P(X|A)+P(X|B)+P(X|C)不一定等...
  • siegecat
  • siegecat
  • 2016年09月08日 09:29
  • 10247

iOS 网络编程 (七)AFNetworking 3.1.0 使用

AFNetworking从3.0.0版本移移除了NSURLConnection的使用,而是使用NSURLSession实现网络请求。 AFNetworking属于第三方框镜,需要将其源码导入工程。两...
  • VNanyesheshou
  • VNanyesheshou
  • 2016年09月29日 13:41
  • 3191

Win7下 maven3.1.1的安装步骤+maven配置本地仓库

简单讲下maven的安装步骤: 1.在安装maven之前,先确保已经安装JDK1.6及以上版本,并且配置好环境变量。 2.下载maven3,最新版本是Maven3.1.1 ,下载地址:ht...
  • fendou123_love
  • fendou123_love
  • 2015年06月02日 15:56
  • 1269

编译OpenCV3.1简略教程

又到了编译OpenCV的季节,坑爹的是,这次竟然跳进了那么多坑。 废话少说,现在的OpenCV编译的坑还真多。 这里我只编译了opencv及其contrib模块(比如SIFT这类有版权的算法),并没有...
  • xizero00
  • xizero00
  • 2016年03月07日 23:52
  • 7789

先验概率、后验概率、条件概率

今天看了 Larry Wasserman写的 All of Statistics中的第一章,第一章主要讲概率,其中最主要的就是贝叶斯公式。要了解贝叶斯公式,就得知道全概率公式: 通俗的讲,先验概...
  • cx1468059916
  • cx1468059916
  • 2014年11月24日 21:00
  • 2911
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:3.1 概率
举报原因:
原因补充:

(最多只允许输入30个字)