数学建模研究过程指导(精编版) Part III

向上滑动阅览说明及目录 

说明:此文稿为朱浩楠老师于2018年11月-12月北京地区联校数学建模活动的课题研究阶段中,每天一篇发布给各课题组的研究方法指导文件的汇总。为方便更多的同学参考使用,现调整为正序后通过遇见数学公众号发布,版权归朱老师和遇见数学公众号所有。

目录

1如何开题

2如何进行问题的分析和数据的获取

3挖掘情境中数学模式的两种方法

4连续模型的使用范围、建立和求解方法

5从连续模型到离散模型&离散模型的常见类型及其研究方法

6确定性与不确定性

7以支持向量机为例谈机器学习的本质

8以神经网络为例谈深度学习的本质

9到底算法能不能算作数学模型或研究成果?

10科学中的香芬迷雾

11问题重述与基本假设部分的检查表

12符号约定部分的检查表

13模型建立部分的检查表

14模型求解部分的检查表

15模型分析部分和参考文献部分的检查表

16数学建模论文摘要的写作建议

17从高中数学体会数学概貌和数学建模

18感性认知如何驱动理性认知

19我们应该抱着什么心态去学习数学与科学

20新生代青年在变革时代中的机会与责任

确定性与不确定性:概率统计的几何本质

研究方法指导 06

因为概率和统计在中学课本里涉猎比较浅,除了应付考试并没有真的被用上——既没有被用于数学理论的建设,也没有被用于实际问题的解决。所以很多同学想当然地觉得概率和统计的数学味道不强,或者觉得统计就是“一大堆数表和计算”。这种想法无异于固步自封。实际上,尤其是从20世纪开始,随着香农的信息熵理论的建立,人们意识到不确定性是可以被度量的,整个数学大厦已经被全面改写。微分几何的壮大和发展,也为统计学注入了新的方法。统计学领袖C.R.劳先生就因将微分几何全面引入多元统计分析而成名,他曾有一段名言:

在终极的分析中,一切知识都是历史;

在抽象的意义下,一切科学都是数学;

在理性的基础上,所有判断都是统计.

---C.R.劳,《统计与真理》

通常意义下,对于概率和统计我们并不想混为一谈。从经验的角度来说,概率是数学,而统计是概率的现象。现象和本质之间不可割裂,也不可偏废。

我希望通过今天的这篇小文让同学们明白:概率和统计不是只用被用于实验科学或经济学领域的工具,而是直接关联着数学的核心乃至大自然的本质。一个好的数学模型不能脱离概率和统计被很好的创立或使用,在适当的地方引入适当的概率和统计往往是建立一个优雅数学模型的点睛之笔。下面从三个角度进行阐述。

1.概率和统计的几何本质:维度的膨胀与坍缩。

我们利用下面的图1来形象地解释:图1中的黑色曲线 C1 为平面 S1 和曲面 S2 的交线,其中曲面 S2 与平面 S1 垂直,曲线 C2 和 C3 位于曲面 S2 内,曲线 C2 和 C3 可以看作是曲线 C1 在曲面 S2 内按照一定概率所作的扰动。这个图中,我们如果将平面 S1 视为数学建模中抽象和简化出来的理想世界,将黑色曲线 C1 视为我们建立的数学模型,那么蓝色和红色曲线 C2 和 C3,则是自然界中的真实情况——就算我们的数学模型再精密,由于在建立模型时对于部分因素做了忽略,而在现实中这些因素多少会对事实有影响,由于这些“小因素”数量很大且往往规律极其复杂,所以它们的影响在宏观上往往呈现出随机性。

如果我们建立确定的数学模型,其实就是从纷乱的诸如曲线 C2 和 C3 这样的随机扰动中寻找概率上最可能的模式(曲线C1),即将曲面 S2 中的事实(或现象)近似地看作曲线 C1 的模式,维度发生了“坍缩”。

如果我们在确定的数学建模当中引入了概率,允许曲线 C1 以一定概率波动为曲线 C2 和 C3,则相当于从曲线 C1 出发,在概率的意义下还原出曲面S2,维度发生了“膨胀”。

而对于现实世界中曲线 C2 和 C3 的观测,也就是对自然现象的观测,则是通过统计来实现的,所以统计相当于给出了曲线 C2 和 C3 的几何现象,概率则给出了它们偏离“中心位置”——曲线C1——的可能性大小的度量,而曲线 C1 则扮演了对模式抽象、简洁的表达者的角色。

