目录
8.1 不确定环境下的行动
当Agent所处的环境是部分可观察的或者不确定的,甚至是既部分可观察又不确定时。Agent就需要处理不确定性。
举一个自动驾驶Agent的例子:
Agent做了一个规划A:在飞机起飞90分钟前出发,并以合理的速度驶向机场。但是Agent无法确定地得到结论(1):“规划A将让我们及时到达机场”。但是Agent可以做出结论(2):“规划A将让我们及时到达机场,只要车不抛锚,汽油不耗尽,不遇到任何交通事故,.....”。这些条件没有一个是能够演绎的,所以也无法推断这个规划能否成功。这就是限制问题(qualification problem)。对于限制问题,目前为止我们还没发现真正的解。
虽然如此,规划A却是某种意义上正确的行动。这是因为:在所有可被执行的规划中,我们期望A能够最大化Agent的性能度量。
性能度量包括:
- 及时到达机场赶上飞机,
- 避免在机场长时间、徒劳地等待,
- 也要避免在路上得到超速罚单。
对于规划A,Agent拥有的知识不能保证实现其中任何一个目标,但可以提供它们将被实现的某种程度的信念度(degree of belief)。正确的行动——理性决策(rational decision)——既依赖于各种目标的相对重要性,也依赖于这些目标将被实现的可能性和程度。
8.1.1 不确定性概述
我们考虑一个不确定推理的例子:诊断牙病患者的牙痛。诊断几乎总是包含不确定性。我们试着使用命题逻辑写出牙病诊断的规则,以便让我们看看逻辑方法是如何失败的。
上面这条规则是错误的。不是所有的牙痛(toothache)都是因为牙齿有洞(cavity),有时牙痛是因为牙龈疾病(gum disease)、牙龈脓肿(abscess)或其他几种问题中的一种:
为了使上面的规则正确,我们不得不增加一个几乎无限长的可能原因的列表。我们可以尝试把上面的规则改成一条因果规则:
但这条规则也不正确,因为不是所有的牙洞都会引起牙痛。修正该规则的唯一途径是从逻辑上穷举各种可能的情形:用一个牙洞引起牙痛所需的所有限制(qualifications)扩充规则的左边。
试图使用逻辑处理像医疗诊断这样的问题域之所以会失败,有以下三个主要原因:
惰性:为了确保得到一个没有任何意外的规则,需要列出前提和结论的完整集合,这个工作量太大,这样的规则也难以使用。
理论的无知:对于该领域,医学科学还没有完整的理论。
实践的无知:即使我们知道所有的规则,对于一个特定的病人我们也可能无法确定,因为并不是所有必要的测试都已经完成,有的测试根本无法进行。
牙痛和牙洞之间的联系并不是一方对另一 方的逻辑结果。Agent的知识顶多能提供对相关语句的信念度(degree of belief)。我们处理信念度的主要工具是概率理论(probability theory)。
世界是由在某种特定情形下成立或不成立的事实组成的——但认识约束(epistemological commitments)是不同的:逻辑Agent相信每个语句是正确的或错误的,或不做评价,而概率Agent为每条语句赋予一个0到1之间的数值作为其信念度。
概率提供了一种方法以概括由我们的惰性和无知产生的不确定性,由此解决限制问题。也许我们不能确定是什么病在折磨一个特定的病人,但我们相信牙痛病人有牙洞的可能性,比如80%的可能性——即 0.8的概率。
8.1.2 不确定性与理性决策
假设规划A让我们有97%的机会赶上航班,这意味着这个规划是一个理性的选择吗?不一定:可能其他规划有更高的概率。B是一个提前24小时出门的规划,这个规划怎么样呢?在大多数情况下,这个规划不是一个好的选择。
为了做出这些选择,Agent 首先必须在各种规划的不同结果(outcomes)之间有所偏好(preferences)。
我们使用效用理论(utility theory)来对偏好进行表示和推理。效用理论认为,每个状态对一个Agent而言都有一定程度的有用性, 即效用,而Agent会偏好那些效用更高的状态。
状态的效用是相对于Agent的。一个效用函数可以导致一些偏好怪异的或典型的,高雅的或低俗的,但都是理智的。效用还可以导致利他行为,只需要把别人的幸福包含到能对Agent自身效用有贡献的因素里即可。在被称为决策理论的理性决策通用理论中,由效用表示的偏好是与概率理论相结合的:
决策理论 概率理论 效用理论
决策理论的基本思想是:
一个Agent是理性的,当且仅当它选择能产生最高期望效用的行动,这里的期望效用是行动的所有可能结果的平均。这称为期望效用最大化(Maximum Expected Uillity, MEU)原则。
“期望"是指“平均”或结果的“统计平均”(结果的概率加权平均)。
在第5章中当我们简短地接触西洋双陆棋的优化决策时,我们见识了这条原则所发挥的作用。它事实上完全是一条通用原则。
下图勾勒了使用决策理论选择行动的Agent的结构:
8.2 基本概率符号
为了使Agent表示并使用概率信息,我们需要一种形式语言——概率理论的语言。
8.2.1 概率是关于什么的
概率断言是关于可能世界的断言,考虑的是各种可能世界的可能性有多大。
样本空间(sample space)
在概率理论中,所有可能世界组成的集合称为样本空间,这些可能世界是互斥的(mutually exclusive)、 完备的(exhaustive)。
样本空间:用希腊字母(omega的大写)表示。
样本空间中的一个样本:用(omega的小写)表示,即是一个特定的可能世界。
一个完全说明的概率模型(probability model)应为每一个可能世界附一个数值概率。概率理论的基本公理规定,每个可能世界具有一个到之间的概率,且样本空间中的可能世界的总概率(total probability)是:
对于每一个且
事件(event)
概率断言和质询通常不是关于某个特定的可能世界的,而是关于可能世界集合的。在概率理论中,这些集合称为事件。
在AI中,总是用形式语言的命题(propositions)来表示这些集合。对于每个命题,对应集合的成员就是使命题的成立的可能世界。与某个命题相关联的概率是使该命题成立的可能世界的概率之
和:对于任意命题,
概率理论并不要求知道每个可能世界的概率。就像逻辑断言,这个概率断言在没有完全确定概率模型的情况下给出了基本的概率模型的限制。
称和这样的概率为无条件概率(unconditional probabilities)或先
验概率(prior pobilties,有时简写为prior);它们是指不知道其他信息的情况下对命题的信念度。然而,在大多数情况下,我们会有一些已经为我们所知的信息——通常称为证据(evidence)。
例如,我们已经看到第一个色子结果是5,此时我们还在等待第二个色子停止翻滚。在这种情况下,我们不再关心得到相同数的先验概率,而是关心在第一色子是5的前提下两个色子结果相同的概率。这个概率写作,其中“|”读作“给定(given)”。 这样的概率称为条件概率(conditional probabilities)或后验概率(posterior pobilies有时简写为posteriors)。注意,符号“|”的优先级是:任何形式的表达式是指。
注意:要理解条件蕴含(conditioning implication)与逻辑蕴含(logical implication)的区别:
断言的意思并不是“只要toothache为真,那么cavity 为真的概率是0.6”,而是“只要toothache为真,同时我们又没有进一步的信息,那么cavity为真的概率是0.6”。
额外条件是重要的:例如,如果我们获得进一步的信息——牙医没有发现牙洞(cavity), 我们肯定不会做出"cavity 为真的概率是0.6” 的结论,而是。
数学上,条件概率是由无条件概率定义的:对于任何命题a和b
只要,这个公式是成立的。如果你记住“观察到b就排除掉了所有那些使b不成立的可能世界,留下一个总概率是的集合”,那么这个定义是容易理解的。这个集合中满足的可能世界也满足,占这个集合的比例是。
条件概率的定义可以写成乘法规则:
乘法规则也许更容易理解:为了使a和b都成立,就需要b成立,且需要在给定b的前提下a也成立。
8.3 使用完全联合分布进行推理
我们从一个简单例子开始:一个由三个布尔变量Toothache, Cavity以及Catch(由于牙医的钢探针不洁而导致的牙龈感染)组成的问题域。其完全联合分布是一个2x2x2的表格,如图所示:
注意,概率公理要求联合分布中的所有概率之和为1。计算任何命题概率的一种直接方法:只需识别使命题为真的那些可能世界,然后把它们的概率加起来。例如,使命题成立的可能世界有6个:
一个特别常见的任务是提取关于随机变量的某个子集或者某单个变量的概率分布。例如,将图中第一行的条目加起来就得到的无条件概率,或者称为边缘概率:
这个过程称为边缘化(marginalization), 或者称求和消元(summing out)——因为是将除了Cavity以外的其他变量取每个可能值的概率相加,所以它们都被从公式中消除了。
对于任何两个变量集合Y和Z,我们可以写出如下的通用边缘化规则:
其中,是针对变量集合的所有可能取值组合进行求和,有时简写为。我们可以按如下方式使用这条规则:
根据乘法规则,使用条件概率,而不用联合概率,可将这条规则变形如下,得到条件化(conditioning)规则:
在多数情况下,我们会对已知一些变量的证据而计算另一些变量的条件概率感兴趣。条件概率可以如此计算:首先使用公式得到一个基于无条件概率的表达式,然后再由完全联合分布对表达式求值。例如,已知有牙痛的证据,我们可以计算有牙洞的概率:
为了验算,我们还可以计算已知牙痛的证据时没有牙洞的概率:
这两个计算出来的值相加等于1,应该如此。注意,这两次计算中的项是不变的,与我们计算的Cavity的值无关。事实上我们可以把它视为的一个归一化常数,保证其中的概率加起来等于1。我们将用a来表示这样的常数。有了这个符号,我们可以把前面的两个公式合并为一个:
换句话说,即使我们并不知道的值, 我们仍可以计算出。我们暂时不管, 而对Cavity分别取和时进行求和得到和。这两个数代表了有关比例,但它们相加不等于1,所以将这两个数都除以而进行归一化。
我们只考虑查询仅涉及一个变量的情况,假设这个变量为。假设为证据变量集合,表示其观察值;并假设为其余的未观测变量。查询为,它的值计算为:
其中的求和针对所有可能的y(也就是对未观测变量Y的值的所有可能组合)。注意变量x,E以及Y 一起构成了问题域中所有变量的完整集合,因此只不过是完全联合分布概率中的一个子集。
8.4 独立性
我们现在通过加入第4个变量一Weather 来扩展完全联合分布。扩展后,完全联合分布变为,它有个条目。
使用乘法规则有:
由于天气并不影响牙病变量。所以有:
据此,我们可以推断:
通用公式:
这样,4个变量的含有32个条目的表可从8条目表与4条目表构建出来。下图示意性地描述了这种分解。
分解时使用的特性被称为独立性(independence),也称为边缘独立性(marginal
independence)或绝对独立性(absolute independence)。两个命题a和b之间独立可以写作:
这个三种形式是等价的。变量X和Y之间独立可以写作:
当独立性断言可用时,它们有助于减小问题域表示的规模并降低推理问题的复杂度。不幸的是,变量全集被独立性划分的情况是相当少见的。只要两个变量之间存在无论多么间接的联系,独立性就不再成立。而且,即使独立子集也可能非常庞大——例如, 牙病可能涉及到相关的数十种疾病和几百种症状。要处理这样的问题,我们需要比简单易懂的独立性概念更精细的方法。
8.5 贝叶斯规则及其应用
乘法规则可以写成两种形式:
和
这两个式子的右边相等,然后同时除以,可得到
这个公式是著名的贝叶斯规则。对于多值随机变量的更一般情况,可以用符号写成如下形式:
像前面一样, 这个式子表示一组公式, 每个公式处理变量的特定取值。还有某些场合,我们需要以某个背景证据e为条件的更通用的公式:
8.5.1 使用贝叶斯规则:合并证据
如果牙医的不清洁的钢探针引起病人疼痛的牙齿感染,她能得出什么结论?如果我们知道完全联合分布, 则可以读出答案:
然而我们知道,这种方法不能扩展到有大量的变量的情况。我们也可以试着使用贝叶斯规则重新对问题形式化:
为了使用这个式子,我们需要知道在Cavity每个取值下合取式的条件概率。这对于只包含两个证据变量的情形可能是可行的,但同样不允许变量太多。要是Toothache和Catch彼此独立就好了,但是它们并非如此:如果探针引起牙齿感染,那么牙齿可能有洞,而这个牙洞引起牙痛。不过,如果已知病人是否有牙洞,这两个变量就是相互独立的。每个变量取值都是由牙洞导致的,但是它们彼此之间没有直接影响:牙痛依赖于牙神经的状态,而使用探针的精确度取决于牙医的技术,牙痛与此无关。数学上,这个性质可以写作:
这个公式表达了当给定Cavity时toothache和catch的条件独立性(conditional independence)。我们可以把它代入到公式中得到有牙洞的概率:
这时所需的信息就和单独使用每条证据进行推理是一样的了:查询变量的先验概率,以及给定原因下各种结果的条件概率。
给定第三个随机变量Z后,两个随机变量X和Y的条件独立性的一般定义是:
例如在牙科问题域中,给定Cavity,断言变量Toothache和Catch的条件独立性看来是合理的:
条件独立性的等价形式:
和
绝对独立性断言允许将完全联合分布分解成很多更小的分布。这对于条件独立性断言同样也是成立的。例如,给定公式中的断言,我们得到如下分解形式:
(乘法原则)
按照这种方式,原来较大的概率表被分解成为三个较小的概率表。原来的概率表有7个彼此独立的数值。这些较小的表包含5个彼此独立的数值。条件独立性断言能够允许概率系统进行规模扩展;而且,条件独立性也比绝对独立性断言更加普遍容易获得。
这个牙科的例子说明了一类普遍存在的模式,其中单一原因直接影响许多结果,这些结果在给定这个原因时都是彼此条件独立的。这时,完全联合分布可以写为:
这样的一个概率分布被称为一个朴素贝叶斯(naiveBayes)模型——“朴素”是因为这个模型经常用于(作为模型的简化假设)“结果”变量在给定原因变量下实际上不是条件独立的情况。(朴素贝叶斯模型有时被称为贝叶斯分类器(Bayesian cassifer),一个多少有些欠考虑的用法,因此一些真正的贝叶斯支持者们将其称为傻瓜贝叶斯(idiot Bayes)模型。)在实际中,基于朴素贝叶斯模型的系统工作得出奇地好——即使条件独立性假设不成立时。