Matthew Stewart, PhD Researcher作者丁楠雅校对吴金笛翻译

一文读懂机器学习中的贝叶斯统计学

本文主要是向新手介绍贝叶斯方法并将其与频率方法进行比较。

你有没有问过自己,以前从未发生过的事件发生的概率是多少?

在本文中,我们将深入探讨贝叶斯统计的神秘世界以及它的一些原则,Bernstein-von Mises定理和Cromwell规则,以及用它们分析现实世界的机器学习问题。

“贝叶斯统计之所以困难,是因为思考是困难的”

 - Don Berry

如果你想深入了解贝叶斯统计背后的数学原理,那么这篇文章不是你要找的(尽管未来我将发表关于这个的文章)。本文主要是给刚刚接触这个概念的人介绍贝叶斯方法。

想象一下,你正在设计一座核电站。你的任务是使用数据来确定工厂是否正常运转。这看起来似乎是一个相对简单的任务,直到你意识到你实际上没有任何关于核电站发生核泄露时的数据。你怎么能预测这样的事情呢?

如果你是一个精明的机器学习专家,你可能会提出某种无监督的方法,如(受限制的)波耳兹曼机,它能够了解“正常”的发电厂是什么样的,从而知道什么时候发生了错误(事实上,这是正人们预测核电厂正常运行情况的一种方式)。

然而,如果我们从更广泛的意义上考虑这个问题,当我们没有什么负面例子可以比较时,我们该怎么办?出现这种情况有几个原因:

  • 低概率情景:该事件发生的概率如此之低,以至于在(有限的)样本数据中根本没有观察到该事件的发生。

  • 数据稀疏情景:观察已经发生,但很少。

  • 灾难情景:失败的结果将是灾难性的,它只能发生一次,例如,太阳的毁灭。

传统的统计方法不适用于这类问题,我们需要不同的方法。

一个更普遍的问题是,我们如何处理极低(但严格非零)或极高(接近1但严格非1)的概率?让我们首先看一下由数学家Pierre-Simon Laplace提出的为研究著名问题而制定的一些规则。

日出问题

想象一下,有一天早上你醒来,太阳决定休息一天。这不仅(最有可能地)会毁了你的一天,打乱你的生物钟,还会直接改变你对太阳的感觉。你可能会更有可能预测也许第二天太阳也不会升起。或者,如果太阳刚刚度过了糟糕的一天,然后第二天又回来了,那么你对太阳会再休息一天的期望就会比之前高很多。

这里发生了什么?基于新的证据,我们改变了对事件发生概率的看法。这是所有贝叶斯统计的关键,并使用一个称为贝叶斯规则的方程来正式描述。

贝叶斯规则 

贝叶斯规则告诉我们,我们必须从某一事件发生的固有概率开始(事前)。我们称之为先验概率。逐渐地,当我们获得新的观察结果和证据时,我们会在这些证据和判断我们当前情况的可能性的基础上更新我们的信念。这种更新的信念被称为后验概率(事后)。 

回到我们的日出问题,每天我们都观察到太阳升起,并且每一次太阳升起的时候,我们都更确定它会在第二天再次升起。然而,如果有一天我们发现太阳没有升起,这将极大地影响我们基于新证据的后验概率。 

这可以用下面的数学形式来表示,乍一看令人生畏,但可以抽象出来:我们更新的信念是基于我们最初的信念和基于我们当前的信念(可能性)的新证据。可能性是指我拥有的新证据,我的信念正确的可能性有多大?如果我相信明天太阳不升起的概率是一百万分之一,然后它发生了,我的信念(我的模型)是错的可能性会非常高,然后后验概率将被更新来预测它更有可能会再次发生。 

