课程/M06/二次型与正定性
M06 · 特征值核心约 40 分钟

6.5 二次型与正定性

本节位置:模块 6 · 特征值 | 前置:6.4 对称矩阵与谱定理 | 预计:40 分钟

一句话:二次型 给每个方向分配一个「高度」;正定意味着这个高度在所有非零方向上都为正,几何上是一个开口向上的碗。

0. 场景引入

一只量化基金管着 5 亿元,只配三类资产:A 年化波动 20%、B 12%、C 8%。用 1000 个交易日的日收益估出相关系数 、、,得到一个 的协方差矩阵 。这是季度再平衡会,桌上只有一份日收益表和一页风险报告。

基金经理要决定:允许卖空,还是加「权重 」的约束?风险模型说,权重向量 ()的组合风险是 ——一个二次型。注意这个最优组合与预期收益无关,只由 决定;它回答的是「给定这三类资产,最小能压到多少波动」。不解约束的最小方差组合是 :为了压波动,它宁愿卖空 6.3% 的 A。年化波动 6.9%,等权则是 10.4%。

决策:接受这个带卖空的组合,还是加非负约束?代价:若 估错——比如 实际是 0.70——卖空比例会从 6.3% 变成 11.0%,杠杆敞口几乎翻倍。按 5 亿元规模算,多出的约 2400 万元空头在市场踩踏时可能被强制平仓。

读完本节,你能回答的三个问题是:

  1. 为什么「组合风险永远 」等价于 半正定?
  2. 不画图、不枚举方向,怎么用少数几个数判断这个碗朝上还是朝下?
  3. 当 非正定时,优化器会给你什么荒谬的答案?

1. 直觉

把 限制在单位圆上, 随方向变化。对 ,:取 得 2,取 得 3,取 得 1,三个方向都为正。

用 6.4 的谱分解,令 ,则 。二次型在主轴坐标下没有交叉项,只是把各坐标平方后按特征值加权。 于是所有 时每个方向都向上(碗);有正有负时有的向上、有的向下(鞍);有零时某个方向完全平坦(槽)。

正定与不定二次型:左图是碗,右图是鞍

图:左图 的两个特征值都为正,等高线是闭合椭圆, 在每个方向都向上弯;右图 的特征值是 和 ,等高线是双曲线,沿一个特征方向 、沿另一个方向 。

💡 一句话直觉:正定 = 二次型在每个方向上都是「向上弯」的;特征值就是各主轴的弯曲刚度。

类比边界:这里的「向上」是代数符号,不是物理高度;正定也不要求矩阵元素为正,只看所有特征值的符号。

1.1 它在现实世界里对应什么

在组合风险里,二次型就是风险的平方:

数学对象组合风险里的对应物
权重 每类资产各投多少,和为 1
二次型 组合方差,单位是「年化波动²」
特征值 各主成分方向上的风险贡献
正定任何非零持仓都有正风险
半正定存在零风险组合(完美对冲), 奇异
不定算出负方差,说明 估坏了

年化波动 20% 的资产,方差是 ;波动 7% 的组合,方差约 。所以这个「碗」在数值上很扁: 可能很大,优化器稍微一歪,权重就跑到极端——这就是 Markowitz 模型著名的「误差最大化器」现象。

量级:单资产年化方差在 – 之间(对应波动 8%–20%),组合方差通常落在同一区间; 的条件数在 3 类资产时约 8,到 500 只股票时常到 – 量级(经验值,随样本长度与资产相关性变化)。

这个对应在哪里失效:方差只描述二阶矩。真实风险有厚尾、流动性枯竭、危机时相关性一起趋近 1;正态假设下「6.9% 波动」对应的极端损失,在实盘里可能被低估一个数量级。另外 是时变的,用 1000 天估出来的碗,明天可能已经换了形状。

2. 定义

2.1 二次型

设 ,二次型(quadratic form) 是 。由于 ,只有对称部分起作用。所以讨论二次型时总可假设 ;否则特征值判据不适用。

