LoginSignup
3
1

More than 3 years have passed since last update.

機械学習の基礎2 線形代数メモ

Posted at

機械学習の基礎(線形代数)を備忘録として残しておく。

1.ベクトル・行列

【単位ベクトル】

$ \overrightarrow {a} = \begin{pmatrix} 1 \\ -2 \\ 2 \end{pmatrix} $ と同じ方向を持つ単位ベクトル(大きさが1)を求める

$\displaystyle \pm\frac{1}{| \overrightarrow a|} \overrightarrow a = \pm \frac{1}{\sqrt{1^2 + (-2)^2 + 2^2}} \begin{pmatrix} 1 \\ -2 \\ 2 \end{pmatrix} $

   $\displaystyle = \pm \frac{1}{3} \begin{pmatrix} 1 \\ -2 \\ 2 \end{pmatrix} $

【ベクトルの直行】

ベクトルの内積は、
$ \overrightarrow a \overrightarrow b = |a||b|cosθ $ と表わされる。
よって、直行する場合は$ \overrightarrow a \overrightarrow b = 0$となる。

$ \overrightarrow {a} = \begin{pmatrix} 2 \\ -3 \\ 1 \end{pmatrix} $、$ \overrightarrow {b} = \begin{pmatrix} 1 \\ 2 \\ 4 \end{pmatrix} $の時、$ \overrightarrow {a}$と$\overrightarrow {b}$が直交するか?

$\displaystyle \overrightarrow a・\overrightarrow b = \begin{pmatrix} 2 \\ -3 \\ 1 \end{pmatrix}・\begin{pmatrix} 1 \\ 2 \\ 4 \end{pmatrix}$

   $\displaystyle = 2・1 + (-3)・2 + 1・4 = 0 $

よって直交する。

【行列式】

$ A = \begin{pmatrix} a & b \\ c & d\end{pmatrix}$ の行列式$|A|$は、$|A| = ad -bc$

$A = \begin{pmatrix} a11 & a12 & a13 \\ a21 & a22& a23 \\ a31 & a32 & a33\end{pmatrix}$の行列式$|A|$は、
$|A| = a11a22a33 + a12a23a31 + a13a21a32 -a13a22a31 - a11a23a32 -a12a21a33$
*サラスの公式

【逆行列】

$E=\begin{pmatrix} 1 & 0 \\ 0 & 1\end{pmatrix}$を単位行列として、
$AA^{-1} = A^{-1}A = E$ を満たす行列 $A^{-1}$ を逆行列と言う。

$ A = \begin{pmatrix} a & b \\ c & d\end{pmatrix}$ の逆行列$A^{-1}$は、
$\displaystyle A^{-1} =\frac{1}{|A|}\begin{pmatrix} d & -b \\ -c & a\end{pmatrix}=\frac{1}{ad - bc}\begin{pmatrix} d & -b \\ -c & a\end{pmatrix}$

*但し、$ad - bc = 0$ の時、逆行列は存在しない

【転置行列】

$A = \begin{pmatrix} 2 & 1 & -1 \\ 1 & -1 & 0\end{pmatrix}$ の転置行列は、
$A^T = \begin{pmatrix} 2 & 1\\ 1 & -1 \\ -1 & 0 \end{pmatrix}$

$(AB)^T = B^TA^T $が成り立つ

【直行行列】

$A^T = A^{-1}$を満たす特殊な行列$A$を直行行列と言う。各列の大きさは1 である。
$AA^{-1} = A^{-1}A = E$ なので、$AA^T = A^TA = E$ が成り立つ。
(for example)
$\displaystyle A = \begin{pmatrix} \frac{2}{\sqrt5} & \frac{1}{\sqrt5} \\ \frac{-1}{\sqrt5} & \frac{2}{\sqrt5} \end{pmatrix}$

$\displaystyle A^{-1} =\frac{1}{|A|}\begin{pmatrix} \frac{2}{\sqrt5} & \frac{1}{\sqrt5} \\ \frac{-1}{\sqrt5} & \frac{2}{\sqrt5} \end{pmatrix} = \begin{pmatrix} \frac{2}{\sqrt5} & \frac{1}{\sqrt5} \\ \frac{-1}{\sqrt5} & \frac{2}{\sqrt5} \end{pmatrix}$

