从零开始:机器学习的数学原理和算法实践
上QQ阅读APP看书,第一时间看更新

前  言

虽然目前机器学习受到大众的欢迎和热捧,但由于机器学习既涉及编程基础又涉及微积分、线性代数及概率统计等数学知识,学科的综合性很强,因此大部分读者只能望而却步。同时,市面上的很多机器学习相关图书往往存在两个极端。

(1)浅尝辄止,止于通识。这类图书主要以通识类机器学习介绍为主,几乎不机器学习算法原理进行详细描述,只简单概括算法的用途和优缺点。这类图书虽然能够满足零基础读者对机器学习的“扫盲”需求,但难以满足广大读者深入了解机器学习算法原理的核心需求。

(2)满页公式,令人望而生畏。这类图书常用大量公式推导来展示机器学习算法原理,对数学基础薄弱的读者来说,这类图书阅读起来非常困难数学基础薄弱的读者往往翻上几页之后便将其束之高阁,不再问津。

既能通俗直白地讲解机器学习算法原理,又能对机器学习关键的数学原理进行细致入微的讲解,并且还能通过手把手的代码案例教学帮助读者快速入门,这些就是本书所要实现的目标。总体来说,本书主要具有以下特点。

(1)形象直白地讲解机器学习算法原理。本书用直白、形象、生动的语言向读者讲述机器学习的关键知识,如机器学习是什么、机器学习的流程环节有哪些、机器学习的核心过程是怎样的、机器学习的典型算法内容等,使零基础读者也能够深入理解机器学习算法原理。

(2)细致讲解关键数学原理。读者要真正理解机器学习的底层原理很难完全脱离数学知识,因此,通俗直观地讲解机器学习的数学原理就是本书的特色与亮点。本书梳理了机器学习中常用的数学知识点,并直观、形象地进行讲述,帮助读者夯实数学基础。同时,本书针对重点内容如凸优化与梯度下降、数据降维与主成分分析(PCA)等进行深入讲解,保证读者能够理解并掌握核心内容。

(3)代码分段讲解,帮助读者上手实操。目前,有些图书的代码部分冗长没有详细解释,这导致编程基础较为薄弱的读者面对大量代码产生畏难情绪。本书对代码部分进行拆分讲解,对每一个小模块进行细致讲解,非常适合编程基础较为薄弱的读者学习

机器学习是一门综合性极强的学科,既包含微积分、线性代数和概率统计等高等数学基础知识,又包含编程语法与工业实践经验,因此学习门槛相对较高。如何降低机器学习的学习门槛而又保证学习的深度,是一个亟待解决的难题。本书在内容编排上根据读者不同的知识背景,力图做到知识讲解“直白形象,层层递进”。

(1)补基础。第1~第3章用直观形象的讲解方式,帮助读者夯实微积分、线性代数和概率统计的基础。这部分不是简单地将大学教科书的内容照搬过来,而是强调数学知识讲解的“直观形象、可感知”,希望读者阅读之后产生“原来如此”的感受,将大学阶段很多不明白的数学知识彻底搞清楚。

(2)机器学习的全景与关键。第4~第6章讲述机器学习的全景脉络和关键内容,如凸优化与梯度下降、数据降维与PCA等,帮助读者理解机器学习的全貌。

(3)算法与代码详解。第7~第14章讲述各个典型算法的来龙去脉,用最直观形象的语言描述最本质的原理,使零基础读者也能够快速理解算法原理。

本书充分考虑了零基础读者希望深度理解机器学习算法原理的需求,力求在直观形象、通俗易懂与深度讲解之间取得较好的平衡。本书主要面向下述读者群体。

(1)零基础机器学习的读者。零基础读者可以跳过数学基础相关章节,直接阅读机器学习的相关内容。本书机器学习算法原理的讲解从大众非常熟悉的线性回归等算法入手,并且尽可能使用文字来描述,从而保证零基础读者也能够快速理解机器学习算法原理。

(2)希望了解数学原理的读者。相当一部分读者希望更加深入地了解机器学习背后的数学原理,从而对机器学习有更为深入的掌握。针对这部分读者,本书提供了“补基础”和“搞懂算法”相关章节涉及的数学原理,希望帮助数学基础薄弱的读者夯实数学基础,让读者产生“原来这个数学知识是这样的啊”的感受,从而更加深刻理解机器学习背后的数学原理。

(3)编程基础薄弱的读者。本书代码实现过程部分实行的是分模块详解,对于编程基础较为薄弱的读者帮助较大。

(4)机器学习初、中级水平的读者。总体来说,本书适合机器学习初、中级水平的读者使用,能够有效帮助初、中级水平读者理解机器学习背后的数学原理。

大威

2021年5月