說完看了看四周此網站類似的問題,我發現這一點:http://math.nist.gov/javanumerics/jama/和這樣的:http://sujitpal.blogspot.com/2008/09/ir-math-with-java-similarity-measures.html向量的餘弦相似度,與<爲O(n^2)複雜
然而,似乎這些爲O運行(N^2)。我一直在做一些文檔聚類,並且發現在處理甚至是小文檔集時這種複雜性是不可行的。對於點積,我們只需要包含在兩個矢量中的矢量項就可以將矢量放入樹中,從而計算出具有n log n複雜度的點積,其中n是特徵項的最小數目2個文件中的1個。
我錯過了什麼嗎?有沒有這樣做的Java庫?
感謝
你不會很幸運,期望人們閱讀這兩個頁面。也許你可以更清楚地解釋你的問題 - 你爲什麼要乘以向量(你是什麼意思,O(n^2)?計算兩個n維向量的點積一般是O(n),我非常懷疑任何矢量包可能搞砸了) – 2010-07-27 19:21:22
他爲每對*文件計算點積。這使得它在二次方面變得複雜。 – Rekin 2010-07-27 19:25:16
BlueRaja - Danny Pflughoeft,這個問題是關於增大非常大但非常稀疏的向量; n不是維數而是非零元素的數量。 – 2010-07-27 19:25:21