在众多的机器学习模型中,线性代数的身影无处不在,当然,我们也会时常碰到线性代数中的正定矩阵和半正定矩阵。例如,多元正态分布的协方差矩阵要求是半正定的。
--------------×--------------×--------------
1. 基本的定义
正定和半正定这两个词的英文分别是positive definite和positive semi-definite,其中,definite是一个形容词,表示“明确的、确定的”等意思。
初学线性代数的读者可能会被这两个词“唬住”,但正定矩阵和半正定矩阵的定义实际上是很简单的 (不考虑复数构成的矩阵):
【定义1】给定一个大小为 的实对称矩阵 ,若对于任意长度为 的非零向量 ,有 恒成立,则矩阵 是一个正定矩阵。
【例1】单位矩阵 是否是正定矩阵?
解:设向量 为非零向量,则
由于 ,故 恒成立,即单位矩阵 是正定矩阵。
单位矩阵是正定矩阵 (positive definite)。
【简单证明】对于任意单位矩阵 而言,给定任意非零向量 ,恒有
【例2】 实对称矩阵 是否是正定矩阵?
解:设向量 为非零向量,则
因此,矩阵 是正定矩阵。
【定义2】给定一个大小为 的实对称矩阵 ,若对于任意长度为 的向量 ,有 恒成立,则矩阵 是一个半正定矩阵。
根据正定矩阵和半正定矩阵的定义,我们也会发现:半正定矩阵包括了正定矩阵,与非负实数 (non-negative real number)和正实数 (positive real number)之间的关系很像。
图1 正实数与负实数,图片来源于https://en.wikipedia.org/wiki/Real_number
2. 从二次函数到正定/半正定矩阵
在初中数学中,我们学习了二次函数 ,该函数的曲线会经过坐标原点,当参数 时,曲线的“开口”向上,参数 时,曲线的“开口”向下。
以 为例,曲线如下:
图2 二次函数曲线
实际上,我们可以将 视作 的多维表达式。
当我们希望 对于任意向量 都恒成立,就要求矩阵 是一个半正定矩阵,对应于二次函数, 需要使得 .
另外,在 中,我们还知道:若 ,则对于任意 ,有 恒成立。
这在 也有契合之处,当矩阵 是正定矩阵时,对于任意 , 恒成立。
3. 正定矩阵和半正定矩阵的直观解释
若给定任意一个正定矩阵 和一个非零向量 ,则两者相乘得到的向量 与向量 的夹角恒小于 . (等价于: .)
【例3】给定向量 ,对于单位矩阵 ,则
向量 之间的夹角为
即两个向量之间的夹角为0°.
【例4】给定向量 ,对于实对称矩阵 ,则
向量 之间的夹角为
即两个向量之间的夹角小于 .
若给定任意一个正定矩阵 和一个向量 ,则两者相乘得到的向量 与向量 的夹角恒小于或等于 . (等价于: .)
4. 为什么协方差矩阵要是半正定的?
在概率论与数理统计中,我们都学习的协方差矩阵的定义:
对于任意多元随机变量 ,协方差矩阵为
现给定任意一个向量 ,则
其中,
由于 ,因此, ,协方差矩阵 是半正定的。