缘起

在AIclub看到一篇机器学习入门的文章,回想自己磕磕碰碰走过的弯路,颇有感触,因此对自己从懵懂到稍稍入门过程中看过的教程做一个简单的介绍,希望帮到后来人;

脉络

机器学习这个词起源于20世纪50年代的Authur Samuel,是人工智能研究到一定阶段的必然产物;机器学习的定义比较多,笔者比较认同的是Mitchell给出的定义:如果一个程序P在一个数据集D上通过学习能提升P的性能(performance),那么认为这个程序是一个能够学习的程序;

这里的performance不是通常所说的后台同学理解的性能(和cpu、吞吐率有关)的意思,而是指一个模型或者算法在一个问题上的正确率、召回率等指标;

从发展历程来看,经历了以逻辑规则为代表的推理学习阶段、以决策树位代表的符号主义学习、以神经网络为代表连接主义学习阶段以及以SVM等技术为代表的统计学习阶段;至于2010年前后兴起的deep learning,则是神经网络因为硬件条件、训练算法的提升的有一次走红,所以不单独介绍;

从实际的业务来看,机器学习算法更多是以一种数据处理、数据分析方案的角色出现,这个阶段统计学习相关的算法是绝对的主流;本文也是从这个角度出发来给想入门而不得的同学提供一个入门的阅读list;

推介

限定在统计学习这个范围后,机器学习所涉及到的只是主要包括:数学+算法+编程;其中数学又可分为分析+概率;汇总起来,数学分析+概率统计+算法+编程大概是机器学习入门的基本要求了,下面从这三个角度给出笔者看过觉得比较优质的一些书籍供大家参考

1)分析

数学要用到的主要知识是数学分析和凸优化的一部分理论;

数学分析:首推北大张筑生版的数学分析新讲一套三册;全面深入细致讲解了数学分析的方方面面,如果觉得实数系构造这一块不够严谨,可以参考陶哲轩的实分析前面一两章;

如果不求严谨,无力啃下完整的数学分析又想学习算法的同学,则推荐浙大版高等数学;再次一点可以看华中科技大出版的一元分析学和多元分析学这两本书;名字虽然叫分析学,实际比浙大高数还要简单一些;

优化理论:满分推荐《最优化导论》这本书,作者是Edwin.K.P.Chong,亚马逊有中译本;这本书是我苦寻很久才找到的一本,填补了从高数到学习算法之间那一环的不二法本;第二本推荐是凸优化,不过目前只有英文版,门槛稍高,但是内容清晰简练,非常值得一读;

线性代数:推荐Gilbert Strang的Introduction to linear algebra;不解释,网易上有对应的视频,满分推荐

2)概率

概率论:我对这一块一直不太看得上,所以书比较杂,这里推荐陈希孺的教材吧;

贝叶斯:当之无愧的经典是james O Berger的《统计决策理论与贝叶斯分析》,微盘上有中文版的pdf;国内比较好的是茆诗松写的《贝叶斯统计》这本书;这里有个奇怪的现象,似乎八十年代贝叶斯在国内火过一段时间,然后就沉寂下去了,导致这块我们实际理论知之甚少,如果不是研究lda的时候反复查找才找到这两本书,估计我也是傻乎乎的停留在贝叶斯公式的基础上了;

3)算法

这一块书籍特别多,重点推荐两部我深度看过的和两部还没看但是绝对是经典的书籍

统计学习方法:李航博士写的,李航是华为诺亚方舟的负责人,在统计学习上的造诣非同一般,这本书以极短的篇幅,系统介绍了几乎所有常见算法的数学原理和证明,可以作为常备手册,反复阅读;配合之前推荐的最优化导论,简直天生绝配;

机器学习:周志华版本;Mitchell版本内容稍稍陈旧,周志华版本如果打一个比方的话,就是陈近南交给韦小宝的那本绝世秘籍目录一样;绝世秘籍有很多,但是目录只有薄薄的一本;这本书深入浅出的勾勒了机器学习的大体面貌,并不晦涩艰深,但是对一些基础东西讲的很透,非常适合入门学习;

我还没来得读的有两本:一本是PRML,中文名叫模式识别与机器学习,没有官方的中文版貌似,网上有非官方翻译的版本;另一本是ESL,统计学习基础;贴出来供大家参考;

结语

机器学习的坑很大,里面涉及的内容也非常多,尤其与大数据结合在一起,有一系列的框架、基础设施有待研究;本文只是一个基础入门的介绍,有进一步需求的可以单独聊,或者后面再写一个进阶版吧;

能够给到的一点个人感受就是机器学习不嫌你懂得数学多;有精力、有实力的同学可以在分析的基础上继续往上攀爬:实分析、泛函分析、微分几何、拓扑。。。总有机会可以用到的,否则看到类似再生核希尔伯特空间的高逼格词汇还是和我一样干瞪眼:)