PCAが(距離を伴う)幾何学的問題から(固有ベクトルを伴う)線形代数問題にどのように変化するかについての直感的な説明は何ですか?


54

私は(のような様々なチュートリアルや質問など、PCAについて多く、読んだ本1この1この1、およびこれを)。

PCAが最適化しようとしている幾何学的問題は、私には明らかです。PCAは、再構成(投影)エラーを最小化することで最初の主成分を見つけようとし、同時に投影データの分散を最大化します。

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

最初にそれを読んだとき、私はすぐに線形回帰のようなものを考えました。必要に応じて、勾配降下法を使用して解決できます。

しかし、その後、線形代数を使用して固有ベクトルと固有値を見つけることで最適化問題が解決されることを読んだとき、私の心は吹き飛ばされました。私は、この線形代数の使用がどのように作用するかを単純に理解していません。

だから私の質問は次のとおりです。PCAはどのようにして幾何学的最適化問題から線形代数問題に変わるのでしょうか?誰かが直感的な説明を提供できますか?

私のような答えを捜しているわけではない、この1と言い、「あなたはPCAの数学の問題を解決するとき、それは共分散行列の固有値と固有ベクトルを見つけることと等価なってしまいます。」固有ベクトルが主成分となる理由と、固有ベクトルが投影されるデータの分散となる理由を説明してください

ちなみに、私はソフトウェアエンジニアであり、数学者ではありません。

注:上記の図は、このPCAチュートリアルから取られて変更されています。


2
最初のリンクの背後にある長いスレッドには、@ amoebaのアニメーションに関する回答があります。PCAは、データ軸(列)がデータベクトル(変数)として非相関になるまでの回転です。このような回転行列は、固有分解または特異値分解を介して検出され、固有ベクトル行列と呼ばれます。
ttnphns

2
その上、たとえあなたが数学者でなくても(私もそうではありませんが)、おそらく線形代数ユークリッド幾何学は非常に密接に結びついた数学の分野であることを聞いたことがあるでしょう。それらは分析幾何学と呼ばれる分野として一緒に研究されることさえあります。
ttnphns

1
optimization problemはい、PCAの問題は(反復的、収束的)最適化アプローチによって解決できると思います。しかし、数学を介してフォームソリューションを閉じているので、なぜそのシンプルで効率的なソリューションを使用しないのですか?
ttnphns

お願いしprovide an intuitive explanationます。私がリンクしているアメーバによる直感的で明確な答えがなぜあなたに合わないのだろう。あなたは尋ねる_why_ eigenvectors come out to be the principal components...なぜ?定義により!固有ベクトル、データクラウドの主要な方向です。
ttnphns

6
@ttnphns:質問は合理的だと思う。ここに私がそれを理解する方法があります。PCAは、投影の最大分散の方向を見つけたいと考えています。この方向は(定義により)最初の主方向と呼ばれます。一方、共分散行列固有ベクトルは、(定義により)ようなベクトルです。では、なぜ最大の固有値を持つ固有ベクトルによって最初の主方向が与えられるのでしょうか?ここでの直感は何ですか?それは確かに定義によるものではありません。私はそれについて考えてきましたし、それを証明する方法を知っていますが、直感的に説明するのは難しいです。CwCw=λw
アメーバは、モニカーを復活させる

回答:


54

問題文

PCAが最適化しようとしている幾何学的問題は、私には明らかです。PCAは、再構成(投影)エラーを最小化することで最初の主成分を見つけようとし、同時に投影データの分散を最大化します。

そのとおり。この2つの定式化の関係については、ここ(数学なし)またはここ(数学あり)で説明します。

2番目の定式化を考えてみましょう。PCAは、データの投影が可能な限り高い分散になるように方向を見つけようとしています。この方向は、定義上、最初の主方向と呼ばれます。次のように我々はそれを定式化することができる:与えられた共分散行列、我々はベクトルを探している有する単位長さ、、その結果、は最大です。Cww=1wCw

(これが明確でない場合:が中央データ行列の場合、投影は与えられ、その分散は。)XXw1n1(Xw)Xw=w(1n1XX)w=wCw

一方、の固有ベクトル定義することで、任意のベクトルよう。CvCv=λv

最初の主方向は、最大の固有値を持つ固有ベクトルによって与えられることがわかります。これは自明ではない驚くべき声明です。


証明

PCAの本やチュートリアルを開くと、上記の声明の次のほぼ1行の証拠を見つけることができます。という制約の下で、を最大化します。これは、ラグランジュ乗数を導入し、を最大化することで実行できます。微分すると、固有ベクトル方程式であるが得られます。実際、この解を目的関数に代入することにより、が最大固有値であることがわかります。wCww=ww=1wCwλ(ww1)Cwλw=0λwCwλ(ww1)=wCw=λww=λ。この目的関数を最大化する必要があるため、は最大固有値QEDでなければなりません。λ

