上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人
1.4.1 分析算法理解的维度与路径
一个算法有很多不同维度,典型维度有4个,见表1-5,只有把这些维度都熟悉了,才算熟练掌握了一个算法。
表1-5 分析算法理解的4个维度
不同目的对上面4个维度的侧重点不同。一个算法研究者,要更关注既有算法提出的动机、问题的形式化方法和可能改进点,有了这种思想层面的理解,才可能发展一些新的有用的算法;而教育工作者,除了大概思路外,关注的更多是理论推导;作为一个工程分析应用人员,除了关注应用外,要更关心常见算法的整体概念框架(这样有选择的自由)、算法的适用范围、不同算法组合套路、不同算法包的对比等,在对外交流时,也会关注算法的形象化解释(让其他领域的人快速理解)。
对算法的理解在单个维度可能会遇到瓶颈,这时候不同算法、不同维度的交叉类比可能非常有帮助,用其他类似或相关算法去理解新算法,用算法的对比驱动更深层次的理解,通过阅读源代码(很多优秀算法包)去理解算法的数学公式,通过简单算例对比去理解算法的工作机制。对于工业分析师来说,可以先快速入门,扩大视野,形成直觉研判,然后再分而治之去深入每个算法的理论推导,采用螺旋上升的方式,通过如图1-13所示的交叉印证与检验,以及适度的追求技巧,让数据分析工作充满乐趣,驱动更多更高效率的学习。
图1-13 不同层面问题的交叉理解