【ど素人向け】PCAとICAの違い〜NMFを添えて〜
この記事では,研究のサーベイをまとめていきたいと思います。ただし,全ての論文が網羅されている訳ではありません。また,分か
非負値行列因子分解(NMF; Non-negative Matrix Factorization),主成分分析(PCA; Principal Component Analysis),独立成分分析(ICA; Independent Component Analysis)は,いずれも 行列因子分解に基づいて定式化 されます。NMFやICAは音源分離,PCAは次元削減の手法として利用されることが多いです。
NMF PCA・ICA先にタネあかしをすると, ICAはPCAの拡張 です。逆に言えば,PCAはICAの特別な場合に相当します。ですので,基本的にPCAとICAは同じ行列分解にしたがって定式化が行われます。
混合モデル 分離モデル定式化
それぞれのモデルの定式化の概要三つのモデルは,それぞれ 「コスト関数に基づく方法」 と 「尤度関数に基づく方法」 によって定式化されます。これらは,対照的なアプローチです。
NMF
ここからは,NMFの定式化についてお伝えしていきます。まずは,コスト関数に基づく方法ですが,行列因子分解により計算される 再構成データ$\mW\mH$と分解前の行列$\mX$の距離 (擬距離を含む)が,コスト関数$_$として定義されます。ただし,$\mX\in_^$,$\mW\in_^$,$\mH\in_^$です。
$\mW\mH=\mY$とおくと,$\mX=\mY$のときに対数尤度が最大となることを利用することで,両者が対応していることが説明できます。ポアソン分布の定義は以下の通りです。ただし,$\mX \geq 0$です。
\begin L_p(\mY) – L_p(\mX) \geq 0 \end
この式は,「$L_p(\mY) – L_p(\mX)$」が$\mX$と$\mY$の近さを表す非負値を値域にとる関数であることを示しています。実際に,$L_p(\mY) – L_p(\mX)$を計算すると,KLダイバージェンスの定義式と一致することが確認できます。
\begin L_p(\mY) – L_p(\mX) &= (\mY \log \mY – \mY – \log \mY!) – (\mY \log \mX – \mX – \log \mY!)\\&= \mY \log \frac – \mY + \mX\\&= \mathcal_(\mY|\mX) \end
PCA
PCAのコスト関数は,変換後のデータの 分散が最大 になり,かつ 直交する という基準に基づいて定められます。第一主成分$s_$の分散は,以下のようにして求められます。
【超初心者向け】主成分分析(PCA)をpythonで実装してみた。 今回は,scikit-learnなどの既成ライブラリにできるだけ頼らずに,主成分分析の基本的な部分を実装していこ. 【超初心者向け】画像の主成分分析(PCA)をpythonで実装してみる。 今回は,scikit-learnなどの既成ライブラリにできるだけ頼らずに,画像に主成分分析を施していこうと思いま.ICA
ICAは,PCAの拡張です。ICAでは,$\vs_$の各要素$[\vs_, \vs_, \cdots, \vs_]^T$が 独立になるように $\vs_$を定めます。
ただし,$H(\cdot)$はエントロピーを表します。ここで,分離モデル$\mathbf_ = \mathbf_ \mathbf_$を用います。ヤコビアンの関係式から,以下の関係が成立します。
このコスト関数を最小化する$\mW_$は,自然勾配アルゴリズムなどを用いて求められます。次に,尤度関数に基づく方法です。先ほどと同様に,$\vs_=\mW_f\vx_$の関係から,式($\ref$)が成り立ちます。 $G(\vx)=-\log p(\vx)$とおくと,ICAの尤度関数は以下のように求められます。
\begin \log p(\mathbf | \mathbf) &=\log \left( \prod_^ \prod_^ p\left(\mathbf_ | \mathbf_\right) \right)\\ &= \log \left( \prod_^ \prod_^\left|\operatorname\left(\mathbf_\right)\right| \prod^ p\left( \vs_ \right) \right)\\ &= \log \left( \prod_^ \prod_^\left|\operatorname\left(\mathbf_\right)\right| \prod^ p\left( \mathbf_^ \mathbf_ \right) \right)\\ &= T \sum_^\log \left|\operatorname\left(\mathbf_\right)\right| – \sum^ \sum_^ \sum_^ G\left(\mathbf_^ \mathbf_\right) \end
いくつかのWeb上の資料とは異なる結果かもしれません。これは,本記事ではヤコビアンの関係式($\ref$)で$\mW \in ^$を仮定しているためです。複素数を仮定した場合には,ヤコビアンの関係式が異なります。なお,得られた尤度関数は,補助関数法(MMアルゴリズム)等を用いて最大化されます。
共通点・相違点
三者の共通点として, 情報の抽出機構として機能する という点が挙げられます。NMFでは,適切な基底行列を与えた場合には,各基底に対応するアクティベーション行列が得られます。逆に,適切なアクティベーション行列を与えた場合には,各アクティベーションに対応する基底行列が得られます。
PCAでは,正規直交基底上への射影を前提として,射影後のデータの分散が最も大きい,つまり データが極端に散らばって各データのもつ情報量が大きくなるような成分 を抽出します。これは,変換後のデータが無相関になるような基底行列を抽出しているとも捉えられます。
ICAでは,各成分が独立になるような成分を抽出しています。独立は無相関の必要条件であるため,ICAはPCAよりも「厳しい」基準で成分を抽出していると捉えられます。音源分離などの問題設定では, 各音源が独立であるという仮定に十分な妥当性が考えられる ため,ICAは適している手法であると考えられます。