统计、概率和精确的数学三者之间的关联,就是现象、不确定性和确定性之间的关联。如何将优雅地、有效地、准确地将这种关联引入你的数学模型,是一门非常深邃且富有艺术性的学问。

图1 维度的膨胀与坍缩。

2. 概率和统计的矛盾统一——确定性的度量及其丧失。

概率论告诉我们,由确定的规则出发,可以产生随机性,而随机性是可以度量的。香农将这种度量转变为了对随机变量中所含信息多少的度量。从此“信息”就变成了“概率”的一个衍生概念。一个随机变量含有的信息的多少,是由确定这个信息所需要付出的计算代价(即香农的信息熵)来衡量的。从几何上来说,香农熵给出了将图1中的曲面 S2 上的诸多可能性近似地看作曲线 C1 所要付出的“概率空间坍缩”的代价。如果你将这种代价比做是一种“能量”——虽然这么说有些“科幻”色彩——很多对数学有了解的人会自然地想到微分方程中的“能量法”。实际上,二者具有非常密切的关联,有时甚至就可以直接用香农熵来构造微分方程的能量函数,感兴趣的同学可以参阅数学物理方程的相关文献。

我在这一小节要说的重点,是要解决一个问题:数学模型到底是不是在消除随机性?

我觉得这个问题得从两个维度和四个阶段来看。这两个维度一个是建模者的数学水平,另一个维度是数学模型的应用场景。

阶段1:建模者掌握的数学比较初等(例如高中生和大学低年级本科生),且建立的模型并非要应用于重要的实际项目。这个阶段下的数学建模处于尝试和学习阶段,并不需要引入概率分布将问题复杂化,能找到类似图1中曲线 C1 这样的标准模式,是学习和演练数学建模的基本功。建立这样的模型,已经可以解决绝大多数日常生活中要求不是那么苛刻的问题。

阶段2:建模者掌握的数学比较初等,但建立的模型将要应用于某些重要的实际项目。这个阶段下的建模者处于初步实践阶段,建模者这时需要形成引入概率分布的意识,避免模型在实际应用中不可控,造成实际的危害或隐患。

阶段3:建模者掌握的数学比较高等,但建立的模型并非要应用于重要的实际项目。这个阶段下的建模者处于“修炼内功”阶段。这时建模者会意识到自己拥有的数学知识已经不足以面对自己想要研究的课题,这时候挑战更深的数学就变为了需要。在这一阶段练好“绝世武功”会为将来带来不可估量的好处。为了防止“走火入魔”,这个阶段下最好不要引入概率分布,否则会显得主旨不明。

阶段4:建模者掌握的数学比较高等,且建立的模型将要应用于某些重要的实际项目。这个阶段基本上属于建模者的“出世”阶段。需要用一定量的课题来锻炼自己将“绝世武功”用在实战中的能力。这一阶段就必须在第三阶段的基础上要求模型的风险可控,所以引入概率分布和统计约束是非常必要的。

最好的模型要符合APP原则——可应用(Applicable)、可推广(发表)(Publishable)、可证明(Provable)。对于高中生来说,这个要求显然有些苛刻,但是一定是努力的方向。从事实经验来看,部分优秀的高中生是可以接近阶段4的。

3.概率和统计是大自然最巧妙的密码——混沌与庞加莱截影。

“混沌”这个词想必很多同学都有耳闻,比如著名的“蝴蝶效应”就是它的一个直观解释——大洋彼岸美国的一只蝴蝶煽动翅膀,可能就会引起太平洋上的一次飓风——这实际上是函数的迭代所造成的结果不可估计的现象。如下面的图2所示。这时初始状态或参数取值的微小变化有时会引起结果的剧烈震动。如果一个模型对于初始状态或一些参数取值如此敏感,那么模型将无法应用,因为现实世界中,任谁也无法完全消除系统误差。

图2 蝴蝶效应。

混沌虽然复杂且可怕,但是并非完全不能观察和避免。

(1)混沌现象的有效观察方法——庞加莱截影。

