SVD 是個神奇的矩陣拆解, 應用價值遠大於 eigen vector
複習一下, 非正交的 eigen vector 並非落在橢圓的長短軸上 , 會很難聯想
而 SVD 解出的 u, v 保證是正交矩陣, 因為正交, 可直接代表轉換後橢圓的樣貌
可更直接的知道變換矩陣的對圖形的物理意義在哪
圖片來源 : 線代啟示錄
令 [u , Σ , vT] = svd(A)
如上圖, 2維向量用單位圓當例子, 可以得到三個訊息
1. 橢圓的長短軸位置在原本在 v1, v2 的向量角度上 (被撐大/縮小是在 v1 v2 位子上進行的)
2. 中間的 Σ (σ1 σ2 ... σn) 內容分別代表各邊的長度
3. 最後長短軸會旋轉到 u1, u2 的向量角度上
由上面可以理解, 當我們的應用是要找出變換後能讓輸出資訊最大最小的輸入, 變換矩陣對單位圓的響應就是上面提到的橢圓, 因此那個最長/最短的軸就是能讓輸出資訊最大或最小的向量位置, 如果可以知道那個極短軸的位置在哪, 並且從哪裡來. 就可以得到想要的答案.
當 eigen value 正交, SVD 的 u = v, 表示軸來源位置等於最後呈現的位置, 也就是可不經轉動之經過長短軸縮放產生該橢圓.
如果在乎的資訊是 " 是拿什麼位置來當軸的", 那就要看 v 的數值
如果在乎的資訊是 " 最後形狀的樣子", 那就要看 u 的數值
舉個例子, 希望由 SVD 求最佳解, 希望知道 σ1 ... σn 中最小值所對應的向量, 該向量為解, 此時在乎的是讓 σ 為最小的原本向量在哪, 而非 σ 為最小最後長怎樣, 因此選擇 v 來看.
另外一個例子,希望找出 epipolar 位置在哪, 此時在乎的是直線方程式分布的形狀, 不在乎這些線原本從哪來的, 則選擇 u 來看.
沒有留言:
張貼留言