$\displaystyle A^TA = \begin{pmatrix} \frac{2}{\sqrt5} & \frac{-1}{\sqrt5} \\ \frac{1}{\sqrt5} & \frac{2}{\sqrt5} \end{pmatrix}\begin{pmatrix} \frac{2}{\sqrt5} & \frac{1}{\sqrt5} \\ \frac{-1}{\sqrt5} & \frac{2}{\sqrt5} \end{pmatrix} =\begin{pmatrix} 1 & 0 \\ 0 & 1\end{pmatrix} $

【基底の取替え行列】

$( \overrightarrow c, \overrightarrow d) = ( \overrightarrow c, \overrightarrow d)P$ のとき、Pを基底の取り替え行列と言う。Pを求める、

$ A =( \overrightarrow c, \overrightarrow d) =\begin{pmatrix} -1 & 2 \\ -1 & 3\end{pmatrix}$ 

$ B =( \overrightarrow a, \overrightarrow b) =\begin{pmatrix} 1 & 2 \\ 3 & 5\end{pmatrix}$ とすると

$ A = BP $ より
$ B^{-1}A = B^{-1}BP $、よって
$ P = B^{-1}A $

$\displaystyle B^{-1} =\frac{1}{5 - 6}\begin{pmatrix} 5 & -2 \\ -3 & 1\end{pmatrix}= \begin{pmatrix} -5 & 2 \\ 3 & -1\end{pmatrix} $

$\displaystyle P = B^{-1}A$
$ = \displaystyle \begin{pmatrix} -5 & 2 \\ 3 & -1\end{pmatrix} \begin{pmatrix} -1 & 2 \\ -1 & 3\end{pmatrix} = \displaystyle \begin{pmatrix} 3 & -4 \\ -2 & 3\end{pmatrix}$

2. 固有値分解、特異値分解

【固有値分解】

$A\overrightarrow x = \lambda \overrightarrow x$ を満たすn次元ベクトル $ \overrightarrow x(\overrightarrow x ≠ 0) $と実数$\lambda$が存在するときに、$\lambda$ を固有値、$ \overrightarrow x$を固有ベクトルと言い、$P = (\overrightarrow x_1, \overrightarrow x_2) $ とすると、$ A = P\Lambda P^{-1} $ の形に固有値分解出来る

$ A = \begin{pmatrix} 4 & -2 \\ 1 & 1\end{pmatrix}$ を $ A = P\Lambda P^{-1} $ の形に固有値分解する

$A\overrightarrow x - \lambda \overrightarrow x = 0 $ から、 $(A - \lambda E )\overrightarrow x = 0 $

$ A - \lambda E = \begin{pmatrix} 4 & -2 \\ 1 & 1\end{pmatrix} -\begin{pmatrix} \lambda & 0 \\ 0 & \lambda\end{pmatrix} = \begin{pmatrix} 4 - \lambda & -2 \\ 1 & 1 - \lambda \end{pmatrix}$
従って、方程式 $(4 - \lambda)(1 - \lambda) +2 = 0 $ を解けば良い
$ \lambda ^2 -5 \lambda +6 = 0$
$ (\lambda -2 )(\lambda -3 ) = 0$
ゆえに、固有値 $ \lambda_1 = 2, \lambda_2 =3$

1) $ \lambda_1 = 2 $ のとき

$ \overrightarrow x_1 = \left(\begin{array}{ccc} \alpha_1 \\ \alpha_2 \end{array}\right)$ とすると、

$(A - \lambda E )\overrightarrow x_1 = 0 $

$ \begin{pmatrix} 4 - \lambda & -2 \\ 1 & 1 - \lambda \end{pmatrix}\left(\begin{array}{ccc} \alpha_1 \\ \alpha_2 \end{array}\right) = \left(\begin{array}{ccc} 0 \\ 0\end{array}\right)$

$ \begin{pmatrix} 2 & -2 \\ 1 & -1\end{pmatrix}\left(\begin{array}{ccc} \alpha_1 \\ \alpha_2 \end {array} \right) = \left(\begin{array}{ccc} 0 \\ 0\end{array}\right)$