これはほとんどの人にとってあまり直感的ではない傾向があります。

より良い証明(例:@cardinalによるこのきちんとした答えを参照)は、は対称行列であるため、固有ベクトル基底が対角であると言います。(これは実際にはスペクトル定理と呼ばれます。)したがって、直交基底、つまり固有ベクトルによって与えられる基底を選択できます。ここで、は対角で、対角に固有値があります。それに基づいて、はに簡略化されます。つまり、分散は固有値の加重和によって与えられます。この式を最大化するには、CCλiwCwλiwi2w=(1,0,0,,0)、つまり、分散を生成する最初の固有ベクトル(実際、この解から逸脱し、小さい固有の部分の最大固有値の「トレーディング」部分は、小さい全体の分散のみにつながります)。の値は基底に依存しないことに注意してください!固有ベクトル基底への変更は回転に相当するため、2Dでは散布図で紙片を単純に回転させることが想像できます。明らかにこれは分散を変えることができません。λ1wCw

これは非常に直感的で非常に有用な議論だと思いますが、スペクトル定理に依存しています。ここでの本当の問題は、スペクトル定理の背後にある直観は何ですか?


スペクトル定理

対称行列取ります。最大固有値固有ベクトルをします。この固有ベクトルを最初の基底ベクトルにし、他の基底ベクトルをランダムに選択します(すべてが正規直交になるように)。どのようにしますこれを基礎に見て?Cw1λ1C

これは、左上隅にがあります。これは、これに基づいておよび はと等しくなければなり。λ1w1=(1,0,00)Cw1=(C11,C21,Cp1)λ1w1=(λ1,0,00)

同じ引数により、下の最初の列にゼロがあります。λ1

しかし、対称なので、後の最初の行にもゼロがあります。そのため、次のようになります。λ1

C=(λ10000),

ここで、空白は、いくつかの要素のブロックがあることを意味します。マトリックスは対称であるため、このブロックも対称になります。したがって、2番目の基底ベクトルとして2番目の固有ベクトルを効果的に使用し、対角線上のとを取得して、まったく同じ引数を適用できます。これは、が対角になるまで続行できます。それは本質的にスペクトル定理です。(が対称であるためにのみ機能することに注意してください。)λ1λ2CC


これは、まったく同じ議論のより抽象的な再定式化です。

我々は知っている最初の固有ベクトルは、1次元の部分空間定義するように、スカラー倍算として作用します。ここで、直交するベクトルます。そして、も直行することはほとんど即座です。確かに:Cw1=λ1w1Cvw1Cvw1

w1Cv=(w1Cv)=vCw1=vCw1=λ1vw1=λ10=0.

ことをこの手段残り全体に作用する部分空間に直交するそれとは別のままよう。これは対称行列の重要な特性です。そこで、最大の固有ベクトルて同じ方法で進め、最終的に固有ベクトルの正規直交基底を構築します。Cw1w1w2


「ラグランジュ乗数」は私にとって本当に明確です。ただし、ユニット長の制約が必要な理由を教えてください。ありがとう
ハイタオドゥ

2
@ hxd1011 あり、この質問は正確ですでにここが、簡単に:それのそうしないと、乗算することができますので、任意の数だけとこの数の二乗で増加します。したがって、問題は不明確になります。この式の最大値は無限です。実際には、の方向に射影の分散あるいる場合にのみ単位長です。wwCwwwCww
アメーバは、モニカを復活させる

ほとんどの読者にとって、はもう少し馴染みがあると思います。ここで交換しました。ありがとう。n1
アメーバは、モニカーを復活させる

@amoeba:答えてくれてありがとう。私はあなたの記法のいくつかに混乱しています。wを使用して、最初の固有ベクトル(主成分)であることが判明した単位長ベクトルを示します。R(たとえばprcomp(iris[,1:4], center=T, scale=T))でPCAを実行すると、のような多数のフロートを持つ単位長の固有ベクトルが表示され(0.521, -0.269, 0.580, 0.564)ます。しかし、「Proofs」の下の答えでこの式を最大化するために、w =(1,0,0、…、0)、つまり最初の固有ベクトルを取得することがほとんどすぐにできます。なぜあなたの証明の固有ベクトルはそのように整形式に見えるのですか?
stackoverflowuser2010

1
こんにちは@ user58865、ナッジのおかげで:私は単に最初に答えることを忘れていました。thinは、はスカラーです-それは単なる数字です。任意の数は「対称」です:)とその転置に等しいです。理にかなっていますか?w1Cv
アメーバは、モニカの復活を

5