2.2 五类定性

设 对称:

名称条件几何
正定(positive definite)对所有 ,开口向上的碗
半正定(positive semidefinite)对所有 ,碗底有平坦方向
负定(negative definite)对所有 ,倒扣的碗
半负定(negative semidefinite)对所有 ,倒扣的槽
不定(indefinite)既有 又有 鞍面

记号: 正定, 半正定,、 类似。

2.3 三条判据

特征值判据: 正定 所有 ;半正定 所有 ;不定 特征值有正有负。

Sylvester 判据(Sylvester’s criterion): 正定 所有顺序主子式(leading principal minors) ,,其中 是左上角 子矩阵的行列式。

Cholesky 判据: 正定 存在对角元为正的下三角矩阵 ,使 。

2.4 与谱分解的关系

由 ,令 (正交变换不改长度),则 。换到主轴坐标后,二次型变成 个独立平方项,系数就是特征值;所有定性判断都从这条式子来。

3. 为什么这样定义

为什么要求「所有非零方向」而不是「某些方向」?因为优化和物理关心全局形状:只要有一个方向向下弯,那个方向就能让函数继续下降,极小点不成立。要求对所有 成立,才排除这种可能。

为什么用二次型?一次型 没有弯曲信息;二次型是 Taylor 展开中第一个能描述弯曲的项,所以 Hessian、协方差、能量都自然落在二次型上。

为什么正定要求对称?若 不对称, 只看到对称部分,特征值判据会给出错误结论。例如 的特征值是 ,但二次型 在 处为 ,并不正定。先对称化,再判定。

3.1 反事实:只查「每个资产自己的波动」会坏在哪

一个常见的错误判据是「对角元都为正,所以正定」。取

三个对角元都是 1,看起来每个资产都有正风险。但取等权 :

组合方差是 。这不是「风险很小」,而是负的方差:优化器会认为存在无风险套利,把仓位加到无穷。现实中三种资产两两强负相关()不可能同时成立——这个 根本不是合法的协方差矩阵。

第二个反事实:把数据估出的 直接丢给优化器、不做检查。若收益序列有缺失或异步(不同市场收盘时间不同),估出的矩阵常带一个 量级的特征值;Cholesky 在那一行开根号失败,程序抛异常。看起来是个「数值小问题」,实际是模型在告诉你:这组数据撑不起一个合法协方差。

4. 性质与推导

4.1 特征值判据的证明

若所有 ,对 ,有 ,故 (至少一个 )。反过来,若存在 ,取 ,则 ,而 ,不满足正定。半正定与不定的证明同理。

4.2 Sylvester 判据

对对称 做不带行交换的 LU 分解,, 是主元。顺序主子式满足 ,所以 对每个 成立,等价于所有主元 ,等价于 正定。直观上, 是前 个坐标张成的子空间上的体积缩放,全为正说明每个前缀子空间上的二次型都向上弯。

注意:半正定不能只查顺序主子式。 的顺序主子式是 ,但它不定(取 得 )。半正定要求所有主子式 。

4.3 Cholesky 分解

若 正定,存在唯一的下三角 (对角元为正)使 。逐元素计算:

从左上到右下,每次用已算出的 元素消去当前行列的已知部分,再开方或相除。正定保证根号内恒为正,算法不会失败;若出现负数或零,说明矩阵不是正定(或数值上接近奇异)。

4.4 正定与凸性

二次函数 的 Hessian 是 ,故 严格凸 有唯一极小点 (令梯度 )。若 半正定,极小点可能不唯一(沿零特征值方向平坦);若 不定,驻点是鞍点。另外,对任意矩阵 , 总是半正定:,零空间等于 的零空间。

5. 例子

5.1 手算:正定矩阵的三种检验

取 ,。配方得

两个平方项系数为正,且不同时为零(除非 ),故正定。特征值为 ,都大于 0;Sylvester:、;Cholesky:

