定義
一般に固有値と固有ベクトルは以下の通り定義される。
$$ AX = \lambda X $$
- Aは正則行列
- Xは0行列以外
上記条件を満たす時、\(\lambda\) を固有値、Xを固有ベクトルという
わかること
- 固有値ベクトルに正則行列Aをかけても、固有値倍されるだけ
- ベクトルの向きは変化しない
機械学習では行列を多用するので、固有値、固有ベクトルは非常に重要
主成分分析などで使う
固有方程式
固有値と固有ベクトルを求める式のことを固有方程式といい、以下の式で求められる。
$$ |A - \lambda I| = 0 $$
Iは単位行列
例題
以下の正則行列Aの固有値と固有ベクトルを求める
$$ A = \begin{pmatrix} 4 & 1 \\ 1 & 4 \end{pmatrix} $$
固有方程式から、
$$ |A - \lambda I| = 0 $$
$$ | \begin{pmatrix} 4 & 1 \\ 1 & 4 \end{pmatrix} - \begin{pmatrix} \lambda & 0 \\ 0 & \lambda \end{pmatrix} | = 0 $$
$$ | \begin{pmatrix} 4-\lambda & 1 \\ 1 & 4-\lambda \end{pmatrix} | = 0 $$
$$ (4-\lambda)^2 - 1 = 0 $$
$$ \lambda^2 - 8\lambda + 15 = 0 $$
$$ (\lambda - 3)(\lambda - 5) = 0 $$
よって、\(\lambda = 3, 5\)とわかる。
あとは、ベクトルを仮にx = (x1, x2)と仮定し、固定値を代入すれば固有ベクトルも算出可能。
固有値分解
固有値分解は実質対角化と同様である
対角化
正方行列Aとし、直行行列Pと対角行列Dに関して以下が成立する
$$ A = P D P^{T}$$
PとDは以下の通りで、\(\lambda\)は固有値\(\vec{v}\)は固有ベクトルという条件を満たします。
$$ P = (\vec{v_1}\ \vec{v_2}\ \cdots) $$
$$ D = \begin{pmatrix} \lambda_1 & & \\ & \lambda_2 & \\ & & \ddots \end{pmatrix}$$
メリット
- 変形により、各特徴量の加算にみなすことができる
- 各項の固有値\(\lambda\)は重みを表していると考えられる
- 0に近い(= 重みが0に近い)ものは無視できる
- 次元削減したことになる
特異値分解(SVD)
SVDはsingular value decompositionの略らしい
定義
\(m \times n\)の行列Aに関して、\(A=U\Sigma V\)が成立する。
- Uは\(m \times m\)の直行行列
- Vは\(n \times n\)の直行行列
- \(\Sigma\)は\(m \times n\)で対角成分が0以上で且つ、大きい順(降順)に並んだ行列
この時、\(\Sigma\)の対角成分のうち、0以外を特異値と言う(0を含める場合もある)
特徴
- \(\Sigma\)は一意だが、UとVは一意とは限らない
- 特異値の個数は行列のrankと一致する