贝叶斯定理 Bayes’ Theorem
最优学习路径始于一个许多人都听说过的公式:贝叶斯定理。
托马斯·贝叶斯(Thomas Bayes),一位十八世纪的英国牧师,是贝叶斯定理提出者。
贝叶斯主义 Bayesianism
贝叶斯主义由法国数学家拉普拉斯(Laplace)提出,他比贝叶斯晚出生几十年。贝叶斯主义是对贝叶斯定理的一种理论解释和应用框架。
对于贝叶斯主义者来说,学习只是贝叶斯定理的另一种应用。
以整个模型作为假设,以数据作为证据:当你看到更多的数据时,一些模型变得更有可能,而另一些模型则更少,直到理想情况下有一个模型脱颖而出,成为最终胜者。
朴素贝叶斯分类器 Naïve Bayes Classifier
A learner that uses Bayes’ theorem and assumes the effects are independent given the cause is called a Naïve Bayes classifier.
朴素贝叶斯分类器是一种基于贝叶斯定理的简单概率分类器。
“朴素”字眼的含义是因为这个算法做了一个朴素的假设,即所有的输入特征都是相互独立的。
正如统计学家乔治·博克斯(George Box)的名言,“All models are wrong, but some are useful.”
拥有足够数据的简化模型比没有足够数据的完美模型要好。令人惊讶的是,有些模型既非常错误,又非常有用。
没有人确定是谁发明了朴素贝叶斯算法。
1973 年的一本模式识别教科书中提到了它,但没有注明出处。但它直到 20 世纪 90 年代才开始流行,当时研究人员惊讶地发现,它比更复杂的学习者更准确。
朴素贝叶斯现在应用非常广泛。
例如,它构成了许多垃圾邮件过滤器的基础。这一切都始于大卫·赫克曼(David Heckerman),一位著名的贝叶斯研究人员,同时也是一名医生。他提出了将垃圾邮件视为一种疾病的想法。
马尔可夫模型 Markov Model
1913 年,第一次世界大战前夕,俄罗斯数学家安德烈·马尔可夫(Andrei Markov)发表了一篇论文,将概率应用于诗歌。
在其中,他使用马尔可夫链(Markov chain)对俄罗斯文学经典 —— 普希金的《尤金·奥涅金》进行建模。
他没有假设每个字母都是独立于其余字母随机生成的,而是引入了最低限度的顺序结构:他让每个字母的概率取决于紧邻其前面的字母。
例如,元音和辅音往往会交替出现。因此,如果看到辅音,则下一个字母(忽略标点符号和空格)比字母独立时更有可能是元音。
如果元音 i 是一个布尔变量(true or false),如果《尤金·奥涅金》的第 i 个字母是元音,则为 true;如果它是辅音,则为 false。
我们可以用链状图来表示马尔可夫模型:
马尔可夫假设(错误但有用)文本中每个位置的概率都是相同的。我们只需要估计三个概率:
P (Vowel 1 = True)
诗歌的第一个字母是元音的概率;
P (Vowel i + 1 = True | Vowel i = True)
如果当前字母(第 i 个)是元音,那么下一个字母(第 i+1 个)是元音的概率;
P (Vowel i + 1 = True | Vowel i = False)
如果当前字母(第 i 个)是辅音,那么下一个字母(第 i+1 个字母)是元音的概率;
由于 P (Vowel 1 = True) 和 P (Vowel 1 = False) 两个事件是互斥的(第一个字母要么是元音,要么不是元音)。它们的概率之和为1,所以我们可以通过 P (Vowel 1 = True) 来计算 P (Vowel 1 = False)。
这些概率有助于我们理解诗歌中元音和辅音的排列规律。
如果我们不仅测量元音与辅音的概率,还测量字母表中每个字母相互跟随的概率,我们可以用与《尤金·奥涅金》相同的统计数据生成新文本:选择第一个字母,然后在第一个字母的基础上选择第二个字母,以此类推。
当然,结果完全是胡言乱语。但如果我们让每个字母依赖于前面的几个字母,而不是仅仅一个字母,它就会开始像一个酒鬼的胡言乱语。即使在整体上毫无意义,但在局部上是连贯的。
虽然这不足以通过图灵测试(判断机器是否类人),但这样的模型是机器翻译系统的关键组成部分。
谷歌诞生的算法 —— 页面排名(PageRank)—— 本身就是一个马尔可夫链。
含有许多传入链接的网页,可能比只含几个的更重要,并且来自重要页面的链接本身应该更重要。
这样就形成了一种无限回归,但我们可以用马尔可夫链来处理它。
想象一下,一个用户通过随机链接从一个页面到另一个页面:这个马尔可夫链的状态是网页而不是字符。页面得分等于用户在该页面上花费的时间,或等于他徘徊后登陆该页面的概率。
这使得它成为一个更大的问题,但数学原理是相同的。
马尔可夫链随处可见,是数学研究最深入的主题之一,但它们仍然是一种非常有限的概率模型。
隐藏的马尔可夫模型 Hidden Markov Model
The states form a Markov chain, as before, but we don’t get to see them; we have to infer them from the observations.
隐藏的马尔可夫模型(HMM)是一种统计模型,用于描述一个隐藏的未知参数(称为“状态”)通过可观察的参数表现出来的过程。
假设你是一个冒险者,正在一个巨大迷宫中寻找宝藏。在这个迷宫中,每一个房间都可以被看作是一个状态。你在每个时间点都在某个房间里,而你接下来要去的房间只取决于你现在所在的房间。你没有地图,所以只能根据现在所处房间来决定你接下来去哪里。这就是一个马尔可夫模型,即你的下一步只取决于你现在的状态,而与你如何到达这个状态无关。
现在让我们增加一点复杂性:假设这个迷宫是黑暗的,你无法直接看到自己处在哪个房间,也就是你不能直接知道你的"状态"。但是,每个房间都有特别的气味,所以你可以通过闻到的气味来猜测自己可能在哪个房间。例如,如果你闻到了海洋的味道,你可能在靠近海洋的房间。在这个例子中,房间的气味就是你可以观察到的结果,而你实际所处的房间(状态)是隐藏的。这就是隐藏马尔可夫模型,即你不能直接得到状态,但你可以根据可观察的结果来推测状态。
隐藏马尔可夫模型相比于马尔可夫模型更具复杂性,但它们的核心思想是一样的:未来状态只取决于当前状态。在隐藏马尔可夫模型中,我们只是不能直接得到状态,而需要通过一些观察结果来推测它们。
贝叶斯网络 Bayesian Networks
HMM 适合对各种序列进行建模,但它们与符号主义者 “If-then” 法则的灵活性仍相距甚远。在 “If-then” 法则中, 任何事物都能以前提的形式出现,而规则的结果又可以是任何下游规则中的前提。
如果我们在实践中允许这种任意结构,我们需要学习的概率数量就会激增。很长一段时间没人知道如何 “square this circle”。
20 世纪 80 年代初终于有了突破,当时加州大学洛杉矶分校计算机科学教授朱迪亚·珀尔(Judea Pearl) 发明了一种新的表示形式:贝叶斯网络。Pearl 是世界上最杰出的计算机科学家之一,他的方法席卷了机器学习、人工智能和许多其他领域。并荣获2012年图灵奖。
珀尔意识到,只要每个变量只直接依赖于其他几个变量,那么随机变量之间存在复杂依赖关系网络也没什么。
贝叶斯网络,是一种用于表示变量之间概率关系的图形模型。贝叶斯网络使用有向无环图(DAG,Directed Acyclic Graph)表示变量以及它们的条件依赖性。
简单来说,它就是一个图,其中的节点表示随机变量,箭头则表示一个变量可能如何影响另一个变量。
贝叶斯网络又称为信念网络(Belief Network),这个术语源于贝叶斯网络的一种重要应用:更新我们对某个假设的信念或信度。
在信念网络中,每个节点都代表了一个随机变量,而这个变量的不同状态可以看作是关于这个变量的不同假设。
每个节点的状态都有一个与之关联的概率,这个概率可以看作是我们对这个状态(即假设)的信度或信念。
当我们获取到新的信息时,我们可以使用贝叶斯定理来更新这些概率,即更新我们对这些假设的信念。
“信念网络”这个术语突出了贝叶斯网络在处理不确定性和进行信念更新方面的能力。