这套方法是大数学家庞加莱首先想出的,他觉得既然混沌现象,诸如蝴蝶效应,那么难以琢磨,那么为什么不降低维度来观察它们的截影呢?我们以图2中的蝴蝶效应为例,图2中的曲线是一个极其复杂的没有周期性的空间曲线,庞加莱用一个竖直的平面去截它,那么就可以得到很多曲线穿过这个截面所形成的“点”。这些点在不同的截面上所形成的大致形状会不同,研究这些截面上点集的轮廓形状,往往比研究这些点的先来后到的顺序要简单得多;如果一个截面上的轮廓研究清楚了,让截面动起来,就得到了对于整个空间曲线的观察,进而得到很多有用的信息。

具体地说,像图2中的曲线,其实是微分方程组

的解曲线 (x(t), y(t), z(t)),我们可以通过前几天讲过的欧拉近似法来得到其近似曲线。但是可惜的是无论我们如何修正步长,若干步之后的误差依然变得非常大,呈现出明显的混沌现象。

下面我们构造截面 y=0,即水平面,那么上面的方程组变为

这就是一个平面内的向量场。若我们知道曲线穿过这个平面的第一个点的坐标为,我们甚至可以解出混沌曲线在这个平面上所有截点落在平面中的曲线上。(具体计算留给同学们作为练习。)你看,这个方法多么强大且高效!

(2)如何避免混沌——模型使用前一定要做灵敏性分析。

严格来说,混沌效应无法预先避免,但是我们可以通过灵敏性分析来观察它是否出现在我们的模型当中。这通过观察初始值或者重要参数的微小变化到底使得结果变化了百分之多少来实现,这也就是所谓的灵敏性分析。

明确地说,假设现在有模型

,其中代表输入,代表输出,代表当前的参数取值。观察参数对输入 → 输出的影响,相当于计算

当上式中的趋近于趋近于0时,上式右端趋近于

这个极限一般被称为参数 λ 的灵敏性指标。

当我们得到了一个模型之后,通过观察它的灵敏性指标,即可知道是否会出现混沌效应。一旦出现,我们往往就需要找到原因,并对模型进行修正。当然,如果我们要描述的自然现象本身就具备混沌效应,那么我们的模型就不可避免的也会带有混沌效应。

以支持向量机为例谈机器学习的本质

研究方法指导 07

分类是一切智能的起点和终点,狭隘地讲,也是很多主流数学方向的起点和终点。作为数据分类方法中目前用的最火热的支持向量机,用的是数学的技术,应用在机器学习领域。

在数学里,支持向量机并非是指真的机器,而是指一个方法。支持向量机关注于如何找到下图1中的不同颜色的点集之间的分界线(就像图1中的红线一样),这样再有新的数据点进入后,就可以通过判断新数据点在直线的那一侧来为其赋予类别。因此支持向量机属于有监督学习的智能方法。

图1 各种类型的支持向量机。其中图1-(a)的类型为线性可分型问题,(b)、(c)、(d)的类型为线性不可分问题。

我们先用线性可分问题来解释一下支持向量机的基本原理。

图2 线性可分支持向量机。

如上图2所示,我们想要找到直线将黑色和黄色的两类点尽可能得分开。这样的直线当然有无穷多个,但是其中有一条最优的。所谓的优指的是:这条直线距离两类点的距离尽可能得大。这样的好处在于:在新的数据点到来时,可以尽可能地避免摸棱两可。

一个巧妙地解决办法是:可以类比于象棋中的楚河汉界,其实支持向量机就是要在两类数据点中放一条楚河汉界,使得其宽度尽可能得大。那么这条楚河汉界的中线就是我们所要寻找的分界线了。用数学中向量的语言,可以将这个问题转化为如下的二次非线性规划问题:

其中

为所要确定参数的待定直线方程,

为所要优化的直线参数。其目标函数的倒数

就是“楚河汉界”的边界线

之间的距离。为

为现有的第 i 个数据点,

为第个 i 数据点的分类标签,其中 i=1,2,...,N,N 为现有数据总量。

非线性规划问题(*)具有很强的几何直观,目标函数为平面上点

距离坐标原点的距离平方的一半。约束条件所决定的可行区域为三维空间

中的多边形区域(也可能开口,此时视无穷远点为另一个顶点)。当 N 不是很大时,这个非线性规划问题(*)其实任何一个合格的高二年级高中生都可以解决。即使当很大时,利用计算软件也可以很容易地解出。所以线性可分情况下其实问题很容易,无论是在原理上还是在计算上都没有什么困难。

