具体描述
本书通过正在学习机器学习的程序员绫乃和她朋友美绪的对话,结合回归和分类的具体问题,逐步讲解了机器学习中实用的数学基础知识。其中,重点讲解了容易成为学习绊脚石的数学公式和符号。同时,还通过实际的Python 编程讲解了数学公式的应用,进而加深读者对相关数学知识的理解。
作者简介
立石贤吾
SmartNews公司的机器学习工程师。从日本佐贺大学毕业后曾就职于数家开发公司,并于2014年入职LINE Fukuoka,在该公司于日本福冈市成立的数据分析和机器学习团队中,负责利用机器学习开发推荐系统、文本分类等产品,并担任团队负责人。2019年入职SmartNews公司,担任现职。
目录信息
1.1 对机器学习的兴趣 2
1.2 机器学习的重要性 4
1.3 机器学习的算法 7
1.4 数学与编程 12
第2章 学习回归——基于广告费预测点击量 15
2.1 设置问题 16
2.2 定义模型 19
2.3 最小二乘法 22
2.4 多项式回归 41
2.5 多重回归 45
2.6 随机梯度下降法 52
第3章 学习分类——基于图像大小进行分类 59
3.1 设置问题 60
3.2 内积 64
3.3 感知机 69
3.3.1 训练数据的准备 71
3.3.2 权重向量的更新表达式 74
3.4 线性可分 80
3.5 逻辑回归 82
3.5.1 sigmoid函数 83
3.5.2 决策边界 86
3.6 似然函数 91
3.7 对数似然函数 96
3.8 线性不可分 104
第4章 评估——评估已建立的模型 109
4.1 模型评估 110
4.2 交叉验证 112
4.2.1 回归问题的验证 112
4.2.2 分类问题的验证 117
4.2.3 精确率和召回率 121
4.2.4 F值 125
4.3 正则化 130
4.3.1 过拟合 130
4.3.2 正则化的方法 131
4.3.3 正则化的效果 132
4.3.4 分类的正则化 139
4.3.5 包含正则化项的表达式的微分 140
4.4 学习曲线 144
4.4.1 欠拟合 144
4.4.2 区分过拟合与欠拟合 146
第5章 实现——使用Python编程 153
5.1 使用Python实现 154
5.2 回归 155
5.2.1 确认训练数据 155
5.2.2 作为一次函数实现 158
5.2.3 验证 164
5.2.4 多项式回归的实现 168
5.2.5 随机梯度下降法的实现 176
5.3 分类——感知机 179
5.3.1 确认训练数据 179
5.3.2 感知机的实现 182
5.3.3 验证 185
5.4 分类——逻辑回归 188
5.4.1 确认训练数据 188
5.4.2 逻辑回归的实现 189
5.4.3 验证 194
5.4.4 线性不可分分类的实现 197
5.4.5 随机梯度下降法的实现 204
5.5 正则化 206
5.5.1 确认训练数据 206
5.5.2 不应用正则化的实现 210
5.5.3 应用了正则化的实现 212
5.6 后话 215
附录
A.1 求和符号、求积符号 218
A.2 微分 220
A.3 偏微分 224
A.4 复合函数 227
A.5 向量和矩阵 229
A.6 几何向量 233
A.7 指数与对数 237
A.8 Python环境搭建 241
A.9 Python基础知识 244
A.10 NumPy基础知识 254
· · · · · · (收起)
读后感
最近在思考如何把专业的东西用白话的方式讲给大众。发现难点有三个:1.要通俗;2.要保持原意,不能为了通俗而曲解;3.要保证白话后读者不会曲解。显然这本书都做到了,推荐。 整本书的内容篇幅其实不大,讲了机器学习的回归,分类,模型。对于不了解的人来说这是本很好的科普书...
我对于数学的理解其实已经不算是小白级别了。毕竟在数学系辅修过所有的主干课程,机器学习初阶的小三门(微积分、线代、概统)都已经玩得不说滚瓜烂熟,也是刷题无数了。 但是作为机器学习领域的小白,数学小三门还并没有充分地学以致用过。所以多少并不是很能把知识嫁接过去—...
最近在思考如何把专业的东西用白话的方式讲给大众。发现难点有三个:1.要通俗;2.要保持原意,不能为了通俗而曲解;3.要保证白话后读者不会曲解。显然这本书都做到了,推荐。 整本书的内容篇幅其实不大,讲了机器学习的回归,分类,模型。对于不了解的人来说这是本很好的科普书...
我对于数学的理解其实已经不算是小白级别了。毕竟在数学系辅修过所有的主干课程,机器学习初阶的小三门(微积分、线代、概统)都已经玩得不说滚瓜烂熟,也是刷题无数了。 但是作为机器学习领域的小白,数学小三门还并没有充分地学以致用过。所以多少并不是很能把知识嫁接过去—...
我对于数学的理解其实已经不算是小白级别了。毕竟在数学系辅修过所有的主干课程,机器学习初阶的小三门(微积分、线代、概统)都已经玩得不说滚瓜烂熟,也是刷题无数了。 但是作为机器学习领域的小白,数学小三门还并没有充分地学以致用过。所以多少并不是很能把知识嫁接过去—...
用户评价
**书评五** 这本书最让我感到惊喜的是其对“为什么”的深入探讨,而非仅仅停留在“是什么”的层面。许多算法的描述仅仅告诉你“这样做能得到结果”,但这本书却花心思去挖掘这些算法背后的哲学思想和数学上的优雅性。比如在介绍梯度下降法时,作者不仅详细解释了学习率的选择,还探讨了鞍点和局部最优解的物理意义,并顺带介绍了动量法和Adam等优化器是如何从数学上解决这些问题的。这使得阅读过程不再是简单的知识积累,而更像是一场智力上的探索之旅。每当我觉得自己快要跟不上时,作者总能用一个巧妙的比喻或类比将我拉回来,让我重新聚焦核心思想。这本书的价值在于,它不仅教你如何使用工具,更重要的是,它在培养你对机器学习领域深层次的思考能力和批判性看待现有模型的视角。
**书评三** 这本书的结构编排,简直是为自学者量身定做的。它不是那种将所有理论一股脑塞给读者的教科书,而是采用了项目驱动的学习路径。每一章的理论讲解后,都会紧跟着一个清晰的实践案例,而且这个案例的复杂度是逐步递增的。更妙的是,作者在代码示例的选择上非常讲究,他没有使用那些过度封装的库函数,而是倾向于展示更底层的实现逻辑,尽管这会让初学者稍微多花点时间去理解,但一旦理解了,那种成就感是无与伦比的。我特别喜欢书中关于模型评估与调优那一块的处理方式,他没有停留在准确率(Accuracy)这个单一指标上,而是深入探讨了查准率、查全率、F1分数乃至ROC曲线的真正含义,并且通过具体的场景告诉你,在什么业务场景下应该优先关注哪一个指标。这种实用主义的教学方法,极大地提升了我的动手能力和解决实际问题的信心。
**书评一** 这本书的篇幅和内容深度,完全超出了我对一本初级教材的预期。我本来以为会是那种浅尝辄止的入门读物,结果发现作者在基础概念的阐述上花了大量的笔墨,比如线性代数和概率论的基础知识,他没有直接扔一堆公式,而是尝试用一种更贴近直觉的方式去解释,比如用几何的视角去看待向量运算,或者用生活中的例子来模拟概率分布的含义。这对于我这种数学基础相对薄弱的读者来说,简直是救星。读完这些章节,我感觉对那些看似高深的数学工具不再是望而生畏,而是有了一种“原来如此”的豁然开朗的感觉。特别是他处理矩阵分解那一部分,没有直接陷入到复杂的推导细节里,而是着重强调了分解的意义和应用场景,这让我能更好地理解为什么这些数学工具在机器学习中如此重要。这本书的讲解方式,更像是一位经验丰富的导师,他知道你在哪里会绊倒,然后提前为你铺好平坦的道路,而不是直接把难题甩在你面前让你自己去啃。
**书评二** 我必须承认,我通常对那些声称“白话”的科技书籍持怀疑态度,因为很多时候“白话”只是意味着简化到失去了本质。然而,这本关于机器学习的书籍在保持技术严谨性的同时,确实做到了令人惊叹的“可读性”。它最吸引我的地方在于,作者非常擅长构建叙事线索,将算法的发展脉络讲得如同侦探小说一般引人入胜。比如在讲述决策树的构建过程时,他不仅仅是罗列了ID3或C4.5的公式,而是详细描绘了“信息增益”这个概念是如何从一个直观的“减少不确定性”的想法一步步被量化出来的。这种从需求到解决方案的构建过程,让我能清晰地看到每一步数学操作背后的动机。我尤其欣赏作者在引入复杂模型(比如支持向量机)时所采用的循序渐进的策略,先从简单的线性可分问题入手,再通过核技巧巧妙地过渡到非线性问题,整个过程如行云流水,毫无拖沓感。
**书评四** 从排版和视觉设计上看,这本书也体现了作者对读者的尊重。纸张的质量很不错,即便是长时间阅读也不会感到眼睛疲劳。更重要的是,图表的质量达到了专业水准。很多机器学习的书籍在绘制流程图或模型结构图时,往往显得拥挤不堪,让人看了就头疼。但在这里,图表清晰、简洁,并且每张图都有明确的标注和解释,很多抽象的概念,比如高维空间的超平面,通过作者精心设计的二维投影图示,一下子就变得具体可感了。我花了大量时间去研究其中关于正则化(L1和L2)的对比图,那张图直观地展示了它们如何影响权重向量的稀疏性和大小,比纯文字描述有效了百倍。这种对视觉化教学的重视,无疑是这本书的一大亮点,它有效地弥补了纯文本在解释空间几何概念时的天然劣势。
非常适合初学者,看懂了不少公式。 最后来个归类总结就更好了。
纯小白,看不懂,数学基础太薄弱。
本书讲解的基础知识非常实用,掌握这些知识之后,既可以加深对程序库内部机制的理解,也可以去实现机器学习的算法,还可以去阅读最新的论文,总之可以自由尝试各种实践。
看日系书真的好难不懂hh
通俗易懂,建议先看附录A的数学基础部分。对于数学忘得差不多的同学真的是太贴心了。机器学习入门推荐必看。