鸢尾花机器学习全书豪装典藏版 全7册 编号限量1111套 收藏

  • 书籍语言:简体中文
  • 下载次数:1920
  • 书籍类型:Epub+Txt+pdf+mobi
  • 创建日期:2025-09-17 11:10:02
  • 发布日期:2025-09-17
  • 连载状态:全集
  • 书籍作者:姜伟生
  • 运行环境:pc/安卓/iPhone/iPad/Kindle/平板

内容简介

《鸢尾花机器学习全书》是一套完整的机器学习入门路线图。套书共有7本,分别对应机器学习以及学习过程中的相关知识,包括《编程不难》《可视之美》《数学要素》《矩阵力量》《统计至简》《数据有道》和《机器学习》。

本套书的目标是帮助零基础的读者入门机器学习,解决学习过程中遇到的编程困难和数学难懂等问题,特别适合大学新生和那些数学基础较弱的读者。


作者简介

姜伟生 博士 FRM。

勤奋的小镇做题家,热爱知识可视化和开源分享。自2022年8月开始,在GitHub上开源“鸢尾花书”学习资源,截至2025年9月,已经分享8000多页PDF、7000多幅矢量图、约5000个代码文件,全球读者数以万计,GitHub全球排名TOP100。


编辑推荐

这是一套前所未见的数据可视化入门书,颜值极高。姜伟生博士自谦“小镇做题家”,实际上他是国际著名金融企业的金融科技专家。很难想象一位以“术数”为业的金融家具备如此彻底的分享动机,同时,姜博士有着卓越的艺术品位和设计能力,不仅承担了这套书的精深内容,更承担了全系图书的整体设计。希望读者从枯燥的常规数学书中解脱出来,赏心悦目地慢慢走入缤纷的AI宇宙。

下载地址

序言

Preface

前言

感谢

首先感谢大家的信任。

作者仅仅是在学习应用数学科学和机器学习算法时,多读了几本数学书,多做了一些思考和知识整理而已。知者不言,言者不知。知者不博,博者不知。由于作者水平有限,斗胆把自己有限所学所思与大家分享,作者权当无知者无畏。希望大家在B站视频下方和GitHub多提意见,让“鸢尾花”丛书成为作者和读者共同参与创作的优质作品。

特别感谢清华大学出版社的栾大成老师。从选题策划、内容创作到装帧设计,栾老师事无巨细、一路陪伴。每次与栾老师交流,都能感受到他对优质作品的追求、对知识分享的热情。

出来混总是要还的

曾经,考试是我们学习数学的唯一动力。考试是头悬梁的绳,是锥刺股的锥。我们中的绝大多数人从小到大为各种考试埋头题海,学数学味同嚼蜡,甚至对其恨之入骨。

数学给我们带来了无尽的“折磨”。我们甚至恐惧数学,憎恨数学,恨不得一走出校门就把数学抛之脑后,老死不相往来。

可悲可笑的是,我们很多人可能会在毕业五年或十年以后,因为工作需要,不得不重新学习微积分、线性代数、概率统计,悔恨当初没有学好数学,走了很多弯路,没能学以致用,甚至迁怒于教材和老师。

这一切不能都怪数学,值得反思的是我们学习数学的方法和目的。

再给自己一个学数学的理由

为考试而学数学,是被逼无奈的举动。而为数学而学数学,则又太过高尚而遥不可及。

相信对于绝大部分人来说,数学是工具,是谋生手段,而不是目的。我们主动学数学,是想用数学工具解决具体问题。

现在,本丛书给大家带来一个学数学、用数学的全新动力—数据科学、机器学习。

数据科学和机器学习已经深度融合到我们生活的方方面面,而数学正是开启未来大门的钥匙。不是所有人生来都握有一副好牌,但是掌握“数学 + 编程 + 机器学习”的知识绝对是王牌。这次,学习数学不再是为了考试、分数、升学,而是为了投资时间,实现自我,面向未来。

未来已来,你来不来?

鸢尾花书的整体布局(平装版封面)


更多内容请扫码:



本丛书如何帮到你

为了让大家学数学、用数学,甚至爱上数学,作者可谓颇费心机。在本丛书创作时,作者尽量克服传统数学教材的各种弊端,让大家学习时有兴趣、看得懂、有思考、更自信、用得着。

为此,本丛书在内容创作上突出以下几个特点。

数学 + 艺术—全彩图解,极致可视化,让数学思想跃然纸上,生动有趣、一看就懂,同时提高大家的数据思维、几何想象力和艺术感。

零基础—从零开始学习Python编程,从写第一行代码到搭建数据科学和机器学习应用。