困难的是如何解决诸如图1-(b)、(c)、(d)所示的线性不可分情形。我们以下面图3中的数据点分布来举例说明解决的思路。

图3 非线性可分问题的典型例子。

通过

映射,将图3中的平面点集映射到三维空间中,如图4所示。

图4 对待非线性可分问题,需要首先升维。

这个映射是依据图3中两类点的分布特意选取的,可以实现:图3中越接近于原点的数据点,在图4中越“靠上方”。这样一来,原本在平面内无法线性可分的问题,就变为了在三维空间中线性可分的问题了——只需要仿照刚才平面上线性可分的情形,先将图4中的两类点用某个最优平面尽可能地分开,再找到这个平面在映射 φ 下的原像所对应的曲线方程即可。整体过程类似于下图5中所示。由于映射将平面区域映射为空间区域,所以空间平面的原像就是一维的曲线(在本例子中,应该为平面内的某条圆锥曲线)

图5 先升维再降维的“维度戏法”在解决非线性可分问题时立了大功。

当然,对于其它的数据集来说,使用同样的映射就不一定管用了。但是思路依然相似。

所以对于非线性可分的支持向量机来说,最大的难点在于:如何根据数据集的形式来寻找适合的映射,才能将原问题投影到更高维度的空间中变为线性可分情形去处理?

很遗憾,这个问题并没有一定之规。一般来说,平面内的原始数据集分布越“凌乱”,则所需的映射越复杂,所需的高维空间的维度也越高。但是数学王子高斯曾经给出一个函数,在今天被称为“高斯径向基函数”,可以将原本的问题投影到无穷维空间中去观察。

具体的函数形式这里不再赘述,感兴趣的同学可以明年看我出版的新书中的详细论述。网络上也有很多难度和深度各异的对支持向量机的讲解文档。

通过今天的内容,主要是想带领着同学看到以下三件事:

【1】以支持向量机为代表的数据分类方法本质上是数学方法,可以通过编程实现,而且可以很迅捷。它的有效性依赖于几何上的观察和论证。

【2】并非所有时候降维都能解决问题,对于部分问题来说,升维往往才是出路,尤其是对于复杂的几何问题更是如此。不要受应试训练影响形成思维定势。

【3】在解决问题的过程中,先从线性情形入手,再推广到非线性情形,而且解决非线性情形时有意识地利用已经解决好的线性情形。这是研究问题的一般思路,值得借鉴。

以神经网络为例谈深度学习的本质

研究方法指导 08

随着谷歌的人工智能布局的拓展和深化,以及TensorFlow社区的日益完善。以神经网络为代表的深度学习技术正受到资本和技术的双重青睐。但是正如深度学习之父Hinton所担忧的,人们在繁荣中很容易忘记神经网络深度学习的本质。今天这篇小文的目的,就是撕开资本包装的迷幻外衣,以神经网络为例,用数学的视角来审视深度学习的本质。

要想说清楚神经网络到底是在做什么,就不得不将其放入到最小二乘法的框架中去。现在让我们回忆一下什么是最小二乘法,这在现行的国家数学教材中是有的,但是很可惜很多学校,包括我所在的学校,基本都不去讲它,因为目前的高考并不考。

最小二乘法是为了解决数据拟合的问题,假设现在有 N 个数据点

,我们希望寻找一个函数 y=f(x) 去尽可能地反映这些数据点的趋势,即,去预测不同输入下的输出值 y。用最小二乘法解决这个问题需要以下四个步骤:

第1步:寻找适当的函数型

,其中 a,b,c 为待定参数,这里以三个参数为例,实际情景中也可能有上万个之多。

第2步:构造惩罚函数(有时也叫代价函数)如下,它是关于参数 a,b,c 的多元函数。

第3步:解方程组

其中

表示将变量视为不变量,将视为关于的一元函数时的导函数,

同理。

实际上方程组(*)是在寻找让多元函数 L(a,b,c)取得最小值的参数 a,b,c, 的取值 a*,b*,c*。

看上去最小二乘法很简单,但是只要你真的用最小二乘法解决过一次实际问题,你就会知道这里面隐藏着两个本质难点:

