数学模型与计算机科学的认知

长时间地呆在解决数学问题的世界里,反而会让你看不清楚数学的本质,或者数学的根本性的东西。这个观点,陈省身(Shiing-Shen Chern)和陶哲轩(Terence Tao)都表达过。陈省身在谈论纳什(John Nash, 电影《美丽心灵》的主角,诺贝尔经济学奖得主)的时候就反复提到:John Nash固然是个出色的数学问题的解答者,一天到晚都在作题目。但是,他真的是不懂数学。而陶哲轩在回顾本身的早年经历也这样说:在作数学研究以前,整个对数学的工做就是不断地去作题目,觉得解决一个又一个的难题,就是数学家一生干的事情了。直到本身真正走上数学家的道路,才发现,那时候的本身根本不懂数学。算法

 

戏剧的隐喻

在数学当中解决问题,很像是作programming的人在解决算法问题同样。这是领域中最难吭的骨头之一,也同时是挑战智商的舞台,是享受心智的荣耀的最佳场所。但从更加宏观的角度来看,这些事情虽然有必定的重要性,但作出的贡献毕竟比较微观,属于:在别人搭建好的舞台上演戏。你固然能够专一于去解决特定舞台上的重要问题,甚至去解决一些各个舞台都通用的技术问题。但是,你可否从零开始搭建起一个舞台,可否构建出一个精彩的故事,可否将精彩的故事从其它形式恰如其分地转移到你熟悉的场景,才是戏剧最关心的问题数据库

让咱们来问一个幼稚但却微妙的问题:为何说这才是戏剧最关心的问题?为何灯光、造型、片子的剪切艺术,不是戏剧最关心的问题?设计模式

由于,戏剧的故事,舞台所传达的故事内涵,才是人们真正关心的。你这个戏剧是否可以继续在社会中存活下去,取决因而否有源源不断的观众前来观看,即:是否有社会中其它成员的关注。而故事以及故事的展示方式,才是吸引这些观众的核心。戏剧的价值在于它可以提供一种媒介,充分地表达和探索那些生活表面之下潜藏的真相,用极端的戏剧冲突极集中现那些隐藏的秘密。因此,这些精心设计的故事和表现方式所提供的揭示生活真相的服务,是让戏剧赖以生存的根本。而那些舞台技术细节,是构建故事的技巧。它重要,但却不是根本与核心。微信

总结起来,什么东西才是一个领域的核心价值呢?就是这个领域,可以为世界提供的不可替代的东西。若是这个领域所提供的东西,再也不受到社会中其它成员的关注,它便会走向枯萎,便会死掉。框架

那么一样的,仅仅在数学中作题目,在计算机中作算法,对于各自的行业来讲它重要,但却不是核心。过度地陷入这些过程,会让你一叶障目,陷入到这些微观细节之中。不管数学仍是计算机,它的核心价值是提供一种供其余领域使用的工具,或者一种帮助其它领域梳理细节的服务。工具

 

计算机科学的认知

对于计算机来说,它的本质在于运用机器来解放人类的生产力,也就是帮助一个个的人干活儿,特别是那种单调乏味的机械性的活儿。那么以此为标准,对于其它领域的人来讲,运用你的计算机技能,经过printf不断地输出具有固定格式的短信的价值,要大于你对复杂算法的研究。由于这里的重点依旧在于,你是否把握住了你这个行业可以在世界中存在的核心:可否帮助人类干活。至于华丽的专业名词,诸如大数据、人工智能、深度学习、设计模式等等,其实都不是重点,或者说,它们彼此之间其实并无一个高贵与低贱之分。你不能说研究深度学习的人比研究古老的关系数据库存储的人来得高贵,或者写for循环的人就比只写printf的人高贵。单看这些说辞,会以为很荒谬,由于它彻底没有抓住重点。重点在于你写出的代码或者弄出来的产品,是否对你当前的服务对象有价值有帮助。它是否可以帮助你当前的服务对象,更好地解放生产力。学习

若是继续用以前例子来讲,对于须要重复发送短信的人来讲,写出printf是核心,由于它解决了这个业务问题,不用再让用户作机械的发送动做。而一堆for,只是循环却不输出,并不会对业务起到半毛钱的效果。一样的,若是你服务的对象,仅仅是一个工厂,那么运用Excel的各类奇淫巧技,或许更能获得上司的亲耐。可你非要在工厂里面,部署Google那样的计算机集群,那估计你离被开除也就不远了。大数据

