← 返回《人工智能数学基础》
📑 查看全课大纲(第 1 / 93 节)
  1. 1.概论和集合的定义
  2. 2.逼疯康托的实数集理论
  3. 3.常用不等式与映射
  4. 4.函数及特殊函数
  5. 5.序列极限的定义
  6. 6.序列极限的性质与夹逼定理
  7. 7.重要极限
  8. 8.无穷小量,无穷大量和一组重要的阶的比较关系
  9. 9.聚点原理
  10. 10.函数极限及其性质
  11. 11.重要极限与等价无穷小
  12. 12.连续函数
  13. 13.导数的概念(那些年,扛起牛顿的胡克)
  14. 14.定义法求导
  15. 15.函数四则运算的导数与反函数求导法则
  16. 16.复合函数,隐函数,参数式求导
  17. 17.不定式求导之“洛必达与伯努利的师生情”
  18. 18.一阶微分
  19. 19.高阶导数
  20. 20.高阶微分
  21. 21.罗尔中值定理与拉格朗日中值定理
  22. 22.柯西空降科学院遭排挤
  23. 23.泰勒公式与泰勒的克妻属性
  24. 24.利用泰勒展开唯一性定理计算泰勒展开
  25. 25.泰勒公式的余项估计
  26. 26.极值问题与导数
  27. 27.函数凹凸性
  28. 28.无卵用的渐近线与函数作图
  29. 29.不定积分的定义
  30. 30.第一换元法
  31. 31.第二换元法
  32. 32.分部积分法
  33. 33.有理式积分
  34. 34.三角替换
  35. 35.定积分的概念
  36. 36.定积分的性质与积分中值定理
  37. 37.变上限定积分
  38. 38.微积分基本定理之“高斯教你如何优雅地装逼”
  39. 39.定积分的换元法
  40. 40.奇偶函数与周期函数的定积分
  41. 41.曲线求长与不可求长曲线(海岸线居然算不出长度?)
  42. 42.旋转体体积
  43. 43.旋转体侧面积
  44. 44.极坐标下图形的面积(数学系常用表白曲线)
  45. 45.欧式空间
  46. 46.点列极限,开集与闭集
  47. 47.多元函数的定义
  48. 48.多元函数的极限
  49. 49.多元连续函数
  50. 50.一阶偏导数
  51. 51.高阶偏导数
  52. 52.全微分
  53. 53.方向导数与梯度
  54. 54.链式法则
  55. 55.一阶全微分形式的不变性与高阶微分
  56. 56.多元函数的泰勒公式
  57. 57.隐函数存在定理与逆映射存在定理
  58. 58.多元函数的极值
  59. 59.矩阵基础知识
  60. 60.行列式的定义与特殊矩阵的行列式
  61. 61.行列式的性质
  62. 62.行列式按k行展开
  63. 63.线性方程组初步与高斯消元法
  64. 64.齐次线性方程组与Cramer法则
  65. 65.线性空间
  66. 66.线性相关与线性无关
  67. 67.向量组的秩
  68. 68.矩阵的秩与线性方程组有解的充要条件
  69. 69.齐次线性方程组的解集结构
  70. 70.非齐次线性方程组解集结构
  71. 71.基与维数
  72. 72.矩阵的乘法
  73. 73.特殊矩阵
  74. 74.矩阵乘积的秩与行列式
  75. 75.矩阵的逆
  76. 76.正交矩阵
  77. 77.矩阵对角化与特征值特征向量
  78. 78.实对称矩阵对角化
  79. 79.二次型与正定矩阵
  80. 80.LU分解
  81. 81.Cholesky分解
  82. 82.SVD分解
  83. 83.线搜索
  84. 84.步长
  85. 85.最速下降法和牛顿法
  86. 86.共轭梯度法
  87. 87.拟牛顿法
  88. 88.无约束优化
  89. 89.若干知识点补充(一)
  90. 90.若干知识点补充(二)
  91. 91.凸优化问题
  92. 92.对偶问题(一)
  93. 93.对偶问题(二)

概论和集合的定义

约 13 分钟

📺 正在播放小象官方高清录播(支持倍速与清晰度调节)

概论和集合的定义

小象实战讲义 · 人工智能数学基础

欢迎来到《人工智能数学基础》课程的开篇。本节作为课程的“概论和预备知识”,旨在为你搭建起学习后续高等数学、线性代数与最优化理论的共同语言基础。我们将从最朴素的概念——集合出发,理解其定义、运算与符号,这些是描述数据、定义函数和构建模型不可或缺的基石。学完本节,你将能够准确使用数学集合的语言来描述对象与关系,为后续深入学习微积分和线性代数扫清概念障碍。

