📑 查看全课大纲(第 58 / 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.对偶问题(二)
多元函数的极值
约 11 分钟
多元函数的极值
小象实战讲义 · 人工智能数学基础
在人工智能的许多核心算法中,如神经网络的梯度下降训练、支持向量机的优化问题,其本质都是在寻找某个多元函数(如损失函数、目标函数)的“最优”值点——即极值点。本节我们将系统学习多元函数极值的定义、寻找极值点的必要条件与充分条件,并掌握利用梯度与海塞矩阵进行判断和计算的完整方法。学完本节,你将能够分析并求解一个多元优化问题的潜在极值点。
💡 核心导读
本节我们将沿着以下路径,将一元函数的极值理论推广到多元世界:
- 定义推广:理解多元函数极大值与极小值的严格定义,其几何直观与一元情形类似。
- 必要条件:掌握“可微函数在极值点处梯度为零”这一核心定理,并认识其逆命题不成立。
- 充分条件:学习如何利用海塞矩阵(二阶导数矩阵)的正定性、负定性来判断稳定点是极大值点、极小值点还是鞍点。
- 计算流程:通过一个二元函数实例,演练从求稳定点到利用海塞矩阵判定的完整求解步骤。
多元函数极值的定义
设 元函数 在区域 上有定义, 是 的一个内点。
- 极大值:如果存在点 的某个邻域 ,使得对于该邻域内任意一点 ,都有 则称 是函数 的一个极大值, 称为极大值点。
- 极小值:如果存在点 的某个邻域 ,使得对于该邻域内任意一点 ,都有 则称 是函数 的一个极小值, 称为极小值点。
极大值与极小值统称为极值,极大值点与极小值点统称为极值点。
几何直观:以二元函数 为例,其图像是一个曲面。极大值点对应曲面上一个“山峰”的峰顶,极小值点则对应一个“山谷”的谷底。例如,函数 的图像是一个旋转抛物面,点 就是它的极小值点。
极值的必要条件:梯度为零
在一元函数中,我们熟知费马引理:如果可导函数 在 处取得极值,则 。这个结论可以完美地推广到多元可微函数。
定理(极值的必要条件):如果 元函数 在点 处可微,且在该点取得极值(极大值或极小值),那么函数在该点的梯度为零向量,即 其中梯度 。
证明思路:固定其他变量,只考虑第 个变量 ,构造一元辅助函数 。由于 在 处取得极值, 必然在 处取得极值。根据一元函数的费马引理,有 ,即 。这对所有 都成立,故梯度为零。
满足 的点 称为函数 的稳定点(或驻点、临界点)。
重要提醒:该条件是必要但不充分的。梯度为零的点不一定是极值点。例如,二元函数 在 处的梯度为零,但该点是一个鞍点(沿 轴方向是极小,沿 轴方向是极大),并非极值点。
极值的充分条件:海塞矩阵判定
对于一元函数,我们利用二阶导数 的符号来判断稳定点 的类型: 为极小值, 为极大值, 时无法判断。在多元情形下,二阶导数的角色由海塞矩阵扮演。
定义(海塞矩阵):设 元函数 具有二阶连续偏导数,则其海塞矩阵 是一个 的对称矩阵,其第 行第 列的元素为二阶偏导数:
定理(极值的充分条件):设 元函数 在点 的某邻域内具有二阶连续偏导数,且 (即 是稳定点)。记 为该点的海塞矩阵。
- 如果 是正定矩阵,则 在 处取得极小值。
- 如果 是负定矩阵,则 在 处取得极大值。
- 如果 是不定矩阵,则 不是极值点(是鞍点)。
- 如果 是半正定或半负定矩阵,则该定理无法判定,需用其他方法。
证明思路(泰勒展开):利用 在 处的二阶泰勒公式: 其中 位于 与 的连线上。由于 ,且 连续,当 充分接近 时, 的性质由 决定。因此, 的符号由二次型 主导。根据正定、负定、不定的定义,即可得出结论。
二元函数特例:对于 ,海塞矩阵为 在稳定点 处,记 , , 。判别法则可简化为:
- 若 且 ,则 正定, 取极小值。
- 若 且 ,则 负定, 取极大值。
- 若 ,则 不定, 是鞍点。
- 若 ,则无法判定。
计算实例与 Python 验证
让我们通过一个具体例子来演练整个求解流程。
例:求函数 的极值。
解:
求稳定点(梯度为零): 解此线性方程组,得唯一稳定点:。
计算海塞矩阵: 故海塞矩阵为常数矩阵:
判断海塞矩阵在稳定点处的正定性: 在点 处,。
- 一阶顺序主子式:。
- 二阶顺序主子式(行列式):。 因为所有顺序主子式均大于零,所以 是正定矩阵。
结论:根据极值的充分条件,函数 在点 处取得极小值。极小值为 。
下面我们用 Python 的 SymPy 库来验证上述计算过程。
import sympy as sp
import numpy as np
# 定义符号变量和函数
x, y = sp.symbols('x y')
f = x**2 + 3*x*y + 3*y**2 - 6*x - 3*y
print("函数 f(x, y) =", f)
print("-" * 40)
# 1. 计算梯度(一阶偏导数)
f_x = sp.diff(f, x)
f_y = sp.diff(f, y)
print("偏导数 f_x =", f_x)
print("偏导数 f_y =", f_y)
print("-" * 40)
# 2. 求解稳定点 (f_x = 0, f_y = 0)
# 使用 dict=True 确保返回值为字典列表,便于处理
stationary_points = sp.solve([f_x, f_y], (x, y), dict=True)
print("稳定点(驻点):", stationary_points)
print("-" * 40)
# 3. 计算海塞矩阵(二阶偏导数矩阵)
H = sp.hessian(f, (x, y))
print("海塞矩阵 H =")
sp.pprint(H)
print("-" * 40)
# 4. 在稳定点处判断海塞矩阵的正定性
for point in stationary_points:
x_val, y_val = point[x], point[y]
print(f"在稳定点 ({x_val}, {y_val}) 处:")
# 代入稳定点坐标,得到数值矩阵
H_at_point = H.subs({x: x_val, y: y_val})
H_np = np.array(H_at_point, dtype=float)
print("海塞矩阵为:\n", H_np)
# 计算顺序主子式
det1 = H_np[0, 0] # 一阶主子式
det2 = np.linalg.det(H_np) # 二阶主子式(行列式)
print(f" 一阶顺序主子式 = {det1:.2f}")
print(f" 二阶顺序主子式(行列式) = {det2:.2f}")
# 根据主子式判断正定性(针对2x2矩阵)
if det1 > 0 and det2 > 0:
print(" -> 海塞矩阵正定,该点为极小值点。")
f_val = f.subs({x: x_val, y: y_val})
print(f" 极值 f({x_val}, {y_val}) = {f_val}")
elif det1 < 0 and det2 > 0:
print(" -> 海塞矩阵负定,该点为极大值点。")
f_val = f.subs({x: x_val, y: y_val})
print(f" 极值 f({x_val}, {y_val}) = {f_val}")
elif det2 < 0:
print(" -> 海塞矩阵不定,该点为鞍点(非极值点)。")
else:
print(" -> 无法由海塞矩阵直接判定(半定情况)。")
print("-" * 40)📝 动手练一练
- 求稳定点:求函数 的所有稳定点(驻点)。
- 判断极值:对于上题求得的稳定点,利用海塞矩阵判断哪些是极值点,并说明是极大值还是极小值。
参考答案:
- 解方程组 。由第一个方程得 ,代入第二个方程得 ,解得 或 。对应地, 或 。因此稳定点为 和 。
- 海塞矩阵为 。
- 在 处,,行列式 ,故为不定矩阵, 是鞍点。
- 在 处,,,行列式 ,故为正定矩阵, 是极小值点。
本章小结
本节我们将一元函数的极值理论系统地推广到了多元函数:
- 定义核心:多元函数极值的定义与一元函数在思想上完全一致,关注函数在某个点邻域内的相对大小。
- 寻找候选点:可微函数取得极值的必要条件是梯度在该点为零向量。满足此条件的点称为稳定点(驻点),它们是极值点的“候选人”。
- 鉴定候选人:利用海塞矩阵(二阶导数矩阵)在稳定点处的正负定性,可以给出极值存在的充分条件:正定对应极小值,负定对应极大值,不定则对应鞍点(非极值点)。
- 标准流程:求解多元函数极值的一般步骤为:1) 求梯度并解方程得稳定点;2) 计算海塞矩阵;3) 在稳定点处判断海塞矩阵的正定性。
行动清单
- 手动推导:任选一个二元函数(如 ),完整重复“求稳定点->算海塞矩阵->判断正定性”的笔算流程。
- 代码验证:将你手动计算的例子用上面的 Python 代码模板进行验证,确保理解代码每一步的含义。
- 概念反思:思考“梯度为零”为什么只是极值的必要条件而非充分条件?尝试画出或想象一个二元函数鞍点(如 )的图像,加深理解。
— 小象教研组
- 第9章讲义(含板书):多元微分学(PDF · 28.2MB)下载
领取《小象 11GB VIP 课件资料包与大厂真题手册》
包含全套实战 Jupyter 源码、清洗后数据集、大厂高频面试真题与专属学员答疑交流群。
- ✔完整 Python / 数据分析 Jupyter 实战源码
- ✔大厂真实业务数据集与练习题
- ✔微信扫码添加课程顾问,免费获取网盘下载链接
微信扫码添加顾问