Eckart and Young(https://ccrma.stanford.edu/~dattorro/eckart%26young.1936.pdf)による1936年の結果があります。

1rdkukvkT=argminX^ϵM(r)||XX^||F2

ここで、M(r)はランクr行列のセットであり、これは基本的にXのSVDの最初のr成分がXの最高の低ランク行列近似を与え、最高が2乗フロベニウスノルム-2乗の和で定義されることを意味します行列の要素。

これは行列の一般的な結果であり、一見データセットや次元削減とは関係ありません。

ただし、を行列とは思わず、データポイントのベクトルを表す行列列を考えると、は平方誤差差の表現誤差が最小の近似になります。XXX^


4

これは、PCAの背後にある線形代数に関する私の見解です。線形代数において、重要な定理の1つはです。Sが実数係数を持つ対称n×n行列である場合、Sはすべての固有値が実数であるn個の固有ベクトルを持ちます。つまり、正のエントリを持つ対角行列D を使用してを記述できます。それはであり、と仮定しても害はありません。Aは基底行列の変化です。つまり、元の基底がであった場合、与えられた基底に関してSpectral TheoremS=ADA1D=diag(λ1,λ2,,λn)λ1λ2λnx1,x2,,xnA(x1),A(x2),A(xn)、Sのアクションは対角です。これはまた、が直交基底とみなせることを意味します。 共分散行列がn個の変数のn個の観測値用である場合、完了です。によって提供される基底は、PCA基底です。これは線形代数の事実に基づいています。本質的には、PCA基底は固有ベクトルの基底であり、サイズnの正方行列の最大n個の固有ベクトルがあるため、それは事実です。 もちろん、ほとんどのデータ行列は正方形ではありません。Xがp変数のn個の観測値を持つデータ行列である場合、Xのサイズはn x pです。(変数よりも多くの観測値)およびと仮定しますA(xi)||A(xi)||=λiA(xi)
n>prk(X)=p(すべての変数は線形独立です)。どちらの仮定も必要ではありませんが、直観に役立ちます。線形代数には、特異値分解と呼ばれるスペクトル定理からの一般化があります。このようなX に対して、サイズnとpのU、V正規直交(正方)行列とおよび非負のみの実対角行列対角線上のエントリ。再び、Vの基底を再配置して、することができます。これは、マトリックスの用語で、 ifとであれば。X=UΣVtΣ=(sij)s11s22spp>0X(vi)=siiuiipsii=0i>nviPCA分解を行います。より正確には、はPCA分解です。なぜですか?再び、線形代数は、p個の固有ベクトルしか存在できないと言います。SVDは、直交し、ノルムが減少する新しい変数(Vの列で与えられる)を提供します。 ΣVt


4

「これは同時に、投影データの分散を最大化します。」レイリーの商を聞いたことがありますか?たぶんそれがこれを見る一つの方法です。つまり、共分散行列のレイリー商は、投影データの分散を提供します。(およびWikiページでは、固有ベクトルがレイリー商を最大化する理由を説明しています)


1

@amoebaは次のことをきちんとした形式化と証明を提供します。

次のように形式化できます。共分散行列Cが与えられた場合、w T Cwが最大になるような単位長、w‖= 1のベクトルwを探します。

しかし、私は1つの直感的な証拠があると思います:

最初の主方向は、最大の固有値を持つ固有ベクトルによって与えられることがわかります。これは自明ではない驚くべき声明です。

w T Cwは、ベクトルwとCwの間の内積として解釈できます。これは、変換 C を通過するwによって取得されます。

w T Cw =‖w‖*‖Cw‖* cos(w、Cw)

wには固定長があるため、w T Cw を最大化するには、以下が必要です。

  1. ‖Cw‖を最大化する
  2. cos(w、Cw)を最大化します

wを最大の固有値を持つCの固有ベクトルとすると、両方を同時にアーカイブできます。

  1. ‖Cw‖は最大です(wがこの固有ベクトルから外れている場合、直交固有ベクトルに沿って分解すると、‖Cw‖が減少します)。
  2. 同じ方向のwとCw、cos(w、Cw)= 1、最大

固有ベクトルは直交しているため、Cの他の固有ベクトルとともに、Xに対する一連の主成分を形成します。


1の証明

wを直交する一次および二次固有ベクトルv1およびv2に分解し、それらの長さがそれぞれv1およびv2であると仮定します。私たちは証明したい

(λ 1 W)2 >((λ 1 V1)2 +(λ 2 V2)2

λ以来12、我々は持っています

((λ 1 V1)2 +(λ 2 V2)2

<((λ 1 V1)2 +(λ 1 V2)2

=(λ 12 *(V1 2 + V2 2

=(λ 12 wの* 2

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