本质难点1:最小二乘法需要事先确定用来拟合数据的函数型

,这往往只能依靠经验。这有时不可靠,有时效率低。那么如何去先验地确定函数型

呢?

本质难点2:在线性回归中,即使是在多元线性回归中,方程组(*)都只是线性方程组,所以显得很简单,这也是为什么大多数时候我们首先会用线性拟合试一试的原因。但是更一般的情况下,方程组(*)为一个非线性方程组,甚至是超越方程组。首先,这样的方程组并不好解;其次,这样的方程组也不一定解唯一,有可能有无穷多个解,也可能这无穷多个解形成某一条连续的曲线也说不定。那么如何选取最适当的参数取值 a*,b*,c* 呢?

其实早在上个世纪中后叶,数学家们就已经非常清楚本质难点1和2的解决办法,但是因为当时计算机的计算能力尚不足,所以没有办法真的去实现。但是随着计算机软、硬件技术的迅猛发展,目前个人电脑的计算能力就足以胜任了。所以解决本质难点的方法们就被人们抬举到技术的前端来,并且为它们起了两个非常响亮的名字——“人工神经网络”,和“梯度下降法”。

其中,人工神经网络的所有目的,其实就是为了解决本质难点1,即寻找恰当的函数型。你可能会觉得这很神奇,因为人们往往凭借相关领域的多年经验才能找到、还不一定是最优的函数型,怎么就能被这所谓的“神经网络”所找到呢?这种“神奇”的感觉也正是资本希望传递给人们的——资本的唯一属性是逐利,它希望人们保有这种“神奇而不知其所以然”的感觉,以提升产品的溢价,直到再也瞒不住大多数人的那一天。

我这么说,就意味着其实所谓的神经网络对于函数型的寻找在数学上是一个司空见惯的把戏——当然,即便如此,首先想到这个方法的人,连同这个方法本身,也是非常伟大的——那就是越阶函数的累加。

我们都清楚,在有限闭区间上的任何连续函数,都可以通过有限个越阶函数的叠加在某个精度范围内逼近,如图1所示。

图1 (左图)越阶函数解析式;(右图)用若干个越阶函数的叠加来逼近连续函数。

图2 我用了660个越阶函数叠加起来(红线)对一个周期内的正弦函数图像(蓝线)

进行逼近,逼近的精度在小数点后2位,肉眼已经很难分辨了。

在神经网络中,每一个神经元是如下图3所示的函数单元。

图3 一个神经元及其对应的函数单元。

当我们选取不同的参数取值时,图3中的函数单元的图像可以以任意精度逼近一个越阶函数。如下图4所示。

图4 不同参数下的单个神经元对应的函数图像。

多个越阶函数的叠加就是图3中多个神经元的并联,如下图5所示。这也就是所谓的单隐含层神经网络。

图5 多个越阶函数的叠加,就是单个神经元的并联。

而多输入和多输出以及多隐含层的神经网络,无非也就是用更复杂的多元越阶函数来拟合多元函数,原理和方法上完全类似,这里不再赘述。

所以从上面的介绍大家就会明白,原来神经网络就是利用好多个越阶函数的叠加来实现对某个函数的逼近啊!这些越阶函数叠加起来所形成的含参拟合函数,也就是前面在本质难点1中我们想要找的函数型啦!而这些越阶函数的参数放在一起,也就形成了我们要找的函数型的参数集了。

而对于梯度下降法,是为了解决上面的本质难点2。它的基本思路就是:看一看参数的变化如何影响预测值和真实值之间的差(一般再取绝对值)。如果参数变大,导致预测值和真实值之间的差的绝对值变大,那么就适量降低参数的值即可;如果参数变大,导致预测值和真实值之间的差的绝对值变小,那么就适量增加参数的值即可。具体的方程形式各位同学可以参考网上的资料,因为这里需要一些线性代数的计算,不属于大家目前的知识范畴,所以就不再赘述了,但是相信这种逐步调整迭代的思想可以给你很多启发。

最后总结一下今天的内容,我是希望大家通过今天的指导至少明确以下三点:

【1】以神经网络为代表的深度学习技术本质上是在解决最小二乘法当中的两个本质难点。

【2】梯度下降法实际上是解方程组(*)的一种数值方法,其理念可以迁移到其它领域。

