浅谈「正定矩阵」和「半正定矩阵」
在众多机器学习和统计学习模型中,线性代数的身影无处不在,当然,我们也会时常碰到线性代数中的一些基本概念,例如,正定矩阵和半正定矩阵。实际上,正定矩阵和半正定矩阵贯穿在很多知识中,举一个简单的例子:多元正态分布的协方差矩阵要求是半正定的。今天,我们将简单讨论正定矩阵和半正定矩阵的概念、定义以及直观理解。
1 基本的定义
正定和半正定这两个词的英文分别是positive definite和positive semi-definite,其中,definite是一个形容词,表示“明确的、确定的”等意思。
初学线性代数的读者可能会被这两个词“唬住”,但不考虑由复数构成的矩阵的话,正定矩阵和半正定矩阵的定义实际上是很简单的:
【定义1】给定一个大小为 n\times n 的实对称矩阵 A ,若对于任意长度为 n 的非零向量 \boldsymbol{x} ,有 \boldsymbol{x}^TA\boldsymbol{x}>0 恒成立,则矩阵 A 是一个正定矩阵。
【例1】单位矩阵 I\in\mathbb{R}^{2\times 2} 是否是正定矩阵?
解:设向量 \boldsymbol{x}=\left[ \begin{array}{c} x_1 \\ x_2 \\ \end{array} \right] \in\mathbb{R}^{2} 为非零向量,则
\boldsymbol{x}^TI\boldsymbol{x}=\boldsymbol{x}^T\boldsymbol{x}=x_1^2+x_2^2
由于 \boldsymbol{x}\neq \boldsymbol{0} ,故 \boldsymbol{x}^TI\boldsymbol{x}>0 恒成立,即单位矩阵 I\in\mathbb{R}^{2\times 2} 是正定矩阵。
单位矩阵是正定矩阵 (positive definite)。
【简单证明】对于任意单位矩阵 I\in\mathbb{R}^{n\times n} 而言,给定任意非零向量 \boldsymbol{x}\in\mathbb{R}^{n} ,恒有
\boldsymbol{x}^TI\boldsymbol{x}=\boldsymbol{x}^T\boldsymbol{x}
=x_1^2+x_2^2+\cdots+x_n^2>0
【例2】 实对称矩阵 A=\left[ \begin{array}{ccc} 2 & -1 & 0 \\ -1 & 2 & -1 \\ 0 & -1 & 2 \\ \end{array} \right] \in\mathbb{R}^{3\times 3} 是否是正定矩阵?
解:设向量 \boldsymbol{x}=\left[ \begin{array}{c} x_1 \\ x_2 \\ x_3 \\ \end{array} \right] \in\mathbb{R}^{3} 为非零向量,则
\boldsymbol{x}^TA\boldsymbol{x}= \left[\begin{array}{ccc}(2x_1-x_2) & (-x_1+2x_2-x_3) & -x_2+2x_3\end{array}\right] \left[\begin{array}{c}x_1 \\ x_2 \\ x_3 \\ \end{array}\right]
=x_1^2+(x_1-x_2)^2+(x_2-x_3)^2+x_3^2>0
因此,矩阵 A 是正定矩阵。
【定义2】给定一个大小为 n\times n 的实对称矩阵 A ,若对于任意长度为 n 的向量 \boldsymbol{x} ,有 \boldsymbol{x}^TA\boldsymbol{x}\geq0 恒成立,则矩阵 A 是一个半正定矩阵。
根据正定矩阵和半正定矩阵的定义,我们也会发现:半正定矩阵包括了正定矩阵,与非负实数 (non-negative real number)和正实数 (positive real number)之间的关系很像。
2 从二次函数到正定/半正定矩阵
在初中数学中,我们学习过二次函数 y=ax^2 ,该函数的曲线会经过坐标原点,当参数 a>0时,曲线的“开口”向上,参数 a<0 时,曲线的“开口”向下。
以 y=2x^2 为例,曲线如下:
实际上,我们可以将 y=\boldsymbol{x}^TA\boldsymbol{x} 视作 y=ax^2 的多维表达式。
当我们希望 y=\boldsymbol{x}^TA\boldsymbol{x}\geq0 对于任意向量 \boldsymbol{x} 都恒成立,就要求矩阵 A 是一个半正定矩阵,对应于二次函数, y=ax^2>0,\forall x 需要使得 a\geq0 .
另外,在 y=ax^2 中,我们还知道:若 a>0 ,则对于任意 x\neq 0 ,有 y>0 恒成立。
这在 y=\boldsymbol{x}^TA\boldsymbol{x} 也有契合之处,当矩阵 A 是正定矩阵时,对于任意 \boldsymbol{x}\neq \boldsymbol{0} , y>0 恒成立。
3 正定矩阵和半正定矩阵的直观解释
若给定任意一个正定矩阵 A\in\mathbb{R}^{n\times n} 和一个非零向量 \boldsymbol{x}\in\mathbb{R}^{n} ,则两者相乘得到的向量 \boldsymbol{y}=A\boldsymbol{x}\in\mathbb{R}^{n} 与向量 \boldsymbol{x} 的夹角恒小于 \frac{\pi}{2} . (等价于: \boldsymbol{x}^TA\boldsymbol{x}>0 .)
【例3】给定向量 \boldsymbol{x}=\left[\begin{array}{c} 2 \\ 1 \\ \end{array} \right]\in\mathbb{R}^{2} ,对于单位矩阵 I=\left[\begin{array}{cc} 1 & 0 \\ 0 & 1 \\ \end{array}\right] \in\mathbb{R}^{2\times 2} ,则
\boldsymbol{y}=I\boldsymbol{x}=\boldsymbol{x}=\left[\begin{array}{c} 2 \\ 1 \\ \end{array} \right]
向量 \boldsymbol{x},\boldsymbol{y}\in\mathbb{R}^{2} 之间的夹角为
\cos\left<\boldsymbol{x},\boldsymbol{y}\right>=\frac{\boldsymbol{x}^T\boldsymbol{y}}{||\boldsymbol{x}||\cdot||\boldsymbol{y}||}
=\frac{2\times 2+1\times 1}{\sqrt{2^2+1^2}\cdot\sqrt{2^2+1^2}}
=1
即两个向量之间的夹角为0°.
【例4】给定向量 \boldsymbol{x}=\left[ \begin{array}{c} 1 \\ 2 \\ 1 \\ \end{array} \right] \in\mathbb{R}^{3} ,对于实对称矩阵 A=\left[ \begin{array}{ccc} 2 & -1 & 0 \\ -1 & 2 & -1 \\ 0 & -1 & 2 \\ \end{array} \right] \in\mathbb{R}^{3\times 3} ,则
\boldsymbol{y}=A\boldsymbol{x}= \left[ \begin{array}{c} 0 \\ 2 \\ 0 \\ \end{array} \right]
向量 \boldsymbol{x},\boldsymbol{y}\in\mathbb{R}^{2} 之间的夹角为
\cos\left<\boldsymbol{x},\boldsymbol{y}\right>=\frac{\boldsymbol{x}^T\boldsymbol{y}}{||\boldsymbol{x}||\cdot||\boldsymbol{y}||}=\frac{\sqrt{6}}{3}
即两个向量之间的夹角小于 \frac{\pi}{2} .
若给定任意一个半正定矩阵 A\in\mathbb{R}^{n\times n} 和一个向量 \boldsymbol{x}\in\mathbb{R}^{n} ,则两者相乘得到的向量 \boldsymbol{y}=A\boldsymbol{x}\in\mathbb{R}^{n} 与向量 \boldsymbol{x} 的夹角恒小于或等于 \frac{\pi}{2} . (等价于: \boldsymbol{x}^TA\boldsymbol{x}\geq0 .)
4 为什么协方差矩阵要是半正定的?
在概率论与数理统计中,协方差矩阵被定义为:
对于任意多元随机变量 \boldsymbol{t} ,协方差矩阵为
C=\mathbb{E}\left[(\boldsymbol{t}-\bar{\boldsymbol{t}})(\boldsymbol{t}-\bar{\boldsymbol{t}})^T\right]
现给定任意一个向量 \boldsymbol{x} ,则
\boldsymbol{x}^TC\boldsymbol{x}=\boldsymbol{x}^T\mathbb{E}\left[(\boldsymbol{t}-\bar{\boldsymbol{t}})(\boldsymbol{t}-\bar{\boldsymbol{t}})^T\right]\boldsymbol{x}
=\mathbb{E}\left[\boldsymbol{x}^T(\boldsymbol{t}-\bar{\boldsymbol{t}})(\boldsymbol{t}-\bar{\boldsymbol{t}})^T\boldsymbol{x}\right]
=\mathbb{E}(s^2)=\sigma_{s}^2
其中,
\sigma_s=\boldsymbol{x}^T(\boldsymbol{t}-\bar{\boldsymbol{t}})=(\boldsymbol{t}-\bar{\boldsymbol{t}})^T\boldsymbol{x}
由于 \sigma_s^2\geq0 ,因此, \boldsymbol{x}^TC\boldsymbol{x}\geq0 ,协方差矩阵 C 是半正定的。
相关参考
- 维基百科中的“正定矩阵”词条:Positive-definite matrix
好书推荐
一、《矩阵计算》被誉为数值计算领域的“圣经”,该书以线性代数为基础,系统地介绍了矩阵计算的基本理论和方法,并附有大量算法、习题和参考文献,据谷歌学术 (Google Scholar) 引用数据显示,该书已被引用超过7.5万次,是一本不可多得的好书。目前,人民邮电出版社已获得授权在国内出版,并发行了中文版与英文版。
二、机器学习领域经典中文著作《机器学习》,南京大学周志华教授西瓜书。