网络机器人吧社区

机器学习实战[40]---为什么要使用概率?

深南杂记 2018-11-08 14:36:26

计算机科学的许多分支处理的实体大部分都是完全确定且必然的。

程序员通常可以安全地假定CPU将完美地执行每条机器指令。虽然硬件错误确实会发生,但它们非常罕见,以至于大部分软件应用在设计时并不需要考虑这些因素的影响。

鉴于许多计算机科学家和软件工程师在一个相对确定和干净的环境中工作,机器学习对于概率论的大量使用是很令人吃惊的。

这是因为机器学习必须处理不确定量,有时也可能需要处理随机量,不确定性和随机性可能来自多个方面。至少从20世纪80年代开始,研究人员就对使用概率论来量化不确定性提出了令人信服的论据。

这里给出的许多论据都是根据Pearl(1988)的工作总结或启发得到的。

几乎所有的活动都需要一些在不确定性存在的情况下进行推理的能力。事实上,除了那些被定义为真的数学声明,我们很难认定某个命题是千真万确的或者确保某件事一定会发生。

不确定性有三种可能的来源:

  1. 被建模系统内在的随机性。例如:大多数量子力学的解释,都将亚原子粒子的动力学描述为概率的。我们还可以创建一些假设具有随机动态的理论情境,例如一个假想的纸牌游戏,在这个游戏中,我们假设纸牌被真正地混洗成了随机顺序。

  2. 不完全观测。即使是确定的系统,当我们不能观测到所有驱动系统行为的变量是,该系统也会呈现出随机性。例如,在Monty Hall问题中,一个游戏节目的参与者被要求在3个门之间选择,并且会赢得放置在选中门后的奖品。其中两扇门通向山羊,第3扇门通向一辆汽车。选手的每个选择所导致的结果是确定的,但是站在选手的角度,结果是不确定的。

  3. 不完全建模。当我们使用一些必须舍弃某些观测信息的模型时,舍弃的信息会导致模型的预测出现不确定性。例如,假设我们制作了一个机器人,它可以准确地观察周围每一个对象的位置。在对这些对象将来的位置进行预测时,如果机器人采用的是离散化的空间,那么离散化的方法将使得机器人无法确定对象们的精确位置:因为每个对象都可能处于它被观测到的离散单元的任何一个角落。

在很多情况下,使用一些简单而不确定的规则要比复杂而确定的规则更为实用,即使真正的规则是确定的,并且我们建模的系统可以足够精确地容纳复杂的规则。例如,“多数鸟儿都会飞”这个简单的规则描述起来很简单并且使用广泛,而正式的规则:“除了哪些还没学会飞翔的幼鸟,因为生病或是受伤而失去了飞翔能力的鸟,包括火食鸟、鸵鸟等不会飞的鸟类……以外,鸟儿会飞”,很难应用维护和沟通,即使经过这么多努力,这个规则还是很脆弱而且容易失效。

尽管我们的确需要一种用以对不确定性进行表示和推理的方法,但是概率论并不能明显地提供我们在人工智能领域需要的所有工具。

概率论最初的发展是为了分析事件发生的频率。我们可以很容易地看出概率论,对于像在扑克牌游戏中抽出一手特定的牌这种事件的研究中,是如何使用的。这类事件往往是可以重复的。当我们说一个结果发生的概率为p,这意味着如果我们反复实验(例如,抽取一手牌)无限次,有p的比例可能会导致这样的结果。这种推理似乎并不立即适用于那些不可重复的命题。

如果一个医生诊断了病人,并说该病人患流感的概率为40%,这意味着非常不同的事情:我们既不能让病人有无穷多的副本,也没有任何理由去相信病人的 不同副本在具有不同的潜在条件下表现出相同的症状。在医生诊断病人的例子中,我们用概率来表示一种信任度,其中1表示非常肯定病人患有流感,而0表示非常肯定病人没有患流感。前面那种概率直接与事件发生的频率相联系,被称为频率派概率;而后者涉及确定性水平,被称为贝叶斯概率

关于不确定性的常识推理,如果我们已经列出了若干条期望它具有的性质,那么满足这些性质的唯一一种方法就是将贝叶斯分概率和频率派概率视为等同的。例如,我们要在扑克牌游戏中根据玩家手上的牌计算他能够获胜的概率,那么可以使用和医生情境完全相同的公式,即依据病人的某些症状计算他是否患病的概率。

概率可以被看作用于处理不确定性的逻辑扩展。逻辑提供了一套形式化的规则,可以在给定某些命题是真或假的假设下,判断另外一些命题是真的还是假的。


今天是情人节,愿有情人终成眷属:)


Copyright © 网络机器人吧社区@2017