微分方程与机器学习
定义自己的规则还是让数据说话?
> Jessica Chastain in Interstellar. Image source: DailyBeast.
让我们将微分方程(DE)与数据驱动的方法(例如机器学习(ML))进行比较和对比。
简而言之,尽管有一些警告,但可以考虑使用它们来对各种现象进行建模的不同方法。你制定规则了吗?还是应该让您的多汁数据为您学习规则?
两种类型的模型绝对可以驱动我们周围的世界。让我们深入。
DE模型示例
Navier-Stokes(气象学)
天气预报背后的模型。这是一个混沌模型,这意味着当仅使用稍微不正确的输入时,预测可能会大为不同。这就是为什么天气预报常常是错误的!用超级计算机进行仿真。
> Image source: Anchorman.
爱因斯坦场方程(物理学)
描述了重力背后的治理规律。爱因斯坦广义相对论背后的数学基础。
> Image source: ScienceNews.org.
布莱克-斯科尔斯(财务)
在股票市场上定价金融衍生产品。
> Image source: ABC News.
SIR模型(流行病学)
描述传染病传播的基本隔离模型。COVID-19的一些最新应用程序。
> Source: Extending the basic SIR Model in R.
> Image source: PerthNow.
为什么这四个方程是微分方程?因为它们都包含某些未知函数的导数(即变化率)。这些未知功能,例如SIR模型中的S(t),I(t)和R(t)称为DE的解。
让我们再看一个模型:
默里·戈特曼(心理学)
预言一段浪漫爱情的长久……!基于心理学家约翰·戈特曼(John Gottman)的开创性工作,该模型预测,始终如一的积极共鸣是婚姻成功的有力预测指标。
> Image source: Kioa.
请注意,Murray-Gottman的'爱情模型'实际上是一个差分方程,是差分方程的姊妹模型。差分方程输出离散的数字序列(例如,每5年进行一次人口普查结果),而差分方程则模拟连续的数量-一直在发生的事情。
到目前为止,我们已经看到的所有五个模型(微分方程和差分方程)都是机械模型,我们可以在其中选择系统的逻辑,规则,结构或机制。(当然,我们并非总是会做出正确的选择。试验和错误在数学建模中起着重要的作用!)
Navier-Stokes假定大气只是一种流动的流体。这些方程式来自流体动力学。广义相对论假设时空扭曲在一种特殊的几何类型下。在这里,聪明的爱因斯坦通过思想实验提出了关于时空弯曲的深刻思想,著名的数学家艾米·诺瑟(Emmy Noether)和戴维·希尔伯特(David Hilbert)然后帮助他将这些思想包装到爱因斯坦场方程中。SIR模型假设病毒是通过感染者与未感染者之间的直接接触传播的,而那些感染者会以一定的固定速度自动恢复。
借助机械模型,观察和直觉会指导模型的设计,而数据随后会用于验证您的假设。[这是您把钱放在嘴里的时候!]
所有这些都与经验模型或数据驱动模型形成对比,在经验模型或数据驱动模型中,我们从一开始就让数据进行对话。这包括机器学习,其中算法通过提供足够的质量示例来学习系统的基本逻辑或规则。当系统的机制根本很难被我们仅仅依靠凡人的人类来隔离和定义时,这是明智的(并且经常是必要的)事情!
数学模型分类
机械模型对驱动系统的潜在机制进行了假设。机械建模始于物理学。实际上,整个数学建模领域始于对17世纪行星运动背后的基本动力的探索。从那时起,机械建模就释放了许多现象的关键见解,从生物学和工程学到经济学和社会科学。
经验或数据驱动的建模(通常是机器学习)可让您的多汁数据为您学习系统的结构。这称为拟合。ML对于我们不确定如何将信号与噪声分离的复杂系统特别有用。没问题-只需训练一个聪明的算法即可为您完成艰苦的工作。啊,生活真美好。(特别是如果您有一台快速的计算机!)
ML任务可以大致分为以下几类:
· 有监督的学习(即回归和分类);
· 无监督学习(即聚类和降维);
· 强化学习。
> Image source: Types of Machine Learning Algorithms by Shrikumar Shankar.
如今,高级ML和AI系统在我们的日常生活中无处不在,从亚马逊,苹果和Google的语音助手到Instagram,Netflix和Spotify的推荐引擎,再到Facebook和索尼的面部识别技术,甚至是特斯拉的自动驾驶卡车。所有这些都是由嵌入在大量代码下的数学和统计模型驱动的。
我们可以进一步将机械模型和经验模型分类为'确定性'(预测是固定的)或'随机'模型(预测包括随机性)。
确定性模型会忽略随机变化,并始终在相同的起始条件下预测相同的结果。
随机模型考虑了随机变化,例如系统中单个代理的异质性。例子包括人,动物,细胞等之间的细微差别。
随机性可以将现实性引入模型中,但要付出一定的代价。在数学建模中,我们必须始终兼顾模型复杂性。简单的模型易于分析,但可能缺乏预测能力。复杂的模型可能超级现实,但尝试弄清楚引擎盖背后的情况会很有趣。因此,您最终需要在简单性和分析可处理性之间进行权衡。
平衡两者的微妙行为是种黑暗的艺术。在大多数情况下,数学建模的目的不是要创建一个能反映100%真实性的公式。这类模型有时用处最少。相反,我们希望捕获信号并忽略噪声。
就像统计学家George Box所说:
所有模型都是错误的,但有些是有用的。
在机器学习和统计中,模型复杂度称为偏差方差折衷。高偏置模型过于简单,导致拟合不足,而高方差模型存储的是噪声(即干扰)而不是信号(即系统的实际结构),从而导致过拟合。平衡这种模型复杂性的黑暗技巧通常是将优秀的产品科学家与劣质的数据科学家区分开来。
我计划很快就撰写另一篇有关ML模型复杂度的深入文章。睁大眼睛!
比较示例-DE与ML
考虑对数微分方程,该方程对农业,生物学,经济学,生态学,流行病学等许多不同学科中资源有限的增长进行建模。这是真正的瑞士军刀模型。
相对于t绘制dP / dt,您会得到一条形状像这样的曲线。(请参阅下面的附录,以了解如何获得此图。)
逻辑模型的一个例子是哈伯特的石油峰值模型。
时间是1956年。壳牌地球物理学家Marion Hubbert为得克萨斯州的石油产量建立了预测数学模型。
在此,P表示德克萨斯州的石油产量。
如果右侧仅是rP,那么石油产量将成倍增长。但是哈伯特知道总共只有K = 200吉桶的石油。随着时间的流逝,开采石油变得更加困难,从而降低了生产率dP / dt。
哈伯特深思:
随着从地下开采的石油量P的增加,我们如何降低dP / dt?
为了对该附加机制进行建模,Hubbert包括了附加项(1-P / K),该附加项说明了这种资源受限的观察。注意:这是最简单的数学术语,当产油量从0变为K时,它从1变为0。
这就是我们的模型!
在真正考虑数据之前,请观察我们如何推断出石油开采背后的机制。
好了,现在是数据了。
参数r = 0.079 / day(代表生产率)是从Hubbert拥有的50年提取数据中推算出来的。
参数K = 200 gigabarrels代表地下的石油总量。它是系统的稳定稳态。这意味着从长远来看,石油产量将收敛至200吉桶。[通常,寻找机械模型的稳态非常重要。它们告诉您模型预测的长期行为,您无需解决系统便可以找到它们。太棒了!]
好的。关键时刻。哈伯特的模型具有预测力吗?
把钱放在嘴里:他的物流模型预测,峰值石油(最大石油生产时间)将在14年后的1970年发生。他回顾了历史数据。
事实证明,他的模型也出现了下滑,因为2000年以后的飙升是由于阿拉斯加的贡献不属于Hubbert最初的建模范围。总体而言,哈伯特会很高兴的。
> Source: Source: Wikipedia, with further edits by myself.
机器学习模型将很难学习微分方程中编码的逻辑所捕获的机制。
我们希望ML算法能够预测1970年出现的石油峰值,但是我们只提供1956年之前的数据以供学习,而这些数据肯定不会暗示峰值的存在。
换句话说,任何合理的ML模型都应该预测石油产量会永远增长。就是这样。
我训练了一些多项式回归,随机森林和梯度提升树。请注意,只有多项式回归才能外推超出原始数据范围!
随机森林
渐变树
多项式回归
多项式回归可以很好地捕获信号,但是这种二次函数(即抛物线)在1970年达到'峰值石油'之后就不可能向后凹。红色曲线只会越来越高,这与采油量接近无穷大有关!
哈伯特的机械手赢得了这一建模挑战。
当人们难以捕捉和定义系统的规则和控制动态时,机器学习就会大放异彩。即,从噪声中提取信号超出了人类的合理努力。一个很好的方法是让机器通过使用质量示例来简单地学习这些规则和信号。我们正在用数据训练机器。数据越好,结果越好。神经网络是学术和应用机器学习的当前前沿,能够捕捉到惊人的复杂性。
求解逻辑微分方程并画出P(t)和P'(t)。
早些时候,我介绍了逻辑DE,并立即草绘了解P(t)及其导数dP / dt。这实际上是一个飞跃,由于步调原因,我忽略了详细步骤。如果您有好奇心,请按以下详细步骤进行操作。
方法1:数值模拟
可以将微分方程编程到Python或Matlab中,在将dP / dt绘制为t的函数之前,使用数值求解器获得P(t)。在这里,我使用了Python。
方法2:获取解析解
该系统可以使用变量分离来解析解决。请注意,绝大多数DE都无法解析解决!嘘那里的数学家一生都在寻找解析解决方案。以新西兰科学家罗伊·克尔(Roy Kerr)为例,他发现了爱因斯坦方程组的一个幻觉解,从而导致了黑洞的发现。
值得庆幸的是,后勤DE以及入门级DE课程中讲授的许多其他知识都可以得到明确解决。
我们首先将所有P项移到左侧,将t项移到右侧。
然后,将双方整合起来便可以得到通用的解决方案,它是满足DE的无限功能集。
对于微分方程,总是有无数个解,由一系列曲线以图形方式给出。
> Family of logistic curves. Source: Wolfram.
重新排列P,我们得到:
差异给出:
然后,可以使用它们的首选方法来绘制这些曲线。图形计算器或计算机。
同样,大多数DE不能像这样明确地解决。在实践中,研究数学家要么直接采用第一种方法,即直接采用计算机上的DE求解器,要么使用涉及首先线性化系统的一种混合方法。线性化背后的理论本身就是令人赞叹的,我想尽快写一篇有关它的文章。
概要
> Joaquin Phoenix in Her, a film about an AI lover. Image source: ScreenHub.
在机械建模中,在对驱动系统的基本机制进行假设之前,我们会仔细观察并仔细研究一种现象。然后,我们深呼吸(phe)并用数据验证模型。我们的假设正确吗?如果是这样,那就太好了!而且,由于您亲自选择了机制,因此您可以完全向奶奶解释是什么驱动了行为。如果您的假设是错误的,那没关系。您浪费了一些时间-没什么大不了的。建模毕竟是反复试验。修改您的假设或从头开始。机械模型(通常是微分或差分方程)负责人类对我们周围世界的大量理解。
在数据驱动的建模中,我们退后一步,让数据开始工作,为我们构建系统的图片。我们要做的就是让饥饿的机器具有高质量,代表性的数据,并且希望足够多。这就是机器学习的目的。如果对于我们这样的凡人来说,要想深入探究现象太困难了,我们将对机器进行调试以筛选出噪音并为我们学习这种难以捉摸的信号。标准ML任务包括回归和分类。神经网络和强化学习是最新的潮流,能够创建模型并学习惊人的复杂性信号。
尽管ML自1950年代就已经存在,但随着功能越来越强大的计算机的出现,全球范围内生成的数据激增,世界各地的商业领袖和政府都在讨论如何利用AI来获得竞争优势,提高洞察力和利润。急切的人,我们仍处于AI革命的起步阶段,没有任何放缓的迹象。
(本文由闻数起舞翻译自Isaac Langley的文章《Differential Equations Versus Machine Learning》,转载请注明出处,原文链接:https://medium.com/swlh/differential-equations-versus-machine-learning-78c3c0615055)