💡 核心导读

本节你将掌握以下核心内容:

  1. 课程全景概览:了解本课程涵盖的数学分析、线性代数与最优化三大模块,以及它们如何服务于机器学习。
  2. 集合的朴素定义:理解集合与元素的基本概念,掌握属于(\in)与不属于(\notin)的符号。
  3. 集合的关系与运算:学习子集、真子集、相等、交集、并集和差集的定义与符号表示。
  4. 全称与存在量词:认识 \forall(任意)和 \exists(存在)这两个逻辑量词,学会用它们精确描述数学命题。
  5. 常见数集及其表示:熟悉自然数集 N\mathbb{N}、整数集 Z\mathbb{Z}、有理数集 Q\mathbb{Q}、实数集 R\mathbb{R} 和复数集 C\mathbb{C} 的符号及手写规范。

课程导引:为何学习这些数学?

本课程专为希望夯实人工智能,特别是机器学习领域数学基础的学习者设计。机器学习算法的背后,是严密的数学逻辑在支撑。为了高效地理解这些算法原理,我们精选了三大支柱性数学领域:

  1. 数学分析:研究函数、极限、微分与积分,是理解梯度下降、损失函数优化等核心概念的基础。本课程将聚焦于单变量微积分与多元微分学,略去在机器学习中较少直接应用的多元积分部分。
  2. 线性代数:处理向量、矩阵和线性变换,是描述高维数据、进行降维(如SVD)和理解神经网络层运算的语言。我们将重点放在矩阵运算、特征值分解与奇异值分解(SVD)以及二次型上。
  3. 最优化理论:寻找函数最优解(最大或最小值)的方法论,是训练机器学习模型的引擎。我们将从基础的基于导数的最优化方法讲起,并深入讲解至关重要的对偶理论和KKT条件,最后浅涉二次规划。

历史的启示是,数学的发展往往是从具体应用(如牛顿为求解物理问题发明“流数术”,即微积分)回溯到严密理论基础(如柯西建立极限理论)的“逆序”过程。我们的学习路径将遵循逻辑顺序,从基础集合论开始,自下而上构建知识体系。

集合:数学的基石

集合与元素的定义

集合是一个最原始、最朴素的数学概念。我们可以直观地将其理解为“一堆东西放在一起”的整体。例如,所有西瓜、香蕉、苹果放在一起,可以构成一个“水果”集合。

  • 表示方法:通常用大写英文字母 A,B,C,A, B, C, \dots 来表示集合。
  • 元素:组成集合的每一个“东西”称为该集合的元素
  • 表示方法:通常用小写英文字母 a,b,c,a, b, c, \dots 来表示元素。

描述一个元素 aa 与一个集合 AA 的关系,使用“属于”或“不属于”:

  • 属于:如果元素 aa 在集合 AA 中,记作 aAa \in A。例如,若 AA 是水果集合,西瓜是其中一种,则 西瓜 A\in A
  • 不属于:如果元素 aa 不在集合 AA 中,记作 aAa \notin A。例如,君子兰不是水果,则 君子兰 A\notin A

集合的表示法

如何清晰地定义一个集合?主要有两种方法:

  1. 列举法:将集合中的所有元素一一列举出来,用花括号 {}{} 括起。 A={1,2,3,4,5}A = {1, 2, 3, 4, 5} 表示集合 AA 由数字 1,2,3,4,51,2,3,4,5 组成。当集合元素很多或无限时,此法不便。

  2. 描述法:通过刻画元素所具有的公共性质来定义集合。格式为 {xP(x)}{x | P(x)}{x:P(x)}{x : P(x)},其中 xx 代表元素,P(x)P(x) 是描述 xx 性质的语句。 B={xx 是大于0的偶数}B = {x | x \text{ 是大于0的偶数} } 表示集合 BB 由所有正偶数组成。这等价于 B={2,4,6,8,}B = {2, 4, 6, 8, \dots}

集合间的关系