贝叶斯理论这是一个非常棒的想法,它存在于许多不同的地方,尤其是涉及到人类和他们的信仰时。例如,假设你的朋友告诉你,你最喜欢的一位名人去世了。一开始,你可能会感到沮丧,并且有点怀疑。随着你的一天,你读报纸,它告诉你,这位名人去世了,这种信念将进一步加强。也许你会在电视上看到他们家人哀悼的新闻,你的信念会更加坚定。然而,如果你看到电视上被采访的人说他死亡的谣言正在被扩散,你对朋友告诉你的话的可信度就会被降低。

这是科学的一个重要方面,理论通过实验和模拟得到证实,做这些实验和验证这些理论的人越多,这些理论就越强大和可信。然而,比如有宗教信仰的人可能认为他们不需要经验证据(至少是同类的)来相信某些东西,我们称之为信仰。

有趣的是,在我们日常生活中如此普遍的事情对统计学和机器学习如此重要,但它确实如此,我们将讨论原因。然而,首先我们需要研究一些贝叶斯定理中出现的概率非常低的问题。

Cromwell 规则

Oliver Cromwell是英国历史上的一位杰出人物,1658年在苏格兰国教大会上他曾说过一句名言: 

“我恳求你,在基督的内心中,认为你可能会被误解。“ 

这个句子的使用导致了Dennis Lindley 定义的Cromwell规则,该规则提出了这样的想法:如果一个人由等于零(我知道这些事件不是真的)或一(我知道这些事件是正确的)的先验概率开始,那无论向你展示什么证据,你的信念将不会被动摇。 

这向我们展示了在观察可以以经验观察的事物时绝对主义观点的危险性。如果我坚信自己是正确的,那么任何人说的或做的都不能使我信服。这是无知的高度,而不是我们想要融入机器学习模型的东西。如果我们回头看贝叶斯定理我们就能明白为什么会这样,如果先验概率是0,那么乘以任何数之后后验概率仍然是0。 

原则上(见Cromwell规则),任何可能性都不应将其概率设为零,因为在现实世界中,任何事情都不应被严格假定为不可能(尽管它可能是不可能的)——即使与所有观察结果和当前理论相悖。 

神经网络就是一个理想的例子。当你初始化一个神经网络时,你的节点以一些固有值开始。如果将这些节点的权值都赋值为零,则节点将无法自行更新,因为梯度下降算法的所有迭代都将乘以零。相反,执行随机初始化(通常对用户不可见)通常可以防止出现这样的问题。 

贝叶斯定理的另一个有趣的性质是源自当我们观察无穷次观察之后会发生什么,通常被称为Bernstein-von Mises定理。 

Bernstein-von Mises定理

简而言之,Bernstein-von Mises定理告诉我们,当我们获得更多的数据时,我们的后验估计将渐进地独立于我们最初(先前)的信念——当然,前提是它遵循Cromwell规则。这在某种程度上类似于频率统计中的律数定律,它告诉我们,当我们获得越来越多的数据时,样本的均值最终将等于总体的均值。 

那么贝叶斯统计与普通统计之间的最大区别是什么?为什么机器学习专家和数据科学家需要贝叶斯统计?

贝叶斯统计与频率统计 

对于那些不知道贝叶斯和频率论是什么的人,让我详细说明一下。频率论方法是从频率的角度看数据。例如,假设我有一枚两面都是正面的偏置硬币。我抛10次硬币,得到10次正面。如果我取所有抛硬币的平均结果,得到1,表示下一次抛硬币正面的概率是100%,反面的概率是0%,这是一种频率论的思维方式。 

现在用贝叶斯的观点。一开始我的先验概率是0.5,因为我假设硬币是均匀的。但是,不同的是我如何选择更新我的概率的方式。每次抛完硬币后,我都会看看我的下一个观察结果在我目前的信念(我有一枚均匀的硬币)下出现的可能性有多大。渐进的,当我抛到更多的正面,我的概率会趋向于1,但它永远不会明确地等于1。 

贝叶斯方法和频率方法的根本区别在于随机性存在的位置。在频率论领域内,数据被认为是随机的,参数(如均值、方差)是固定的。在贝叶斯领域中,参数是随机的,数据是固定的。

