奇異值分解

奇異值

特徵值可能為負、可能是複數,甚至在實數範圍內根本不存在;它們只對方陣表現良好。奇異值則是它們彬彬有禮的表親:任何形狀的矩陣都擁有奇異值。幾何上它們是映射 A 的伸縮因子:把單位球餵給 A,出來的是一個橢球,而這個橢球各半軸的長度恰好就是奇異值。

嚴格地說:對任意 m×n 矩陣 A,構造對稱半正定矩陣 A^T A。它的特徵值全為實數且非負。奇異值 sigma_1 >= sigma_2 >= ... >= 0 就是這些特徵值的非負平方根,sigma_i = sqrt(lambda_i(A^T A))。非零奇異值的個數等於 A 的秩。按慣例我們將它們按遞減順序排列。

由於 A^T A 是對稱半正定矩陣,其特徵值絕不為負,因此平方根總是實數——這正是無論 A 多麼任性、奇異值都為實數且非負的原因。最大的 sigma_1 是 A 能把任意單位向量拉伸的最大幅度(即算子 2-範數);而最小的非零奇異值則告訴你,在 A 真正作用的那些方向上,它離奇異有多近。

你從 m×m 的 A A^T 中會得到同樣的數:A^T A 與 A A^T 共享相同的非零特徵值,只是用額外的零補齊以適應較大的維數。因此奇異值是映射的內在屬性,無論你從輸入端還是輸出端去看它,結果都一樣。

A = [3, 0; 0, 2; 0, 0] -> sigma_1 = 3, sigma_2 = 2 (rank 2, two nonzero singular values)

一個準對角的 3×2 矩陣:它的奇異值就是非零元素的絕對值。

奇異值是唯一的(一個矩陣恰有一份排好序的奇異值清單),但與之配套的奇異向量卻不唯一——在任何重複奇異值所對應的子空間內,它們可以被旋轉。

又稱
sigma_istretch factor