比较两个集合 AABB,它们之间可能存在以下几种基本关系:

  • 子集:如果集合 AA 中的每一个元素都是集合 BB 中的元素,则称 AABB子集,记作 ABA \subseteq B
    • 图示AA 完全位于 BB 的内部或与 BB 重合。
  • 真子集:如果 ABA \subseteq B,且 AA 不等于 BB(即 BB 中至少有一个元素不属于 AA),则称 AABB真子集,记作 ABA \subset B(有些教材也写作 ABA \subsetneq B)。
    • 注意:真子集符号 \subset 下方没有横杠,或使用 \subsetneq 以区别于子集 \subseteq
  • 集合相等:如果 ABA \subseteq BBAB \subseteq A,那么集合 AABB 含有完全相同的元素,此时称 AA 等于 BB,记作 A=BA = B
  • 空集:不含任何元素的集合称为空集,记作 \varnothing{}{}。空集是任何集合的子集,即 A\varnothing \subseteq A 对任意集合 AA 成立。

集合的基本运算

集合之间可以进行运算,产生新的集合。最基本的三种运算由数学家康托尔明确定义:

  • 交集:由同时属于集合 AA 集合 BB 的所有元素组成的集合,称为 AABB交集,记作 ABA \cap BAB={xxA 且 xB}A \cap B = {x | x \in A \text{ 且 } x \in B}
  • 并集:由属于集合 AA 属于集合 BB 的所有元素组成的集合,称为 AABB并集,记作 ABA \cup BAB={xxA 或 xB}A \cup B = {x | x \in A \text{ 或 } x \in B} (这里的“或”是数学上的“可兼或”,即包含既在 AA 也在 BB 中的元素)。
  • 差集:由属于集合 AA不属于集合 BB 的所有元素组成的集合,称为 AABB差集,记作 ABA \setminus BAB={xxA 且 xB}A \setminus B = {x | x \in A \text{ 且 } x \notin B}

运算律:交集和并集运算满足交换律,即 AB=BAA \cap B = B \cap AAB=BAA \cup B = B \cup A。但差集运算不满足交换律,即 ABBAA \setminus B \neq B \setminus A

量词:精确表述的利器

为了更严谨地描述集合中元素的普遍性质,我们引入两个重要的逻辑量词:

  • 全称量词 \forall:表示“对任意的”、“对于每一个”。例如,“集合 AA 中所有元素都满足性质 PP”可以表述为: xA,P(x) 成立。\forall x \in A, P(x) \text{ 成立。}
  • 存在量词 \exists:表示“存在(至少一个)”。例如,“在集合 AA 中存在一个元素满足性质 PP”可以表述为: xA, 使得 P(x) 成立。\exists x \in A, \text{ 使得 } P(x) \text{ 成立。}

这两个符号是构建复杂数学命题和定理陈述的基础。

常见数集及其符号

在数学中,一些特定的数集使用固定的字母表示,需要牢记:

  • 自然数集N\mathbb{N}。在本课程中,我们约定 N={1,2,3,}\mathbb{N} = {1, 2, 3, \dots}
  • 整数集Z\mathbb{Z}
  • 有理数集Q\mathbb{Q}(因为商,Quotient)。
  • 实数集R\mathbb{R}
  • 复数集C\mathbb{C}

手写体规范:在印刷体中,这些符号通常带有特殊的字体(如黑板粗体)。手写时,为了区分,我们习惯在字母上加一条斜线:

  • N\mathbb{N} 手写作 N(在N的竖笔上加斜线)。
  • Z\mathbb{Z} 手写作 Z(在Z的中间加斜线)。
  • Q\mathbb{Q} 手写作 Q(在Q的尾巴上加斜线)。
  • R\mathbb{R} 手写作 R(在R的竖笔上加斜线)。
  • C\mathbb{C} 手写作 C(在C的开口处加斜线)。
# Python 示例:集合运算演示
# 我们将使用Python内置的set类型来演示本节学到的集合概念

# 定义两个集合
A = {1, 2, 3, 4, 5, 6}
B = {4, 5, 6, 7, 8, 9}

print("集合 A:", A)
print("集合 B:", B)

# 1. 交集 (Intersection)
intersection_AB = A.intersection(B) # 或使用 A & B
print("\n1. 交集 A ∩ B:", intersection_AB)

# 2. 并集 (Union)
union_AB = A.union(B) # 或使用 A | B
print("2. 并集 A ∪ B:", union_AB)

# 3. 差集 (Difference)
diff_A_B = A.difference(B) # 或使用 A - B, 属于A但不属于B的元素
diff_B_A = B.difference(A) # 或使用 B - A, 属于B但不属于A的元素
print("3. 差集 A \\ B:", diff_A_B)
print("   差集 B \\ A:", diff_B_A, "(验证差集运算不满足交换律)")