我现在非常想强调一点。 

它不被称为贝叶斯(Bayesian),因为你使用的是贝叶斯定理(这在频率论的观点中也很常用)。 

它被称为贝叶斯(Bayesian),因为方程中的项有不同的潜在含义。从理论的差异来讲,最终你会得到一个非常有意义的实际区别:虽然之前仅有一个参数作为估计器的结果(数据是随机的,参数是固定的),现在你有一个分布参数参数是随机的,数据是固定的),所以你需要集成它们以获得在数据上的分布。这是贝叶斯统计背后的数学变得比普通统计更混乱的原因之一,我们必须使用马尔可夫链Monte Carlo方法对分布进行抽样,以估计难以处理的积分的值。其他巧妙的技巧,如无意识统计学家定律(多么伟大的名字,对吧?)又名LOTUS,可以在数学方面提供帮助。 

那么哪种方法更好呢? 

这些方法本质上是同一枚硬币的两面(双关语),它们通常会给出相同的结果,但实现方法略有不同。不是一个比另一个好。事实上,我在哈佛的课堂上甚至有教授经常争论哪个更好。普遍的共识是,“这取决于问题本身”,如果你能把它当成一个共识的话。就我个人而言,我发现贝叶斯方法更直观,但其背后的数学要比传统的频率方法复杂得多。

现在你(希望)已经理解了其中的区别,也许下面的笑话会让你发笑。

贝叶斯与频率论的笑话什么时候应该使用贝叶斯统计?

贝叶斯统计包含了一类可以用于机器学习的特定模型。通常,人们基于一个或多个原因使用贝叶斯模型,例如: 

  • 拥有相对较少的数据点

  • 对事物如何运作有强烈的直觉(来自已有的观察/模型)

  • 具有高度不确定性,或强烈需要量化特定模型或模型比较的不确定性水平

  • 想要声明关于替代假设的可能性,而不是简单地接受或拒绝零假设 

看了这个清单,你可能会认为人们总是想在机器学习中使用贝叶斯方法。然而,事实并非如此,我怀疑贝叶斯机器学习方法的相对薄弱是因为: 

  • 大多数机器学习都是在“大数据”的背景下完成的,而贝叶斯模型的特征——先验——实际上并没有发挥多大作用。

  • 在贝叶斯模型中采样后验分布计算量大且速度慢。 

我们可以清楚地看到,频率分析和贝叶斯方法之间存在着许多协同作用,尤其是在当今世界,大数据和预测分析已经变得如此突出。我们为各种系统提供了大量的数据,我们可以不断地对系统进行数据驱动的推断,并随着越来越多的数据可用而不断更新它们。由于贝叶斯统计为“知识”的更新提供了一个框架,实际上它在机器学习中被大量使用。 

一些机器学习技术,如高斯过程和简单线性回归,都有贝叶斯和非贝叶斯版本。也有纯频率的算法(如支持向量机随机森林)和纯贝叶斯的算法(如变分推理、期望最大化)。学习什么时候使用这些工具,以及为什么使用这些工具,可以让你成为一名真正的数据科学家。

你是贝叶斯主义者还是频率方法主义者? 

就我个人而言,我并不属于任一阵营,这是因为有时我在一个拥有数千个特性的数据集上使用统计数据/机器学习,而我对这些特性一无所知。因此,我没有先验的信念,贝叶斯推理似乎是不合适的。然而,有时我处理很少的特征并且我对它们很了解,我想把它加入我的模型-在这种情况下,贝叶斯方法将给我更多我相信的确定的区间/结果。

我应该去哪里学习更多关于贝叶斯统计的知识? 

有几个很棒的在线课程深入研究机器学习的贝叶斯统计。我推荐的最好的资源是我在哈佛上的AM207课程:高级科学计算(随机优化方法,用于推理和数据分析蒙特卡罗方法)。你可以在这里找到所有的课程资源,笔记,甚至Jupyter笔记。 