$\alpha_1 - \alpha_2 = 0 $ なので、$\alpha_1 = \alpha_2 $ よって固有ベクトルは、
$ \overrightarrow x_1 = k_1\left(\begin{array}{ccc} 1 \\ 1 \end{array}\right)$

2) $ \lambda_2 = 3 $ のとき

$ \overrightarrow x_2 = \left(\begin{array}{ccc} \alpha_1 \\ \alpha_2 \end{array}\right)$ とすると、

$(A - \lambda E )\overrightarrow x_2 = 0 $

$ \begin{pmatrix} 4 - \lambda & -2 \\ 1 & 1 - \lambda \end{pmatrix}\left(\begin{array}{ccc} \alpha_1 \\ \alpha_2 \end{array}\right) = \left(\begin{array}{ccc} 0 \\ 0\end{array}\right)$

$ \begin{pmatrix} 1 & -2 \\ 1 & -2\end{pmatrix}\left(\begin{array}{ccc} \alpha_1 \\ \alpha_2 \end {array} \right) = \left(\begin{array}{ccc} 0 \\ 0\end{array}\right)$

$\alpha_1 - 2 \alpha_2 = 0 $ なので、$\alpha_1 = 2 \alpha_2 $ よって固有ベクトルは、
$ \overrightarrow x_2 = k_2\left(\begin{array}{ccc} 2 \\ 1 \end{array}\right)$

これらの結果を元に、
$P = ( \overrightarrow x_1 \overrightarrow x_2 ) = \begin{pmatrix} 1 & 2 \\ 1 & 1 \end{pmatrix}$

$\displaystyle P^{-1} =\frac{1}{ad - bc}\begin{pmatrix} d & -b \\ -c & a\end{pmatrix}=\frac{1}{-1}\begin{pmatrix} 1 & -2 \\ -1 & 1\end{pmatrix}= \begin{pmatrix} -1 & 2 \\ 1 & -1 \end{pmatrix}$

$ \Lambda = \begin{pmatrix} \lambda_1 & 0 \\ 0 & \lambda_2 \end{pmatrix} = \begin{pmatrix} 2 & 0 \\ 0 & 3 \end{pmatrix}$ なので、

$ A = P \Lambda P^{-1} = \begin{pmatrix} 1 & 2 \\ 1 & 1 \end{pmatrix} \begin{pmatrix} 2 & 0 \\ 0 & 3 \end{pmatrix}\begin{pmatrix} -1 & 2 \\ 1 & -1 \end{pmatrix}$ と固有値分解が出来る

特異値分解

任意のm×n行列Aに対して、以下の積の形で表すことを特異値分解と言う
$A = UDV^T$
・$U$が、m×mの直行行列
・$V$は、n×nの直行行列
・$D$は、m×nの非対角成分は0、対角成分は非負で大きさの順に並んだ行列
このとき、$D$の対角成分を、行列$A$の特異値(固有値の平方根となる)と呼び
$U$の列を左特異ベクトル、$V$の列を右特異ベクトルと呼ぶ

$A = \begin{pmatrix} 0 & 2 \\ 1 & 0 \end{pmatrix}$ として、$A=UDV^T$を求める。

$U$は、$AA^T$の固有ベクトルなので、

$AA^T = \begin{pmatrix} 0 & 2 \\ 1 & 0 \end{pmatrix}\begin{pmatrix} 0 & 1 \\ 2 & 0 \end{pmatrix}= \begin{pmatrix} 4 & 0 \\ 0 & 1 \end{pmatrix}$

$ |AA^T - \lambda E| = \left|\begin{array}{ccc} 4 - \lambda & 0 \\ 0 & 1- \lambda \end{array}\right| = 0$より、

$ (4 - \lambda)(1 - \lambda) = 0$

よって、固有値は、$\lambda = 4, 1$

1) $\lambda = 4$の時、

固有ベクトルを $ \overrightarrow x_1 = \left(\begin{array}{ccc} \alpha_1 \\ \alpha_2 \end{array}\right)$ とすると、

$ \begin{pmatrix} 0 & 0 \\ 0 & 3 \end{pmatrix}\left(\begin{array}{ccc} \alpha_1 \\ \alpha_2 \end {array} \right) = \left(\begin{array}{ccc} 0 \\ 0\end{array}\right)$

