PCAの目的関数は何ですか?


42

主成分分析行列分解を使用できますが、それはそこに到達するための単なるツールです。

行列代数を使用せずに主成分をどのように見つけますか?

目的関数(目標)とは何ですか?また、制約は何ですか?


1
たぶん私は何かが足りないので、間違っている場合は修正してください必要なすべての制約をどのように述べるかを知ってください。また、PCAを使用する場合と比較して、それが非常に簡単になるかどうかもわかりません。なぜマトリックスを避けようとしているのですか?
クリスシモカット

@Chris線形プログラミングの問題にどのように到達できるかわかりません。計算でマトリックスを避けるべきだということも私の理解ではありませんでした。問題は、PCAによってどのような問題が解決されるかであり、それが行われる方法ではありませんでした(たとえば、SVDを計算することによって)。カーディナルによる解決策は、最大分散の連続した直交方向を見つけると言います。私が提示したソリューションでは、再構成エラーが最小の超平面を見つけることができます。
NRH

@chris私は、PCAの理解を深めるために、行列代数なしでPCAを見る別の方法を見つけたいと思っています。
ニール

1
@Chris、二次目的関数とノルム等式制約があります。あるいは、@ NRHの答えの定式化の下で、行列ランク制約があります。それは、線形プログラミングの問題に勝るものではありません。@NRHはいくつかの良い直観を与えます。そして実際、与えられたPCAの2つの観点の間には非常に密接な関係があります。おそらく@NRHとのコラボレーションで、それを彼/彼女の投稿に追加して、回答の完全なセットをより完全にすることができます。2
枢機卿

1
@NRH、実際、ESLはとても好きですが、このトピックの扱いは、本の多くのトピックと同様、かなり表面的なものだと思います。特に、彼らはあなたが与える最適化問題の解決策の重要な部分を証明しません(または演習として割り当てさえしません)。
枢機

回答:


41

最適化の観点から、PCAに関する完全な入門書を提供しようとすることなく、主な目的関数レイリー商です。商で行列は、サンプル共分散行列 ここで、各は特徴のベクトルであり、は番目の行があるような行列です。

S=1ni=1nxixiT=XTX/n
xipXixiT

PCAは、一連の最適化問題を解決しようとします。シーケンスの最初は制約のない問題です

maximizeuTSuuTu,uRp.

以来、上記の制約のない問題は制約のある問題と同等です uTu=u22=uu

maximizeuTSusubject touTu=1.

行列代数の出番は次のとおりです。は対称正定行列であるため(構築!)、の形式の固有値分解があり ここでは直交行列(したがって)およびは、ような非負のエントリ持つ対角行列です。S

S=QΛQT,
QQQT=IΛλiλ1λ2λp0

したがって、。以来、一方のノルムを有するように問題に拘束され、そのようになるのでが直交しているため、です。uTSu=uTQΛQTu=wTΛw=i=1pλiwi2uww2=QTu2=u2=1Q

しかし、の制約の下で、量を最大化する場合、できることはセットであり、とのために。i=1pλiwi2i=1pwi2=1w=e1w1=1wi=0i>1

そもそも探していた バックアウトすると、 ここで最初の列、つまり最大固有値に対応する固有ベクトルを示します。目的関数の値は、ことが簡単にます。u

u=Qe1=q1
q1QSλ1

残りの主成分ベクトルは、最適化問題のシーケンス(インデックス付けされた)を解くことによって見つかります したがって、問題は同じです。ただし、解はシーケンス内の以前の解のすべてに直交しなければならないという追加の制約を追加します。番目の問題の解が実際に、つまり番目の固有ベクトルであることを示すために、上記の引数を帰納的に拡張することは難しくありません。i

maximizeuiTSuisubject touiTui=1uiTuj=01j<i.
iqiiS

PCA解は、特異値分解の観点からもしばしば表されます。理由を確認するには、ます。それからそして(厳密に署名するまで、フリップ話す)と。XX=UDVTnS=XTX=VD2VTV=QΛ=D2/n

主成分は、主成分ベクトルにを射影することで見つかります。与えられたSVD定式から、 X

XQ=XV=UDVTV=UD.

