今日は数学のお勉強
お品書き
固有値とは
Aを行列、xをベクトル、λをスカラー(数)としたときに
Ax=λx
と表せたとき、λはAの固有値と言います。つまり行列とベクトルの計算がスカラーとベクトルの演算だけになります。
このときxはAの固有ベクトルといいます。
固有値は何に使われるの?
固有値、どんな場所で使われるのでしょうか。
例えば学んだ主成分分析などで固有値が使われます。厳密にいうと少し違いますが、行列とベクトルの演算をスカラーとベクトルの演算に書き直せるのでデータ数の削減、特徴量の抽出といった場面で使えるのは想像できると思います。
求め方
では実際例題を解いてみます。
\begin{bmatrix} 1&3 \\ 4&2 \end{bmatrix}
の固有値と固有ベクトルを求めましょう。ここでは理論はかっ飛ばして解き方だけ説明します。
1.|λE-A|=0を解く
\begin{vmatrix} λ-1&-3 \\ -4&λ-2 \end{vmatrix}
=
固有値λ=5,-2と求まりました。
2.各固有値について固有ベクトルを求める
次に固有ベクトル。λ=5,-2と2つあるのでそれぞれについて固有ベクトルを求めましょう。
λ=5のとき
\begin{align}
(λE-A)x
&=
\begin{pmatrix}
4 &-3 \\
-4&3
\end{pmatrix}
\begin{pmatrix}
x_1 \\
x_2
\end{pmatrix} \\
&=O
\end{align}
となるxを求めます。これを解くと
\begin{align}
\begin{pmatrix}
x_1 \\
x_2
\end{pmatrix}
=k
\begin{pmatrix}
3 \\
4
\end{pmatrix}
\end{align}
k:実数
となります。これで1つ目の固有ベクトルは完成。
λ=-2のとき
\begin{align}
(λE-A)x
&=
\begin{pmatrix}
-3 &-3 \\
-4&-4
\end{pmatrix}
\begin{pmatrix}
x_1 \\
x_2
\end{pmatrix} \\
&=O
\end{align}
同様に求めると
\begin{align}
\begin{pmatrix}
x_1 \\
x_2
\end{pmatrix}
=l
\begin{pmatrix}
1 \\
-1
\end{pmatrix}
\end{align}
l:実数
とそれぞれについて固有ベクトルが求まりました。
特異値分解とは
特異値分解(別名 SDV(Single Value Deconposition))とは
A : m行n列の行列。
U : m行m列の直行行列。
D : m行r列の行列。対角成分は非負で大きい順に並んだ行列、非対角成分は0。
V : r行n列の直行行列。
と、上式のように行列Aを3つの行列に分解する手法を指します。
さらにU,Dは直行行列なので
(E:単位行列)
が成り立ちます。
何に使われるのか
特異値は固有値と同様、主成分分析などに用いられます。
固有値と特異値って何が違うのかと言いますと、固有値は正方行列だけにしか求められませんが、対して特異値は正方行列でないものにも施せます。
求め方
では例題を用いて求めます。
A=
\begin{pmatrix}
0 & 1 \\
2 & 0
\end{pmatrix}
を特異値分解してみましょう。
1. AA^Tの固有値、固有ベクトルを求めUを算出
まずの値を求めます。
=
\begin{pmatrix}
0×0+1×1 & 0×2+1×0 \\
2×0+0×1 & 2×2+0×0
\end{pmatrix}
=
\begin{pmatrix}
1 & 0 \\
0 & 4
\end{pmatrix}
では固有値を求めましょう。
\begin{align}
|AA^T- λE|
&=
\begin{vmatrix}
1-λ & 0 \\
0 & 4-λ
\end{vmatrix}
&=0
\end{align}
より
(i)λ=4のとき
( Dの対角成分は大きい順に並んでいるので大きい固有値から解いたほうが間違いがなく済みます。 )
\begin{align}
(AA^T- λE)x
&=
\begin{pmatrix}
1-4 & 0 \\
0 & 4-4
\end{pmatrix}
\begin{pmatrix}
x_1 \\
x_2
\end{pmatrix} \\
&=O
\end{align}
つまり
\begin{align}
\begin{pmatrix}
-3x_1 \\
0
\end{pmatrix}
=
\begin{pmatrix}
0 \\
0
\end{pmatrix}
\end{align}
よって
\begin{align}
\begin{pmatrix}
x_1 \\
x_2
\end{pmatrix}
=k
\begin{pmatrix}
0 \\
1
\end{pmatrix}
\end{align}
k:実数
(ii)λ=1のとき
\begin{align}
(AA^T- λE)x
&=
\begin{pmatrix}
1-1 & 0 \\
0 & 4-1
\end{pmatrix}
\begin{pmatrix}
x_1 \\
x_2
\end{pmatrix} \\
&=O
\end{align}
つまり
\begin{align}
\begin{pmatrix}
0 + 0 \\
3x_2
\end{pmatrix}
=
\begin{pmatrix}
0 \\
0
\end{pmatrix}
\end{align}
よって
\begin{align}
\begin{pmatrix}
x_1 \\
x_2
\end{pmatrix}
=l
\begin{pmatrix}
1 \\
0
\end{pmatrix}
\end{align}
l:実数
(i)(ii)より
U=
\begin{align}
\begin{pmatrix}
0 & 1 \\
1 & 0
\end{pmatrix}
\end{align}
注意:Uは直行行列なので正規化(列ベクトルの大きさが1になるよう調整)を忘れないでください。
2. A^TAの固有値、固有ベクトルを求めVを算出
次にの値を求めます。1.では
なので若干違います。
=
\begin{pmatrix}
0×0+2×2 & 0×1+2×0 \\
1×0+0×2 & 1×1+0×0
\end{pmatrix}
=
\begin{pmatrix}
4 & 0 \\
0 & 1
\end{pmatrix}
次に固有値を求めましょう。
\begin{align}
|A^TA- λE|
&=
\begin{vmatrix}
4-λ & 0 \\
0 & 1-λ
\end{vmatrix}
&=0
\end{align}
より
λ=4,1
と求められます。1.と同じように求まった固有値について固有ベクトルを求めます。
(iii)λ=4のとき
\begin{align}
(AA^T- λE)x
&=
\begin{pmatrix}
4-4 & 0 \\
0 & 1-4
\end{pmatrix}
\begin{pmatrix}
x_1 \\
x_2
\end{pmatrix} \\
&=O
\end{align}
つまり
\begin{align}
\begin{pmatrix}
0 \\
-3x_2
\end{pmatrix}
=
\begin{pmatrix}
0 \\
0
\end{pmatrix}
\end{align}
よって
\begin{align}
\begin{pmatrix}
x_1 \\
x_2
\end{pmatrix}
=m
\begin{pmatrix}
0 \\
1
\end{pmatrix}
\end{align}
m:実数
(iv)λ=1のとき
\begin{align}
(AA^T- λE)x
&=
\begin{pmatrix}
4-1 & 0 \\
0 & 1-1
\end{pmatrix}
\begin{pmatrix}
x_1 \\
x_2
\end{pmatrix} \\
&=O
\end{align}
つまり
\begin{align}
\begin{pmatrix}
3x_1 \\
0
\end{pmatrix}
=
\begin{pmatrix}
0 \\
0
\end{pmatrix}
\end{align}
よって
\begin{align}
\begin{pmatrix}
x_1 \\
x_2
\end{pmatrix}
=n
\begin{pmatrix}
0 \\
1
\end{pmatrix}
\end{align}
n:実数
(iii)(iv)より
V^T=
\begin{align}
\begin{pmatrix}
1 & 0 \\
0 & 1
\end{pmatrix}
\end{align}
3.U,V^Tに対応する特異値をDに並べて完成
λ=4,1
U=
\begin{align}
\begin{pmatrix}
0 & 1 \\
1 & 0
\end{pmatrix}
\end{align}
V^T=
\begin{align}
\begin{pmatrix}
1 & 0 \\
0 & 1
\end{pmatrix}\\
\end{align}
と求まったので最後にDを求めます。
\begin{align}
D&=
\begin{pmatrix}
+{\sqrt{λ_1}} & 0 \\
0 & +{\sqrt{λ_2}}
\end{pmatrix}\\
&=
\begin{pmatrix}
+{\sqrt{4}} & 0 \\
0 & +{\sqrt{1}}
\end{pmatrix}\\
&=
\begin{pmatrix}
2 & 0 \\
0 & 1
\end{pmatrix}\\
\end{align}
よって
\begin{align}
A &= UDV^T \\
&=
\begin{pmatrix}
0 & 1 \\
1 & 0
\end{pmatrix}
\begin{pmatrix}
2 & 0 \\
0 & 1
\end{pmatrix}
\begin{pmatrix}
1 & 0 \\
0 & 1
\end{pmatrix}\\
\end{align}
とAが求まりました。
またUの列ベクトルを左特異ベクトル、Vの列ベクトルを右特異ベクトルと言います。
一度自分で何も見ない解けるようになるといいと思います。
参考文献