深層学習に必要な数学
深層学習、機械学習に必要な数学についてまとめます。
参考書籍は下に貼り付けておきます。
微積分
参考書籍では微積分については各自で習熟しているものとされています。
微積分について必要な知識は
- 高校範囲までの微積分
- 偏微分と方向微分
- ベクトルと行列の微分
ベクトルと行列の微分については知識がなかったため、下記のサイトを参考にしました。
基本公式を押さえておけば式変形にはついていけます。
線形代数
スカラー、ベクトル、行列、テンソル
- スカラーはdouble型などの1変数
- ベクトルは1次元配列
- 行列は2次元配列
- テンソルは3次元以上の多次元配列
線型従属と張る空間
ノルム
Lpノルムの定義
∥x∥=(i∑∣xi∣p)p1
最大値ノルム
∥x∥∞=imax∣xi∣
フロベニウスノルム(行列のノルム)
∣∣A∣∣F=ij∑Aij2
固有値分解
固有値分解
Av=λv(v=0)
v:Eigenvector,λ:Eigenvalue
V=[v(1),…,v(n)]
λ=[λ1,…,λn]T
A=Vdiag(λ)V−1
実対称行列の固有値分解
A=QΛQ(QisOrthogonalmatrix)
固有値
- 全ての λ>0 なら正定値
- 全ての λ≥0 なら半正定値
- 全ての λ>0 なら負定値
- 全ての λ≤0 なら半負定値
特異値分解(Singular Value Decomposition, SVD)
SVDの最も有用な特徴は逆行列法を非正方行列に部分的に一般化できること
A=UDVT
U,V:Orghogonalmatrix,D:Diagonalmatrix
ムーア・ペンローズ擬似逆行列
A:m×nmatrix,U,V,D:Singularvaluedecomposition
A+=α→0lim(ATA+αI)−1AT
A+=VD+U+
- m<n なら x=A+y は全ての解で最小の ∥x∥2
- m>n なら解が存在しない可能性、 ∥Ax−y∥2 が最小
トレース演算子
Tr(A)=i∑Ai,i
∥A∥F=ij∑Aij2=Tr(ATA)
Tr(i=1∏nF(i))=Tr(F(n)i=1∏n−1F(i))
確率
確率変数、確率分布
観測される定義域の値を確率変数、確率変数が従う分布を確率分布
- 離散変数の場合、確率質量関数 P(x)
- 連続変数の場合、確率密度関数 p(x)
周辺確率分布
∀x∈x,P(x=x)=y∑P(x=x,y=y)
∀x∈x,p(x=x)=∫p(x,y)dy
条件付き確率
P(y=y∣x=x)=P(x=x)P(y=y,x=x)
条件付き確率の連鎖律
条件付き確率の定義を用いれば、同時確率が条件付き確率の積で表せる
独立と条件付き独立
条件付き確率分布が独立であることを条件付き独立分布という
期待値、分散、共分散
Ex∼P[f(x)]=x∑P(x)f(x)
Var(f(x))=E[(f(x)−E[f(x)])2]
Cov(f(x),g(y))=E[(f(x)−E[f(x)])(g(y)−E[g(y)])]
Cov(x)i,j=Cov(xi,xj)
Cov(xi,xi)=Var(xi)
一般的な確率分布
- ベルヌーイ分布
- ガウス分布
- 指数分布とラプラス分布
- ディラック分布と経験分布
一般的な関数の有用な性質
ベイズ則
P(x∣y)=P(y)P(x)P(y∣x)
P(y)=x∑P(y∣x)P(x)
連続変数の保証
- 測度論と呼ばれる理論に裏付けされる
- 測度零やほとんど至るところで(almost everywhere)の概念
情報理論
自己情報量
底が e なら ナット 、底が 2 なら ビット
I(x)=−logP(x)
シャノンエントロピー
H(x)=Ex∼P[I(x)]=−Ex∼P[logP(x)]
カルバックライブラーダイバージェンス
DKL(P∥Q)=Ex∼P[logQ(x)P(x)]=Ex∼P[logP(x)−logQ(x)]
DKL(P∥Q)=DKL(Q∥P)
P と Q の並びによって意味合いが異なる
交差エントロピー
H(P,Q)=H(P)+DKL(P∥Q)=−Ex∼PlogQ(x)