这里还有一个很棒的视频,讲的是贝叶斯域和频率之间的转换(在视频的11分钟处)。

视频链接:

https://www.youtube.com/watch?time_continue=674&v=kLmzxmRcUTo

如果你想成为一名真正伟大的数据科学家,我建议你牢牢掌握贝叶斯统计以及它如何被用来解决问题。这是一个艰难的过程,也是一个陡峭的学习曲线,但这是一个让你从其他数据科学家中脱颖而出的好方法。在与同事进行数据科学访谈的讨论中,贝叶斯建模经常出现,所以请记住这一点!

原文标题:

Will the Sun Rise Tomorrow? Introduction to Bayesian Statistics for Machine Learning

原文链接:

https://towardsdatascience.com/will-the-sun-rise-tomorrow-introduction-to-bayesian-statistics-for-machine-learning-6324dfceac2e

THU数据派
THU数据派

THU数据派"基于清华,放眼世界",以扎实的理工功底闯荡“数据江湖”。发布全球大数据资讯,定期组织线下活动,分享前沿产业动态。了解清华大数据,敬请关注姐妹号“数据派THU”。

入门贝叶斯统计机器学习
2
相关数据
随机优化技术

随机优化(SO)方法是生成和使用随机变量的优化方法。 对于随机问题,随机变量出现在优化问题本身的表述中,其涉及随机目标函数或随机约束。

数据分析技术

数据分析是一类统计方法,其主要特点是多维性和描述性。有些几何方法有助于揭示不同的数据之间存在的关系,并绘制出统计信息图,以更简洁的解释这些数据中包含的主要信息。其他一些用于收集数据,以便弄清哪些是同质的,从而更好地了解数据。 数据分析可以处理大量数据,并确定这些数据最有用的部分。

机器学习技术

机器学习是人工智能的一个分支,是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、计算复杂性理论等多门学科。机器学习理论主要是设计和分析一些让计算机可以自动“学习”的算法。因为学习算法中涉及了大量的统计学理论,机器学习与推断统计学联系尤为密切,也被称为统计学习理论。算法设计方面,机器学习理论关注可以实现的,行之有效的学习算法。

先验概率技术

在贝叶斯统计中,某一不确定量p的先验概率分布是在考虑"观测数据"前,能表达p不确定性的概率分布。 它旨在描述这个不确定量的不确定程度,而不是这个不确定量的随机性。 这个不确定量可以是一个参数,或者是一个隐含变量(英语:latent variable)。

零假设技术

在推论统计学中,零假设是做统计检验时的一类假设。零假设的内容一般是希望能证明为错误的假设,或者是需要着重考虑的假设。在相关性检验中,一般会取“两者之间无关联”作为零假设,而在独立性检验中,一般会取“两者之间非独立”作为零假设。

参数技术

在数学和统计学裡,参数(英语:parameter)是使用通用变量来建立函数和变量之间关系(当这种关系很难用方程来阐述时)的一个数量。

学习曲线技术

在机器学习领域,学习曲线通常是表现学习准确率随着训练次数/时长/数据量的增长而变化的曲线

数据科学技术

数据科学,又称资料科学,是一门利用数据学习知识的学科,其目标是通过从数据中提取出有价值的部分来生产数据产品。它结合了诸多领域中的理论和技术,包括应用数学、统计、模式识别、机器学习、数据可视化、数据仓库以及高性能计算。数据科学通过运用各种相关的数据来帮助非专业人士理解问题。

后验概率技术

在贝叶斯统计中,一个随机事件或者一个不确定事件的后验概率是在考虑和给出相关证据或数据后所得到的条件概率。同样,后验概率分布是一个未知量(视为随机变量)基于试验和调查后得到的概率分布。“后验”在本文中代表考虑了被测试事件的相关证据。

贝叶斯理论技术

