推 awilliea: 應該是沒差,只是eigenvalue 比較難算 11/07 10:51
我是上黃子嘉老師的課
他對SVD沒有講得太深入只有簡單的講一下推導算法
--------------------------老師的推導過程-----------------
A:m*n matrix
A = UΣV^t
做 A^t*A 會發現
" V 是 A^t*A 做么正對角化的么正基底 "
其中它的 eigenvalue λ 就是 σ平方
如此就能得到 V 跟 Σ
然後 A*V = U*Σ
所以 ui = (1/σi) * A * vi
但是如果 A 是 m > n 的矩陣 (高高長長的) 那麼 U 的行向量
u(n+1) 到 u(m) 在上述過程中無法求得
雖然不知道為什麼但只知道老師說剩下的向量會在 N(A^t) 中
(畫了一張圖說 U 跟 V^t 的行向量會在四大空間裡面)
所以要在求 N(A^t) 的基底 就是 U 剩下的行向量
---------------------------------------------------------
我的疑問是
如果我一開始就把他轉置成胖胖矮矮的矩陣 ( 行數>列數
如此去求SVD分解 不就不用多求N(A^t)了
因為算 UΣ 時,U的行向量全部都可以算出來
而且我也不懂為什麼 V 跟 U 的向量
會分別出現在 A 的CS, RS, KER, L_KER
不過老師應該覺得這個比較難也不會考太多就沒講得很深入
而且老師跟我們說看到胖胖矮矮的矩陣就轉置過去再求SVD
那我這樣轉到胖胖矮矮的算有什麼問題嗎 還是會有別的狀況
( 我其實就是覺得算 N(A^t) 很麻煩 XD 畢竟這些數字都很醜)
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 134.208.0.169
※ 文章網址: https://www.ptt.cc/bbs/Grad-ProbAsk/M.1509867293.A.D40.html
※ 編輯: TMDTMD2487 (134.208.0.169), 11/05/2017 15:36:02