📑 查看全课大纲(第 9 / 93 节)
- 1.概论和集合的定义
- 2.逼疯康托的实数集理论
- 3.常用不等式与映射
- 4.函数及特殊函数
- 5.序列极限的定义
- 6.序列极限的性质与夹逼定理
- 7.重要极限
- 8.无穷小量,无穷大量和一组重要的阶的比较关系
- 9.聚点原理
- 10.函数极限及其性质
- 11.重要极限与等价无穷小
- 12.连续函数
- 13.导数的概念(那些年,扛起牛顿的胡克)
- 14.定义法求导
- 15.函数四则运算的导数与反函数求导法则
- 16.复合函数,隐函数,参数式求导
- 17.不定式求导之“洛必达与伯努利的师生情”
- 18.一阶微分
- 19.高阶导数
- 20.高阶微分
- 21.罗尔中值定理与拉格朗日中值定理
- 22.柯西空降科学院遭排挤
- 23.泰勒公式与泰勒的克妻属性
- 24.利用泰勒展开唯一性定理计算泰勒展开
- 25.泰勒公式的余项估计
- 26.极值问题与导数
- 27.函数凹凸性
- 28.无卵用的渐近线与函数作图
- 29.不定积分的定义
- 30.第一换元法
- 31.第二换元法
- 32.分部积分法
- 33.有理式积分
- 34.三角替换
- 35.定积分的概念
- 36.定积分的性质与积分中值定理
- 37.变上限定积分
- 38.微积分基本定理之“高斯教你如何优雅地装逼”
- 39.定积分的换元法
- 40.奇偶函数与周期函数的定积分
- 41.曲线求长与不可求长曲线(海岸线居然算不出长度?)
- 42.旋转体体积
- 43.旋转体侧面积
- 44.极坐标下图形的面积(数学系常用表白曲线)
- 45.欧式空间
- 46.点列极限,开集与闭集
- 47.多元函数的定义
- 48.多元函数的极限
- 49.多元连续函数
- 50.一阶偏导数
- 51.高阶偏导数
- 52.全微分
- 53.方向导数与梯度
- 54.链式法则
- 55.一阶全微分形式的不变性与高阶微分
- 56.多元函数的泰勒公式
- 57.隐函数存在定理与逆映射存在定理
- 58.多元函数的极值
- 59.矩阵基础知识
- 60.行列式的定义与特殊矩阵的行列式
- 61.行列式的性质
- 62.行列式按k行展开
- 63.线性方程组初步与高斯消元法
- 64.齐次线性方程组与Cramer法则
- 65.线性空间
- 66.线性相关与线性无关
- 67.向量组的秩
- 68.矩阵的秩与线性方程组有解的充要条件
- 69.齐次线性方程组的解集结构
- 70.非齐次线性方程组解集结构
- 71.基与维数
- 72.矩阵的乘法
- 73.特殊矩阵
- 74.矩阵乘积的秩与行列式
- 75.矩阵的逆
- 76.正交矩阵
- 77.矩阵对角化与特征值特征向量
- 78.实对称矩阵对角化
- 79.二次型与正定矩阵
- 80.LU分解
- 81.Cholesky分解
- 82.SVD分解
- 83.线搜索
- 84.步长
- 85.最速下降法和牛顿法
- 86.共轭梯度法
- 87.拟牛顿法
- 88.无约束优化
- 89.若干知识点补充(一)
- 90.若干知识点补充(二)
- 91.凸优化问题
- 92.对偶问题(一)
- 93.对偶问题(二)
聚点原理
约 13 分钟
聚点原理与有界序列的收敛子列
小象实战讲义 · 人工智能数学基础
在序列极限的研究中,我们常常关心序列本身的收敛性。然而,许多重要的序列(如优化算法中的迭代序列)本身可能并不收敛。本节将引入一个深刻而实用的理论工具:聚点原理及其核心推论——波尔查诺-魏尔斯特拉斯定理。该定理断言,任何有界序列,无论其本身是否收敛,都必定包含一个收敛的子序列。这一结论是后续分析学(如函数极限、最优化理论中极值存在性证明)的基石,也是理解实数完备性的关键一步。
💡 核心导读
本节你将掌握:
- 闭区间套定理:理解实数完备性的一个直观几何表述,为后续定理提供支撑。
- 聚点与孤立点:学习集合在实数轴上的“凝聚”特性,掌握其严格的 - 语言定义。
- 聚点原理:理解“有界无穷集必有聚点”这一存在性定理,体会其实数背景。
- 波尔查诺-魏尔斯特拉斯定理:掌握“有界序列必有收敛子列”的结论及其基于聚点原理的构造性证明思路。
- 理论意义:认识到该定理在证明存在性问题(如连续函数最值、方程根的存在性)中的核心作用。
闭区间套定理
我们首先介绍一个反映实数集“连续性”或“完备性”的几何定理。
闭区间套定理:设有一列闭区间 ,满足:
- 嵌套性:,对任意 成立。
- 长度趋于零:。
则存在唯一的实数 ,使得 属于所有的闭区间,即
这个定理的证明涉及实数的更深层性质,此处从略。但其结论非常直观:想象一系列像俄罗斯套娃一样一个套一个、且长度不断收缩至零的闭区间,它们最终将“套”住唯一的一个点 。这个定理是证明许多分析学重要结论(如聚点原理)的基础工具。
聚点与孤立点
为了研究序列的“凝聚”行为,我们需要定义集合的“聚点”。
定义(聚点):设 是 上的一个点集,。如果对于任意的 ,点 的空心邻域 中都至少包含 中的一个点,即 则称 是集合 的一个聚点。
关键理解:聚点 本身可以属于 ,也可以不属于 。聚点的核心特征是,在它的任意附近(无论多近),都“聚集”着 中的点。
例子:考虑集合 。数 就是 的一个聚点。因为对于任意 ,我们总能找到足够大的 ,使得 ,从而 。注意, 本身并不属于集合 。
与聚点相对的概念是孤立点。
定义(孤立点):设 。如果存在某个 ,使得空心邻域 中不包含 的任何其他点,即 则称 是集合 的一个孤立点。
关键理解:孤立点必须是集合 自身的成员,并且存在一个以它为中心的小范围,在这个范围内除了它自己,再没有 中的其他点。
聚点的等价刻画:以下三个命题是等价的:
- 是 的聚点。
- 对于任意 ,空心邻域 中包含 的无穷多个点。
- 存在由 中互异的点构成的序列 ,使得 。
思路说明:
- :如果只有有限个点,那么取 小于 到这些有限点中最近一个的距离,就会与聚点定义矛盾。
- :可以构造性地取点。令 ,在 中任取一个 中的点记为 ,并要求每次取的点与之前取的所有点都不同(因为有无穷多点,总是可以做到)。这样得到的序列 显然收敛于 。
- :由序列极限的定义直接可得。
第三个等价命题尤为重要,它建立了集合的聚点与序列的极限点之间的桥梁。
聚点原理
基于实数集的完备性(由闭区间套定理等保证),我们有如下重要的存在性定理。
聚点原理(Bolzano-Weierstrass 定理 for Sets): 上的任何一个有界的无穷点集,至少有一个聚点。
通俗解释:如果把无穷多个点塞进一个有限长度的区间里,那么这些点不可能“均匀散开”或“互不相干”,它们至少会在某个位置(聚点)附近无限地“堆积”起来。
这是一个纯粹的存在性定理,它没有告诉我们如何找到这个聚点,但保证了聚点的存在。这个原理是证明下一个关于序列的定理的关键。
波尔查诺-魏尔斯特拉斯定理
现在我们将视角从一般的点集聚焦到序列。序列可以看作其所有项构成的集合(但要注意重复项)。
波尔查诺-魏尔斯特拉斯定理(Bolzano-Weierstrass Theorem):任何有界序列都必然包含一个收敛的子列。
证明思路(基于聚点原理):
- 设 是一个有界序列。考虑由该序列所有项构成的集合 。
- 情况一:如果 是有限集,那么序列 中必然有无限多项取同一个值(鸽巢原理)。这些项本身就构成一个常值(收敛)子列。
- 情况二:如果 是无限集。由于 有界,故 是一个有界的无穷点集。根据聚点原理, 至少有一个聚点,记作 。
- 根据聚点的等价刻画(命题3),存在 中由互异点组成的序列收敛于 。但我们需要从原序列 中按下标递增的顺序抽出一个子列。
- 构造性抽取:
- 因为 是聚点,在 的 的空心邻域内,有 的无穷多点。从原序列中任取一个落在该邻域内的项,记其下标为 ,即 。
- 在 的 的空心邻域内,同样有 的无穷多点。我们从第 项之后开始寻找(以保证下标递增),任取一个落在该邻域内的项,记其下标为 ,即 。
- 以此类推,对于 ,令 。在 的 空心邻域内,从第 项之后任取一项,记其下标为 ,满足 。
- 这样我们就构造出了一个子列 ,且满足 。由极限的定义可知,。证毕。
这个定理是分析学中最重要的定理之一。它保证了从任何有界序列中,我们总能“挖出”一个收敛的部分。在人工智能的优化算法分析中,迭代序列的有界性往往较易验证,该定理则为证明算法生成的序列存在收敛子列(进而可能收敛到最优解)提供了理论保障。
import numpy as np
import matplotlib.pyplot as plt
# 演示:从一个有界但不收敛的序列中抽取收敛子列
np.random.seed(42)
n = 200
# 构造一个有界振荡序列:x_n = (-1)^n + (1/n) * sin(n),它本身不收敛
n_vals = np.arange(1, n+1)
x_n = np.power(-1, n_vals) + (1/n_vals) * np.sin(n_vals)
# 根据波尔查诺-魏尔斯特拉斯定理,它应有收敛子列。
# 观察发现,其奇数项子列和偶数项子列可能趋向于不同的极限。
# 抽取奇数项子列 (n_k = 2k-1)
odd_indices = 2 * np.arange(1, n//2 + 1) - 1 # 下标: 1, 3, 5, ...
odd_subseq = x_n[odd_indices - 1] # 因numpy索引从0开始,需减1
# 抽取偶数项子列 (n_k = 2k)
even_indices = 2 * np.arange(1, n//2 + 1) # 下标: 2, 4, 6, ...
even_subseq = x_n[even_indices - 1]
print("原序列前10项:", x_n[:10])
print("奇数项子列前5项:", odd_subseq[:5])
print("偶数项子列前5项:", even_subseq[:5])
# 计算子列的极限(用最后若干项的平均近似)
approx_limit_odd = np.mean(odd_subseq[-50:])
approx_limit_even = np.mean(even_subseq[-50:])
print(f"\n奇数项子列近似极限: {approx_limit_odd:.6f}")
print(f"偶数项子列近似极限: {approx_limit_even:.6f}")
print(f"它们分别趋近于: ~{np.round(approx_limit_odd, 3)} 和 ~{np.round(approx_limit_even, 3)}")
# 可视化
plt.figure(figsize=(12, 6))
plt.plot(n_vals, x_n, 'o', markersize=3, alpha=0.5, label='原序列 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>x</mi><mi>n</mi></msub></mrow><annotation encoding="application/x-tex">x_n</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="katex-base"><span class="katex-strut" style="height:0.5806em;vertical-align:-0.15em;"></span><span class="mord"><span class="mord mathnormal">x</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.1514em;"><span style="top:-2.55em;margin-left:0em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="katex-sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight">n</span></span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span></span></span></span>')
plt.plot(odd_indices, odd_subseq, 's', markersize=5, label='奇数项子列', alpha=0.8)
plt.plot(even_indices, even_subseq, '^', markersize=5, label='偶数项子列', alpha=0.8)
plt.axhline(y=approx_limit_odd, color='blue', linestyle='--', alpha=0.7, label='奇数子列极限近似')
plt.axhline(y=approx_limit_even, color='orange', linestyle='--', alpha=0.7, label='偶数子列极限近似')
plt.xlabel('下标 n')
plt.ylabel('序列值')
plt.title('波尔查诺-魏尔斯特拉斯定理示例:从有界振荡序列中抽取收敛子列')
plt.legend()
plt.grid(True, alpha=0.3)
plt.show()📝 动手练一练
判断聚点:判断下列集合在实数 中的聚点。如果是聚点,说明理由;如果不是,请说明它是什么点(如孤立点、外点)。 a) (开区间) b) c) (区间内的所有有理数)
参考答案: a) 内的所有点都是 的聚点。因为对于任意 和任意 ,开区间 总与 有交集(考虑 在区间内部或端点的情况稍作分析)。 和 虽然不属于 ,但满足聚点定义。 b) 是 的聚点(理由同本节例子)。集合中的其他点 都是孤立点,因为可以取 ,使得该点的空心邻域内没有 的其他点。 c) 内的所有点(包括无理数)都是 的聚点。因为有理数在实数中是稠密的,任何实数的任意邻域内都包含无穷多个有理数。
应用定理:考虑序列 。 a) 写出该序列的前10项。这个序列本身收敛吗?它是否有界? b) 根据波尔查诺-魏尔斯特拉斯定理,它一定存在收敛的子列。请尝试构造出两个不同的收敛子列,并指出它们的极限。
参考答案: a) 前10项:。该序列值在 和 之间周期振荡,故有界但不收敛。 b) 可以构造多个收敛子列,例如: * 取 (即 ),则 ,得到极限为 的常值子列。 * 取 (即 ),则 ,得到极限为 的常值子列。 * 取 (即 ),则 ,得到极限为 的常值子列。
本章小结
本节我们深入探讨了序列极限理论中关于“存在性”的核心定理。
要点回顾:
- 闭区间套定理揭示了实数集的完备性:一系列长度趋于零的嵌套闭区间必交于唯一实点。
- 聚点是集合的一种“凝聚中心”,在其任意附近都有该集合的无穷多点。与之相对的是孤立点。
- 聚点原理是一个深刻的存在性定理:有界的无穷点集必有聚点。这是实数完备性的又一体现。
- 波尔查诺-魏尔斯特拉斯定理是聚点原理对序列的直接推论,也是本节最重要的结论:任何有界序列都必定包含一个收敛的子列。其证明通过构造性地从聚点附近抽取子列完成。
行动清单:
- 理解构造:重新梳理从有界序列利用聚点原理构造收敛子列的步骤,理解“任取-递增下标”的关键。
- 尝试应用:对几个简单的有界振荡序列(如 、),手动写出其至少两个不同的收敛子列。
- 联想意义:思考该定理在后续学习中的作用。例如,在证明“闭区间上连续函数必有最大值和最小值”或“有界数列必有上、下极限”时,这个定理将如何被使用?
— 小象教研组
- 第2章讲义:序列极限(PDF · 3.2MB)下载
领取《小象 11GB VIP 课件资料包与大厂真题手册》
包含全套实战 Jupyter 源码、清洗后数据集、大厂高频面试真题与专属学员答疑交流群。
- ✔完整 Python / 数据分析 Jupyter 实战源码
- ✔大厂真实业务数据集与练习题
- ✔微信扫码添加课程顾问,免费获取网盘下载链接
微信扫码添加顾问