初学者学习机器学习课程一般都会面临两大障碍。第一大障碍是数学基础。机器学习要求有数学基础,书中大量的公式是初学者的噩梦,尤其是对于已经离开大学走向工作岗位的爱好者来说,从头开始去学习和理解数据分布和模型背后的数学原理需要花费很多的时间和精力,学习周期非常漫长。第二大障碍是编程实践。并不是所有人都擅长编代码,而只有亲手用代码实现机器学习的各种算法,亲眼见到算法解决了实际问题,才能更深入理解算法。除非想做高精尖的前沿研究,理论研究和公式推导并非大多数人的专长,如果只是想更合理地应用机器学习来解决实际问题,掌握必需的数学知识就可以理解问题该如何解决,使用Python编程实现机器学习算法也比使用C++或Java等语言容易得多。
本书就是为了让初学者顺利入门而设计的。首先,本书只讲述机器学习常用算法的基本原理,并不追求各种算法大而全地简略罗列,学习并深入理解这些精挑细选的算法后,能够了解基本的机器学习算法,使用适合的算法来解决实际问题。其次,本书使用Python 3.7+Numpy来实现常用的机器学习算法,读者能亲眼看见算法的工作过程和结果,可加深对抽象公式和算法的理解,逐步掌握机器学习的基本原理和编程技能,拉近理论与实践的距离。再次,每章都附有习题和习题参考答案,其中,一部分习题是为了帮助读者理解正文内容而设置的,另一部分习题是为了降低正文中的数学要求,将一些必要但枯燥的公式推导放在习题中,供读者有选择性地学习。