我有 :
A =
1 2 3
2 4 5
5 5 5
和
[U S V]=svd(A)
如何从 SVD 函数中删除 A 矩阵的维数?
我假设您想获得简化版本的 matrix A
。
这是通过使用PCA
, 搜索它来完成的。例如,如果您希望简化矩阵A
具有K
维度:
[m, ~] = size(A);
Sigma = 1.0/m .* A' * A;
[U, S, ~] = svd(Sigma);
newA = zeros(size(A, 1), K);
for i = 1:size(A, 1),
for j = 1:K,
x = A(i, :)';
projection_k = x' * U(:, j);
newA(i, j) = projection_k;
end
end
end
所以矩阵newA
将是维度的简化A
版本K
。
你最好搜索一下PCA
。