【3】想事情不要想得很玄幻,很多伟大的方法和思想其实本源上不见得那么玄幻而无法理解,只不过你没有用学科的有力工具进行过思考和观察罢了。千万不要将什么问题都交给“哲理”,很多时候从数理角度的观察会让你视线更加清晰、内心更加平静、目光放得更远。

(0)

相关推荐

  • 数学建模及其算法概述

    一.数学模型的分类 1. 按模型的数学方法分: 几何模型.图论模型.微分方程模型.概率模型.最优控制模型.规划论模型.马氏链模型等. 2. 按模型的特征分: 静态模型和动态模型,确定性模型和随机模型, ...

  • 大数据、统计学与机器学习是怎样的关系

    这三个主题,都是当下热门的概念,梳理清楚其关系,有助于在后续的学习中,有的放矢.如果只看结论,可以直接到最后一个章节. |0x00 统计分析与实证研究 统计学是通过搜索.整理.分析.描述数据等手段,以 ...

  • 【生成模型】关于无监督生成模型,你必须知道的基础

    大家好,小米粥销声匿迹了很长一段时间,今天又杀回来啦!这次主要是介绍下生成模型的相关内容,尤其是除了GAN之外的其他生成模型,另外应部分读者要求,本系列内容增添了代码讲解,希望能使大家获益,更希望大家 ...

  • 合集 | 数学建模研究过程指导(精编版)

    Part I 1. 如何开题2. 如何进行问题的分析和数据的获取 Part II 3. 挖掘情境中数学模式的两种方法4. 连续模型的使用范围.建立和求解方法5. 从连续模型到离散模型&离散模型 ...

  • 如何进行问题的分析和数据的获取 - 数学建模研究过程指导(精编版) 02

    向上滑动阅览说明及建模指导目录  说明:此文稿为朱浩楠老师于2018年11月-12月北京地区联校数学建模活动的课题研究阶段中,每天一篇发布给各课题组的研究方法指导文件的汇总.为方便更多的同学参考使用, ...

  • 数学建模研究过程指导(精编版) Part VII

    向上滑动阅览说明及建模指导目录  说明:此文稿为朱浩楠老师于2018年11月-12月北京地区联校数学建模活动的课题研究阶段中,每天一篇发布给各课题组的研究方法指导文件的汇总.为方便更多的同学参考使用, ...

  • 数学建模研究过程指导(精编版) Part VIII

    向上滑动阅览说明及建模指导目录  说明:此文稿为朱浩楠老师于2018年11月-12月北京地区联校数学建模活动的课题研究阶段中,每天一篇发布给各课题组的研究方法指导文件的汇总.为方便更多的同学参考使用, ...

  • 数学建模研究过程指导(精编版) Part V

    向上滑动阅览说明及建模指导目录  说明:此文稿为朱浩楠老师于2018年11月-12月北京地区联校数学建模活动的课题研究阶段中,每天一篇发布给各课题组的研究方法指导文件的汇总.为方便更多的同学参考使用, ...

  • 数学建模研究过程指导(精编版) Part VI

    向上滑动阅览说明及建模指导目录  说明:此文稿为朱浩楠老师于2018年11月-12月北京地区联校数学建模活动的课题研究阶段中,每天一篇发布给各课题组的研究方法指导文件的汇总.为方便更多的同学参考使用, ...

  • 数学建模研究过程指导(精编版) Part IV

    向上滑动阅览说明及建模目录  说明:此文稿为朱浩楠老师于2018年11月-12月北京地区联校数学建模活动的课题研究阶段中,每天一篇发布给各课题组的研究方法指导文件的汇总.为方便更多的同学参考使用,现调 ...

  • 数学建模研究过程指导(精编版) Part I

    向上滑动阅览说明及建模指导目录  说明:此文稿为朱浩楠老师于2018年11月-12月北京地区联校数学建模活动的课题研究阶段中,每天一篇发布给各课题组的研究方法指导文件的汇总.为方便更多的同学参考使用, ...

  • 数学建模研究过程指导(精编版) Part II

    向上滑动阅览说明及建模指导目录  说明:此文稿为朱浩楠老师于2018年11月-12月北京地区联校数学建模活动的课题研究阶段中,每天一篇发布给各课题组的研究方法指导文件的汇总.为方便更多的同学参考使用, ...