数学公式不好理解?试试加上语法高亮

2017 年 12 月 18 日 论智 weakish
来源:BetterExplained
编译:weakish

有关机器学习的文章中往往有一些数学公式。不知道你看到这些公式是什么感觉?反正论智君看到这些公式时常常心烦意乱。好吧,论智君数学不好,不过,论智君觉得,这其中也有部分原因是数学公式的表示系统设计得不好。

著名教育家、UCL荣休教授Dylan Wiliam在《Embedded Formative Assessment》一书中就写道:

我经常让教师写下4x和4½。接着,我问他们4和x之间的数学运算是什么,大多数教师意识到是乘法。我又问4和½之间的数学运算是什么,当然是加法。然后,我询问这些教师之中是否有人以前曾注意到这种数学符号的不一致性——当数字相邻时,有时意味着乘,有时意味着加,有时则是完全不同的意义,比如43。大多数教师从来没有注意到这种不一致,这大概是他们在学校能够取得成功的原因。为此发愁并提问为什么的学生可能会被告知不要问愚蠢的问题,尽管这其实是一个相当聪明的问题,同时恰恰显示出一种对数学家来说可能很有帮助的好奇心——但他必须先过学校这一关!

这种不一致的例子在数学所用的符号系统中到处都是。比如,sin2(x)表示(sin x)2,可sin-1(x)并不表示(sin x)-1(即1/(sin x))!相反,sin-1(x)表示的是arcsin x。这种不一致的根源是,反函数f-1和幂运算混用了同一个符号。

然后,数学所用的符号系统大量采用一些“约定俗成”的记号,从而碰巧绕过了这个混用符号的问题。比如,上面的f-1会被解读为函数f的反函数,而不会被解读为某个数f的倒数,相反,x-1会被解读为某个数x的倒数,而不是函数x的反函数。这是因为数学符号系统约定俗成地用f表示函数。类似地,x约定俗成地用来表示函数的变量。而类似ax+b这样的式子,约定俗成x是函数的变量,a和b则是两个常数,尽管看上去a、b、x都可能是变量,也都可能是常数。

这又带来了另一个问题,扩展性差。因为不一致的设计和混用符号,导致数学的符号系统大量依赖约定俗成的记号来区分不同的语义,随着数学的发展,需要大量的符号。很快数学家就发现拉丁字母不够用了,所以就开始引入各种各样的字母,希腊字母,希伯来字母……还不够,又引入各种字体,斜体、粗体、花体、中空的字体……即使引入了这么多千奇百怪的字母,还是不够用。因此,同一符号在不同的数学分支下完全可能表示风马牛不相及的意思。这又进一步加剧了不一致性。

如果我们去看程序语言,就会发现,程序语言避免了很多数学符号系统的缺陷。比如,上文引用的Dylan Wiliam书中的例子,在通常认为设计优雅的Lisp类语言中写作:

  
    
    
    
  1. (* 4 x)

  2. (+ 4 (/ 1 2))

  3. 43

在使用通常的C类语法的程序语言中写作:

  
    
    
    
  1. 4 * x

  2. 4 + 1/2

  3. 43

区分都很明显,不会让人困惑。

另外,在靠谱的编辑器、IDE乃至web网站上,程序语言都有语法高亮,这样可读性就更好了。

数学的符号系统是在漫长的历史中自发地形成地,短期内要彻底变革不太现实。不过,程序语言的语法高亮,完全可以引入数学符号系统。

上周,Amazon bestseller《Math, Better Explained》的作者Kalid Azad就尝试将语法高亮引入了数学符号系统:

上图是贝叶斯定理的高亮版本。紫色的Pr代表要计算的条件概率,黄色的E代表证据,蓝色的H代表假说。绿色代表正例,红色代表反例。这样高亮了以后,是不是好理解很多?

Kalid Azad的灵感来源是多年前尝试解释傅里叶变换时在网上搜到的一个示意图