知识网络—打破数学板块之间的壁垒,让大家看到代数、几何、线性代数、微积分、概率统计等板块之间的联系,编织一张绵密的数学知识网络。

动手—授人以鱼不如授人以渔,和大家一起写代码,用Streamlit创作数学动画、交互App。

学习生态—构造自主探究式学习生态环境“微课视频 + 纸质图书 + 电子图书 + 代码文件 + 可视化工具 + 思维导图”,提供各种优质学习资源。

理论 + 实践—从加减乘除到机器学习,丛书内容安排由浅入深,螺旋上升,兼顾理论和实践;在编程中学习数学,在学习数学时解决实际问题。

虽然本丛书标榜“从加减乘除到机器学习”,但是建议读者朋友们至少具备高中数学知识。如果读者正在学习或曾经学过大学数学 (微积分、线性代数、概率统计),那么就更容易读懂本丛书了。

聊聊数学

数学是工具。锤子是工具,剪刀是工具,数学也是工具。

数学是思想。数学是人类思想高度抽象的结晶。在其冷酷的外表之下,数学的内核实际上就是人类朴素的思想。学习数学时,知其然,更要知其所以然。不要死记硬背公式、定理,理解背后的数学思想才是关键。如果你能画一幅图,用大白话描述清楚一个公式、一则定理,这就说明你真正理解了它。

数学是语言。就好比世界各地不同种族有自己的语言,数学则是人类共同的语言和逻辑。数学这门语言极其精准,高度抽象,放之四海而皆准。虽然我们中大多数人没有被数学“女神”选中,不能为人类对数学认知开疆拓土,但是这丝毫不妨碍我们使用数学这门语言。就好比,我们不会成为语言学家,但是我们完全可以使用母语和外语交流。

数学是体系。代数、几何、线性代数、微积分、概率统计、优化方法等,看似一个个孤岛,实际上它们都是由数学网络连接起来的。建议大家在学习时,特别关注不同数学板块之间的联系,见树,更要见林。

数学是基石。拿破仑曾说:“数学的日臻完善和国强民富息息相关。”数学是科学进步的根基,是经济繁荣的支柱,是保家卫国的武器,是探索星辰大海的航船。

数学是艺术。数学和音乐、绘画、建筑一样,都是人类艺术体验。通过可视化工具,我们会在看似枯燥的公式、定理、数据背后,发现数学之美。

数学是历史,是人类共同记忆体。“历史是过去,又属于现在,同时在指引未来。”数学是人类的集体学习思考,它把人的思维符号化、形式化,进而记录、积累、传播、创新、发展。从甲骨、泥板、石板、竹简、木牍、纸草、羊皮卷、活字印刷字模、纸张,到数字媒介,这一过程持续了数千年,至今绵延不息。

数学是无穷无尽的想象力,是人类的好奇心,是自我挑战的毅力,是一个接着一个的问题,是看似荒诞不经的猜想,是一次次胆大包天的批判性思考,是敢于站在前人肩膀之上的勇气,是孜孜不倦地延展人类认知边界的不懈努力。

家园、诗、远方

诺瓦利斯曾说:“哲学就是怀着一种乡愁的冲动到处去寻找家园。”

在纷繁复杂的尘世,数学纯粹得就像精神的世外桃源。数学是一束光、一条巷、一团不灭的希望、一股磅礴的力量、一个值得寄托的避风港。

打破陈腐的锁链,把功利心暂放一边,我们一道怀揣一份乡愁,心存些许诗意,伴随艺术维度,投入数学张开的臂膀,驶入它色彩斑斓、变幻无穷的深港,感受久违的归属,一睹更美、更好的远方。


Acknowledgement

致谢

To my parents.

谨以此书献给我的母亲和父亲。


How to Use the Book

使用本书

丛书资源

本系列丛书提供的配套资源有以下几个。


纸质图书。

PDF文件,方便移动终端学习。请大家注意,纸质图书经过出版社五审五校修改,内容细节上会与PDF文件有出入。

每章提供思维导图。

Python代码文件,直接下载运行,或者复制、粘贴到Jupyter运行。

Python代码中有专门用Streamlit开发的数学动画和交互App的文件。

微课视频,强调重点、讲解难点、聊聊天。


在纸质图书中,为了方便大家查找不同配套资源,作者特别设计了以下几个标识。


微课视频

本书配套微课视频均发布在B站—生姜DrGinger。


https://space.bilibili.com/513194466


微课视频是以“聊天”的方式,和大家探讨某个数学话题的重点内容,讲解代码中可能遇到的难点,甚至侃侃历史,说说时事,聊聊生活。