这里想要说的是,若是纯粹从技术的角度看,不一样技术之间实际上是不存在好坏高下之分的,由于它仅仅是一个个客观的知识或者知识规律的总结。真正有高下好坏之分的,在于你的技术应用于业务的合理性、恰当性与优良性。可每每,身陷技术细节的人,会迷失或者自嗨在本身的领域,以本身的流行名号做为高人一等的资本。可这些名号仅仅是“表”,是外在的“名”,它没法撼动核心价值。重要的是,面对你要处理的业务和要服务的客户,选择什么技术工具是合适的。使用什么样的技术组合才能更高效、更优雅地解决用户的问题。ui

 

数学的认知

对于数学来说,这样的认知和思惟方式是相同的。数学的做用在于提供一种严格的定量讨论的框架。它的理论成果,用于从另外一个角度去梳理事物之间的数量和变化关系,让整个问题的讨论,变得更精确、更严密。而不是闷头学习基础知识,为更加深奥的理论作铺垫。等铺垫结束,继续去钻研更深奥理论中的难题,或是为构建更深奥的理论作准备。人工智能

毋庸置疑,把当前的材料,进行加工和组合,天然会变成更加深奥复杂的东西。但是,为何要构建这些理论呢?为何要作这样的组合与粘连呢?没人能够限制你作任意的组合。可是,对其余领域的贡献和做为工具性的好使程度,是衡量你的组合是否有意义的一个标准。

我想,更有意思的问题是,我为何要作这样的组合,为何要去这样搭建一个数学框架,为何那样不能够?从这些问题的回答中,你会明白数学对生产力的贡献,它最核心的基本价值在哪里。

让咱们用天然语言处理(NLP)的例子来作一些说明。

若是想要根据文本自己,来进行语义的推断或者分类,一个重要的基础即是提供评价关键词的重要性的指标。这样的指标在不一样的模型下有不一样的体现。其中一种方式,是运用词袋(Bag of Words)模型,将一个文本向量化。运用一个重要的参考指标TF-IDF,来衡量这个关键词的对目标文本的重要程度。其中:

  • TF是Term Frequency,用于衡量这个词在目标文本中的出现频率:

  • IDF是Inverse Document Frequency,表示这个词在其它文本中出现的频率。

那么,一个粗略的TF-IDF指标即是:

               \[ TF\_IDF=\frac{the\ term\ frequency\ in\ document}{the\ term\ frequency\ in\ other\ documents} \]

这个词在文本中的出现频率这个词在其它文本中出现的频率

直接看这两个定义会让人一头雾水,让咱们从另外一个角度来考察一番。一个词对于目标文本是否重要,一个质朴的想法是看它在这个文本当中出现的频率是否够高。你能够粗略地认为,它在这个文本中出现的频率越高,这个词就越可以表征这个文本的含义,也就是越重要。那么,TF就能够以正相关的方式,体如今TF-IDF的指标中。

而若是这个词是相似于the这样的常见却又没什么含义的词汇,它就不能做为目标文档中的意义表征。那么怎么衡量它是不是一个常见又没有实质含义的词汇呢?一种直观即是用它在其他文本中出现的次数来作表征。若是它越多的在其它文本中出现,那就越是说明这个词对于目标文原本说是不重要的。因而能够在TF-IDF中以倒数的形式呈现出来。这样,就解释了上面这个粗浅的公式。

但回到咱们以前的那个问题,为何这里必定是这样的公式?其合理性在哪里?换一个行不行?

例如,若是单词A在文本中出现100次,单词B出现200次,那是否是说单词B的重要性就是A的2倍?为它加一个对数来作平滑,是否是能够?若是这个词在其它文档中出现的次数都为0,那上面这个指标TF-IDF不就会出现分母为零的状况吗?应该怎么解决这个问题?为它们预先增长一个1?仍是应该增长多少?

面对一个现实问题,或者当数学真正运用在其它领域时,其重点不在于哪一个公式是对的。由于,每个公式表征的是每一种对现实的认知与偏见,它对应到一个数学模型。而全部模型,都必然是与你研究重点相关的一种近似和简化。不存在正确的模型,只存在更好更优良的模型。数学所提供的,正是如同软件通常的工具模块。帮助你剖析问题,将你所关注的要点,以更加细密的方式展示出来。

