作者iasm (魔术研究员)
看板MATLAB
标题Re: [问题]关於svd後结果为负值
时间Tue Jan 21 17:44:24 2014
您好
SVD我小有研究
以您的代号
test=TSD'
T跟D有负值是合理的
假设您的test是方阵
T里面的column vector正或负都算对只是D要有对应的变化
也就是由T来决定D
S*T*Test=D'
同理可证我们可先决定D才决定T
原因是T的column vector 是test*test'的eigen vector(经过单位化)
不知您记不记得eigen vector是不唯一的,加个负号一样是解
因为"通常"其为一维的null vector,例如[1c 2c 3c]
c为正或负都是"解"哦,然後单位化此eigen vector後,就只差正负号了
结论是SVD其T与D不唯一,T跟D差个负号还是"解",只要我们TSD'能重建test即可
如果你有不了解的地方,欢迎回到此版并回到我信箱,谢谢
※ 引述《Jolinda (Jolinda)》之铭言:
: 想请问各位大大
: 小妹我在matlab跑svd,语法如下:
: [T,S,D]=svd(test,0);
: 产生的T和D矩阵内有负值
: 请问有任何的涵意吗?
: 还是纯粹是与原始Term-document矩阵近似值的误差呢?
--
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.96.40.165