【ラビットチャレンジ】 応用数学 第一章 線形代数 レポート


線形代数で取り扱う量

スカラー

大きさのみを持つ量.
ベクトルに対する係数になれる.

ベクトル

大きさと向きを持つ.
スカラーのセットで表示される.
複数の要素を持てるため,物の属性をベクトル的に表すことがある.

行列

スカラーを表に,もしくはベクトルを並べたもの.
ベクトルの変換に用いられる.

行列のベクトルへの作用

$n$次元ベクトルに$n$次正方行列を作用させると新たな$n$次元ベクトルとなる.
$n$次元ベクトルに$m \times n$型の行列を(左から)作用させると$m$次元ベクトルとなる.

単位行列と逆行列

単位行列

対角成分が1でそれ以外の成分が0の行列.

\boldsymbol{I} =
\begin{pmatrix}
1      & 0      & \cdots & 0      \\
0      & 1      & \cdots & 0      \\
\vdots & \vdots & \ddots & \vdots \\
0      & \cdots & 0      & 1
\end{pmatrix}

逆行列

行列の逆数みたいなもの.
$\boldsymbol{A}$ の逆行列を $\boldsymbol{A}^{-1}$ とすると,

\boldsymbol{A}\boldsymbol{A}^{-1} = \boldsymbol{A}^{-1}\boldsymbol{A} = \boldsymbol{I}

固有値と固有ベクトル

ある正方行列 $\boldsymbol{A}$ に対して,以下の式が成り立つような特殊なベクトル $\vec{x}$ と右辺の係数 $\lambda$ が存在する.
$$\boldsymbol{A} \vec{x} = \lambda \vec{x} $$$\vec{x}$,$\lambda$ を,それぞれ行列$\boldsymbol{A}$に対する,固有ベクトル,固有値という.

固有値・固有ベクトルの求め方

固有値 λ の求め方

\begin{align}
\boldsymbol{A} \vec{x} &= \lambda \vec{x} \\
(\boldsymbol{A} - \lambda\boldsymbol{I} ) \vec{x} &= \vec{0} \\
\end{align}

$\vec{x} \neq \vec{0}$ より,$(\boldsymbol{A} - \lambda\boldsymbol{I} )$ に逆行列は存在しないので,
$$|\boldsymbol{A} - \lambda\boldsymbol{I} | = 0$$から求められる.

固有ベクトル x の求め方

求めた $\lambda$ を$ \boldsymbol{A} \vec{x} = \lambda \vec{x} $ に代入して求める.

固有値分解

$n$次正方行列 $\boldsymbol{A}$ が固有値 $\lambda_1,\lambda_2,\dots$ と固有ベクトル $\vec{x_1},\vec{x_2},\dots$ を持つとする.
この固有値を対角線上に並べた行列(非対角成分は $0$ )

\boldsymbol{\Lambda} =
\begin{pmatrix}
\lambda_1 & 0         & \cdots & 0         \\
0         & \lambda_2 & \cdots & 0         \\
\vdots    & \vdots    & \ddots & \vdots    \\
0         & \cdots    & 0      & \lambda_n
\end{pmatrix}

と,それに対応する固有ベクトルを並べた行列

\boldsymbol{V} =
\begin{pmatrix}
\vec{v_1} & \vec{v_2} & \cdots & \vec{v_n} 
\end{pmatrix}

に対して,$$\boldsymbol{AV} = \boldsymbol{V\Lambda} $$が成り立つ.


注1) $\boldsymbol{\Lambda}$ は右からかける.
注2) 固有値の順番は任意だが,降順などルールを作って運用する.


したがって,$$\boldsymbol{A} = \boldsymbol{V\Lambda V}^{-1} $$と変形できる.

このように正方行列 $\boldsymbol{A} $ を上述の3つの行列積に分解することを固有値分解という.

固有値分解の利点

  • 行列の累乗の計算が容易になる.
  • $\boldsymbol{\Lambda}$ から行列の性質を判断できる(らしい).
  • $\boldsymbol{\Lambda}$ は対角行列なので,小さな値を $0$ とすることが可能.計算量を落とせる.

特異値分解

固有値分解は正方行列でしかできない.
が,非正方行列でも似たようなことはできる.

非正方行列$\boldsymbol{M}$ を特異値分解する.

\begin{align}
\boldsymbol{M} \vec{v} &= \sigma \vec{u}\\
\boldsymbol{M}^T \vec{u} &= \sigma \vec{v}
\end{align}

このような特殊な単位ベクトルがあるならば,特異値分解できる.
$$ \boldsymbol{M} = \boldsymbol{U\Sigma V}^{-1} $$ $\boldsymbol{U}$ は $\vec{u}$ を並べたもの,$\boldsymbol{V}$ は $\vec{v}$ を並べたもの.

$\vec{u}$ を左特異ベクトル,$\vec{v}$ を右特異ベクトルという.

特異値の求め方

$$ \boldsymbol{MV} = \boldsymbol{U\Sigma}\qquad \boldsymbol{M}^T\boldsymbol{U} =\boldsymbol{V}\boldsymbol{\Sigma}^T$$より
$$ \boldsymbol{M} = \boldsymbol{U\Sigma V^{-1}}\qquad \boldsymbol{M}^T =\boldsymbol{V}\boldsymbol{\Sigma}^T \boldsymbol{U}^{-1}$$これらの積は
$$ \boldsymbol{MM}^T = \boldsymbol{U\Sigma V}^{-1}\boldsymbol{V\Sigma}^T\boldsymbol{U}^{-1} =\boldsymbol{U\Sigma }\boldsymbol{\Sigma}^T\boldsymbol{U}^{-1} $$つまり, $\boldsymbol{MM}^T $ を固有値分解すれば,その左特異ベクトルと特異値の2乗が求められる.(ただし,左特異ベクトルは単位ベクトルである)

同様に,
$$ \boldsymbol{M}^T \boldsymbol{M}= \boldsymbol{V\Sigma U}^{-1}\boldsymbol{U\Sigma}^T\boldsymbol{V}^{-1} =\boldsymbol{V\Sigma }^T\boldsymbol{\Sigma}\boldsymbol{V}^{-1} $$から,右特異ベクトルと特異値の2乗が求められる.

特異値分解の利点

  • 行列の累乗の計算が容易になる. 非正方行列は累乗できない.
  • $\boldsymbol{\Sigma}$ から行列の性質を判断できる(らしい)
  • $\boldsymbol{\Sigma}$ は対角行列なので,小さな値を $0$ とすることが可能.計算量を落とせる.(特異値は降順に並べる.)




DeepLearning ラビットチャレンジ