$\alpha_2 = 0 $ 、$\alpha_1 = k_1(任意の実数) $  なので、
$ \overrightarrow x_1 = k_1\left(\begin{array}{ccc} 1 \\ 0 \end{array}\right)$ ここで直行行列の各列は大きさが1なので、$k_1=1
$

2) $ \lambda_1 = 1 $ のとき

$ \overrightarrow x_1 = \left(\begin{array}{ccc} \alpha_1 \\ \alpha_2 \end{array}\right)$ とすると、

$ \begin{pmatrix} 3 & 0 \\ 0 & 0 \end{pmatrix}\left(\begin{array}{ccc} \alpha_1 \\ \alpha_2 \end {array} \right) = \left(\begin{array}{ccc} 0 \\ 0\end{array}\right)$

$\alpha_1 = 0 $、 $\alpha_2 = k_2$(任意の実数) なので、
$ \overrightarrow x_2 = k_2\left(\begin{array}{ccc} 0 \\ 1 \end{array}\right)$ ここで直行行列の各列は大きさが1なので、$k_2 = 1 $

よって、 $U = \begin{pmatrix} 1 & 0 \\ 0 & 1 \end{pmatrix} $

同様に、$V$ は$A^T$Aの固有ベクトルなので、

$A^TA = \begin{pmatrix} 0 & 1 \\ 2 & 0 \end{pmatrix}\begin{pmatrix} 0 & 2 \\ 1 & 0 \end{pmatrix}= \begin{pmatrix} 1 & 0 \\ 0 & 4 \end{pmatrix}$

よって、固有値は、

$ |A^TA - \lambda E| = \left|\begin{array}{ccc} 1 - \lambda & 0 \\ 0 & 4- \lambda \end{array}\right| = 0$より、

$ (1 - \lambda)(4 - \lambda) = 0$

$\lambda = 4, 1$

1)$\lambda = 4$の時、

固有ベクトルを $ \overrightarrow x_1 = \left(\begin{array}{ccc} \alpha_1 \\ \alpha_2 \end{array}\right)$ とすると、

$ \begin{pmatrix} -3 & 0 \\ 0 & 0 \end{pmatrix}\left(\begin{array}{ccc} \alpha_1 \\ \alpha_2 \end {array} \right) = \left(\begin{array}{ccc} 0 \\ 0\end{array}\right)$

$\alpha_1 = 0 $ 、$\alpha_2 = k_1$(任意の実数) なので、
$ \overrightarrow x_1 = k_1\left(\begin{array}{ccc} 0 \\ 1 \end{array}\right)$ ここで直行行列の各列は大きさが1なので、$k_1 = 1$

2) $\lambda = 1$の時、

固有ベクトルを $ \overrightarrow x_1 = \left(\begin{array}{ccc} \alpha_1 \\ \alpha_2 \end{array}\right)$ とすると、

$ \begin{pmatrix} 0 & 0 \\ 0 & 3 \end{pmatrix}\left(\begin{array}{ccc} \alpha_1 \\ \alpha_2 \end {array} \right) = \left(\begin{array}{ccc} 0 \\ 0\end{array}\right)$

$\alpha_2 = 0 $ 、$\alpha_1 = k_2 $(任意の実数) なので、
$ \overrightarrow x_2 = k_2\left(\begin{array}{ccc} 1 \\ 0 \end{array}\right)$ ここで直行行列の各列は大きさが1なので、$k_2 = 1$

よって、$ V = \begin{pmatrix} 0 & 1 \\ 1 & 0 \end{pmatrix}$

また、特異値は固有値の平方根なので、$\lambda_1 = \sqrt{4} = 2, \lambda_2 = \sqrt{1} = 1$

以上より、

$A=UDV^T =\begin{pmatrix} 1 & 0 \\ 0 & 1 \end{pmatrix}\begin{pmatrix} 2 & 0 \\ 0 & 1 \end{pmatrix}\begin{pmatrix} 0 & 1 \\ 1 & 0 \end{pmatrix}$

 【特異値2】  

