上周,大数据文摘为大家介绍了在深度学习领域近几年影响力最大的5篇论文(点击链接查看大数据文摘文章《熬过深宫十几载,深度学习上位这五年》),有不少读者在后台留言表示,这些论文的数学部分实在是太难攻克。
相信不少读者在阅读机器学习论文时也都遇到过类似的问题。满怀野心地打开一篇论文,却被里面成片的数学公式地吓得赶紧丢掉了那篇论文。今天,大数据文摘就为大家带来了几个小tips,帮助大家阅读被数学公式堆满的机器学习论文。
这些tips适用于已经有一定数学背景的读者。应有的数学背景包括:基础的线性代数、概率论和微积分。
一大堆数学公式来袭怎么办?简单浏览,重点看结论和意义
在阅读机器学习论文时,你可能经常会碰到这样的论文:它有很长的公式、大量的代数运算,以及大量复杂公式的变换。对于这一类型的论文,你应该做的是,抓住文章的重要结论和意义,而简单略过复杂的数学推导。
当你初次阅读一篇论文时,你的步骤很可能是这样的。首先,你会阅读标题,然后考虑是否阅读摘要。当你阅读完摘要后,你会考虑是否要浏览一遍结果。之后你才会考虑是否浏览全文,等等。人生短暂,要读的文章太多。
阅读代数较多的论文的技巧是,第一次阅读时不要被数学带着走——这是许多学生都会犯的错误。读第一遍时,你不需要理解冗长计算中的所有步骤。你应该浏览一遍数学,并假设它是正确的,在之后的阅读过程中,再一步步加深你的理解。
你要做的是,阅读公式之间的文字描述,以及论文的结论。当你大致搞清楚这篇论文在讲些什么后,你才会去考虑是否要花费时间来研究它的数学部分。
千万不要陷在那些你搞不清楚的步骤中。假设它们都是正确的,然后继续往下看。回头再来理解它们。重复阅读直到你理解透彻。
同时,你需要注意到一个事实:许多时候论文中的数学部分其实是存在错误的。很多时候,这些错误与文章想要表达的论点的无关,但是它们会使你变得困惑不堪。在第一次阅读中,你很难发现这些错误。但当你对论文有了大体的了解后,往往你就能轻松发现这些错误了。
另外,当你阅读那些公式时,确保你理解它们真正的含义。你知道公式中的数学含义,但是你是否了解公式背后的真正的意义呢?你是否能用直白的语言向我解释这个公式的含义?在我问你ELBO的意义时,你能否告诉我,“当我们将ELOB 最大化时,在考虑到已有数据量的情况下,我们估测的后验概率将会十分接近其真实值”?
当你达到这个水准后,推理冗长数学运算会变得简单。那么,如何才能做到这一点呢?答案是:阅读大量理论性论文,做大量的代数运算。没有其他捷径。
数学概念太艰深?尝试用简化版本理解
我们在阅读论文时 ,我们还可能会碰到涉及大量艰深数学概念的论文,比如说Lebesgue 测度、Radon-Nikodym导数、σ代数等等。
相比上一种情况,阅读这种论文更为艰难,因为你很难判断哪一部分重要,哪一部分可以被简单跳过。但技巧还是相似的:别忙着四处查那些数学概念,先浏览一遍再说。
另外一个很实用的技巧是:将复杂概念简化。很多时候,论文作者使用了大量专业的数学概念,以确保他们的推导足够严谨。比方说,他们会考虑到这样的质问:如果这个函数在任何地方都是连续的,但它在何地方都不可微,那你的方法还可行吗?
你要做的是,别钻牛角尖。比方说,当你遇到Radon-Nikodym导数时,直接用比例代替。当你遇到测度时,直接用Riemann积分简单函数代替。
当然,这种方法有时候也是行不通的。一些情况下,你着实需要理解论文中的专业数学部分。这种情况下,如果你的数学功底不够扎实,你就要做好死磕的打算了。
搞清楚自己的阅读目标
最后,也是最重要的一点。不管你用什么方法去阅读论文,你都要搞清楚,你想要从阅读中获取什么。在阅读这些论文时,一个学术专家和一个算法工程师显然有着不同的目标。
简而言之,你的阅读策略最终应该服务于你想要完成的任务,而读懂满是数学公式的机器学习论文本身并不是一个值得追求的目标。