我有:
[U S V]=svd(A)
和
@ORM\Table()
如何从SVD函数中删除A矩阵的维度?
答案 0 :(得分:1)
我假设您想要获得矩阵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
。