水平集 在主轴坐标下是 :椭圆沿 的半轴为 1,沿 的半轴为 。短轴方向对应大特征值 3——曲率越大,等高线越密。

5.2 反例:对角线为正,却不定

取 ,。对角线都是 1,看起来「正」,但 、,Sylvester 判据失败。特征值是 和 ,主轴坐标下 :沿 向上弯,沿 向下弯,是鞍面。取 直接验证:。

5.3 场景:损失曲面的曲率

设 、,损失 。Hessian 是 ,特征值 和 ,条件数 。极小点满足 :

最小损失 。梯度下降的稳定步长上限是 ;超过它,迭代会在最陡方向上来回震荡。

5.4 场景闭环:5 亿元、3 类资产、一次再平衡

输入:3 类资产 × 1000 个交易日的日收益,共 3000 个数(fp64 约 24 KB);组合规模 5 亿元。

计算:估出 的 (元素量级 ),解 s.t. ,得 ,年化波动 6.88%。加上 后重解(把 A 压到 0,在 B、C 上重新分配),得 ,波动 6.95%。

输出:卖空 6.3% 的 A,只把波动从 6.95% 降到 6.88%,便宜 0.07 个百分点;代价是 3150 万元空头敞口()和借券成本。决策:加非负约束,放弃这点优化。

成本: 求逆与 Cholesky 都是微秒级,真正的成本在估计。扩到 5000 只股票时 是 MB,Cholesky 约 FLOP,单核 10 GFLOP/s 下约 4 秒;每天重估一次可以接受,但估计误差远大于计算误差。

失败条件与兜底:

  • 非正定(缺失值、异步收盘、资产数多于天数):Cholesky 在开根号处报错。兜底:收缩估计把 拉向对角阵,或加 保证最小特征值 。
  • 相关系数估错 0.1:卖空从 6.3% 变 11%,如 §0 所示。兜底:对 做区间敏感性分析,并硬性限制单资产权重与总杠杆。
  • 样本太短:1000 天估 3 类资产还行,估 5000 只股票则是 , 必奇异。兜底:换因子模型 (只有 个因子),或改用风险平价。

6. 常见误区

  1. 误区:对角线元素都为正,矩阵就正定。纠正:交叉项可以破坏正定性。 对角元全正,但特征值 ,不定。
  2. 误区:顺序主子式全 就是半正定。纠正: 的顺序主子式为 ,却不定;半正定要查所有主子式,或直接看特征值。
  3. 误区:正定就是所有元素为正。纠正:正定是谱条件,与单个元素符号无关; 有负元素,仍然正定(特征值 )。
  4. 误区:不对称矩阵也能直接用特征值判据。纠正:先取对称部分 ; 的特征值为正,但二次型不定。
  5. 误区:半正定矩阵一定可逆。纠正:半正定允许 特征值,此时奇异;正定才保证可逆且所有特征值严格为正。

7. 概念网络

  • 前置:6.4 对称矩阵与谱定理 —— 把二次型化成 。
  • 前置:6.3 对角化 —— 正定矩阵一定可对角化,且特征基正交。
  • 后续:6.6 幂迭代 —— Rayleigh 商在单位球上的极值就是最大/最小特征值。
  • 关联:1.3 点积 —— 是加权内积的平方, 正定时它定义一个新内积。
  • 关联:8.4 Hessian 与二阶近似 —— 正定 Hessian 是局部极小的二阶条件。
  • 关联:8.6 凸性 —— 正定 严格凸。

8. 通往大模型:损失曲面是不是一个碗

出现位置:训练损失 在参数 附近的二阶近似 , 对称,正定性决定这个点是不是碗底。微调中 LoRA 的更新 只在一个低维子空间内改变曲率, 的小尺寸特征值决定该子空间是否正定。

