在眾多的機器學習模型中,線性代數的身影無處不在,當然,我們也會時常碰到線性代數中的正定矩陣和半正定矩陣。例如,多元正態分布的協方差矩陣要求是半正定的。
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】給定向量 ,對於實對稱矩陣
,則
向量 之間的夾角為
即兩個向量之間的夾角小於 .
若給定任意一個半正定矩陣和一個向量
,則兩者相乘得到的向量
與向量
的夾角恆小於或等於
. (等價於:
.)
3. 為什么協方差矩陣要是半正定的?
在概率論與數理統計中,我們都學習的協方差矩陣的定義:
對於任意多元隨機變量,協方差矩陣為
![]()
現給定任意一個向量 ,則
其中,
由於 ,因此,
,協方差矩陣
是半正定的。
注:原文搬運自知乎:https://zhuanlan.zhihu.com/p/44860862