【ラビットチャレンジ】応用数学①:線形代数

1. はじめに

本記事は、ラビットチャレンジの応用数学①:線形代数に関する記事です。
ラビットチャレンジは、現場で潰しが効くディープラーニング講座の教材を活用した講座です。
詳細は以下のリンクをご確認ください。


tsubushi

Deep Learning ラビット★チャレンジβ

tsubushi

現場で潰しが効くディープラーニング講座


2. 線形代数

今回の線形代数で扱う項目は次の通りです。

  • スカラー、ベクトル、行列
  • 行列とベクトル、行列と行列の積
  • 連立方程式と行列
  • 逆行列
  • 行列式
  • 固有値、固有値分解
  • 特異値分解

2.1. スカラー、ベクトル、行列

スカラー
普通の数。1,2,3とか。
四則演算可能

ベクトル
大きさと向きを持つ
例えば、x,y座標上で、それぞれ(2,3)と表すと、どの方向かが分かる。
右に2歩進んで、上に3歩進んだ場所とか、具体的に位置を表すことができる。

    \(\vec{a} = (2, 3)\)

行列
ベクトルを並べたもの
元々は連立方程式を解くための過程で作られた。

$$ A = \begin{pmatrix} 1 & 2 \\ 3 & 4 \end{pmatrix} $$

2.2. 行列とベクトル、行列と行列の積

行列とベクトルの積
行列とベクトルの積は、次のように計算される。

$$ \begin{pmatrix} 1 & 2 \\ 3 & 4 \end{pmatrix} \times \begin{pmatrix} 2 \\ 3 \end{pmatrix} = \begin{pmatrix} 8 \\ 18 \end{pmatrix} $$

行列と行列の積
行列と行列の積は、次のように計算される。
m行×n列とn行×k列の積において、結果はm行×k列の行列となり、
i行j列の要素は、以下の通りになる。

$$ d_{i j} = \sum_{k=1}^na_{ik}b_{kj} $$
具体的な計算の様子は次の通り。
$$ AB = \begin{pmatrix} 1 & 2 \\ 3 & 4 \end{pmatrix} \times \begin{pmatrix} 3 & 4 \\ 5 & 6 \end{pmatrix} = \begin{pmatrix} 13 & 16 \\ 29 & 36 \end{pmatrix} $$

2.3. 連立方程式と行列

次のような、連立方程式があったとする。

$$ 1x + 3y = 5 \\ 2x + 4y = 10 $$

これを行列を用いて表すと次の通りになる。

$$ \begin{pmatrix} 1 & 3 \\ 2 & 4 \end{pmatrix} \begin{pmatrix} x \\ y \end{pmatrix} = \begin{pmatrix} 5 \\ 10 \end{pmatrix} $$

上記の係数行列に着目して解く場合、以下の方法を利用して解くことができる。

  1. i行目をc倍する
  2. s行目にt行目のc倍を加える
  3. p行目とq行目を入れ替える

上記のような手順を行基本変形と呼ぶ。
行基本変形を行っていき、係数行列を階段行列にすることで解を求めることができる。

2.4. 逆行列

逆数のようなもの。
次の様な行列を単位行列と定義する。
(対角成分が1で、そのほかの要素が0の行列)

$$ I = \begin{pmatrix} 1 & & \\ & \ddots & \\ & & 1 \end{pmatrix} $$

ある行列をAとしたとき、 $$ AI =A $$ を満たす。

この時、次の式を満たす様な \(A^{-1}\)を逆行列と定義する。

$$ AA^{-1} = A^{-1}A = I $$

逆行列を求める時は、Aを行列、Iを単位行列として、

$$ (A|I) = (I|A^{-1}) $$

となる様に、行基本変形を行っていく。
これを掃き出し法と呼ぶ。
具体的には、

$$ ( A | I ) = \begin{pmatrix} 1 & 4 & 1 & 0 \\ 2 & 6 & 0 & 1 \end{pmatrix} = \begin{pmatrix} 1 & 0 & -3 & 2 \\ 0 & 1 & 1 & 1/2 \end{pmatrix} = ( I | A^{-1} ) $$