# 4. 子集判断
C = {2, 4}
print(f"\n4. 集合 C = {C}")
print(f"   C 是 A 的子集吗? {C.issubset(A)}") # 判断 C ⊆ A
print(f"   C 是 A 的真子集吗? {C.issubset(A) and C != A}") # 判断 C ⊂ A

# 5. 使用量词语义进行检查
# 检查“对于集合A中的任意元素x,是否都有 x < 10?”
all_less_than_10 = all(x < 10 for x in A)
print(f"\n5. 命题‘∀x ∈ A, x < 10’成立吗? {all_less_than_10}")

# 检查“在集合A中,是否存在元素x,使得 x > 5?”
exists_greater_than_5 = any(x > 5 for x in A)
print(f"   命题‘∃x ∈ A, x > 5’成立吗? {exists_greater_than_5}")

📝 动手练一练

  1. 集合运算与关系:已知集合 U={xNx<10}U = {x \in \mathbb{N} | x < 10}A={1,3,5,7,9}A = {1, 3, 5, 7, 9}B={2,3,5,7}B = {2, 3, 5, 7}

    • a) 请用列举法写出集合 UU
    • b) 计算 ABA \cap BABA \cup BABA \setminus B
    • c) 判断关系:BAB \subseteq A 成立吗?{3,5}A{3, 5} \subset A 成立吗?
  2. 用量词描述性质:设 S={2,1,0,1,2}S = {-2, -1, 0, 1, 2}。请用逻辑量词 \forall\exists 将以下描述转化为符号命题。

    • a) “集合 SS 中每个元素的平方都不大于4。”
    • b) “集合 SS 中存在一个元素,其立方等于它自身。”

参考答案:

  1. a) U={1,2,3,4,5,6,7,8,9}U = {1, 2, 3, 4, 5, 6, 7, 8, 9}。 b) AB={3,5,7}A \cap B = {3, 5, 7}AB={1,2,3,5,7,9}A \cup B = {1, 2, 3, 5, 7, 9}AB={1,9}A \setminus B = {1, 9}。 c) BAB \subseteq A 不成立,因为 2B2 \in B2A2 \notin A{3,5}A{3, 5} \subset A 成立,因为 {3,5}{3,5}AA 的真子集。
  2. a) xS,x24\forall x \in S, x^2 \leq 4。 b) xS, 使得 x3=x\exists x \in S, \text{ 使得 } x^3 = x。(例如 x=0x=0x=1x=1x=1x=-1 都满足)

本章小结

本节作为课程的绪论,完成了两件重要事情:一是勾勒出整个课程(数学分析、线性代数、最优化)的地图,明确了学习目标;二是系统学习了集合这一基础数学语言。

要点回顾

  • 集合是元素的整体,关系有属于(\in)、不属于(\notin)、子集(\subseteq)、真子集(\subset)和相等(==)。
  • 集合的基本运算包括交集(\cap)、并集(\cup)和差集(\setminus),其中交并运算满足交换律。
  • 逻辑量词 \forall(任意)和 \exists(存在)用于精确表述数学命题。
  • 必须熟记常见数集的符号:N\mathbb{N}, Z\mathbb{Z}, Q\mathbb{Q}, R\mathbb{R}, C\mathbb{C} 及其手写规范。

行动清单: 学完本节,你可以立即开始:

  1. 练习符号:在草稿纸上反复书写 ,,,,,\in, \subseteq, \cap, \cup, \forall, \exists 以及 N,Z,Q,R,C\mathbb{N}, \mathbb{Z}, \mathbb{Q}, \mathbb{R}, \mathbb{C} 的手写体,直到熟练。
  2. 代码验证:运行讲义中的Python代码,并尝试修改集合A和B的元素,观察运算结果的变化,直观理解集合运算。
  3. 联系实际:尝试用集合的语言描述你身边的事物。例如,你的“书架上的书”构成一个集合,其中“编程类书籍”是它的一个子集。“既是编程书又是红色封面的书”则是两个子集的交集。

— 小象教研组

配套学习资源与课件
  • 第1章讲义:课程导论与预备知识(PDF · 0.8MB)
    下载
🎁 免费学习资源

领取《小象 11GB VIP 课件资料包与大厂真题手册》

包含全套实战 Jupyter 源码、清洗后数据集、大厂高频面试真题与专属学员答疑交流群。

  • 完整 Python / 数据分析 Jupyter 实战源码
  • 大厂真实业务数据集与练习题
  • 微信扫码添加课程顾问,免费获取网盘下载链接
微信二维码:扫码添加课程顾问微信扫码添加顾问