如何在 SVD 函数后从主矩阵中删除行和列?
how to remove rows and cols from main matrix after SVD function?
我有:
A =
1 2 3
2 4 5
5 5 5
和
[U S V]=svd(A)
如何从 SVD 函数中删除 A 矩阵的维数?
我假设您想获得矩阵的简化版本 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
。
我有:
A =
1 2 3
2 4 5
5 5 5
和
[U S V]=svd(A)
如何从 SVD 函数中删除 A 矩阵的维数?
我假设您想获得矩阵的简化版本 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
。