と計算する。
元の行列と単位行列を横に拡張し、Aが単位行列となる様に行基本変形をする。

2.5. 行列式

行列の大きさの様なもの。
正方行列に対して決まるスカラー。
2次元で考えたときは、平行四辺形の面積の様にイメージできる。

2×2の場合、次の様に行列式を求めることができる。

$$ |A| = \begin{pmatrix} a & b \\ c & d \end{pmatrix} = ad - bc $$

3×3の場合、次の様に分解して計算する。

$$ |A| = \begin{pmatrix} a & b & c\\ c & d & e \\ f & g & h \end{pmatrix} = a \begin{pmatrix} d & e \\ g & h \end{pmatrix} - c \begin{pmatrix} b & c \\ g & h \end{pmatrix} + f \begin{pmatrix} b & c \\ d & e \end{pmatrix} $$

2.6. 固有値、固有値分解

固有値
線形変換の特徴を表す指標。
簡単にいえば、ある行列をかけても、結局は方向は変わらずスカラー倍するだけみたいな感じ。
ある行列Aに対して、以下の様な式が成り立つとする。

$$ A\vec{x} = λ\vec{x} $$

このとき、λを固有値、xを固有ベクトルという。

固有値分解
ある正方行列Aに対して、固有値λと固有ベクトルvを持つとする。
固有値λを対角線上に並べ、

$$ Λ = \begin{pmatrix} λ_{1} & & \\ & λ_{2} & \\ & & \ddots \end{pmatrix} $$

と定義し、それに対応する固有ベクトルを並べ、

$$ V = \begin{pmatrix} v_{1} & & \\ & v_{2} & \\ & & \ddots \end{pmatrix} $$

としたとき、それらは、

$$ AΛ = VΛ $$

と関係づけられる。このとき、以下の様に変形ができる。

$$ A = VΛV^{-1} $$

この様な正方行列を3つの行列の積に変換することを固有値分解という。
特徴が見れたり、行列の累乗計算が楽になるなどの利点がある。

2.6. 特異値分解

正方行列以外の場合に、固有値分解と似たことをやりたい。
このときに行うのが特異値分解。

ある実数が長方形に並んだ行列Mに対して、以下の式が成り立つ様な、
特殊な単位ベクトルv,uと右辺の係数σがある。

$$ M\vec{v} = σ\vec{u} \\ M^{T}\vec{u} = σ\vec{v} $$

この特殊な単位ベクトルv,uとその係数σを、行列Mに対する
特異ベクトル、特異値という。
(特にvを右特異ベクトル、uを左特異ベクトル)

このとき、特異値σを対角線上に並べた行列を、

$$ S = \begin{pmatrix} σ_{1} & & \\ & σ_{2} & \\ & & \ddots \end{pmatrix} $$

と定義し、それに対応する特異ベクトルを並べた行列

$$ V = (\vec{v_1} \vec{v_{2}} \dots)\\ U = (\vec{u_1} \vec{u_{2}} \dots) $$

を用意したとき、それらは、

$$ MV = US \\ M^{T}U = VS^{T} $$

と表すことができ、

$$ M = USV^{-1} \\ M^{T} = VS^{T}U^{-1} $$

と変形できるので、

$$ MM^{T} = USV^{-1}VS^{T}U^{-1} = USS^{T}U^{-1} $$

と変形できる。
つまり、\(MM^{T}\)を固有値分解すれば、その左特異ベクトルと特異値の2乗が求まる。  

特異値分解は、固有値分解と同様に行列の特徴を抽出などに利用される。

3. 最後に

ラビットチャレンジでの、最初の講義である線形代数についてまとめました。
久しぶりに線形代数を復習して、少し懐かしく楽しかったです。
講義やシラバスを眺めると、そこまで深い知識は問わず、簡単な計算や概要を押さえておく
程度で良いのかなと思いました。
(あくまでもE資格を受ける上でのお話)
より深く理解したいのであれば、教科書等を引っ張り出す必要がありそうです。
また、色々数学的に突っ込みどころがありそうなまとめかたですが、ご了承ください。。

引き続き、応用数学②:確立統計をまとめていきたいと思います。

久しぶりにTexを扱って時間がかかってしまい、疲れた。。