主成分分析(PCA)主成分分析

主成分分析の理論的分析(PCA次元削減アルゴリズム)

特徴抽出と特徴選択

主成分分析では、厳密に言えば、それはに属している必要が特徴抽出のではなく、特徴選択

のが特徴選択が何であるかを見てみましょうか?

例えば、今、我々は、訓練データセットである:
\ [\左\ {(。。X_ {1}、Y_ {1})、(X_ {2}、Y_ {2})、(。。X_ {3}、Y_ {3}) 、...(X_ {P}、
Y_ {P})\右\} \] ここで:
\ [I} = X_ {[X_ {I1}、{X_} I2、I3 X_ {}、... X_ {で}] ^ {T}
\] すなわち\(X_ {I} \) n次元の列ベクトルです。

だから、特徴選択の問題は、それが何であるのか?

Q:N冗長構成の寸法、すなわち\(X_ {I} \)の研究のためのいくつかの寸法は効果の問題を有していなかった、次元n番目から最も有用なM(M <N)を選択する方法機能?

これは、特徴選択の問題。いずれの場合においても、特徴のうち最終的には、唯一のオリジナルの特徴は、選択された、新たに追加された機能は存在しません。

だから、特徴抽出の問題は、それが何であるのか?

N寸法\([X_ {I1}、{X_} I2、I3 X_ {}、... X_ {における}] \)するように構成さ:
\ [\左\ {F_ 1 {}(X_ {I1}。 X_ {I2}、X_ {I3 }、...){}でX_、F_ {2}(X_ {I1}、X_ {I2}、X_ {I3}、... {}内X_)、F_ { 3}(X_ {I1}、 X_ {I2}、X_ {I3}、... X_ {}で)、...、F_ {M}(X_ {I1}、X_ {I2}、X_ {I3} 、... X_){で} \
右\} \] である:構成\(\({F_ 1}、{2} F_、F_ {} 3、.. F_ {M} \左右。)\) それぞれ\(F \)がマッピングされた\([X_ {I1}、{X_} I2、I3 X_ {}、... X_ {における}] \)これにより、m個の\(F_ {I}を( {I1} X_、X_ {} I2、I3 X_ {}、... X_){で} \)と呼ばれ、同じ目的を達成するためにMであれば、<N、次に、次元削減、特徴抽出、最終的に、および生成された各機能は、新しいブランドです。

それほど明確で、主成分分析(PCA)特徴抽出の一部です

二つの理論的導出主成分分析

主成分の導出

アイデアの主成分分析は、その理論を証明するのは難しい、非常に簡単です。主成分分析は、各行列に対して行列の右側に各列の行列乗算は、基本的にマトリックスの左に新しい空間に投影され、本質的に行列乗算の性質であるマトリックスの左から右へと、イル基は、行列の行の数未満である作用行の数は、行のビューは、次元削減を達成します。列子用:
\ [{。A_ 3 \ 5}タイムズ\ B_ {5回\タイムズ8. 3} = {C_ \タイムズ8} \]
このような単純なルック\(B \) 5から寸法に、ビューの行にマトリクス三次元に分類されます。[OK]を、このような理解で、私たちは、主成分分析を見てください。

主成分分析これらの物事:構成\(A_ {M \タイムズN-}、B_ \ {M \タイムズ1}) そう\(Y_ {Mの\回1 } = A_ {Mの\回N} X_ {N \回1} {+ M B_ \回1} \)、M <N-

したがって、我々は置く(X_は{n回を\ 1 \を } \) 次元削減になった\(Y_ {M \タイムズ。1} \)

それはまだちょうど上記の次元削減を満たす見つけるために、非常にシンプルに見えますです\((\ b)は\ ) ライン上を、私たちは助けるが、問題を考えるので、私たちは失うことはありません、行列の次元削減を使用することはできません(\ X \)それに含まれている情報?

答えは確かである、次元削減は、ほぼ確実に情報が失われているので、私たちは確かに簡単にグループを見つけることができません\((\ bを)\)私たちが必要なものを、次元削減した後、可能な限り維持することです\(X \)に含ますべての情報。しかし、問題は来ています:

1、\(X- \)の情報はどこ?

2、何を測定するには?

ほとんどの情報を保持するために、どのように見つけるか3、\((\ bを)\)

