ラビットチャレンジのレポートに関するリンクはこちら
ラビットチャレンジ 応用数学
ラビットチャレンジ 機械学習
ラビットチャレンジ 深層学習 Day1
ラビットチャレンジ 深層学習 Day2
ラビットチャレンジ 深層学習 Day3
ラビットチャレンジ 深層学習 Day4前半
ラビットチャレンジ 深層学習 Day4後半
1.はじめに
本記事は、ラビットチャレンジの応用数学①:線形代数に関する記事です。
ラビットチャレンジは、現場で潰しが効くディープラーニング講座の教材を活用した講座です。
詳細は以下のリンクをご確認ください。
ラビットチャレンジ
2. 線形代数
今回の線形代数で扱う項目は次の通り。
スカラー、ベクトル、行列
行列とベクトル、行列と行列の積
連立方程式と行列
逆行列
行列式
固有値、固有値分解
特異値分解
2.1. スカラー、ベクトル、行列
・スカラー
普通の数。1,2,3とか。
四則演算可能
・ベクトル
大きさに加え向きを持つ
例えば、x,y座標上で、それぞれ(2,1)と表すと、どの方向かが分かる。
右に2歩進んで、上に1歩進んだ場所とか、具体的に位置を表すことができる。
$$
\vec{a} = (2, 1)
$$
・行列
ベクトルを並べたもの
元々は連立方程式を解くための過程で作られた。
$$
A =
\left(
\begin{matrix} 1 & 2 \\ 3 & 4 \end{matrix}
\right)
$$
2.2. 行列とベクトル、行列と行列の積
・行列とベクトルの積
行列とベクトルの積は、次のように計算される。
$$
\begin{pmatrix} 1 & 2 \\ 3 & 4 \end{pmatrix}
\times \begin{pmatrix} 2 \\ 4 \end{pmatrix} = \begin{pmatrix} 10 \\ 20 \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}
$$
上記の係数行列に着目して解く場合、以下の方法を利用して解くことができる。
- i行目をc倍する
- s行目にt行目のc倍を加える
- p行目とq行目を入れ替える
上記のような手順を行基本変形と呼ぶ。
行基本変形を行っていき、係数行列を階段行列にすることで解を求めることができる。
2.4. 逆行列
逆数のようなもの。
次の様な行列を単位行列と定義する。
(対角成分が1で、そのほかの要素が0の行列)
$$
I = \begin{pmatrix} 1 & & \\ & \ddots & \\ & & 1 \end{pmatrix}
$$
ある行列をAとしたとき、
$$
AI =A
$$
を満たす。
この時、次の式を満たす様な
$$
AA^{-1} = A^{-1}A = I
$$
を逆行列と定義する。
逆行列を求める時は、Aを行列、Iを単位行列として、
$$
(A|I) = (I|A^{-1})
$$
となる様に、行基本変形を行っていく。
これを掃き出し法と呼ぶ。
具体的には、
$$
( A | I ) =
\begin{pmatrix} 1 & 4 \\ 2 & 6 \end{pmatrix}
\begin{pmatrix} 1 & 0 \\ 0 & 1 \end{pmatrix}
=\begin{pmatrix} 1 & 0 \\ 0 & 1 \end{pmatrix}
\begin{pmatrix} -3 & 2 \\ 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\\ d & e & f \\ g & h & i \end{pmatrix}
= aei + bfg + cdh - ceg - bdi - afh
$$
$$
𝐶=\begin{pmatrix}1 & 5 & 8 \
3 & 4 & 9 \
2 & 6 & 7\end{pmatrix}
$$
$$
|𝐶|=\
(1\times4\times7)+(3\times6\times8)+(2\times5\times9)\\−(2\times4\times8)−(3\times5\times7)−(1\times6\times9) \
=28 + 144 + 90 − 64 − 105 − 54 \
=39
$$
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. 確率
・確率は大きく分けて頻度確率(客観確率)とベイズ確率(主観確率)に分けられる。
・条件付確率はある事象Aがすでに起こっているとしたときに、事象Bが発生する確率を指す。
$$
P(B|A)=P(B∩A)P(A)
$$
・AとBが独立事象であるならば
$$
P(B∩A)=P(A)P(B)
$$
である。
・変数Xの取りうる値x1,x2,...,xnに対してそれぞれ確率p1,p2,...,pnが定まっているとき、変数Xを確率変数という。また、XからPへの対応関係を、確率変数Xの確率分布という。
$$
\sum_{n=1}^{k}x_ip_i
$$
をXの平均値または期待値とよぶ。 (確率変数および確率が連続値をとるならば∫X(x)p(x)dx)
・分散:データの散らばり具合$$V(X)=E(X^2)−(E(X))^2$$
共分散:2つのデータ系列の傾向の違い $$Cov(f,g)=E(fg)−E(f)E(g)$$
標準偏差:$$σ=\sqrt{V(X)}$$
・ベルヌーイ分布:$$P(x|μ)=p^x(1−p)^{(1−x)}$$
二項分布:$$P(x|λ,n)=\frac{n!}{x!(n−x)!}λ^x(1−λ)^{(n−x)}$$
正規分布:$$N(x;μ,σ2)=\frac{1}{\sqrt{2πσ^2}}exp{(-\frac{(x-μ)^2}{2σ^2})}$$
4.情報理論
・ある数値から1増加(Δw=1)を考えるとき、10から1増加と1から1増加増えるときでは増加の比率が異なる。
後者の場合のほうが違いを見つける上で情報量が多いと考えることができる。
・自己情報量
$$
I(x)=−log(P(x))
$$
・シャノンエントロピー
$$
H(x)=−∑(P(x)log(P(x)))
$$
→自己情報量の期待値
・カルバックライブラー情報量
$$
DKL(P||Q)=∑xP(x)logP(x)Q(x)
$$
→同じ事象・確率変数における異なる確率分布P,Qの違いを表す
・交差エントロピー
$$
H(P,Q)=H(P)+DKL(P||Q)=−∑xP(x)logQ(x)
$$
→KL情報量の一部分を取り出したもの
→Qについての事故情報量をPの分布で平均している