-1

皆さんと一緒に MATLAB でアイデアをブレインストーミングしたいと思います。多くの列 (14K) と少数の行 (7) を持つマトリックスがあり、列が項目で、行が項目の特徴である場合、すべての項目との類似性を計算し、それを行列に保持したいと思います。

  1. 計算が簡単
  2. アクセスしやすい

pdist()1.の場合、非常に高速な使用の素晴らしいアイデアを思いつきました:

 A % my matrix
 S = pdist(A')  % computes the similarity btw all columns very fast

しかし、アクセスsは不便です。iitemとの間の類似性にアクセスすることを好みますj。たとえば、次を使用しS(i,j)ます。

 S(4,5)  % is the similarity between item 4 and 5

元の定義でSは、 は行列ではなく配列です。2D マトリックスとして作成することは、ストレージに関して悪い考えですか? どの類似性がどのアイテムに対応するかをすばやく見つけるのに役立つクールなアイデアを考えてもらえますか?

ありがとうございました。

4

2 に答える 2

2

あなたの質問が何であるかを完全に理解することはできませんが、S(i, j)簡単にアクセスしたい場合は、この関数squareformが作成されます:

S = squareform(pdist(A'));

一番、

于 2016-02-15T19:32:19.730 に答える