実際には、統計は内部、主要な情報配信を測定するための分散または標準偏差であり、そうするための主成分分析があります。

この方向で投影最大分散の方向と、投射後に発見されました

例えば:

各点は、一つのサンプル赤表す\(X_ {I}を\)、\ (X_ {I} = [{I1} X_、X_ {I2}] T ^ {} \)

これは、各サンプルである(\ X_ {I})\あなたは寸法を小さくしたい場合は、その後、それだけで一次元に分類することができ、2次元です。ここに私の2つの投影方向は、投影後に緑色の点を描画する方向に、ABです。次に、投影のより良い方向に主成分分析。にくく一致点を分散させた後、投影点は、偶然、その後、必ずしも情報の完全な損失をもたらす場合の理由は、あなたは、そう考えることができます。我々は投影を取得した後、第2主成分として得られる投影をB、第一主成分と呼ばれます。そして、どのように測定するには、それを「分散しましたか」?分散であります!したがって、投影されたデータのより大きな分散、そこに含まれるより多くの情報、より少ない情報損失。

[OK]を、我々は最高に来る\((\のB)\)が、その後、書き換えにはこちらをクリックしてください:
\ [Y_ {。メートルの\ A_タイムズ1} = {m個\} n倍(nは-X_ {\時間1} - \の上線{X_
{N \回1}})\] したがってのみ\(B_ {Mの\回1 } \) となる\( - A_ {Mの\回 N} \上線{X_ { \回1}} \)N-、ちょうど見つける必要がN(A_ {Mの\倍\ } \)

