书籍作者:姜伟生 | ISBN:9787302628507 |
书籍语言:简体中文 | 连载状态:全集 |
电子书格式:pdf,txt,epub,mobi,azw3 | 下载次数:7795 |
创建日期:2024-03-25 | 发布日期:2024-03-25 |
运行环境:PC/Windows/Linux/Mac/IOS/iPhone/iPad/Kindle/Android/安卓/平板 |
数据科学和机器学习已经深度融合到我们生活的方方面面,而数学正是开启未来大门的钥匙。不是所 有人生来都握有一副好牌,但是掌握“数学 + 编程 + 机器学习”绝对是王牌。这次,学习数学不再是为了考试、分数、升学,而是投资时间、自我实现、面向未来。为了让大家学数学、用数学,甚至爱上数学, 在创作这套书时,作者尽量克服传统数学教材的各种弊端,让大家学习时有兴趣、看得懂、有思考、更自信、用得着。
《数学要素:全彩图解 + 微课 + Python编程》打破数学板块的藩篱,将算数、代数、线性代数、几何、解析几何、概率统计、微积分、优化方法等板块有机结合在一起。从加、减、乘、除四则运算讲起,主要内容包括:第 1、2 章讲解向量和矩阵的基本运算;第 3 章讲解常用几何知识;第 4 章讲解代数知识;第 5、6 两章介绍坐标系;第 7、8、9 三章介绍解析几何;第 10 章到第 14 章都是围绕函数展开;第 15 章到第 19 章讲解微积分以及优化问题内容;第20、21 两章是概率统计入门;《数学要素:全彩图解 + 微课 + Python编程》最后四章以线性代数收尾。
《数学要素:全彩图解 + 微课 + Python编程》内容编排上突出“图解 + 编程 + 机器学习应用”。讲解一些特定数学工具时,《数学要素:全彩图解 + 微课 + Python编程》会穿插介绍其在数据科学和机器学习领域应用场景,让大家学以致用。
《数学要素:全彩图解 + 微课 + Python编程》虽标榜“从加减乘除到机器学习”,但是建议读者至少具备高中数学知识。如果读者正在学习或曾经学过大学数学 ( 微积分、线性代数、概率统计 ),就更容易读了。
姜伟生 博士 FRM。
勤奋的小镇做题家,热爱知识可视化和开源分享。自2022年8月开始,在GitHub上开源“鸢尾花书”学习资源,截至2023年4月,已经分享2000多页PDF、2000多幅矢量图、约1000个代码文件,全球读者数以万计。
感谢
首先感谢大家的信任。
作者仅仅是在学习应用数据科学和机器学习算法时,多读了几本数学书,多做了一些思考和知识整理而已。知者不言,言者不知。知者不博,博者不知。由于作者水平有限,斗胆把自己所学所思与大家分享,作者权当无知者无畏。希望大家在B站视频下方和Github多提意见,让这套书成为作者和读者共同参与创作的作品。
特别感谢清华大学出版社的栾大成老师。从选题策划、内容创作到装帧设计,栾老师事无巨细、一路陪伴。每次与栾老师交流,都能感受到他对优质作品的追求、对知识分享的热情。
出来混总是要还的
曾几何时,考试是我们学习数学的唯一动力。考试是头悬梁的绳,是锥刺股的锥。我们中的大多数人从小到大为各种考试埋头题海,数学味同嚼蜡,甚至让人恨之入骨。
数学给我们带来了无尽的“折磨”。我们甚至恐惧数学,憎恨数学,恨不得一走出校门就把数学抛之脑后,老死不相往来。
可悲可笑的是,我们很多人可能会在毕业的五年或十年以后,因为工作需要,不得不重新学习微积分、线性代数、概率统计,悔恨当初没有学好数学,甚至迁怒于教材和老师。
这一切不能都怪数学,值得反思的是我们学习数学的方法和目的。
再给自己一个学数学的理由
为考试而学数学,是被逼无奈的举动。而为数学而数学,则又太过高尚而遥不可及。
相信对于绝大部分的我们来说,数学是工具、是谋生手段,而不是目的。我们主动学数学,是想用数学工具解决具体问题。
现在,这套书给大家一个“学数学、用数学”的全新动力—数据科学、机器学习。
数据科学和机器学习已经深度融合到我们生活的方方面面,而数学正是开启未来大门的钥匙。不
是所有人生来都握有一副好牌,但是掌握“数学 + 编程 + 机器学习”的知识绝对是王牌。这次,学习数学不再是为了考试、分数、升学,而是投资时间、自我实现、面向未来。
未来已来,你来不来?
本套鸢尾花书如何帮到你
为了让大家学数学、用数学,甚至爱上数学,作者可谓颇费心机。在创作这套书时,作者尽量克服传统数学教材的各种弊端,让大家学习时有兴趣、看得懂、有思考、更自信、用得着。
为此,丛书在内容创作上突出以下几个特点。
虽然本书标榜“从加减乘除到机器学习”,但是建议读者朋友们至少具备高中数学知识。如果读者正在学习或曾经学过大学数学 (微积分、线性代数、概率统计),这套书就更容易读懂了。
聊聊数学
数学是工具。锤子是工具,剪刀是工具,数学也是工具。
数学是思想。数学是人类思想高度抽象的结晶体。在其冷酷的外表之下,数学的内核实际上就是人类朴素的思想。学习数学时,知其然,更要知其所以然。不要死记硬背公式定理,理解背后的数学思想才是关键。如果你能画一幅图、用大白话描述清楚一个公式、一则定理,这就说明你真正理解了它。
数学是语言。就好比世界各地不同种族有自己的语言,数学则是人类共同的语言和逻辑。数学这门语言极其精准、高度抽象,放之四海而皆准。虽然我们中大多数人没有被数学“女神”选中,不能为人类对数学认知开疆扩土;但是,这丝毫不妨碍我们使用数学这门语言。就好比,我们不会成为语言学家,我们完全可以使用母语和外语交流。
数学是体系。代数、几何、线性代数、微积分、概率统计、优化方法等,看似一个个孤岛,实际上都是数学网络的一条条织线。建议大家学习时,特别关注不同数学板块之间的联系,见树,更要见林。
数学是基石。拿破仑曾说“数学的日臻完善和国强民富息息相关。”数学是科学进步的根基,是经济繁荣的支柱,是保家卫国的武器,是探索星辰大海的航船。
数学是艺术。数学和音乐、绘画、建筑一样,都是人类艺术体验。通过可视化工具,我们会在看似枯燥的公式、定理、数据背后,发现数学之美。
数学是历史,是人类共同记忆体。“历史是过去,又属于现在,同时在指引未来。”数学是人类的集体学习思考,它把人的思维符号化、形式化,进而记录、积累、传播、创新、发展。从甲骨、泥板、石板、竹简、木牍、纸草、羊皮卷、活字印刷、纸质书,到数字媒介,这一过程持续了数千年, 至今绵延不息。
数学是无穷无尽的想象力,是人类的好奇心,是自我挑战的毅力,是一个接着一个的问题,是看似荒诞不经的猜想,是一次次胆大包天的批判性思考,是敢于站在前人臂膀之上的勇气,是孜孜不倦地延展人类认知边界的不懈努力。
家园、诗、远方
诺瓦利斯曾说:“哲学就是怀着一种乡愁的冲动到处去寻找家园。”
在纷繁复杂的尘世,数学纯粹得就像精神的世外桃源。数学是,一束光,一条巷,一团不灭的希望,一股磅礴的力量,一个值得寄托的避风港。
打破陈腐的锁链,把功利心暂放一边,我们一道怀揣一分乡愁,心存些许诗意,踩着艺术维度,投入数学张开的臂膀,驶入它色彩斑斓、变幻无穷的深港,感受久违的归属,一睹更美、更好的远方。
Acknowledgement
致谢
To my parents.
谨以此书献给我的母亲父亲。
How to Use the Book
使用本书
丛书资源
鸢尾花书提供的配套资源如下:
本书约定
书中为了方便阅读以及查找配套资源,特别设计了如下标识。
数学家、科学家、艺术家等大家语录
配套Python代码完
成核心计算和制图
引出本书或本系列
其他图书相关内容
相关数学家生平贡献介绍
代码中核心Python
库函数和讲解
用Streamlit开发制作App应用
提醒读者需要格外注意的知识点
每章总结或升华本章内容
思维导图总结本章脉络和核心内容
介绍数学工具与
机器学习之间的联系
配套微课视频二维码
核心参考和推荐阅读文献
微课视频
本书配套微课视频均发布在B站—生姜DrGinger。
微课视频是以“聊天”的方式,和大家探讨某个数学话题的重点内容,讲解代码中可能遇到的难点,甚至侃侃历史、说说时事、聊聊生活。
本书配套微课视频的目的是引导大家自主编程实践、探究式学习,并不是“照本宣科”。
纸质图书上已经写得很清楚的内容,视频课程只会强调重点。需要说明的是,图书内容不是视频的“逐字稿”。
App开发
本书几乎每一章都至少有一个用Streamlit开发的App,用来展示数学动画、数据分析、机器学习算法。
Streamlit是个开源的Python库,能够方便快捷地搭建、部署交互型网页App。Streamlit简单易用,很受欢迎。Streamlit兼容目前主流的Python数据分析库,比如NumPy、Pandas、Scikit-learn、PyTorch、TensorFlow等等。Streamlit还支持Plotly、Bokeh、Altair等交互可视化库。
本书中很多App设计都采用Streamlit + Plotly方案。此外,本书专门配套教学视频手把手和大家一起做App。
大家可以参考如下页面,更多了解Streamlit:
实践平台
本书作者编写代码时采用的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,可以inline打印数据,也可以将数据写到CSV或Excel文件中再打开。Matplotlib 图像结果不具有交互性,如不能查看某个点的值或者旋转3D图形,此时可以考虑安装 (jupyter matplotlib)。注意,利用Altair或Plotly绘制的图像支持交互功能。对于自定义函数,目前没有快捷键直接跳转到其定义。但是,很多开发者针对这些问题正在开发或已经发布相应插件,请大家留意。
大家可以下载安装Anaconda。JupyterLab、Spyder、PyCharm等常用工具,都集成在Anaconda 中。下载Anaconda的地址为:
代码文件
鸢尾花书的Python代码文件下载地址为:
同时也在如下GitHub地址备份更新:
Python代码文件会不定期修改,请大家注意更新。图书原始创作版本PDF(未经审校和修订, 内容和纸质版略有差异,方便移动终端碎片化学习以及对照代码)和纸质版本勘误也会上传到这个GitHub账户。因此,建议大家注册GitHub账户,给书稿文件夹标星(Star)或分支克隆(Fork)。
考虑再三,作者还是决定不把代码全文印在纸质书中,以便减少篇幅,节约用纸。
本书编程实践例子中主要使用“鸢尾花数据集”,数据来源是Scikit-learn库、Seaborn库。要是给鸢尾花书起个昵称的话,作者乐见“鸢尾花书”。
学习指南
大家可以根据自己的偏好制定学习步骤,本书推荐如下步骤。
1
2
3
浏览本章思维导图,
下载本章配套
观看微课视频,阅
把握核心脉络
Python 代码文件
读本章正文内容
4
用Jupyter 创建笔
5
尝试开发数学动画、
6
翻阅本书推荐参
记,编程实践
机器学习 App
考文献
使用本书
学完每章后,大家可以在社交媒体、技术论坛上发布自己的Jupyter笔记,进一步听取朋友们的意见,共同进步。这样做还可以提高自己学习的动力。
另外,建议大家采用纸质书和电子书配合阅读学习,学习主阵地在纸质书上,学习基础课程最重要的是沉下心来,认真阅读并记录笔记,电子书可以配合查看代码,相关实操性内容可以直接在电脑上开发、运行、感受,Jupyter笔记同步记录起来。
强调一点:学习过程中遇到困难,要尝试自行研究解决,不要第一时间就去寻求他人帮助。
意见建议
欢迎大家对鸢尾花书提意见和建议,丛书专属邮箱地址为:
也欢迎大家在B站视频下方留言互动。
这对初学者来说是一个非常全面的学习方案。全彩图解提供了一个视觉化的学习环境,微课可以帮助你更深入地理解数学的概念和应用,同时编程部分可以让你将所学应用到实际问题中。对于对数学和编程都感兴趣的人来说,这是一种非常有用的学习方式。
2023-04-21 10:10:34
这取决于你对数学、微课和Python编程的兴趣和需求。如果你对数学有强烈的兴趣和需求,那么学习数学要素全彩图解和微课,再学习Python编程可能会帮助你更好地理解和应用数学知识。如果你对这些不感兴趣,那么这些资源可能对你不太有用。无论如何,学习新知识是有益的,可以增强你的思维能力和解决问题的能力。
2023-04-21 10:10:34
这是一个很好的学习方式,尤其是对于那些喜欢数学和计算机编程的学生来说。全彩图解可以让学生更加直观地理解数学概念,微课视频可以引导学生更加深入地思考数学问题,而Python编程则可以使学生更加灵活地应用数学知识。这种多方位的学习方式能够帮助学生全面提升数学水平,同时也能为未来的学习和工作打好基础。
2023-04-21 10:10:34