贝叶斯定理是关于随机事件A和B的条件概率(或边缘概率)的一则定理。其中P(A|B)是在B发生的情况下A发生的可能性。

神经网络技术

(人工)神经网络是一种起源于 20 世纪 50 年代的监督式机器学习模型,那时候研究者构想了「感知器(perceptron)」的想法。这一领域的研究者通常被称为「联结主义者(Connectionist)」,因为这种模型模拟了人脑的功能。神经网络模型通常是通过反向传播算法应用梯度下降训练的。目前神经网络有两大主要类型,它们都是前馈神经网络:卷积神经网络(CNN)和循环神经网络(RNN),其中 RNN 又包含长短期记忆(LSTM)、门控循环单元(GRU)等等。深度学习是一种主要应用于神经网络帮助其取得更好结果的技术。尽管神经网络主要用于监督学习,但也有一些为无监督学习设计的变体,比如自动编码器和生成对抗网络(GAN)。

随机森林技术

在机器学习中,随机森林是一个包含多个决策树的分类器,并且其输出的类别是由个别树输出的类别的众数而定。 Leo Breiman和Adele Cutler发展出推论出随机森林的算法。而"Random Forests"是他们的商标。这个术语是1995年由贝尔实验室的Tin Kam Ho所提出的随机决策森林(random decision forests)而来的。这个方法则是结合Breimans的"Bootstrap aggregating"想法和Ho的"random subspace method" 以建造决策树的集合。

高斯过程技术

线性回归技术

在现实世界中,存在着大量这样的情况:两个变量例如X和Y有一些依赖关系。由X可以部分地决定Y的值,但这种决定往往不很确切。常常用来说明这种依赖关系的最简单、直观的例子是体重与身高,用Y表示他的体重。众所周知,一般说来,当X大时,Y也倾向于大,但由X不能严格地决定Y。又如,城市生活用电量Y与气温X有很大的关系。在夏天气温很高或冬天气温很低时,由于室内空调、冰箱等家用电器的使用,可能用电就高,相反,在春秋季节气温不高也不低,用电量就可能少。但我们不能由气温X准确地决定用电量Y。类似的例子还很多,变量之间的这种关系称为“相关关系”,回归模型就是研究相关关系的一个有力工具。

梯度下降技术

梯度下降是用于查找函数最小值的一阶迭代优化算法。 要使用梯度下降找到函数的局部最小值,可以采用与当前点的函数梯度(或近似梯度)的负值成比例的步骤。 如果采取的步骤与梯度的正值成比例,则接近该函数的局部最大值,被称为梯度上升。

支持向量机技术

在机器学习中,支持向量机是在分类与回归分析中分析数据的监督式学习模型与相关的学习算法。给定一组训练实例,每个训练实例被标记为属于两个类别中的一个或另一个,SVM训练算法创建一个将新的实例分配给两个类别之一的模型,使其成为非概率二元线性分类器。SVM模型是将实例表示为空间中的点,这样映射就使得单独类别的实例被尽可能宽的明显的间隔分开。然后,将新的实例映射到同一空间,并基于它们落在间隔的哪一侧来预测所属类别。

蒙特卡罗方法技术

蒙特卡罗方法,也称统计模拟方法,是1940年代中期由于科学技术的发展和电子计算机的发明,而提出的一种以概率统计理论为指导的数值计算方法。是指使用随机数来解决很多计算问题的方法。

大数据技术技术

大数据,又称为巨量资料,指的是传统数据处理应用软件不足以处理它们的大或复杂的数据集的术语。

马尔可夫链技术

马尔可夫链,又称离散时间马尔可夫链,因俄国数学家安德烈·马尔可夫得名,为状态空间中经过从一个状态到另一个状态的转换的随机过程。该过程要求具备“无记忆”的性质:下一状态的概率分布只能由当前状态决定,在时间序列中它前面的事件均与之无关。这种特定类型的“无记忆性”称作马尔可夫性质。

暂无评论
暂无评论~