バイナリ形式の NxM データのデータセットがあります。さまざまな次元手法を適用し、最初の 2 つの次元をプロットします。これは、テクニックが自分のデータセットに適しているかどうかの直感を得る方法です。私が使用する次元削減技術の適合性をテストするための、より適切な/方法論的/ヒューリスティック/正式な方法はありますか?
2 に答える
データに次元削減を適用する主な目的は、次元削減後でも元のデータの分布を可能な限りキャプチャすることです。したがって、可能な限りデータの分散を確実に把握したいと考えています。
N*N 行列があり、X に対して SVD (特異値分解) を実行するとします。次に、結果の S 行列の対角要素である特異値を観察します。( X = USV )
そして、取得した目的のパーセンテージ分散に基づいて、インデックス K でそれらをカットしたいと考えています。
∑ i=1 K シグマ(i) / ∑ i=1 N シグマ(i)
U の最初の K 列を選択すると、元の N 次元が K 次元に縮小されます。
SOM 手法を使用して、2 次元でいくつかの薄暗い部分を表示できます。他のテクニックもあります。名前を覚えていれば回答を更新しますが、私は SOM に慣れています。
ここをクリックすると、matlab 用の優れた SOM ツールボックスが 1 つ見つかります。
これは視覚化に役立ちますが、評価では次元削減にとって何が重要かを測定する効率メーターを使用する必要があります (SOM 自体が次元削減手法として使用される場合があります)。損失を最小限に抑えてデータを圧縮するために重要なことは何ですか? 可能な限りデータを圧縮するには? 目に見える形でデータを表現するには?おそらく、技術がデータ空間表現をどのように変更したかを確認する必要なく、技術の効率を測定できます。必要なのは、技術がどれほど優れているかを測定するための優れた関数だけです。