我有一个 367800x84 的矩阵,行是实例,列是维度。我尝试计算相似度矩阵,但是如果我尝试从整个矩阵计算,它不适合内存。我尝试了不同的代码,但没有奏效。我想把数据分成一堆,然后逐步计算。我该如何应用这种方法?这是我对整个数据所做的尝试。首先是欧几里得,其次是余弦相似码。
function [C] = create_sim_matrix(x)
Qx=repmat(dot(x,x,2),1,size(x,1));
D=sqrt(Qx+Qx'-2*x*x');
-------------------------------------------------- ---:
function [C] = create_sim_matrix(A)
normA = sqrt(sum(A .^ 2, 2));
temp = bsxfun(@rdivide, A * A', normA);
C = bsxfun(@rdivide, temp, normA');