問題は次のようになります。M 個の画像があり、画像ごとに N 個の特徴を抽出します。各特徴の次元は L です。したがって、M*N 個の特徴 (私の場合は 2,000,000) があり、各特徴の次元は L (私の場合は 100) です。これらの M*N 個の特徴を K 個のクラスターにクラスター化する必要があります。どうすればいいですか?ありがとう。
cluster-analysis - 100 次元空間に 2,000,000 ポイントがあります。それらを K 個 (たとえば 1000 個) のクラスターにクラスター化するにはどうすればよいですか?
4 に答える
画像、機能、または(画像、機能)ペアの1000個のクラスターが必要ですか?
いずれにせよ、データを減らしてより簡単な方法を使用する必要があるように思えます。
1つの可能性は、2パスKクラスターです。a
)200万のデータポイントを32のクラスターに
分割し、b)これらのそれぞれをさらに32に分割します。
これが機能する場合、結果の32 ^ 2=1024クラスターで十分な場合があります。
では、本当に100の座標が必要ですか?20の最も重要なものを推測できますか、それとも20のランダムなサブセットを試してみてください。
膨大な文献があります:Google+image "dimension reduction"
は〜70000ヒットを与えます。
LMW-treeプロジェクトの EM-tree および K-tree アルゴリズムは、これほど大きな問題をクラスター化できます。最新の結果では、7 億 3,300 万の Web ページを 600,000 のクラスターにクラスター化しています。データセットが反復ごとにディスクからストリーミングされる EM ツリーのストリーミング バリアントもあります。
質問に「k-means」のタグを付けました。k-means を使用できないのはなぜですか? これは効率の問題ですか?(個人的には、2 次元でのみ k-means を使用しました) それとも、k-means アルゴリズムをエンコードする方法の問題ですか?
値は離散的ですか (例: カテゴリ)、または連続的ですか (例: 座標値)? 後者の場合、私の理解ではk-meansで問題ないはずです。離散値のクラスタリングには、別のアルゴリズムが必要になります - おそらく階層的クラスタリングですか?