特徴のマトリックスのSVDの観点からの主成分ベクトルと主成分自体の両方の表現の単純さは、PCAのいくつかの処理でSVD特徴が非常に顕著である理由の1つです。


最初の数個の特異値/ベクトルのみが必要な場合、NashとShlienは支配的な固有値を計算するための通常のべき法を連想させるアルゴリズムを提供します。これはOPにとって興味深いかもしれません。
JMは統計学者ではない

@NRH、タイプミスを見つける前にタイプミスをキャッチ(修正)してくれてありがとう!
枢機

1
こんにちは、@ cardinal、ご回答ありがとうございます。しかし、シーケンシャル最適化がグローバルな最適化につながる理由を証明するステップを与えていないようです。それについて詳しく説明していただけますか?ありがとう!
リフファン

21

cardinalが提示するソリューションは、サンプルの共分散行列に焦点を当てています。もう1つの出発点は、q次元超平面によるデータの再構成エラーです。場合のp次元のデータ点がある客観解決することですx1,,xn

minμ,λ1,,λn,Vqi=1n||xiμVqλi||2

以下のため行列正規直交列を有すると。これにより、ユークリッドノルムで測定された最高ランクのq再構成が得られ、解の列は最初のq主成分ベクトルです。p×qVqλiRqVq

固定の場合、および(これは回帰)の解は Vqμλi

μ=x¯=1ni=1nxiλi=VqT(xix¯)

表記を簡単にするために、が次の計算の中心にあると仮定します。その後、最小化する必要があります xi

i=1n||xiVqVqTxi||2

オーバー正規直交列を有します。はq次元の列空間への投影であることに注意してください。したがって、この問題は、 ランク上のq突起。我々はする必要がある最大化 ランクqの投影で、はサンプル共分散行列です。今VqP=VqVqT

i=1n||xiPxi||2=i=1n||xi||2i=1n||Pxi||2
P
i=1n||Pxi||2=i=1nxiTPxi=tr(Pi=1nxixiT)=ntr(PS)
PS
tr(PS)=tr(VqTSVq)=i=1quiTSui
ここで、はの(正規)列であり、@ cardinalの回答に示されている引数は、 ' s は、最大固有値を持つ固有ベクトルになります。u1,,uqqVquiqSq

再構成エラーは、たとえばスパース主成分または超平面ではなく低次元多様体による再構成など、いくつかの有用な一般化を示唆しています。詳細については、「統計学習の要素」のセクション14.5を参照してください。


(+1)良い点。いくつかの提案:を定義すること良いことであり、結果の簡単な証明を与えることは本当に素晴らしいことです。または、代わりに、レイリー商を含む最適化問題に関連付けることができます。これで、この質問に対する答えは非常に完全なものになると思います!λi
枢機

@枢機inal、私は再構成の定式化からあなたが解決する問題に到達するために欠けているステップを完了したと信じています。
-NRH

よくやった。残っているギャップは最後の声明だけだと思います。合計を最適化することは、私の答えで最適化のシーケンスを実行することと同じであることはすぐにはわかりません。実際、一般的には直接続くとは思わない。ただし、ここで対処する必要はありません。
枢機

@cardinal、それは帰納法によって続きます。あなたは、誘導開始を提供し、誘導ステップで選択した正規直交ベクトルは合計を最大化していることので、それをアレンジ単位があるのベクトルに直交する。次に、結果および帰納法の仮定。もちろん、基底は次元空間の一意の基底ではありません。また、直接証明するために使用する「凸の組み合わせの引数」を一般化することもできます。w1,,wqwqu1,,uq1wqTSwquqTSuqi=1q1wiTSwii=1q1uiTSuiq
NRH

1
@cardinal、私は入れ子を強制するのではなく、単に次元の考慮を使用します。次元の部分空間がある場合、次元の部分空間に直交するように、その空間で常にを選択できます。次に、基底を好きなように埋めます。qwq(q1)w
-NRH

4

行列分解を明示的に使用しないアルゴリズムについては、NIPALS(wiki)をご覧ください。ここでは本当に行列代数を避けることはできないので、行列代数を避けたいと言うとき、それがあなたの言うことだと思います:)

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