在众多的机器学习模型中,线性代数的身影无处不在,当然,我们也会时常碰到线性代数中的正定矩阵和半正定矩阵。例如,多元正态分布的协方差矩阵要求是半正定的。
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_number2. 从二次函数到正定/半正定矩阵
在初中数学中,我们学习了二次函数
,该函数的曲线会经过坐标原点,当参数 时,曲线的“开口”向上,参数 时,曲线的“开口”向下。以
为例,曲线如下: 图2 二次函数曲线实际上,我们可以将
视作 的多维表达式。当我们希望
对于任意向量 都恒成立,就要求矩阵 是一个半正定矩阵,对应于二次函数, 需要使得 .另外,在
中,我们还知道:若 ,则对于任意 ,有 恒成立。这在
也有契合之处,当矩阵 是正定矩阵时,对于任意 , 恒成立。3. 正定矩阵和半正定矩阵的直观解释
若给定任意一个正定矩阵 和一个非零向量 ,则两者相乘得到的向量 与向量 的夹角恒小于 . (等价于: .)
【例3】给定向量
,对于单位矩阵 ,则向量
之间的夹角为即两个向量之间的夹角为0°.
【例4】给定向量
,对于实对称矩阵 ,则向量
之间的夹角为即两个向量之间的夹角小于
.若给定任意一个半正定矩阵 和一个向量 ,则两者相乘得到的向量 与向量 的夹角恒小于或等于 . (等价于: .)
3. 为什么协方差矩阵要是半正定的?
在概率论与数理统计中,我们都学习的协方差矩阵的定义:
对于任意多元随机变量 ,协方差矩阵为
现给定任意一个向量
,则其中,
由于
,因此, ,协方差矩阵 是半正定的。
注:原文搬运自知乎:https://zhuanlan.zhihu.com/p/44860862