1.2 如何学习算法

前面介绍了数据分析、数据挖掘和机器学习三个概念,并且阐述了三者对应的工程师在工作职能上与算法工程师之间的区别与联系。总体而言,算法工程师的要求比较全面,既要求懂数据分析,又要求懂算法模型。

算法是一个很大的概念,AI算法的相关知识至少涵盖了数据分析、数据挖掘、机器学习的相关知识。无论是哪方面的内容,所涉及的理论、方法和工具,都能形成一本书的内容。而相关书籍之多,加上缺乏较为清晰和完整的学习路线,往往让大部分初学者望而却步,面对庞杂的知识体系无从下手。此外,将算法的所有相关知识浓缩到一本只有200多页的书中,也是很难办到的。

那么,究竟如何入门算法比较合适?要学习一个未知领域的知识,一种比较直观的学习方式是,先了解这个未知领域的核心是什么,把握整个领域的重要组成部分与大致脉络,再对各个局部领域的延伸与拓展填充学习,丰富各个部分的内容细节。这种学习方法的好处有二:其一,尽早对未知领域有一个整体的认识,可以降低学习过程中的倦怠性,使学习更有动力;其二,这种学习方式能帮助读者尽早具备未知领域知识的完整性,有助于在学习过程中宏观把控学习进度,使所学内容更有针对性。

基于上述考量,本书想做的正是这样一件帮助读者构建算法认知骨架的事情。因为无论是基础数学、基础算法,还是模型算法、工程实战,各自展开都远不止本书所讲内容。本书的主旨中心思想很简单,就是给大家展示AI算法世界的全貌。希望本书在读者入门算法的道路上,可以起到抛砖引玉的作用。本书要论述的知识面非常广,对于各个环节之中未能提及的内容和细节,读者可以根据自己的兴趣自行查阅相关资料,进行延伸学习。