$A = \begin{pmatrix} 1 & 1 & 0 \\ 0 & 0 & 1 \end{pmatrix}$ のとき、 $A=UDV^T$を求める。

$AA^T =\begin{pmatrix} 1 & 1 & 0 \\ 0 & 0 & 1 \end{pmatrix}\begin{pmatrix} 1 & 0 \\ 1 & 0 \\ 0 & 1 \end{pmatrix} = \begin{pmatrix} 2 & 0 \\ 0 & 1 \end{pmatrix}$

$ |AA^T - \lambda E| = \left|\begin{array}{ccc} 2 - \lambda & 0 \\ 0 & 1- \lambda \end{array}\right| = 0$より、

$ (2 - \lambda)(1 - \lambda) = 0$

よって、固有値は、 $ \lambda = 2, 1$

1)$\lambda = 2$の時、

固有ベクトルを $ \overrightarrow x_1 = \left(\begin{array}{ccc} \alpha_1 \\ \alpha_2 \end{array}\right)$ とすると、

$ \begin{pmatrix} 0 & 0 \\ 0 & 3 \end{pmatrix}\left(\begin{array}{ccc} \alpha_1 \\ \alpha_2 \end {array} \right) = \left(\begin{array}{ccc} 0 \\ 0\end{array}\right)$
$\alpha_2 = 0$、$\alpha_1=k_1$(任意の実数)なので、
$\overrightarrow x_1 = k_1\left(\begin{array}{ccc} 1 \\ 0 \end{array}\right)$ ここで直行行列の各列は大きさが1なので、$k_1 = 1$

2) $\lambda = 1$の時、

固有ベクトルを $ \overrightarrow x_1 = \left(\begin{array}{ccc} \alpha_1 \\ \alpha_2 \end{array}\right)$ とすると、

$ \begin{pmatrix} 1 & 0 \\ 0 & 0 \end{pmatrix}\left(\begin{array}{ccc} \alpha_1 \\ \alpha_2 \end {array} \right) = \left(\begin{array}{ccc} 0 \\ 0\end{array}\right)$
$\alpha_1 = 0$、$\alpha_2=k_2$(任意の実数)なので、
$\overrightarrow x_1 = k_1\left(\begin{array}{ccc} 0 \\ 1 \end{array}\right)$ ここで直行行列の各列は大きさが1なので、$k_2 = 1 $

よって、$U = \begin{pmatrix} 1 & 0 \\ 0 & 1 \end{pmatrix} $

同様に、

$A^TA =\begin{pmatrix} 1 & 0 \\ 1 & 0 \\ 0 & 1 \end{pmatrix}\begin{pmatrix} 1 & 1 & 0 \\ 0 & 0 & 1 \end{pmatrix}= \begin{pmatrix} 1 & 1 & 0 \\ 1 & 1 & 0 \\ 0 & 0 & 1 \end{pmatrix}$

よって、固有値は、

$ |A^TA - \lambda E| = \left|\begin{array}{ccc} 1 - \lambda & 1 & 0 \\ 1 & 1- \lambda & 0 \\ 0 & 0 & 1 - \lambda \end{array}\right| = 0$より、

サラスの公式より

$ (1 - \lambda)(1 - \lambda)(1 - \lambda) + 1・0・0 + 0・1・0 - 0・1・0 - (1 - \lambda)・0・0 - 1・1・(1 - \lambda) = 0$

$ (1 - \lambda)^3 - (1 - \lambda) = 0$

$ (1 - \lambda){(1 - \lambda)^2 - 1)} = 0$

$ (1 - \lambda){(1 - \lambda) + 1}{(1 - \lambda) - 1} = 0$

$ (1 - \lambda)(2 - \lambda)\lambda = 0$

$\lambda = 2, 1, 0$

1)$\lambda = 2$の時、

固有ベクトルを$\overrightarrow x_1 = \left(\begin{array}{ccc} \alpha_1 \\ \alpha_2 \\ \alpha_3 \end{array}\right)$ とすると、

$\begin{pmatrix} -1 & 1 & 0 \\ 1 & -1 & 0 \\ 0 & 0 & -1 \end{pmatrix} \left(\begin{array}{ccc} \alpha_1 \\ \alpha_2 \\ \alpha_3 \end{array}\right) = \left(\begin{array}{ccc} 0 \\ 0 \\ 0 \end{array}\right)$より、

