次元数がである場合、データに対して


22

PCAでは、次元数がサンプル数よりも大きい(または等しい)場合、最大で非ゼロの固有ベクトルを持つことになります。つまり、次元間の共分散行列のランクはです。dNN1dNN1

例:サンプルはベクトル化された画像で、寸法はですが、画像しかありません。d=640×480=307200N=10


5
2Dまたは3Dでポイントを想像してください。これらの点が占める多様体の次元は何ですか?答えはです。2つのポイントは常に線上にあります(線は1次元です)。空間の正確な次元は重要ではありません(より大きい限り)。ポイントは1次元の部分空間のみを占有します。そのため、分散はこの部分空間で、つまり1次元に沿ってのみ「広がり」ます。これは、すべての当てはまります。N=2N1=1NN
アメーバは、モニカを復活させる14

1
@amoebaのコメントに精度を追加します。原点も重要です。したがって、N = 2 +原点がある場合、次元数は最大2(1ではありません)になります。ただし、PCAでは通常、データを中央に配置します。つまり、データクラウドのスペースにオリジンを配置します。つまり、1つの次元が消費され、答えはamoebaが示すように「N-1」になります。
ttnphns 14年

これは私を混乱させるものです。次元を破壊するのは、センタリング自体ではありませんよね?正確にN個のサンプルとN次元がある場合、センタリングした後でもN個の固有ベクトルが残っています。
GrokingPCA 14年

2
どうして?1つの次元を破壊するのはセンタリングです。(算術平均による)センタリングは、原点を「外側」からデータが「広がる」空間に「移動」させます。N = 2の例では。2点+原点は通常、平面に広がります。このデータを中央に配置するとき、2つのポイントの中間にある直線に原点を置きます。そのため、データは行のみになります。
ttnphns 14年

3
ユークリッドはすでに2300年前にこれを知っていました。2つの点が線を決定し、3つの点が平面を決定します。一般化すると、点は次元のユークリッド空間を決定しますNN1
whuber

回答:


20

PCAの機能を検討してください。簡単に言えば、PCA(最も一般的に実行される)は、次の方法で新しい座標系を作成します。

  1. 原点をデータの重心にシフトし、
  2. 軸を絞ったり伸ばしたりして軸の長さを等しくします。
  3. 軸を新しい方向に回転させます。

(詳細については、この優れたCVスレッドを参照してください:主成分分析、固有ベクトル、および固有値の意味。)ただし、軸を古い方法で回転させるだけではありません。新しい(最初の主成分)は、データの最大変動の方向に向けられています。2番目の主成分は、1番目の主成分に直交する次の最大の変動の方向に向けられます。残りの主成分も同様に形成されます。 X1

これを念頭に置いて、@ amoebaの例を調べてみましょう。以下は、3次元空間に2つのポイントがあるデータ行列です
これらのポイントを(擬似)3次元散布図で表示してみましょう。

X=[111222]

ここに画像の説明を入力してください

(1.5,1.5,1.5)(0,0,0)(3,3,3)(0,0,3)(3,3,0030303

N=2N1=1

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.