次元削減の手法で、PCA・SVD・MDS・t-SNEが並んでる
全部、変数を減らすやつって覚えてええの?
【疑問】PCA・SVD・MDS・t-SNE、全部「次元削減」らしいけど何が違うん?【G検定】
前提のおさらい。クラスタリングは、距離が近いデータをグループにまとめる教師なし学習。次元削減も教師なし学習で、たくさんの変数を少ない軸にまとめる。図にして眺めたり、クラスタリングの前処理にしたりする
>>1
主成分分析(PCA)は、データのばらつき(分散)が一番大きい向きから順に新しい軸を作る
標準化した2つの変数の相関が0.8なら、相関行列の固有値は1.8と0.2
1本目の軸(2つの変数をほぼ同じ重みで足した向き)だけで、全体の分散の 、つまり90%を説明できる。2変数を1変数にしても、情報はほとんど落ちん
>>3
90%ってのは寄与率やな。何本目まで使うかは、寄与率を足した累積寄与率が7〜8割になるところ、みたいに決めることが多い
特異値分解(SVD)は、どんな行列も3つの行列の積 に分ける方法
の対角に並ぶ特異値が大きいものだけ残すと、元の行列をよく近似できる
たとえば の特異値は と0。0のほうは捨てても何も失わん。2行目が1行目のちょうど半分やから、情報は1方向ぶんしかない
>>5
PCAとSVDは別の手法なん?
>>6
つながってる。各変数から平均を引いたデータ行列をSVDすると、右側の の列がPCAの軸になる。PCAの計算は、実際にはSVDでやることが多い
SVDは推薦で使う評価の表を分解するのにも使われるから、PCAより使い道が広い
多次元尺度構成法(MDS)は、データそのものやなくて「データどうしの距離の表」から出発する
都市どうしの距離の表だけを渡すと、その距離をできるだけ保つように2次元に点を置いて、地図のような図を作れる
t-SNEは、近くにあるデータどうしの関係を確率で表して、それを2次元や3次元でもできるだけ保つように点を置く
ファン・デル・マーテンとヒントンの2008年の論文で提案された。似たデータのまとまりを見るのが得意で、可視化によく使われる
>>9
まとまりがきれいに見えるなら、PCAの代わりに前処理にも使えばええやん
>>10
向いてない。t-SNEは今あるデータの配置を最適化するだけで、新しいデータを同じ軸に移す式が残らん。PCAなら学んだ軸に掛けるだけで済む
それに、t-SNEの図でのクラスタどうしの離れ具合や大きさは、元の距離をそのまま表してるとは限らん。見るのはまとまりがあるかどうかまで
管理人のひとこと
- PCAは分散が大きい向きから順に軸を作る。相関0.8の2変数なら固有値は1.8と0.2で、1本目の軸の寄与率は90%。
- SVDは行列を に分ける。 の特異値は と0。平均を引いたデータのSVDでPCAの軸が出る。
- MDSは距離の表から、距離を保つように点を置く(都市の距離から地図)。
- t-SNE(ファン・デル・マーテンとヒントン、2008年の論文)は近さを確率で表して低次元でも保つ可視化の手法。新しいデータの変換には向かず、クラスタ間の距離や大きさは信用しすぎない。