#はじめに
2021/2/19・20に実施される日本ディープラーニング協会(JDLA)E資格合格を目指して、ラビットチャレンジを受講した際の学習記録です。
###科目一覧
応用数学
機械学習
深層学習(day1)
深層学習(day2)
深層学習(day3)
深層学習(day4)
#第1章:線形代数
- スカラー
- だいたい、いわゆる普通の数
- +-×÷の演算が可能
- ベクトルに対する係数になれる
- ベクトル
- 「大きさ」と「向き」をもつ
- 矢印で図示される
- スカラーのセットで表示される
- 行列
- スカラーを表にしたもの
- ベクトルを並べたもの
###単位行列と逆行列
かけても、かけられても相手が変化しない「1」のような行列を単位行列という。
$$ I = \begin{pmatrix}
1 & & \
& 1 & \
& & \ddots \
\end{pmatrix} $$
まるで逆数のような働きをする行列を逆行列という。
$$ AA^{-1} = A^{-1}A = I $$
###行列式の特徴
ある行列が2つの横ベクトルの組み合わせだと考えたとき、
$$ \begin{pmatrix}
a & b \
c & d
\end{pmatrix} = \begin{pmatrix}
\vec{v_1} \
\vec{v_2}
\end{pmatrix} $$
でつくられる平行四辺形の面積が逆行列の有無を判別する。
この面積を$ \begin{vmatrix}
a & b \
c & d
\end{vmatrix} = \begin{vmatrix}
\vec{v_1} \
\vec{v_2}
\end{vmatrix} $と表し行列式と呼ぶ。
$ \vec{v_1} = (a,b,c), \vec{v_2} = (a,b,c), \vec{v_3} = (a,b,c) $のとき、
$$ \begin{vmatrix}
\vec{v_1} \
\vec{v_2} \
\vec{v_3}
\end{vmatrix} = \begin{vmatrix}
a & b & c \
d & e & f \
g & h & i
\end{vmatrix} = \begin{vmatrix}
a & b & c \
0 & e & f \
0 & h & i
\end{vmatrix} + \begin{vmatrix}
0 & b & c \
d & e & f \
0 & h & i
\end{vmatrix} + \begin{vmatrix}
0 & b & c \
0 & e & f \
g & h & i
\end{vmatrix} = a \begin{vmatrix}
e & f \
h & i
\end{vmatrix} - d \begin{vmatrix}
b & c \
h & i
\end{vmatrix} + g \begin{vmatrix}
b & c \
e & f
\end{vmatrix} $$
n個のベクトルからできている行列式は、次の特徴を持つ。
- 同じ行ベクトルが含まれていると行列式はゼロ
$$ \begin{vmatrix}
\vec{v_1} \
\vdots \
\vec{w} \
\vdots \
\vec{w} \
\vdots \
\vec{v_n}
\end{vmatrix} = 0 $$ - 1つのベクトルが $\lambda$ 倍されると行列式は $\lambda$ 倍される
$$ \begin{vmatrix}
\vec{v_1} \
\vdots \
\lambda\vec{v_i} \
\vdots \
\vec{v_n}
\end{vmatrix} = \lambda \begin{vmatrix}
\vec{v_1} \
\vdots \
\vec{v_i} \
\vdots \
\vec{v_n}
\end{vmatrix} $$ - 他の成分が全部同じで $i$ 番目のベクトルだけが違った場合、行列式の足し合わせになる
$$ \begin{vmatrix}
\vec{v_1}\
\vdots \
\vec{v_i} + \vec{w} \
\vdots \
\vec{v_n}
\end{vmatrix} = \begin{vmatrix}
\vec{v_1} \
\vdots \
\vec{v_i} \
\vdots \
\vec{v_n}
\end{vmatrix} + \begin{vmatrix}
\vec{v_1} \
\vdots \
\vec{w} \
\vdots \
\vec{v_n}
\end{vmatrix} $$ - 行を入れ替えると符号が変わる
$$ \begin{vmatrix}
\vec{v_1} \
\vdots \
\vec{v_s} \
\vdots \
\vec{v_t} \
\vdots \
\vec{v_n}
\end{vmatrix} = - \begin{vmatrix}
\vec{v_1} \
\vdots \
\vec{v_t} \
\vdots \
\vec{v_s} \
\vdots \
\vec{v_n}
\end{vmatrix} $$
###固有値と固有ベクトル
ある行列 $A$ に対して、以下のような式が成り立つ特殊なベクトル $\vec{x}$ と右辺の係数 $\lambda$ がある。
$$ A\vec{x} = \lambda\vec{x} $$
行列 $A$ とその特殊なベクトル $\vec{x}$ の積は、ただのスカラーの数 $\lambda$ とその特殊なベクトル $\vec{x}$ との積と同じ値になる。
この特殊なベクトル $\vec{x}$ とその係数 $\lambda$ を行列 $A$ に対する固有ベクトル、固有値という。
###固有値分解
ある実数を正方形に並べて作られた行列 $A$ が固有値 $\lambda_1,\lambda_2,…$ と固有ベクトル $\vec{v_1},\vec{v_2},…$ を持ったとする。この固有値を対角線上に並べた行列(それ以外の成分は0)
$$ A = \begin{pmatrix}
\lambda_1 & & \
& \lambda_2 & \
& & \ddots \
\end{pmatrix} $$
と、それに対応する固有ベクトルを並べた行列
$$ V = (\vec{v_1} \quad \vec{v_2} \quad …) $$
を用意したとき、それらは
$$ AV = VA $$
と関係付けられる。したがって
$$ A = VAV^{-1} $$
と変形できる。このように正方形の行列を上述の様な3つの行列の積に変形することを固有値分解という。この変形によって行列の累乗の計算が容易になる等の利点がある。
###特異値分解
正方行列以外でも固有値分解に似たことはできる。
$$ M \vec{v} = \sigma\vec{u} $$
$$ M^\top \vec{u} = \sigma\vec{v} $$
このような特殊な単位ベクトルがあるならば特異値分解できる。
$$ MV = US \qquad M^\top U = VS^\top $$
$$ M = USV^{-1} \qquad M^\top = VS^\top U^{-1} $$
これらの積は
$$ MM^\top = USV^{-1}VS^\top U^{-1} = USS^\top U^{-1} $$
つまり$ MM^\top $を固有値分解すれば、その左特異ベクトルと特異値の2乗が求められることがわかる。
#第2章:確率・統計
-
確率変数(random variable) $x$ :実際に実現された値(実現値)
$\hspace{112pt}$ …サイコロを投げて出た目とすると1〜6の整数値 -
確率分布(probability distribution) $P(x)$ :実現値$x$がどれだけ選ばれやすいか
$\hspace{145pt}$ …サイコロの例では $P(1)=…=P(6)=\frac{1}{6}$
###条件付き確率
$$ P(Y=y|X=x) = \frac{P(Y=y,X=x)}{P(X=x)} $$
ある事象X=xが与えられた下で、Y=yとなる確率。
###独立な事象の同時確率
$$ P(X=x,Y=y) = P(X=x)P(Y=y)=P(Y=y,X=x) $$
###ベイズの定理
$$ P(x|y) = \frac{P(y|x)P(x)}{\sum_x P(y|x)P(x)} $$
加法定理(全確率の法則) $P(y) = \sum_x P(x,y) = \sum_x P(y|x)P(x)$ を条件付き確率 $P(x|y) = \frac{P(x,y)}{P(y)} = \frac{P(y|x)P(x)}{P(y)}$ に用いると、得られる。
###期待値
- 期待値:その分布における確率変数の平均の値 or "ありえそう"な値
$$ E(f) = \sum_{k=1}^nP(X=x_k)f(X=x_k) $$
$\hspace{28pt}$ 連続する値なら…
$$ \int P(X=x)f(X=x)dx $$ - 分散:データの散らばり具合
$$ Var(f) = E\Bigl(\bigl(f_{(X=x)}-E_{(f)}\bigl)^2\Bigl) = E\bigl(f^2_{(X=x)}\bigl)-\bigl(E_{(f)}\bigl)^2$$ - 共分散:2つのデータ系列の傾向の違い
$$ Cov(f,g) = E\Bigl(\bigl(f_{(X=x)}-E(f)\bigl)\bigl(g_{(Y=y)}-E(g)\bigl)\Bigl) = E(fg)-E(f)E(g) $$ - 標準偏差:データの散らばり具合(分散は2乗してしまっているので元のデータと単位が違うので、平方根をとり単位を元に戻したもの)
$$ \sigma = \sqrt{Var(f)} = \sqrt{E\bigl((f_{(X=x)}-E_{(f)})^2\bigl)} $$
###様々な確率分布
- ベルヌーイ分布:2種類のみの結果しか得られないような試行の結果を表した分布(コイントスのイメージ)
$$ P(x|\mu) = \mu^x(1-\mu)^{1-x} $$ - マルチヌーイ(カテゴリカル)分布:複数の種類の結果が得られるような試行の結果を表した分布(サイコロを転がすイメージ)
$$ P(x|\mu) = \prod_{k=1}^K \mu_k^{x_k} $$ - 二項分布:ベルヌーイ分布の多試行版
$$ P(x|\lambda,n) = \frac{n!}{x!(n-x)!}\lambda^x(1-\lambda)^{n-x} $$ - ガウス分布:釣鐘型の連続分布
$$ N(x;\mu,\sigma^2) = \sqrt\frac{1}{2\pi\sigma^2}\exp\bigl(-\frac{1}{2\sigma^2}(x-\mu)^2\bigl) $$
#第3章:情報理論
###自己情報量
$$ I(x) = -\log{P(x)} $$
頻繁に起こる事象が観測されても、大した情報をもたらさない一方、珍しい事象ほど情報量は大きい。
そこで、確率の逆数 $\frac{1}{P(x)}$ が情報量の定義の候補となる。
しかし、独立な2現象 $x,y$ をそれぞれ観測して得た情報量は $\frac{1}{P(x)P(y)}$ ではなく、それぞれのもつ情報量の和となった方が自然な定義なので、対数をとる。
対数の底が2のとき、単位はビット(bit)。
対数の底がネイピア数 $e$ のとき、単位はナット(nat)。
###シャノンエントロピー(平均情報量)
$$ H(x) = E\bigl(I(x)\bigl) = -E\Bigl(\log\bigl(P(x)\bigl)\Bigl) = -\sum_x P(x)\log\bigl(P(x)\bigl) $$
自己情報量の期待値(自己情報量をすべての観測値で平均化したもの。
###カルバックライブラーダイバージェンス(Kullback-Leibler divergence)
$$ D_{KL}(P||Q) = E_x \Bigl[log\frac{P(x)}{Q(x)}\Bigl] = \sum_x P(x)\bigl(\log{P(x)}-\log{Q(x)}\bigl)$$
$Q$ という分布から、新たな $P$ という分布を見たときにどのぐらい情報が違うのかを表す指標。
一般にKLダイバージェンスは $Q$ に関する下に凸な関数で、 $P=Q$ のときのみ最小値 $D_{KL}(P||P)=0$ になる。
したがって、確かに分布間の距離のようなものであるが、 $P$ と $Q$ を入れ替た $D_{KL}(Q||P)$ は違う値になり本当の数学的な距離とは異なる。
###交差エントロピー(cross entropy)
$$ H(P,Q) = -E_{X \sim P} \log{Q(x)} = -\sum_xP(x)\log{Q(x)} $$
Qについての自己情報量をPの分布で平均することにより、2つの確率分布がどのぐらい離れているのかを表す指標。
なお、確率分布 $P(x)$ と $Q(x)$ の交差エントロピーは、 $P(x)$ のエントロピーと $P(x)$ から見た $Q(x)$ のKLダイバージェンスを足し合わせたものになっている。
$$ \begin{align}
H(P,Q) &= -\sum_xP(x)\log{Q(x)} \
&= -\sum_xP(x)\log{\frac{P(x)Q(x)}{P(x)}} \
&= -\sum_xP(x)\bigl(\log{P(x)}+\log{Q(x)}-\log{P(x)}\bigl) \
&= -\sum_xP(x)\log{P(x)} + \sum_xP(x)\bigl(\log{P(x)}-\log{Q(x)}\bigl) \
&= H(P) + D_{KL}(P||Q) \
\end{align} $$