• 一个程序员的数学学习探索之旅
  • 发布时间:2017-01-02 13:19 | 作者:sdsfs | 来源:未知 | 浏览:
  •   (点击上方大众号,可倏地关注)

      起源: 伯乐在线 - colleen__chen

      英文出处:Warren Henning

      如有好文章投稿,请点击 → 这里懂得详情

      如果转载,请发送「转载」二字查看解释

      但凡我们希望从容应对的,必须首先学会勤恳耕耘。—— Samuel Johnson

      只有将根本功练好,你才能变得更强。任何事情都是如此。—— Earl Sweatshirt

      我最近在看一些大学低年级的高数课本。为什么?为什么要用业余时间来学习又难又干燥的高数?

      因为,如此俏丽、壮大、重要的高数,不应该只是我们平时接触到的机器计算。那不是数学的实质。推理和观点之间的接洽才是数学中最重要的,才是数学之美。

      我认为数学是一种未开发的气力。统计学是电脑编程时代的大帮手。我的理想状态是,通过透彻地懂得机器学习和机器视觉来学习统计学、概率论和线性代数。从前的5—7年里,我一直就想这么做。为了到达目标,我必须要有扎实的基本,才干理解为什么。

      你问为什么不辞职回去读书?这真的不适合我。在自己的地盘学习,没有压力,我可能努力尝试项目并且能在此基础上收获新的知识。这让一个初学者可以无拘无束地摸索、学习。有些人可能会选择学习学位。如果你也是这么想的,那太棒了。这篇文章就是写给那些不能或者不愿意通过学校来学习的人。

      独处之时造就自律的习惯

      当我们尝试去学习有难度的东西的时候,会涌现以下这些情形。我们尽全力约束自己,一点一点的达到目标。我们将自己训练成一位自律的、高效的学者。我们强制自己习惯在业余时间来学习。

      这非常拥有挑战:因为我们处于独处的状态。它不同于类似加入军训的学习,只管它们都很艰苦,但是在军训时,你有许多同伴。打个比喻说,你放弃了海豹特遣队的训练,你知道你的行为会直接影响搭档和自己;你必需告知你的朋友、家人和长官:你失败了。但是,如果你决议在业余时间学数学,然后中途而废了,没有人会知道。这不会对你造成任何影响。当然,我的意思不是学数学和成为海豹特遣队员一样困难,而是这件需要单独完成的任务自身就很有挑衅性。不同的目标,不同的办法,你也许不会有许多能够相互交换的学习伙伴。这是独自学习的魅力所在,也是困难所在。

      从工作和家庭中挤出时间来学习是一件很不轻易的事。我们劳碌在这个嘈杂的世界里,而数学学习需要精力高度集中,需要长期的独处时间。找到一个不受打搅的处所是很奢靡的。

      但是,要用心。只要你不放弃,最后终会达到目标。如果你感到疲惫不堪了,休息会儿吧。如果你开始偷懒了,别担心,我也时有发生。只要持续尽力就好了。累了或者有紧迫事件产生的时候,就休息下吧。长期晋升需要稳定、规律的先进。你越是自律,越是走的更快更好。当你变得更好之后,效率也就更高了。你养成的好习惯就是这样转变你的生活的。

      直面你的心魔

      我曾经有许多不良的心理障碍,而且最初我甚至没意识到它们正影响着我。许多次,我都感到,我并没有资格来自学数学,因为也是专家的特权。我对自己说,就算你现在不是硕士又如何呢,别担忧。这句“别担心”影响了我数年。

      我曾听过一句忠告,大体是这么说的:人生不能重来,你的目标就是去找到你毕竟“应该”做什么。问题是,我生来就没有任何天赋。我唯一会的,就是花时间来磨难自己的技能,好比编程。我问自己:为什么不也这样来学习工程数学和统计学呢?

      即便你没有专业的背景,我也希望你能去追求自己喜欢的东西。

      一般人未必不如天才

      假如你跟我一样,对学术工业的各种试验研究有些畏惧,就会认为似乎平凡的我们,没有什么机遇。但这个世界上有太多未解决的问题了,而那些高学历的天才们又是少数,他们不可防止地会疏忽一些问题。我们平常人,实在能从更好的角度来解决问题。研究者们通常不会进行深究;他们只关注他们的课题,解决完一个课题之后,再进行下一个。有价值的洞察力会帮上大忙。我们不用把那些威望专家想得太高大上;他们大多数都只精于自己的专业范畴,在另一些技巧的运用上还不如你。

      可悲的是,许多业内精英都在金融市场中追本逐利,售卖在线广告。他们优秀的技能得不到发挥。正因为如斯,我以为,大量的兴趣喜好者们拥有了在科学领域大展拳脚的机会。

      主张自学数学、科学和工程学

      诚实讲,我连发表这篇文章都觉得紧张。在花了好几个小时来编写这篇文章之后,我甚至将它放在 Google Drive上超过一个月。那些天才们早已熟知所有我了解的东西,并且还有些人是比我更优秀的软件工程师。他们看到我的文章会怎么评估呢?他们中的一些人固然比我年青,但是简直在每个领域都比我优秀。我必须接收这个事实。

      我所希望的收成被焦虑不安所掩盖了。满眼都是冰凉而微妙的等待。笔记本上会写满潦草的各种观点,无解的方程和顿悟的思路。我们所学习到的知识是真正属于本人,并且永远不会失去的财产。让我们勇敢的去尝试,去质疑,去发问,去豪情满满的学习吧。

      附录:书籍推荐

      文章的最后是推荐一些我觉得很有帮助的书籍,希望你们也能喜欢。

      线性代数是机器学习的重要工具,所以我从它开始讲起。一开端,我的想法是使用 MIT 的同本教材。在 Gilbert Strang 的课本中附赠了讲义、视频和其它有用的资源。

      惋惜这本书并不适合我,所以我又找到了另一本。我喜欢 Thomas Shores 写的《Applied Linear Algebra and Matrix Analysis》,但是后来发现它的训练有些无聊,所以,目前我比较推荐 Sheldon Axler 的《 Linear Algebra Done Right》。

      当我开始读这本书的时候,遇到了一件有趣的事情。第一章就呈现了复杂的算法。在读完第一章之后,我意识到,开始读这本书前,我需要做更多的作业。

      当时,因为需要去复习高中数学,我觉得非常丧气:这好像离我的目标更远了。有一天晚上,我甚至哭了,而且真的想过放弃。

      但我清楚,温习更简略的数学是我唯一的选择。我摆平了心态,然后着手寻找适合的教材来复习高中代数、三角和几何。

      我没有应用相似与曾经高中教材的书,而是一些权威的数学家们编写的书。

      我找到了关于基础代数(elementary algebra)、几何(geometry)和三角(trigonometry)的好书。

      我还梳理了有关单变量盘算的知识,所用的教材是 Serge Lang 写的。当然,我觉得它比我高中用过的书要有趣多了。

      我觉得进步我学习数学的方法也很重要。我意识到,以前我做了许多无用功,因为没有找到高效的学习方法。

      我很喜欢Barbara Oakley的《A Mind For Numbers: How to Excel at Math and Science (Even If You Flunked Algebra)》。它讲述了作者成为一名工程教学的不凡之路。同时,它也有许多有效的学习方法。

      对于那些还没有上过必修数学,但又想了解更高阶的数学知识的人来说,一本详解证明和数学推理的书是很有赞助的。在大学,我用的是这本《Foundations Of Higher Mathematics》。这是我学过的最有价值的课程之一。

      我觉得在亚马逊和互联网上寻找好书是很有意义的。你会收获许多惊喜。以下是一些我准备去读,并且我觉得会对你的学习计划有辅助的好书:

    • 《Linear And Geometric Algebra》,作者 Alan Macdonald

    • 《Vector And Geometric Calculus》,作者仍是 Alan Macdonald

    • 《Visual Complex Analysis》,作者 Tristan Needham

    • 《Information Theory, Inference and Learning Algorithms》,作者 David J. C. MacKay

      当然,你也会对其它知识感兴趣。以下是一些你也许会感兴趣的知识点:

    • 与编程语言设计相关的领域实践

    • 与密码学相关的抽象代数和数论

    • 与科学工程类的应用计算问题相关的微分方程,最优化掌握和有限元素法

    • 与金融模型相关的Monte Carlo仿真

    • 与狭义相对论相关的微分几何

    • 与算法剖析相关的离散数学和组合数学

      大家可以有不一样选择。比方说,你可以看 Khan Academy 的视频或者完成 Coursera 的课程。选择的标准是要相符大家自己的程度和专业背景。可能性是无限大的。现在就开始吧!

      感谢以下对本文做出了奉献的朋友们(排名不分先后):Colin Barrett、Patrick Thomson、Phillip Bowden、Tom Burns,、Brandon Burton, 以及 Bradford Stephens。

      特殊感激 Patrick Thomson 和 Phillip Bowden 对本文初版的校稿和提议。

    觉得本文有帮助?请分享给更多人

    关注「算法爱好者」,修炼编程内功

  • 收藏 | 打印
  • 相关内容