我正在 Julia 中实现 K-means 聚类。
找出并实现 k-means 的修改,它可以通过向量之间的角度来测量相似度。
所以我假设可以为此使用余弦相似度,我通过计算欧几里得距离的平方,使代码与常规 K-means 一起工作:
Distances[:,i] = sum((X.-C[[i],:]).^2, dims=2) # Where C is center, Distances are added using the i-th center
我试图通过使用余弦相似度来做到这一点,例如:
Distances[:, i] = sum(1 .- ((X*C[[i], :]).^2 /(sum(X.^2, dims=2).*(C[[i],:]'*C[[i],:]))))
但这似乎不起作用。
我误解了这个问题还是我执行错了?