不是说在模型中运用了微积分就比仅仅使用四则运算更高明。也不是说,你的模型中用到了现代数学或者集合论的抽象,就更加酷炫先进。这些都只是表,如同计算机的for循环和printf。重要的在于:运用了数学某个理论分支后,它所搭建的框架,是否将待解决的问题梳理得更清晰?在这样的梳理之下,这些问题是否是获得了更好的表述和说明?在这样的表述下,我关心的问题是否是更容易被解决?

正如关于世界地图拼图的故事所展示的:直接拼凑世界地图是困难的,但若是它的反面刚好是一我的像,世界地图将会由于背面人像的成功拼凑而获得更容易的实现。

那么数学这个理论工具的做用即是如此。它为其它领域提供一种独特的定量分析视角,将问题的细致末节挖掘得更深,考察得更仔细。一旦将一个东西被归入到数学框架中作考虑,它就会像天然光被三棱镜分解同样,被数学框架作最精细的剖析。数学框架将每个逻辑点分门别类地摆放好,以便更加清晰地凸显出事物内在逻辑的自洽性。这个工具自己不是用来评判或者增长原有材料的价值,而是做为一个客观的观察工具(比如三棱镜、比如望远镜),将事物内部复杂而隐秘的逻辑脉络完整呈现。这是这个工具真正厉害的地方。

越是理论、抽象的东西,越不容易看出应用方式的困难解决问题的困难之间的区别。前者是一个宏观的方向性的东西,后者是一个深刻的执行性的东西。而境界差距,就体如今对前者的把控和后者的适当运用。

为何这个地方要用除法,为何这个地方要取对数?

对深陷理论的人来讲,ta只会从一种角度去寻找答案:如何根据上下文,运用严密的逻辑,推导出一个答案。从何尝试考虑:是否是由于我想要在这里发挥一个平均的做用;想要给它一个相反的用力效果;又或是计算太复杂,不如取个对数让它简单些的外部理由。而只是钻入到更深奥的理论中,看这个问题是否在其它理论中有个说法。

这其实体现了一种知识上的奴性。你只是不断地在寻找paper、寻找已有理论,去佐证一个模型或公式。而历来不会根据本身的实际需求,从你对业务的理解、对所要解决问题的认识,去评判模型的优劣,评价公式恰当与否。

数学的历史早已向咱们说明,实践是先于理论的。微积分先是在工业中获得熟练运用,而后才是在很长的时间后被数学家们完善,成为一套牢固的理论。为何数学的历史、科学的历史会这样发生?由于数学的职能是为了将一个问题剖析得更清晰而存在的,是以实际问题为驱动为导向。若是没有要解决的问题,你空拿屠龙宝刀有何用?龙都没有了,到哪里去运用你的屠龙之术?若是你服务的对象须要的是对家畜的屠宰之术,你绚烂的屠龙之术又于事何补?

因此,不能仅仅是从数学的内部去考虑问题,要多从外部去作宏观的思考:为何我要作这个假设,为何我要这么去构建一个公式,换一种方式行不行。没有这样的素养,面对新的未被开坑的领域, 没有任何教科书和现成公式做借鉴,你只能茫然无措。

数学的理论成果,正是一个个的建筑基石——building block。它们比如是设计师手中积累的素材。老是累计素材或者考量素材的制做方式是不够的。最后的临门一脚,须要将这些素材经过尝试和实验,巧妙地链接起来。

面对一个个数学building block,你能够真正地把它们当作乐高积木。用它们去作各类拼凑与尝试,看你组合出来的成果是否有利于你问题的解决和阐述。没有人知道哪一种组合方式是恰当的。你须要作的是根据直觉、业务的理解,挑选出一些block,搭建好雏形,而后开始试验。根据试验所反馈的结果,来修正本身积木的搭建方式。如此往复,不断地打磨本身建造的数学模型,从而构建出适于解决当下问题的顺手工具。

 

 

 

近期回顾

如何运用GitHub来提升生产效率
打造让用户为本身尖叫的产品
2017年10月写字总结

 

若是你喜欢个人文章或分享,请长按下面的二维码关注个人微信公众号,谢谢!

   

VIP赞扬专区

相关文章
相关标签/搜索