私は巨大なデータセットを持っています。121x145x121 セルの 100 個の 3D マトリックスについて話しています。どのセルも 0 から 1 の間の値を持ち、相関に従ってこれらのセルをクラスター化する方法が必要です。問題は、私が知っているどのアルゴリズムに対してもデータセットが大きすぎることです。その半分だけを使用しても (任意のマトリックスは脳の MRI スキャンです)、約 4,000 億のペアがあります。何か案は?
1603 次
2 に答える
4
最初のステップとして、 K-means クラスタリングを試してみたくなりました。
これは、関数kmeansとして Matlab 統計ツールボックスに表示されます。
このアルゴリズムでは、最終的に K 個の現在の中心とデータの間の距離を計算するだけなので、ペアの数はすべての選択肢を比較するよりもはるかに少なくなります。
Matlab では、操作の速度が行列の構成に大きく依存する可能性があることもわかりました (メモリ キャッシュと最適化の問題のため)。特定のセルの 100 個の値に対応する列 (メモリに一緒に保持される) になるように、3 次元マトリックスを変換することをお勧めします。
これはpermute 関数で行うことができます。
于 2013-04-23T18:24:20.453 に答える