程序员数学知识与Python实践指南
1. 编程语言选择与内容规划
在学习新的数学概念时,若让读者同时学习像LISP、Haskell或F#这样不熟悉的语言,会增加学习难度。因此,最终选择了Python,它是一种流行且易于学习的语言,拥有出色的数学库,也是学术界和工业界数学“现实世界”用户的首选。
在内容选择上,明确这是“程序员的数学”,而非“计算机科学家的数学”,所以可以排除离散数学、组合数学、图论、逻辑、大O符号等计算机科学课程中涵盖且主要用于研究程序的主题。最终决定聚焦于线性代数和微积分,并将内容构建到机器学习领域的一些应用上。
2. 主要涵盖的数学概念
- 多维空间 :直观上,我们能理解二维(2D)和三维(3D)的含义。我们生活在3D世界,而2D世界像纸或电脑屏幕一样平坦。2D中的位置可用两个数字(通常称为x和y坐标)描述,3D则需要三个数字。虽然无法想象17维空间,但可以用17个数字的列表来描述其点,这样的数字列表称为向量,向量数学有助于阐明“维度”的概念。
- 函数空间 :有时,一个数字列表可以指定一个函数。例如,给定两个数字a = 5和b = 13,可以创建一个形式为f(x) = ax + b的(线性)函数,此时函数为f(x) = 5x + 13。对于2D空间中由坐标(a, b)标记的每个点,都有一个对应的线性函数。因此,可以将所有线性函数的集合视为一个2D空间。
- 导数和梯度 :这些是微积分操作,用于测量函数的变化率。导数告诉你当输入值x增加时,函数f(x)增加或减少的速度。3D
超级会员免费看
订阅专栏 解锁全文
2万+

被折叠的 条评论
为什么被折叠?



