【发布时间】:2013-08-15 03:26:37
【问题描述】:
我已经像这样在 Matlab 中实现了余弦相似度。事实上,我有一个 50×50 的二维矩阵。要获得余弦,我应该逐行比较项目。
for j = 1:50
x = dat(j,:);
for i = j+1:50
y = dat(i,:);
c = dot(x,y);
sim = c/(norm(x,2)*norm(y,2));
end
end
这是正确的吗? 问题是:wath 是这种状态下的复杂度还是 O(n)?
【问题讨论】:
-
"...以逐行形式。"你的意思是按行还是按列?
-
对不起,我的意思是逐行。两行之间
-
是问题 a) 找到您选择的算法的复杂性(与 MATLAB 无关),b) 具有计算成对余弦相似度的有效算法(同样与 MATLAB 无关)或 c) 具有高效/快速的 MATLAB 实现?请尽量简明扼要。
标签: matlab similarity cosine-similarity