0

画像機能の KD ツリー (独立) を構築しようとしています。画像の特徴を抽出しました。特徴には1000個の浮動小数点値が含まれているとします。

map-reduce を使用して、分類 (例: 猫、犬、銃) に従ってクラスターのノード間で画像を分散します。各ノードには一連の類似画像が含まれ、各ノードで画像の KD ツリーが構築されます。ツリーをどのように構築できるかについて混乱しています。

では、map-reduce を使用して KD ツリーを構築するにはどうすればよいでしょうか? 各ノードにはツリーが含まれますよね?画像を配布するロジックは何でしょうか? KD ツリーを構築する際、どのような基準で画像特徴ベクトルをツリーに追加する必要がありますか (つまり、左または右の子)?

事前に感謝します。

4

1 に答える 1

2

kd-tree があなたのデータに適しているとは思いません。これについてウィキペディアには次のように書かれています。

kd ツリーは、高次元空間で最近傍を効率的に見つけるのには適していません。原則として、次元数が k の場合、データ内の点の数 N は N >> 2^k である必要があります。それ以外の場合、kd ツリーが高次元データで使用される場合、ツリー内のほとんどのポイントが評価され、効率は徹底的な検索よりも優れているため、代わりに近似最近傍法を使用する必要があります。

特徴ベクトルの次元は 1000 です。これは、約 10^300 の画像が必要であることを意味しますが、これはほとんどありません。

高次元データの近似最近傍検索の 1 つであるLocality-sensitive hashingを確認することをお勧めします。

ウィキペディアは複雑なことを学ぶのに最適な場所とは限らないため、代わりに ETH チューリッヒのデータ マイニングコースのそれぞれの講義スライドを参照することをお勧めします。たまたま今学期にこの科目を履修しています。

于 2012-06-11T22:26:46.067 に答える