まず、聞かせて\(A_ {Mの\回N } \) :書かれた行ベクトル形式は
} {始める[A_ {Mを\} \ = n倍\ A_ {2} \\ \\ {bmatrixのA_ 1} ... \\ A_ {M} \端 {bmatrix} \] \(A_ {I} = [ A_ {I1}、A_ {I2}、A_ {I3}、...、A_] {}で\ 、各\(A_ {i}は\)投影方向を示しています。

この場合
{M \タイムズ1} \ [Y_ = \開始{} {2} \\ \\ ... \\ {M} A_ \ bmatrix終了{} _ {m個の\ n倍A_ {bmatrixのA_ 1} } \回(X_ {N \回1} - \の上線{X_ {N \回1}})= \ {bmatrix} A_ {1}(X_ {N \回1}開始- \の上線{N X_を{\ 時間1}})\\ A_ { 2}(X_ {N \回1} - \の上線{X_ {N \回1}})\\ ... \\ A_ {M}(X_ {N \回1 } - \の上線{X_ {N
\回1}})\端{bmatrix} \] ここで、我々は仮定するの合計\(P \) A \(X- \) すなわち:\(\左\ {X_ {I} \右\} _ {i = 1つの\ SIM P} \)

那么同样有:
\ [\左\ {Y_ {I} \右\} _ {Mの\回1} = \ {bmatrix} A_ {1}(\左\ {右X_ {I}を\ \}開始_ { N \回1} - \の上線{X_ {N \回1}})\\ A_ {2}(\左\ {X_ {I} \右\} _ {N \回1} - \の上線{X_ { N \回1}})\\ ... \\ A_ {M}(\左\ {X_ {I} \右\} _ {N \回1} - \の上線{X_ {N \回1}} ))\端{bmatrix}、I = 1 \ SIM P \]

我々は行ベクトル式の形で書かれている場合も同様に、:
\ [\ _ {M \タイムズ1} = \開始bmatrix} {Y_ {Y_ {I1 I2} \ {右\ Y_ {I} \}を左\\ } \\ ... \\ Y_ {イム}
\ {最後bmatrix}、i = 1から\ simのP \] さて、のは、物事を見てみましょう言っ以前、各\(A_ {I} \)の代わりに投影方向を有します。

那么既然:\(Y_ {I1} =のA_ {1}(\左\ _ {N \回1} {右\ X_ {I} \} - \の上線{X_ {N \回1}})\)

次に\(Y_ {i1が} \)方向の第1表す(A_ {1} \)\投影の結果の分散は、投影の結果、第一主成分と呼ばれ、我々は必要とされています即ち最大:
\ [最大:\ sum_ {I = 1} ^ {P}(Y_ {I1} - \の上線{Y} _ {I1})^ 2 \]
私たちは最初の計算\(\上線{ Y} _ {I1} \)
\ [\上線{Y} _ {I1} = FRAC \ FRAC {1} {P} \ sum_ {I = 1} ^ py_ {I1} = \ {1} {P} \ sum_ {i = 1} ^ pa_ {1}(\左\ {X_ {i}は\右\} _ {N \回1} - \の上線{X_ {N \回1}})= FRAC \ {A_ { 1}}、{P} [( \ sum_ {i = 1} ^ P \左\ {X_ {I} \右\} _ {N \回1}) -のp \の上線{X_ {N \回1}} ] \]

\ [Pの\の上線{X_ { N \回1}} = P * \ FRAC {1} {P} \ sum_ {i = 1} ^ P \左\ {X_ {I} \右\} _ {N \回1} =
\ sum_ {i = 1} ^ P \左\ {X_ {I} \右\} _ {N \回1} \] それほど
\ [\上線{Y} _ {I1} = \ FRAC {1} {P} \ FRAC {1} {P} \ sum_ {i = 1} ^ py_ {I1} = \ sum_ {i = 1} ^ pa_ {1}(\左\ { X_ {I} \右\} _ {N \回1} - \の上線{X_ {N \回1}})= FRAC \ {A_ {1}}、{P} [( \ sum_ {i = 1} ^
P \左\ {X_右{I} \ \} _ {N \回1}) -のp \の上線{X_ {N \回1}}] = 0 \] に変換されます:\
[最大:\ sum_ {I = 1} ^ {P} Y_ {I1} ^ 2 = [A_ {1}(\左\ {X_ {I} \右\} _ {N- \タイムズ1。} - \上線{X_ {N 1回\
}})] ^ 2 \] ここで説明する、\(A_ 1} = {(A_ {}。11、12 A_ {}、13 A_ {}、... {1N} A_であります)\)、そう\(A_ {1}(\左\ {X_ {I} \右\} _ {N \回1} - \の上線{X_ {N \回1}})\) で一定

なお、上記の式を書き換えることができる:(継続することができるビット順列の右側ので、定数に等しい自体を転置下記式 \)
の\ sum_ {I} = ^ {P} 1 Y_ {I1} = ^ 2:[maxは。 \ sum_ {i = 1} ^ {P} A_ {1}(\左\ {X_ {I} \右\} _ {N \回1} - \の上線{X_ {N \回1}})* [ A_ {1}(\左\
{X_ {I} \右\} _ {N \回1} - \の上線{X_ {N \回1}})] ^ {T} \] とに応じて\((AB )^ {T}はTA ^ T \ ^ B =)を、式によって右の転置を展開:
\ [最大:A_ {1} [\ sum_ {I = 1} ^ {P}(\が\ {X_を{左I} \右\} _ { N \回1} - \の上線右{X_ {N \回1}})(\左\ {X_ {I} \ \} _ {N \回1} - \の上線{ X_ {N \回1}}
)^ {T}] A_ {1} ^ {T}は\] 式全体のこの最終結果が一定見て:

[OK]を、今、私たちは、中央部の代わりに記号を使用します!
\ [[\ sum_ {I = 1} ^ {P}(\左\ {X_ {I} \右\} _ {N- \タイムズ1} - \上線{X_ {N- \タイムズ1}}) (\左\ {X_ {I
} \右\} _ {N \回1} - \の上線{X_ {N \回1}})^ {T}] = \シグマ\] この式に上記統計呼び出さにおける共分散行列(共分散行列)

这里再来补充一个知识点:\((A+B)^{T}=A^{T}+B^{T}\)

那么来看看下面这个计算:
\[ \Sigma^{T}=[\sum_{i=1}^{p}(\left \{ X_{i} \right \}_{n\times 1}-\overline{X_{n\times 1}})(\left \{ X_{i} \right\}_{n\times 1}-\overline{X_{n\times 1}})^{T}]^{T}=\\ [\sum_{i=1}^{p}(\left \{ X_{i} \right \}_{n\times 1}-\overline{X_{n\times 1}})(\left \{ X_{i}\right\}_{n\times 1}-\overline{X_{n\times 1}})^{T}]=\Sigma \]
这个我们下面会用到。

按理说这里我们的优化问题已经求出来了,协方差矩阵是已经知道的,求\(a_{1}\),但是我们必须再对\(a_{i}\)进行一定的限制,为什么呢?我们说了这里\(a_{i}\)是一个投影的方向,在数学的表达里就是一个多维的向量,一个向量具有方向和模长。而我们主要关注的是方向,必须保证模长一定,所以我们必须对\(a_{i}\)进行一些归一化限制。

于是我们给出下面完整的优化问题:
\[ 最大化:a_{1}\Sigma a_{1}^{T}\\ 限制条件:a_{1}a_{1}^{T}=\left | a_{1} \right |^{2}=1 \]
要解此优化问题要用到拉格朗日乘子法:

不了解的课参考下这篇文章看下:https://zhuanlan.zhihu.com/p/38625079

拉格朗日变换如下:
\[ F(a_{1})=a_{1}\Sigma a_{1}^{T}-\lambda (a_{1}a_{1}^{T}-1) \]
\(a_{1}\)求导:先给出一些求导的结果,矩阵求导比较陌生,不清楚的网上查一查。

\(\frac{\mathrm{d} (a_{1}\Sigma a_{1}^{T})}{\mathrm{d} a_{1}}=2(\Sigma a_{1}^{T})^{T},\ \ \ \frac{\mathrm{d} (a_{1}a_{1}^{T})}{\mathrm{d} a_{1}}=2a_{1}\)

所以求导后的结果是:
\[ \frac{\partial F}{\partial a_{1}}=2(\Sigma a_{1}^{T})^{T}-2\lambda a_{1} \]
令其等于0:
\[ 2(\Sigma a_{1}^{T})^{T}-2\lambda a_{1}=0\\ \Rightarrow (\Sigma a_{1}^{T})^{T}=\lambda a_{1} \]
上式两边再同时转置:注意\(\lambda\)是一个常数!
\[ \Sigma a_{1}^{T}=(\lambda a_{1})^{T}=\lambda a_{1}^{T} \]
根据特征值与特征向量的定义,上式中:重点来了!

\(a_{1}^{T}\)是协方差矩阵\(\Sigma\)的特征向量,\(\lambda\)是其对应的特征值!

我们要最大化 \(a_{1}\Sigma a_{1}^{T}\\\),可作如下变换:
\[ a_{1}\Sigma a_{1}^{T}=a_{1}(\Sigma a_{1}^{T})=a_{1}\lambda a_{1}^{T}=\lambda(a_{1}a_{1}^{T})=\lambda \]
那么到此我们可以得出结论,我们要想最大化\(a_{1}\Sigma a_{1}^{T}\),就要最大化\(\lambda\)。而\(\lambda\)就是协方差矩阵\(\Sigma\)最大的特征值,此时所求的\(a_{1}\)就是最大特征值所对应的特征向量。

此时求得的\(a_{1}\)就是使得方差最大化的方向,这时得到的第一个主成分就保留了最多的信息。

第二个主成分的推导

我们开始来求第二个主成分,也就是要求\(a_{2}\),但是\(a_{2}\)的限制条件除了归一化限制以外,还要求\(a_{2}\)\(a_{1}\)保持正定,你也可以认为是垂直。

所以其完整优化问题就是如下:
\[ 最大化:a_{2}\Sigma a_{2}^{T}\\ 限制条件:a_{2}a_{2}^{T}=\left | a_{2} \right |^{2}=1\\ a_{2}a_{1}^{T}=a_{1}a_{2}^{T}=0 (a_{1} , a_{2}要正定) \]
构造拉格朗日函数如下:
\[ F(a_{2})=a_{2}\Sigma a_{2}^{T}-\lambda (a_{2}a_{2}^{T}-1)-\beta a_{2}a_{1}^{T} \]
其中:\(\frac{\mathrm{d} (a_{2}a_{1}^{T})}{\mathrm{d} a_{2}}=a_{1}\)

则原式对\(a_{2}\)求导结果如下:
\[ \frac{\mathrm{d} F}{\mathrm{d} a_{2}}=2(\Sigma a_{2}^{T})^{T}-2\lambda a_{2}-\beta a_{1} \]
令上式等于0:
\[ 2(\Sigma a_{2}^{T})^{T}-2\lambda a_{2}-\beta a_{1}=2a_{2}\Sigma ^{T}-2\lambda a_{2}-\beta a_{1}=0 \]
现在需要先证明\(\beta\)=0

这里要用到我们前面所说的:\(\Sigma\)=\(\Sigma^{T}\),带入上面的第二个等式,得到:
\[ 2a_{2}\Sigma -2\lambda a_{2}-\beta a_{1}=0 \]
我们看看这个式子的结构:

现在上式两边同时乘以\(a_{1}^{T}\):
\[ (2a_{2}\Sigma -2\lambda a_{2}-\beta a_{1})a_{1}^{T}=0,这里0是一个常数! \]

化简:
\[ (2a_{2}\Sigma-2\lambda a_{2}-\beta a_{1})a_{1}^{T}=0\\ \Rightarrow 2a_{2}\Sigma a_{1}^{T}-2\lambda a_{2}a_{1}^{T}-\beta a_{1}a_{1}^{T}=0\\ \Rightarrow 2a_{2}\lambda_{1}a_{1}^{T}-\beta =0\\ \Rightarrow \beta=2a_{2}\lambda_{1}a_{1}^{T}=0 \]
则:
\[ \frac{\mathrm{d} F}{\mathrm{d} a_{2}}=2(\Sigma a_{2}^{T})^{T}-2\lambda a_{2}=0\\ \Rightarrow (\Sigma a_{2}^{T})^{T}-\lambda a_{2}=0\\ \Rightarrow (\Sigma a_{2}^{T})^{T}=\lambda a_{2}\\ \Rightarrow \Sigma a_{2}^{T}=\lambda a_{2}^{T} \]
同样根据矩阵的特征值与特征向量的概念,可以推出\(a_{2}^{T}\)是协方差矩阵的特征向量,\(\lambda\)是其对应的特征值。

我们的目的是最大化:\(a_{2}\Sigma a_{2}^{T}\),同样可根据以下变换:
\[ a_{2}\Sigma a_{2}^{T}=a_{2}(\Sigma a_{2}^{T})=a_{2}\lambda a_{2}^{T}=\lambda a_{2} a_{2}^{T}=\lambda \]
也就是说,我要取一个最大的\(\lambda\),但是我们在第一个主成分里已经取得了协方差矩阵\(\Sigma\)最大的特征值,那我们这里只能取第二大的特征值,此时求得的投影方向就是第二大特征值所对应的特征向量。

数学归纳

前面通过推导,我们可以求出第一个主成分和第二个主成分,具体我们求多少个主成分,看自己需求,每一个的求法和前面都差不多,唯一的区别在于优化问题中,要新增限制条件,新求的\(a_{i}\)必须保持与之前求得的\((a_{i-1},a_{i-2},....)\)全部保持正定。这样我们理论上就证明了如何通过协方差矩阵进行降维。

实际主成分分析(PCA降维算法)的算法流程

第一步:求协方差矩阵,
\[ \Sigma =\sum _{i=1}^{p}(X_{i}-\overline{X})(X_{i}-\overline{X})^{T} \]
第二步:求出上面的协方差矩阵的特征值,并按从大到小排列\((\lambda _{1},\lambda _{2},\lambda _{3},...)\)

​ 对应的特征向量排序为\((a_{1}^{T},a_{2}^{T},a_{3}^{T},....)\)

第三步:归一化所有\(a_{i}\),使得\(a_{i}a_{i}^{T}=1\)

第四步:选取前m(m<n)个特征值所对应的特征向量,求出降维矩阵\(A\)
\[ A=\begin{bmatrix} a_{1}\\ a_{2}\\ ...\\ a_{m} \end{bmatrix}_{m\times n} \]
第五步:降维
\[ Y_{m\times 1}= \begin{bmatrix} a_{1}\\ a_{2}\\ ...\\ a_{m} \end{bmatrix}_{m\times n} \times (X_{n\times 1}-\overline{X_{n\times 1}}) = \begin{bmatrix} a_{1}(X_{n\times 1}-\overline{X_{n\times 1}})\\ a_{2}(X_{n\times 1}-\overline{X_{n\times 1}})\\ ...\\ a_{m}(X_{n\times 1}-\overline{X_{n\times 1}}) \end{bmatrix} \]
这样就把维度从\(n\times 1\)降成了\(m\times 1\)

おすすめ

転載: www.cnblogs.com/LUOyaXIONG/p/11356201.html