目前,Kalid Azad正在开发一个可视化工具用于高亮数学公式。Azad也发布了他所用的高亮数学公式的LaTex模板:

  
    
    
    
  1. \newcommand{\growth}{\color{c1}}

  2. \newcommand{\unitQuantity}{\color{c2}}

  3. \newcommand{\unitInterest}{\color{c3}}

  4. \newcommand{\unitTime}{\color{c4}}

  5. \newcommand{\perfectly}{\color{c5}}

  6. \newcommand{\compounded}{\color{c6}}

  7. $$\growth e

  8. \plain =

  9. \perfectly \lim_{n\to\infty}

  10. \plain \left(

  11. \unitQuantity 1 + \unitInterest \frac{1}{\compounded n}

  12. \plain \right)

  13. \unitTime^{1 \cdot \compounded n}

  14. $$

  15. \growth       The base for continuous growth

  16. \plain        is

  17. \\

  18. \unitQuantity the unit quantity

  19. \unitInterest earning unit interest

  20. \unitTime     for unit time,

  21. \\

  22. \compounded   compounded

  23. \perfectly    as fast as possible

登录查看更多
0

相关内容

数学是关于数量、结构、变化等主题的探索。
最新《机器学习理论初探》概述
专知会员服务
48+阅读 · 2020年5月19日
【干货书】流畅Python,766页pdf,中英文版
专知会员服务
226+阅读 · 2020年3月22日
机器学习速查手册,135页pdf
专知会员服务
342+阅读 · 2020年3月15日
麻省理工学院MIT-ICLR2020《神经网络能推断出什么?》
专知会员服务
51+阅读 · 2020年2月19日
【经典书】精通机器学习特征工程,中文版,178页pdf
专知会员服务
360+阅读 · 2020年2月15日
知识神经元网络 KNN(简介),12页pdf
专知会员服务
15+阅读 · 2019年12月25日
可视化理解四元数,愿你不再掉头发
计算机视觉life
31+阅读 · 2019年1月2日
博客 | MIT—线性代数(上)
AI研习社
9+阅读 · 2018年12月18日
博客 | 机器学习中的数学基础(凸优化)
AI研习社
14+阅读 · 2018年12月16日
SVM大解密(附代码和公式)
机器学习算法与Python学习
6+阅读 · 2018年5月22日
入门 | 这是一份文科生都能看懂的线性代数简介
机器之心
13+阅读 · 2018年3月31日
文本情感分析的预处理
Datartisan数据工匠
17+阅读 · 2018年3月8日
大学数学不好,或许是数学教材的锅?
算法与数学之美
15+阅读 · 2017年8月1日
[有意思的数学] 参数估计
机器学习和数学
15+阅读 · 2017年6月4日
Arxiv
5+阅读 · 2019年4月21日
Arxiv
5+阅读 · 2018年5月28日
Arxiv
11+阅读 · 2018年3月23日
Arxiv
9+阅读 · 2018年1月4日
Arxiv
3+阅读 · 2017年12月18日
VIP会员
相关资讯
可视化理解四元数,愿你不再掉头发
计算机视觉life
31+阅读 · 2019年1月2日
博客 | MIT—线性代数(上)
AI研习社
9+阅读 · 2018年12月18日
博客 | 机器学习中的数学基础(凸优化)
AI研习社
14+阅读 · 2018年12月16日
SVM大解密(附代码和公式)
机器学习算法与Python学习
6+阅读 · 2018年5月22日
入门 | 这是一份文科生都能看懂的线性代数简介
机器之心
13+阅读 · 2018年3月31日
文本情感分析的预处理
Datartisan数据工匠
17+阅读 · 2018年3月8日
大学数学不好,或许是数学教材的锅?
算法与数学之美
15+阅读 · 2017年8月1日
[有意思的数学] 参数估计
机器学习和数学
15+阅读 · 2017年6月4日
相关论文
Top
微信扫码咨询专知VIP会员