SVD計算機

將二階矩陣分解為U、奇異值與V的轉置,取得可重現的確定性數值結果。

奇異值分解
請輸入恰好兩列資料,數值間以半形逗號分隔,兩列間以半形分號分隔。

數值間使用半形逗號,兩列間使用半形分號。

關於奇異值分解

奇異值分解通常簡稱SVD,可將實矩陣分解為三個具有特定結構的矩陣。慣用等式表示為:原矩陣等於U乘以Sigma再乘以V的轉置。U與V是正交矩陣,其行向量構成互相垂直的單位方向。Sigma是對角矩陣,對角線上包含由大到小排列的非負奇異值。本計算機可對任意二階實矩陣進行此分解。 計算首先將輸入矩陣的轉置與輸入矩陣相乘,得到一個對稱矩陣。除了微小的浮點誤差外,其特徵值皆為非負。特徵值的平方根就是奇異值,對應的正規化特徵向量構成V的各行。將原矩陣乘以每個右奇異向量,再除以其非零奇異值,即可得到U的對應行。當奇異值為零時,計算機會以確定性方式補齊正交規一基底,確保顯示的分解因子仍然有效。 奇異值描述矩陣沿特定方向伸縮空間的程度。若第一個奇異值很大,第二個則小得多,表示變換主要集中在一個方向。第二個奇異值為零,代表矩陣的秩為一或零,會將平面壓縮成直線或單一點。最大奇異值與最小非零奇異值的比值與數值條件性有關,但本頁顯示的是分解結果,而不是條件數。 SVD可用於最小平方法擬合、偽逆、降維、影像壓縮、推薦系統、訊號處理與雜訊濾除。與特徵值分解不同,每個實矩陣都存在SVD,且不受限於對稱矩陣或方陣。本第1階段計算機刻意將輸入限制為二階矩陣,以提供精簡、透明、不依賴外部套件且格式可預期的實作。不過,其基本概念可直接延伸到任意大小的矩形矩陣。 結果四捨五入至小數點後六位,並移除無意義的尾端零。正交因子在數學上並不唯一:U與V中對應行的正負號可同時反轉,而不改變乘積;重複奇異值也允許子空間內的額外旋轉。因此,其他可靠的SVD套件可能顯示不同的正負號或基底向量,卻仍能重建完全相同的輸入矩陣。本計算機採用一致的定向規則,讓重複輸入與固定範例的結果維持穩定。

SVD範例

輸入矩陣奇異值說明
3,0;0,23, 2正對角矩陣已與其奇異方向對齊。
4,0;0,14, 1此矩陣將第一軸伸長為四倍,第二軸則保持不變。
1,0;0,01, 0零奇異值表示這是秩為一的矩陣。
0,2;2,02, 2相同的奇異值表示兩個互相垂直方向的伸縮程度相同。

如何使用SVD計算機

  1. 輸入第一列的兩個數值,以半形逗號分隔。
  2. 加上半形分號,再輸入以半形逗號分隔的第二列。
  3. 選取「計算SVD」。
  4. 查看奇異值以及U、Sigma與V的轉置矩陣。

SVD計算機常見問題

奇異值代表什麼?

奇異值衡量沿特定互相垂直方向的伸縮程度。數值越大,縮放越強;零值則表示某個維度被壓縮消失。

為什麼U與V是正交矩陣?

它們的行向量是互相垂直的單位向量。正交變換會保留長度與角度,因此這些因子表示旋轉或鏡射,而非額外的縮放。

不同的SVD答案可以都正確嗎?

可以。成對奇異向量的正負號可同時反轉,而不改變重建後的矩陣。重複奇異值也容許不同但有效的正交規一基底。

此計算機支援矩形矩陣嗎?

不支援。本第1階段實作僅接受任意二階實矩陣。較大矩陣與矩形矩陣需要更通用的數值分解程序。

奇異值為零代表什麼?

表示矩陣至少失去一個獨立方向,屬於奇異矩陣。對二階矩陣而言,一個正值與一個零值表示秩為一。