本书配套微课视频的目的是引导大家自主编程实践、探究式学习,并不是“照本宣科”。

纸质图书上已经写得很清楚的内容,视频课程只会强调重点。需要说明的是,图书内容不是视频的“逐字稿”。

App开发

本书配套多个用Streamlit开发的App,用来展示数学动画、数据分析、机器学习算法。

Streamlit是个开源的Python库,能够方便、快捷地搭建、部署交互型网页App。Streamlit简单易用,很受欢迎。Streamlit兼容目前主流的Python数据分析库,比如NumPy、Pandas、Scikit-Learn、PyTorch、TensorFlow等。Streamlit还支持Plotly、Bokeh、Altair等交互可视化库。

本书中很多App设计都采用Streamlit + Plotly方案。此外,本书专门配套教学视频手把手和大家一起做App。



大家可以参考如下页面,更多地了解Streamlit:


https://streamlit.io/gallery

https://docs.streamlit.io/library/api-reference

实践平台

本书作者编写代码时采用的IDE (Integrated Development Environment) 是Spyder,目的是给大家提供简洁的Python代码文件。

但是,建议大家采用JupyterLab或Jupyter Notebook作为“鸢尾花书”配套学习工具。

简单来说,Jupyter集“浏览器 + 编程 + 文档 + 绘图 + 多媒体 + 发布”众多功能于一身,非常适合探究式学习。

运行Jupyter无须IDE,只用到浏览器。Jupyter容易分块执行代码。Jupyter支持inline打印结果,直接将结果图片打印在分块代码下方。Jupyter还支持很多其他语言,如R和Julia。

使用Markdown文档编辑功能,可以在编程的同时写笔记,不需要额外创建文档。在Jupyter中插入图片和视频链接都很方便,此外还可以插入LaTex公式。对于长文档,可以用边栏目录查找特定内容。

Jupyter发布功能很友好,方便输出为HTML、PDF等格式文件。

Jupyter也并不完美,目前尚待解决的问题有几个:


Jupyter中代码调试不是特别方便。比如Jupyter没有variable explorer,不过我们可以在线打印数据,也可以将数据写到CSV或Excel文件中再打开。

Matplotlib图像结果不具有交互性,如不能查看某个点的值或者旋转3D图形,此时可以考虑安装 (Jupyter Matplotlib)。

注意,利用Altair或Plotly绘制的图像支持交互功能。对于自定义函数,目前没有快捷键直接跳转到其定义。但是,很多开发者针对这些问题正在开发或已经发布相应插件,请大家留意。

大家可以下载安装Anaconda,将JupyterLab、Spyder、PyCharm等常用工具,都集成在Anaconda中。下载Anaconda的地址为:


https://www.anaconda.com/


JupyterLab探究式学习视频:


代码文件

本书的Python代码文件下载地址为:



同时也在如下GitHub地址备份更新:


https://github.com/Visualize-ML


Python代码文件会不定期修改,请大家注意更新。图书原始创作版本PDF(未经审校和修订,内容和纸质版略有差异,方便移动终端碎片化学习以及对照代码)和纸质版本勘误也会上传到这个GitHub账户。因此,建议大家注册GitHub账户,给书稿文件夹标星 (Star) 或分支克隆 (Fork)。

考虑再三,作者还是决定不把代码全文印在纸质书中,以便减少篇幅,节约用纸。

本书编程实践例子中主要使用“鸢尾花数据集”,数据来源是Scikit-Learn库、Seaborn库。要是给“鸢尾花”系列起个昵称的话,作者乐见“鸢尾花书”。

学习指南

大家可以根据自己的偏好制定学习步骤,本书推荐如下步骤。


学完每章后,大家可以在社交媒体、技术论坛上发布自己的Jupyter笔记,进一步听取朋友们的意见,共同进步。这样做还可以提高自己学习的动力。

另外,建议大家采用纸质书和电子书配合阅读学习。学习主阵地在纸质书上,学习基础课程最重要的是沉下心来,认真阅读并记录笔记;电子书可以配合查看代码,相关实操性内容可以直接在电脑上开发、运行、感受,还可以同步记录Jupyter笔记。

强调一点:学习过程中遇到困难,要尝试自行研究解决,不要第一时间就去寻求他人帮助。

意见和建议

欢迎大家对“鸢尾花书”提意见和建议,丛书专属邮箱地址为:


jiang.visualize.ml@gmail.com


也欢迎大家在B站视频下方留言互动。


目录

绪论 1

第1板块 综述 5

