贝叶斯理论
贝叶斯定理知识点与常见题型总结

贝叶斯定理知识点与常见题型总结贝叶斯定理是概率论中一个非常重要的定理,也是贝叶斯网络中的核心概念。
本文将总结贝叶斯定理的知识点及其常见题型,以便读者更好地理解和掌握它。
知识点贝叶斯定理是指在已知P(B)的前提下,根据P(A|B)求出P(B|A) 的理论。
其中,P(B) 表示事件 B 发生的概率,P(A|B) 为在已知事件 B 发生的条件下,事件 A 发生的概率,P(B|A) 为在已知事件 A发生的条件下,事件 B 发生的概率。
在实际应用中,贝叶斯定理通常用于根据已知的后验概率和先验概率来计算事件发生的概率。
具体应用包括文本分类、垃圾邮件过滤、拼写检查、物体识别等领域。
常见题型例题1某产品生产工厂为解决某材料的质量问题进行改进,经过实验得到在新的生产工艺下,产品合格率达到90%,但该材料在生产中有3%的时间会有问题。
如果产品被拒绝,那么有80%的可能性是因为材料出了问题。
求该生产工艺下产品被拒绝时,是由于材料有问题的概率有多大?解析:设事件 A 表示产品合格,事件 B 表示材料有问题。
题目所求为 P(B|A'),即产品被拒绝时,是由于材料有问题的概率。
根据贝叶斯公式:P(B|A') = P(A'|B) * P(B) / P(A')其中,P(A') 表示产品不合格的概率,可以根据题目描述得到:P(A') = 1 - P(A) = 0.1。
P(B) 表示材料有问题的概率,题目描述得到:P(B) = 0.03。
P(A'|B) 表示在材料有问题的情况下产品不合格的概率,题目描述得到:P(A'|B) = 0.8。
因此,代入公式计算可得:P(B|A') = P(A'|B) * P(B) / P(A') = 0.8 * 0.03 / 0.1 = 0.24。
所以,该生产工艺下产品被拒绝时,是由于材料有问题的概率为 24%。
例题2一家服装店销售男装和女装,女装销售总量占比为 60%,其中高档次中的女装和男装的价格接近,因而价格成为顾客购买的主要因素。
贝叶斯定理的公式

贝叶斯定理的公式
贝叶斯定理也被称作贝叶斯公式。
它是统计、推理和穷举搜索中极为重要的一环,它用来表示在统计学中,某种分布(概率分布)的已知信息下,总体概率变量的期望值或条件概率。
其公式形式如下:
P(A | B)=P(B | A)×P(A)/P(B)
在这里,P(A | B)表示A发生的概率,如果已知B发生的情况下,此条件下P(A)表示A发生的概率叫做A的先验概率,P (B | A)表示A条件下B发生的概率叫做B的后验概率,而P (B)表示B发生的概率。
其实,贝叶斯公式包含了三个方面的思想:1、基本的概率论:在先验概率(观察前的概率)和后验概率(观察到某种条件是,某种情况发生的可能性)上建立理论依据;2、定义概率条件:在贝叶斯定理中定义了一种条件概率;整个定理又表明概率的条件和
联立概率的原理;3、最后是结论概率的确定(即根据条件概率确定结论概率)。
总的来说,贝叶斯定理是一种根据已有条件对后续结果概率做推断,以及更新概率知识关系的一种定理,它使我们还有现实问题中许多概率问题具有坚实的理论基础。
贝叶斯定理在机器学习和统计推断中有着重要应用,是在信息检索、语音识别、天气预报等应用中极为重要的一环。
贝叶斯理论

频率学派的基础是不断重复进行实验,认为模型的参数是客观存在的,不 会改变,虽然未知,但是为固定值。
贝叶斯学派认为参数是一个随机值,因为没有观测到,那么它和一个随机 数没有区别,因此参数也是有分布的,使用一些采样的方法,可以很容易 地构建复杂的模型。
Least Squares
解释一个小问题:最小二乘法 误差的平方求和: LS=(ΔY1)^2 + (ΔY2)^2 + .. 为什么不是误差的绝对值求和或其它?
Least Squares
正态分布概率密度函数:
所有偏离左图黄线的数据点, 都是含有噪音的,是噪音使它 们偏离了完美的一条曲线。合 理的假设就是偏离黄线越远的 概率越小,具体小多少 ,可以
Bayes Theory
树挡箱子例子:
这是一 棵树
Bayes Theory
曲线拟合实例
根据奥卡姆剃刀的精神, 越是高阶的多项式越是繁 复和不常见的。
同时,对于P(D|h)而言, 我们注意到越是高阶的多 项式,它的轨迹弯曲程度 越大,那么一个高阶的多 项式在平面上随机生成一 堆N个点全都恰好近似构 成一条直线的概率P(D|h) 又有多少呢?
常规的曲线似合方法,使模型参数 a,b的输出结果与实际样点值在最小 二乘法意义下的误差最小,那么就确 定了最优的A,B值。
Bayes Inversion
但是贝叶斯慷慨地给出一堆解! 这是采用模拟退火方法求解:
Bayes Inversion
这是采用MCMC方法求得的反演sion
Bayes Inversion
贝叶斯随机反演思想:
贝叶斯理论的应用

贝叶斯理论的应用贝叶斯理论是一种基于概率统计的推理方法,它在各个领域都有广泛的应用。
本文将介绍贝叶斯理论的基本原理,并探讨其在实际问题中的应用。
贝叶斯理论的基本原理贝叶斯理论是基于贝叶斯公式的推理方法。
贝叶斯公式可以表示为:其中,表示在已知事件B发生的条件下,事件A发生的概率;表示在已知事件A发生的条件下,事件B发生的概率;和分别表示事件A 和事件B发生的概率。
贝叶斯理论的核心思想是通过已知的先验概率和观测到的证据来更新对事件发生概率的估计。
通过不断地观测和更新,可以逐渐减小对事件发生概率的不确定性,从而得到更准确的推断结果。
贝叶斯理论在医学诊断中的应用贝叶斯理论在医学诊断中有着广泛的应用。
医学诊断是一个典型的判断问题,通过搜集病人的症状和检查结果,医生需要判断病人是否患有某种疾病。
以乳腺癌的诊断为例,假设有一个女性患者,她的乳腺X光检查结果异常。
已知在正常人群中,乳腺X光检查结果异常的概率为0.1%,而在乳腺癌患者中,乳腺X光检查结果异常的概率为90%。
已知该女性患者是正常人群中的一员,那么她患有乳腺癌的概率是多少?根据贝叶斯公式,我们可以计算出:其中,表示在已知患有乳腺癌的条件下,乳腺X光检查结果异常的概率;表示患有乳腺癌的先验概率;表示乳腺X光检查结果异常的概率。
根据已知条件,可以计算出,,。
代入公式计算可得。
通过贝叶斯理论,我们可以得到该女性患者患有乳腺癌的概率为0.09%,这个结果可以作为医生判断的依据,进一步进行其他检查或治疗。
贝叶斯理论在垃圾邮件过滤中的应用贝叶斯理论在垃圾邮件过滤中也有着广泛的应用。
垃圾邮件过滤是一个典型的分类问题,通过分析邮件的内容和特征,将邮件分为垃圾邮件和非垃圾邮件。
以朴素贝叶斯分类器为例,假设有一个包含词汇表的训练集,其中包括了垃圾邮件和非垃圾邮件中出现的词汇及其频率。
现在有一封新的邮件,我们需要判断它是垃圾邮件的概率是多少?根据贝叶斯公式,我们可以计算出:其中,表示在已知是垃圾邮件的条件下,该邮件出现的概率;表示垃圾邮件的先验概率;表示该邮件出现的概率。
贝叶斯定理解析

贝叶斯定理解析贝叶斯定理是概率论中一项重要的理论,它可以用来计算在已知一些先验信息的情况下,某个事件的后验概率。
这个定理的应用范围非常广泛,从数据分析到机器学习,都可以看到贝叶斯定理的影子。
本文将对贝叶斯定理进行详细解析,并介绍一些其相关的应用。
一、贝叶斯定理的基本公式贝叶斯定理是基于条件概率推导而来的,它的基本公式如下所示:P(A|B) = (P(B|A) * P(A)) / P(B)在这个公式中,P(A|B)表示在已知事件B发生的条件下,事件A发生的概率。
P(B|A)表示在事件A发生的条件下,事件B发生的概率。
P(A)和P(B)分别表示事件A和事件B发生的概率。
二、贝叶斯定理的应用举例为了更好地理解贝叶斯定理的应用,我们将通过一个简单的问题来说明。
假设有一家医院,该医院的1000名病人中,100人感染了某种罕见疾病。
而这种疾病的检测准确率为99%。
现在,如果一个病人的检测结果呈阳性,那么他实际上感染这种疾病的概率是多少?根据贝叶斯定理的公式,我们可以将这个问题表示为:P(感染疾病|阳性) = (P(阳性|感染疾病) * P(感染疾病)) / P(阳性)其中,P(感染疾病|阳性)表示在检测结果为阳性的条件下,病人实际上感染疾病的概率。
P(阳性|感染疾病)表示在感染疾病的条件下,检测结果为阳性的概率。
P(感染疾病)表示病人感染疾病的概率。
P(阳性)表示检测结果为阳性的概率。
根据题目中提供的信息,P(阳性|感染疾病)为0.99,P(感染疾病)为100/1000=0.1,即10%。
而P(阳性)的计算稍微复杂一些,需要考虑两种情况:检测结果为真阳性(病人实际上感染了疾病并被正确检测出来)和检测结果为假阳性(病人实际上未感染疾病但被错误地检测出来)的概率。
根据提供的信息,病人实际上感染疾病的概率为100/1000=0.1,即10%。
而检测结果为真阳性的概率为 P(真阳性) = P(感染疾病) * P(阳性|感染疾病) = 0.1 * 0.99 = 0.099。
贝叶斯的原理和应用

贝叶斯的原理和应用1. 贝叶斯原理介绍贝叶斯原理是基于概率论的一种推理方法,它被广泛地应用于统计学、人工智能和机器学习等领域。
其核心思想是通过已有的先验知识和新的观察数据来更新我们对于某个事件的信念。
2. 贝叶斯公式贝叶斯公式是贝叶斯原理的数学表达方式,它可以用来计算在观察到一些新的证据后,更新对于某个事件的概率。
贝叶斯公式的表达如下:P(A|B) = (P(B|A) * P(A)) / P(B)其中,P(A|B)表示在观察到事件B之后,事件A发生的概率;P(B|A)表示在事件A发生的前提下,事件B发生的概率;P(A)和P(B)分别是事件A和事件B的先验概率。
3. 贝叶斯分类器贝叶斯分类器是基于贝叶斯原理的一种分类算法。
它利用已有的训练数据来估计不同特征值条件下的类别概率,然后根据贝叶斯公式计算得到新样本属于不同类别的概率,从而进行分类。
贝叶斯分类器的主要步骤包括:•学习阶段:通过已有的训练数据计算得到类别的先验概率和特征条件概率。
•预测阶段:对于给定的新样本,计算得到其属于不同类别的概率,并选择概率最大的类别作为分类结果。
贝叶斯分类器的优点在于对于数据集的要求较低,并且能够处理高维特征数据。
但是,贝叶斯分类器的缺点是假设特征之间相互独立,这在实际应用中可能不符合实际情况。
4. 贝叶斯网络贝叶斯网络是一种用有向无环图来表示变量之间条件依赖关系的概率图模型。
它可以用来描述变量之间的因果关系,并通过贝叶斯推理来进行推断。
贝叶斯网络的节点表示随机变量,边表示变量之间的条件概率关系。
通过学习已有的数据,可以构建贝叶斯网络模型,然后利用贝叶斯推理来计算给定一些观察值的情况下,其他变量的概率分布。
贝叶斯网络在人工智能、决策分析和医学诊断等领域有广泛的应用。
它可以通过概率推断来进行决策支持,帮助人们进行风险评估和决策分析。
5. 贝叶斯优化贝叶斯优化是一种用来进行参数优化的方法。
在参数优化问题中,我们需要找到使得某个性能指标最好的参数组合。
基于贝叶斯理论的金融决策分析

基于贝叶斯理论的金融决策分析一、引言随着金融市场的不断发展,投资者们面临越来越多的信息和决策。
在这个多变的大环境下,如何做出正确的决策成为了投资者们必须要关注的问题。
本文将从贝叶斯理论出发,探讨如何基于贝叶斯理论进行金融决策分析。
二、贝叶斯理论简介贝叶斯理论是一种基于概率的统计学方法,可用于哲学、科学、工业以及金融等领域。
该理论追溯至18世纪,以英国数学家托马斯·贝叶斯命名。
该理论的核心概念是先验概率和后验概率。
先验概率指在进行实验或观察前,为结果发生概率估计的概率分布。
而后验概率是在已经观察到实验结果后,重新计算该结果出现概率的概率分布。
贝叶斯理论将先验概率与数据结合起来,再重新估计后验概率,从而不断更新我们对结果出现的概率的认识。
三、基于贝叶斯理论的金融决策分析贝叶斯理论在金融决策分析中的应用较为广泛,可以对投资组合、股票价格、货币政策等方面进行有效的分析。
1. 投资组合分析投资组合分析是指根据风险和收益评估投资组合。
使用贝叶斯理论进行投资组合分析时,可以从历史数据中获得股票风险指数的先验概率,并结合当前市场数据计算后验概率。
通过不断更新先验概率可以使投资者更加准确地了解投资组合的可能表现,同时确定最佳购买时机和卖出时机。
2. 股票价格分析股票价格分析是指根据历史价格、市场趋势、基本面等信息对股票价格进行预测。
使用贝叶斯理论进行股票价格预测时,可以将股票价格的上涨或下跌视为事件,建立贝叶斯网络。
通过数据的更新和概率的重新计算,可以得出影响股票价格变化的因素,从而进行更准确的价格预测。
3. 货币政策分析货币政策分析是指对央行的货币政策进行评估和预测。
使用贝叶斯理论进行货币政策分析时,可以将货币政策的变化作为事件,建立贝叶斯网络。
通过数据的更新和概率的重新计算,可以得出央行货币政策变化的概率,从而预测未来货币政策的方向。
四、案例分析为了更好地理解基于贝叶斯理论的金融决策分析,在这里我们来看一下一个真实的案例——股票涨停板分析。
贝叶斯定理研究贝叶斯定理在随机事件中的应用

贝叶斯定理研究贝叶斯定理在随机事件中的应用贝叶斯定理(Bayes' theorem)是一种在统计学和概率论中常用的计算方法,它基于贝叶斯概率理论,用于计算事件发生的概率。
贝叶斯定理的应用广泛,特别在随机事件的研究和预测中具有重要意义。
本文将介绍贝叶斯定理的基本原理,并深入探讨其在随机事件中的应用。
一、贝叶斯定理简介贝叶斯定理是基于贝叶斯概率理论的一种计算方法。
其基本原理可以用以下公式表示:P(A|B) = (P(B|A) * P(A)) / P(B)其中,P(A|B)代表在事件B已经发生的条件下,事件A发生的概率;P(B|A)代表在事件A已经发生的条件下,事件B发生的概率;P(A)和P(B)分别代表事件A和事件B发生的概率。
二、贝叶斯定理的应用之预测疾病贝叶斯定理在医学领域的应用非常广泛,尤其在疾病的预测和诊断中具有重要意义。
通过利用已知的病例和相应的特征,可以利用贝叶斯定理计算出患者在不同条件下患病的概率,从而辅助医生进行诊断。
三、贝叶斯定理的应用之垃圾邮件过滤随着互联网的普及,垃圾邮件的数量也越来越多。
贝叶斯定理可以用来进行垃圾邮件的过滤,准确地判断某封邮件是垃圾邮件还是正常邮件。
通过统计已知的垃圾邮件和正常邮件的特征,利用贝叶斯定理计算出某封邮件是垃圾邮件的概率,从而实现自动化的垃圾邮件过滤。
四、贝叶斯定理的应用之金融风险评估金融领域面临着各种风险,如股票价格的波动、债券违约等。
贝叶斯定理可以用来进行金融风险的评估和预测。
通过统计已知的金融数据和相应的特征,利用贝叶斯定理计算出某种金融风险发生的概率,从而帮助投资者做出合理的投资决策。
五、贝叶斯定理的应用之自然语言处理贝叶斯定理在自然语言处理领域也有广泛的应用。
例如,在文本分类中,可以利用贝叶斯定理计算出某个词语在某个类别下的条件概率,从而实现对文本进行分类和归类。
六、贝叶斯定理的应用之机器学习贝叶斯定理在机器学习中也起到重要的作用。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数学之美番外篇:平凡而又神奇的贝叶斯方法概率论只不过是把常识用数学公式表达了出来。
——拉普拉斯记得读本科的时候,最喜欢到城里的计算机书店里面去闲逛,一逛就是好几个小时;有一次,在书店看到一本书,名叫贝叶斯方法。
当时数学系的课程还没有学到概率统计。
我心想,一个方法能够专门写出一本书来,肯定很牛逼。
后来,我发现当初的那个朴素归纳推理成立了——这果然是个牛逼的方法。
——题记目录0. 前言1. 历史1.1 一个例子:自然语言的二义性1.2 贝叶斯公式2. 拼写纠正3. 模型比较与贝叶斯奥卡姆剃刀3.1 再访拼写纠正3.2 模型比较理论(Model Comparasion)与贝叶斯奥卡姆剃刀(Bayesian Occam’s Razor)3.3 最小描述长度原则3.4 最优贝叶斯推理4. 无处不在的贝叶斯4.1 中文分词4.2 统计机器翻译4.3 贝叶斯图像识别,Analysis by Synthesis4.4 EM 算法与基于模型的聚类4.5 最大似然与最小二乘5. 朴素贝叶斯方法(又名“愚蠢者的贝叶斯(idiot’s bayes)”)5.1 垃圾邮件过滤器5.2 为什么朴素贝叶斯方法令人诧异地好——一个理论解释6. 层级贝叶斯模型6.1 隐马可夫模型(HMM)7. 贝叶斯网络0. 前言这是一篇关于贝叶斯方法的科普文,我会尽量少用公式,多用平白的语言叙述,多举实际例子。
更严格的公式和计算我会在相应的地方注明参考资料。
贝叶斯方法被证明是非常 general 且强大的推理框架,文中你会看到很多有趣的应用。
1. 历史托马斯·贝叶斯(Thomas Bayes)同学的详细生平在这里。
以下摘一段 wikipedia 上的简介:所谓的贝叶斯方法源于他生前为解决一个“逆概”问题写的一篇文章,而这篇文章是在他死后才由他的一位朋友发表出来的。
在贝叶斯写这篇文章之前,人们已经能够计算“正向概率”,如“假设袋子里面有N个白球,M个黑球,你伸手进去摸一把,摸出黑球的概率是多大”。
而一个自然而然的问题是反过来:“如果我们事先并不知道袋子里面黑白球的比例,而是闭着眼睛摸出一个(或好几个)球,观察这些取出来的球的颜色之后,那么我们可以就此对袋子里面的黑白球的比例作出什么样的推测”。
这个问题,就是所谓的逆概问题。
实际上,贝叶斯当时的论文只是对这个问题的一个直接的求解尝试,并不清楚他当时是不是已经意识到这里面包含着的深刻的思想。
然而后来,贝叶斯方法席卷了概率论,并将应用延伸到各个问题领域,所有需要作出概率预测的地方都可以见到贝叶斯方法的影子,特别地,贝叶斯是机器学习的核心方法之一。
这背后的深刻原因在于,现实世界本身就是不确定的,人类的观察能力是有局限性的(否则有很大一部分科学就没有必要做了——设想我们能够直接观察到电子的运行,还需要对原子模型争吵不休吗?),我们日常所观察到的只是事物表面上的结果,沿用刚才那个袋子里面取球的比方,我们往往只能知道从里面取出来的球是什么颜色,而并不能直接看到袋子里面实际的情况。
这个时候,我们就需要提供一个猜测(hypothesis,更为严格的说法是“假设”,这里用“猜测”更通俗易懂一点),所谓猜测,当然就是不确定的(很可能有好多种乃至无数种猜测都能满足目前的观测),但也绝对不是两眼一抹黑瞎蒙——具体地说,我们需要做两件事情:1. 算出各种不同猜测的可能性大小。
2. 算出最靠谱的猜测是什么。
第一个就是计算特定猜测的后验概率,对于连续的猜测空间则是计算猜测的概率密度函数。
第二个则是所谓的模型比较,模型比较如果不考虑先验概率的话就是最大似然方法。
1.1 一个例子:自然语言的二义性下面举一个自然语言的不确定性的例子。
当你看到这句话:The girl saw the boy with a telescope.你对这句话的含义有什么猜测?平常人肯定会说:那个女孩拿望远镜看见了那个男孩(即你对这个句子背后的实际语法结构的猜测是:The girlsaw-with-a-telescope the boy )。
然而,仔细一想,你会发现这个句子完全可以解释成:那个女孩看见了那个拿着望远镜的男孩(即:The girl sawthe-boy-with-a-telescope )。
那为什么平常生活中我们每个人都能够迅速地对这种二义性进行消解呢?这背后到底隐藏着什么样的思维法则?我们留到后面解释。
1.2 贝叶斯公式贝叶斯公式是怎么来的?我们还是使用 wikipedia 上的一个例子:一所学校里面有 60% 的男生,40% 的女生。
男生总是穿长裤,女生则一半穿长裤一半穿裙子。
有了这些信息之后我们可以容易地计算“随机选取一个学生,他(她)穿长裤的概率和穿裙子的概率是多大”,这个就是前面说的“正向概率”的计算。
然而,假设你走在校园中,迎面走来一个穿长裤的学生(很不幸的是你高度近似,你只看得见他(她)穿的是否长裤,而无法确定他(她)的性别),你能够推断出他(她)是男生的概率是多大吗?一些认知科学的研究表明(《决策与判断》以及《Rationality for Mortals》第12章:小孩也可以解决贝叶斯问题),我们对形式化的贝叶斯问题不擅长,但对于以频率形式呈现的等价问题却很擅长。
在这里,我们不妨把问题重新叙述成:你在校园里面随机游走,遇到了 N 个穿长裤的人(仍然假设你无法直接观察到他们的性别),问这 N 个人里面有多少个女生多少个男生。
你说,这还不简单:算出学校里面有多少穿长裤的,然后在这些人里面再算出有多少女生,不就行了?我们来算一算:假设学校里面人的总数是 U 个。
60% 的男生都穿长裤,于是我们得到了 U * P(Boy) * P(Pants|Boy) 个穿长裤的(男生)(其中 P(Boy) 是男生的概率 = 60%,这里可以简单的理解为男生的比例;P(Pants|Boy) 是条件概率,即在 Boy 这个条件下穿长裤的概率是多大,这里是 100% ,因为所有男生都穿长裤)。
40% 的女生里面又有一半(50%)是穿长裤的,于是我们又得到了 U * P(Girl) * P(Pants|Girl) 个穿长裤的(女生)。
加起来一共是 U * P(Boy) * P(Pants|Boy) + U * P(Girl) * P(Pants|Girl) 个穿长裤的,其中有 U * P(Girl) * P(Pants|Girl) 个女生。
两者一比就是你要求的答案。
下面我们把这个答案形式化一下:我们要求的是 P(Girl|Pants) (穿长裤的人里面有多少女生),我们计算的结果是 U * P(Girl) * P(Pants|Girl) / [U * P(Boy) * P(Pants|Boy) + U * P(Girl) * P(Pants|Girl)] 。
容易发现这里校园内人的总数是无关的,可以消去。
于是得到P(Girl|Pants) = P(Girl) * P(Pants|Girl) / [P(Boy) * P(Pants|Boy) + P(Girl) * P(Pants|Girl)]注意,如果把上式收缩起来,分母其实就是 P(Pants) ,分子其实就是 P(Pants, Girl) 。
而这个比例很自然地就读作:在穿长裤的人( P(Pants) )里面有多少(穿长裤)的女孩( P(Pants, Girl) )。
上式中的 Pants 和 Boy/Girl 可以指代一切东西,所以其一般形式就是:P(B|A) = P(A|B) * P(B) / [P(A|B) * P(B) + P(A|~B) * P(~B) ]收缩起来就是:P(B|A) = P(AB) / P(A)其实这个就等于:P(B|A) * P(A) = P(AB)难怪拉普拉斯说概率论只是把常识用数学公式表达了出来。
然而,后面我们会逐渐发现,看似这么平凡的贝叶斯公式,背后却隐含着非常深刻的原理。
2. 拼写纠正经典著作《人工智能:现代方法》的作者之一 Peter Norvig 曾经写过一篇介绍如何写一个拼写检查/纠正器的文章(原文在这里,徐宥的翻译版在这里,这篇文章很深入浅出,强烈建议读一读),里面用到的就是贝叶斯方法,这里我们不打算复述他写的文章,而是简要地将其核心思想介绍一下。
首先,我们需要询问的是:“问题是什么?”问题是我们看到用户输入了一个不在字典中的单词,我们需要去猜测:“这个家伙到底真正想输入的单词是什么呢?”用刚才我们形式化的语言来叙述就是,我们需要求:P(我们猜测他想输入的单词 | 他实际输入的单词)这个概率。
并找出那个使得这个概率最大的猜测单词。
显然,我们的猜测未必是唯一的,就像前面举的那个自然语言的歧义性的例子一样;这里,比如用户输入:thew ,那么他到底是想输入 the ,还是想输入 thaw ?到底哪个猜测可能性更大呢?幸运的是我们可以用贝叶斯公式来直接出它们各自的概率,我们不妨将我们的多个猜测记为 h1 h2 .. ( h 代表 hypothesis),它们都属于一个有限且离散的猜测空间 H (单词总共就那么多而已),将用户实际输入的单词记为 D ( D 代表 Data ,即观测数据),于是P(我们的猜测1 | 他实际输入的单词)可以抽象地记为:P(h1 | D)类似地,对于我们的猜测2,则是 P(h2 | D)。
不妨统一记为:P(h | D)运用一次贝叶斯公式,我们得到:P(h | D) = P(h) * P(D | h) / P(D)对于不同的具体猜测 h1 h2 h3 .. ,P(D) 都是一样的,所以在比较 P(h1 | D) 和 P(h2 | D) 的时候我们可以忽略这个常数。
即我们只需要知道:P(h | D) ∝ P(h) * P(D | h) (注:那个符号的意思是“正比例于”,不是无穷大,注意符号右端是有一个小缺口的。
)这个式子的抽象含义是:对于给定观测数据,一个猜测是好是坏,取决于“这个猜测本身独立的可能性大小(先验概率,Prior )”和“这个猜测生成我们观测到的数据的可能性大小”(似然,Likelihood )的乘积。
具体到我们的那个 thew 例子上,含义就是,用户实际是想输入 the 的可能性大小取决于 the 本身在词汇表中被使用的可能性(频繁程度)大小(先验概率)和想打 the 却打成 thew 的可能性大小(似然)的乘积。
下面的事情就很简单了,对于我们猜测为可能的每个单词计算一下 P(h) * P(D | h) 这个值,然后取最大的,得到的就是最靠谱的猜测。
一点注记:Norvig 的拼写纠正器里面只提取了编辑距离为 2 以内的所有已知单词。
这是为了避免去遍历字典中每个单词计算它们的 P(h) * P(D | h) ,但这种做法为了节省时间带来了一些误差。