$\alpha_3 = 0 、 \alpha_1 = \alpha_2 =k_1$ (任意の実数)なので、

$\overrightarrow x_1 = k_1\left(\begin{array}{ccc} 1 \\ 1 \\ 0 \end{array}\right)$

ここで直行行列の各列は大きさが1なので、$k_1=\frac{1}{\sqrt{2}}$

よって、$\overrightarrow x_1 = \left(\begin{array}{ccc} \frac{1}{\sqrt{2}} \\ \frac{1}{\sqrt{2}} \\ 0 \end{array}\right)$

2) $\lambda = 1$の時、

固有ベクトルを$\overrightarrow x_2 = \left(\begin{array}{ccc} \beta_1 \\ \beta_2 \\ \beta_3 \end{array}\right)$ とすると、

$\begin{pmatrix} 0 & 1 & 0 \\ 1 & 0 & 0 \\ 0 & 0 & 0 \end{pmatrix} \left(\begin{array}{ccc} \beta_1 \\ \beta_2 \\ \beta_3\end{array}\right) = \left(\begin{array}{ccc} 0 \\ 0 \\ 0 \end{array}\right)$より、

$\beta_1 = \beta_2 = 0$、$\beta_3=k_2$(任意の実数)なので、

$\overrightarrow x_2 = k_2\left(\begin{array}{ccc} 0 \\ 0 \\ 1\end{array}\right)$

ここで直行行列の各列は大きさが1なので、$k_2=1$

よって、$\overrightarrow x_2 = \left(\begin{array}{ccc} 0 \\ 0 \\ 1 \end{array}\right)$

3) $\lambda = 0$の時、

固有ベクトルを$\overrightarrow x_3 = \left(\begin{array}{ccc} \gamma_1 \\ \gamma_2\\ \gamma_3 \end{array}\right)$ とすると、

$\begin{pmatrix} 1 & 1 & 0 \\ 1 & 1 & 0 \\ 0 & 0 & 1 \end{pmatrix} \left(\begin{array}{ccc} \gamma_1 \\ \gamma_2 \\ \gamma_3\end{array}\right) = \left(\begin{array}{ccc} 0 \\ 0 \\ 0 \end{array}\right)$より、

$\gamma_1 = - \gamma_2 = k_3$ (任意の実数)、$\gamma_3 = 0$ なので、

$\overrightarrow x_3 = k_3\left(\begin{array}{ccc} 1 \\ -1 \\ 0\end{array}\right)$

ここで直行行列の各列は大きさが1なので、$k_3= \frac{1}{\sqrt{2}}$

よって、$\overrightarrow x_3 = \left(\begin{array}{ccc} \frac{1}{\sqrt{2}} \\ - \frac{1}{\sqrt{2}} \\ 0 \end{array}\right)$

したがって、$V = \begin{pmatrix} \frac{1}{\sqrt{2}} & 0 & \frac{1}{\sqrt{2}} \\ \frac{1}{\sqrt{2}} & 0 & - \frac{1}{\sqrt{2}} \\ 0 & 1 & 0\end{pmatrix} $

よって、$V^T = \begin{pmatrix} \frac{1}{\sqrt{2}} & \frac{1}{\sqrt{2}} & 0 \\ 0 & 0 & 1 \\ \frac{1}{\sqrt{2}} & -\frac{1}{\sqrt{2}} & 0\end{pmatrix} $

また、特異値は固有値の平方根なので、$\lambda_1 = \sqrt{2}, \lambda_2 =\sqrt{1}=1$
以上より、

$A=UDV^T =\begin{pmatrix} 1 & 0 \\ 0 & 1 \end{pmatrix}\begin{pmatrix} \sqrt{2} & 0 & 0 \\ 0 & 1 & 0 \end{pmatrix}\begin{pmatrix} \frac{1}{\sqrt{2}} & \frac{1}{\sqrt{2}} & 0 \\ 0 & 0 & 1 \\ \frac{1}{\sqrt{2}} & -\frac{1}{\sqrt{2}} & 0\end{pmatrix}$

3
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
1