第1章 机器学习 7

1.1 什么是机器学习 8

1.2 回归:找到自变量与因变量关系 10

1.3 分类:针对有标签数据 14

1.4 降维:降低数据维度,提取主要特征 16

1.5 聚类:针对无标签数据 20

1.6 机器学习流程 21

1.7 下一步学什么? 24

第2板块 回归 25

第2章 回归分析 27

2.1 线性回归:一个表格、一条直线 29

2.2 方差分析 (ANOVA) 32

2.3 总离差平方和 (SST) 35

2.4 回归平方和 (SSR) 37

2.5 残差平方和 (SSE) 38

2.6 几何视角:勾股定理 40

2.7 拟合优度:评价拟合程度 42

2.8 F检验:模型参数不全为0 44

2.9 t检验:某个回归系数是否为0 46

2.10 置信区间:因变量均值的区间 50

2.11 预测区间:因变量特定值的区间 51

2.12 对数似然函数:用在最大似然估计 (MLE) 51

2.13 信息准则:选择模型的标准 52

2.14 残差分析:假设残差服从均值为0的正态分布 53

2.15 自相关检测:Durbin-Watson 54

2.16 条件数:多重共线性 55

第3章 多元线性回归 57

3.1 多元线性回归 58

3.2 优化问题:OLS 60

3.3 几何解释:投影 63

3.4 二元线性回归实例 65

3.5 多元线性回归实例 68

3.6 正交关系 72

3.7 三个平方和 75

3.8 t检验 77

3.9 多重共线性 78

3.10 条件概率视角看多元线性回归 80

第4章 非线性回归 85

4.1 线性回归 86

4.2 线性对数模型 88

4.3 非线性回归 90

4.4 多项式回归 92

4.5 逻辑回归 97

4.6 逻辑函数完成分类问题 102

第5章 正则化回归 109

5.1 正则化:抑制过拟合 110

5.2 岭回归 113

5.3 几何角度看岭回归 119

5.4 套索回归 121

5.5 几何角度看套索回归 123

5.6 弹性网络回归 127

第6章 贝叶斯回归 133

6.1 回顾贝叶斯推断 134

6.2 贝叶斯回归:无信息先验 137

6.3 使用PyMC完成贝叶斯回归 137

6.4 贝叶斯视角理解岭正则化 142

6.5 贝叶斯视角理解套索正则化 144

第7章 高斯过程 149

7.1 高斯过程原理 150

7.2 解决回归问题 156

7.3 解决分类问题 157

第3板块 分类 161

第8章 k最近邻分类 163

8.1 k最近邻分类原理:近朱者赤,近墨者黑 164

8.2 二分类:非红,即蓝 166

8.3 三分类:非红,要么蓝,要么灰 168

8.4 近邻数量k影响投票结果 170

8.5 投票权重:越近,影响力越高 173

8.6 最近质心分类:分类边界为中垂线 174

8.7 k-NN回归:非参数回归 177

第9章 朴素贝叶斯分类 181

9.1 重逢贝叶斯 182

9.2 朴素贝叶斯的“朴素”之处 186

9.3 高斯,你好 198

第10章 高斯判别分析 213

10.1 又见高斯 214

10.2 六类协方差矩阵 217

10.3 决策边界解析解 219

10.4 第一类 221

10.5 第二类 224

10.6 第三类 226

10.7 第四类 227

10.8 第五类 228

10.9 第六类 229

10.10 线性和二次判别分析 230

第11章 支持向量机 235

11.1 支持向量机 236

11.2 硬间隔:处理线性可分 240

11.3 构造优化问题 245

11.4 支持向量机处理二分类问题 248

11.5 软间隔:处理线性不可分 252

第12章 核技巧 257

12.1 映射函数:实现升维 258

12.2 核技巧SVM优化问题 261

12.3 线性核:最基本的核函数 266

12.4 多项式核 268

12.5 二次核:二次曲面 271

12.6 三次核:三次曲面 273

12.7 高斯核:基于径向基函数 275

12.8 Sigmoid核 280

第13章 决策树 285

第4板块 降维 301

第14章 主成分分析 303

第15章 截断奇异值分解 331

第16章 主成分分析进阶 351

第17章 主成分分析与回归 375

17.7 偏最小二乘回归 405

第18章 核主成分分析 413

第19章 典型相关分析 427

第5板块 聚类 441

第20章 K均值聚类 443

第21章 高斯混合模型 457

第22章 最大期望算法 475

第23章 层次聚类 495

第24章 密度聚类 511

第25章 谱聚类 519

参考文献 535


短评

    产品特色