为什么需要:正定 严格凸 局部极小即全局极小。若 Hessian 有负特征值,梯度下降会沿该方向逃逸,训练表现为 loss 先降后升或卡在鞍点。 还给出学习率上限:步长超过 就会在最陡方向发散。Cholesky 则用于高斯采样:若协方差 ,则 ()就得到 ;形状 的 对应 的样本。

可检验结论:对二次损失,若 Hessian 特征值为 200 和 2,则 ,稳定步长上限 ;取步长 时,最慢方向每步缩小 倍,约 100 步才衰减到 。这解释了为什么条件数大的问题需要预条件或二阶方法。用 np.linalg.cholesky(H) 是否成功,可以快速检验对称矩阵是否正定(失败即非正定)。

算错时下游看到什么:把非正定的矩阵送进 cholesky,LAPACK 会在某个主元上返回负值或直接报错。如果代码用 try/except 吞掉异常继续跑,协方差模型会给出负方差,下游的仓位优化器把它当成「免费的风险抵消」,于是加杠杆;训练里的对应现象是二阶优化器(Newton、K-FAC)在鞍点附近算出上升方向,loss 不降反升。另一个常见现象是 cholesky 成功但条件数 :分解在数学上合法,数值上无意义,采样出的高斯几乎全部落在一条直线上。

9. 练习

  1. 概念:为什么正定性要求「对所有 」,而不是「存在某个 使 」?
  2. 计算:用 Sylvester 判据判断 是否正定,并求 Cholesky 分解。
  3. 计算: 是正定还是半正定?写出 并说明零方向。
  4. 开放:对 ,、,求极小点、最小损失与 Hessian 特征值,并给出梯度下降的稳定步长上限。
参考答案
  1. 正定要排除「某个方向向下弯」的可能;只要存在一个 使 ,该方向就能让函数继续下降,极小点不成立。要求所有非零方向为正,才是全局的碗。
  2. ,,正定。,验证 。
  3. ,半正定;特征值 ,零方向 , 奇异。
  4. ,;Hessian 的特征值 ,稳定步长上限 。

10. 一页速记

  • ,只看对称部分 。
  • 物理意义 / 现实对应:二次型 = 能量、风险(方差)或距离的平方;特征值 = 各主轴的弯曲刚度或方差;正定 = 碗底,半正定 = 有平坦方向的槽,不定 = 鞍面。
  • 正定 所有特征值 所有顺序主子式 存在正对角 Cholesky 因子 ()。
  • 半正定允许零特征值,此时矩阵奇异、等高线有平坦方向。
  • 主轴坐标下 :正负号决定碗、槽、鞍。
  • 正定 Hessian 严格凸; 决定梯度下降的步长上限 。

11. 参考文献与致谢

这一页的知识不是凭空来的。下面列出本页直接借用的原始工作与权威整理;正文中的人名、定理名已链接到对应条目。链接优先指向 DOI、arXiv 或可长期访问的原文存档。

  • 西尔维斯特(James Joseph Sylvester, 1852):A demonstration of the theorem that every homogeneous quadratic polynomial is reducible by real orthogonal substitutions to the form of a sum of positive and negative squares。证明二次型在正交替换下的惯性定律(正、负平方项个数不变),本页的 Sylvester 判据即以他命名。Phil. Mag.
  • 海厄姆(Nicholas J. Higham, 2002):Accuracy and Stability of Numerical Algorithms(2nd ed.)。用专章分析 Cholesky 分解的舍入误差与正定性检测,说明为什么 能当作正定的数值判据。SIAM
  • Boyd 与 Vandenberghe(2004):Convex Optimization。把「Hessian 正定 严格凸 唯一极小」写成可检验的凸性判据,本页 §4.4 与 §8 的优化解释以此为标准表述。Cambridge

下一篇 → 6.6 幂迭代与 PageRank

返回 M06 导览去练习场

随堂测 · 5 题

判断难度 1第 1 / 5 题
只要矩阵的主对角元都为正,它就是正定矩阵。

源文件:06-特征值/05-二次型与正定.md

输入关键词开始搜索