JDLA認定プログラム：応用数学

本記事は、Study-AI社様のJDLA認定プログラムの提出レポートを兼ねた記事となっております。


# 行列
* ベクトルの変換に使う
* 連立方程式
$$
\begin{cases}
 x_1 + 2x_2 = 3 \\\
 2x_1 + 5x_2 = 5 
\end{cases}
$$
を
$$ A \vec{x} = \vec{b} $$
のようにシンプルに表現したい。
$$ \begin{pmatrix} 1&2\\\2&5 \end{pmatrix} 
 \begin{pmatrix} x_1\\\x_2 \end{pmatrix} 
= \begin{pmatrix} 3\\\5 \end{pmatrix} $$
* 変換後の要素のある1つは、元の要素の全てから影響を受けている
* 行列積は行と列の掛け合わせで新たな成分を作る
$$ \begin{pmatrix} 2&1\\\4&1 \end{pmatrix} 
 \begin{pmatrix} 1&3\\\3&1 \end{pmatrix} 
= \begin{pmatrix} 5&7\\\7&13 \end{pmatrix} $$


# 行基本変形
連立方程式
$$ 
\begin{cases} 
    x_1 + 4x_2 = 7 \\\
    2x_1 + 6x_2 = 10 
\end{cases}
$$
行列に変換
$$ \begin{pmatrix} 1&4\\\2&6 \end{pmatrix} 
 \begin{pmatrix} x_1\\\x_2 \end{pmatrix} 
= \begin{pmatrix} 7\\\10 \end{pmatrix} $$
2行目を1/2倍する
$$ \begin{pmatrix} 1&4\\\1&3 \end{pmatrix} 
 \begin{pmatrix} x_1\\\x_2 \end{pmatrix} 
= \begin{pmatrix} 7\\\5 \end{pmatrix} $$
1行目に2行目の-1倍を加える
$$ \begin{pmatrix} 0&1\\\1&3 \end{pmatrix} 
 \begin{pmatrix} x_1\\\x_2 \end{pmatrix} 
= \begin{pmatrix} 2\\\5 \end{pmatrix} $$
2行目に1行目の-3倍を加える
$$ \begin{pmatrix} 0&1\\\1&0 \end{pmatrix} 
 \begin{pmatrix} x_1 \\\ x_2 \end{pmatrix} 
= \begin{pmatrix} 2\\\ -1 \end{pmatrix} $$
1行目と2行目を入れ替える
$$ \begin{pmatrix} 1&0\\\0&1 \end{pmatrix} 
 \begin{pmatrix} x_1 \\\ x_2 \end{pmatrix} 
= \begin{pmatrix} -1 \\\ 2 \end{pmatrix} $$
$$x_1=-1, x_2=2$$


# 逆行列
* 掃き出し法
$$ \begin{pmatrix} 1&4\\\2&6 \end{pmatrix} 
 \begin{pmatrix} x_1\\\x_2 \end{pmatrix} 
= \begin{pmatrix} 7\\\10 \end{pmatrix} $$
を
$$ \begin{pmatrix} 1&4\\\2&6 \end{pmatrix} 
 \begin{pmatrix} x_1\\\x_2 \end{pmatrix} 
= \begin{pmatrix} 1&0\\\0&1 \end{pmatrix}
\begin{pmatrix} 7\\\10 \end{pmatrix} $$
と考える。
左右の係数の行列に同じ行基本変形を実行すると、
$$ 
\begin{pmatrix} 1&0\\\0&1 \end{pmatrix} 
\begin{pmatrix} x_1\\\x_2 \end{pmatrix}=
\begin{pmatrix} -3&2\\\1&-\frac12 \end{pmatrix}
\begin{pmatrix} 7\\\10 \end{pmatrix} 
$$
となり、
逆行列
$$
\begin{pmatrix} -3&2\\\1&-\frac12 \end{pmatrix}
$$
が求まる。
これを「掃き出し法」という。

* 逆行列が存在しない条件
    + 解がない、解が１組に定まらないタイプの連立方程式(傾きが同じ)
$$
\begin{cases}
 x_1 + 4x_2 = 3 \\\
 x_1 + 4x_2 = 10 
\end{cases}
$$
$$
\begin{cases}
 x_1 + 4x_2 = 7 \\\
 2x_1 + 8x_2 = 14 
\end{cases}
$$
$$
\begin{cases}
 x_1 + 4x_2 = 7 \\\
 0x_1 + 0x_2 = 0 
\end{cases}
$$
など
    + $\begin{pmatrix} a&b\\\c&d \end{pmatrix}$という行列があった時、<br> a:b ≠ c:d のとき逆行列を持ち、a:b = c:d のとき逆行列を持たない <br> ad = bc <br> ad - bc = 0

# 行列式
* ある行列が２つの横ベクトルの組み合わせだと考えた時、
$$
\begin{pmatrix} a&b\\\c&d \end{pmatrix} =
\begin{pmatrix} \vec{v_1} \\\ \vec{v_2} \end{pmatrix}
$$
で作られる平行四辺形の面積が、逆行列の有無を判別する。<br>
この「面積」を
$
\begin{vmatrix} a&b\\\c&d \end{vmatrix} =
\begin{vmatrix} \vec{v_1} \\\ \vec{v_2} \end{vmatrix}
$
と表し行列式と呼ぶ。<br>
    + determine(判別する) → determinant(行列式) detA

* 線型性
    + 成分の同じベクトルが含まれる行列式は0
$$
\begin{vmatrix} \vec{v_1} \\\ \vdots \\\ \vec{w} \\\ \vdots \\\ \vec{w} \\\ \vdots \\\ \vec{v_n} \end{vmatrix} = 0
$$
    + ひとつのベクトルが$\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}
$$
    + 足されたベクトルの長さ分だけ「面積」が広がるイメージ
$$
\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}
$$
    + 3つ以上のベクトルからできている行列式は展開できる
$$
\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} -
b
\begin{vmatrix}
b&c \\\ h&i
\end{vmatrix} +
g
\begin{vmatrix}
b&c \\\ e&f
\end{vmatrix}
$$
+ 行列式の求め方
$$
\begin{vmatrix}
a&b \\\ c&d
\end{vmatrix} =
ad - bc
$$

# 固有値
* ベクトルに行列を掛けているのに元のベクトルが出てくるような特殊な形
$$ A \vec{x} = \lambda \vec{x} $$
* 固有値・固有ベクトルの具体例
$$
\begin{pmatrix}
1&4 \\\ 2&3
\end{pmatrix}
\begin{pmatrix}
1 \\\ 1
\end{pmatrix} =
\begin{pmatrix}
5 \\\ 5
\end{pmatrix} =
5
\begin{pmatrix}
1 \\\ 1
\end{pmatrix}
$$
 固有値$\lambda = 5$<br>
 固有ベクトル（のうちの一つ）$\vec{x}=\begin{pmatrix} 1 \\\ 1 \end{pmatrix}$<br>
 固有ベクトルは、ある特定の比率になっているベクトル(この場合は1:1の定数倍)

# 固有値・固有ベクトルの求め方
* 固有値
$$ A \vec{x} = \lambda \vec{x} $$
$$ (A - \lambda I) \vec{x} = \vec{0} $$
$$ \vec{x} \neq \vec{0} $$
 逆行列が無い場合を考える
$$ \begin{vmatrix}
A - \lambda I
\end{vmatrix} = 0 $$
$$ \begin{vmatrix}
1 - \lambda & 4 \\\ 2 & 3 - \lambda
\end{vmatrix} = 0 $$
$$ (1 - \lambda)(3 - \lambda) - 4・2 = 0 $$
$$ \lambda = 5 or -1 $$
* 固有ベクトル
    + $ \lambda = 5 $ のとき
$$
\begin{pmatrix}
1&4 \\\ 2&3
\end{pmatrix}
\begin{pmatrix}
x_1 \\\ x_2
\end{pmatrix}
= 5
\begin{pmatrix}
x_1 \\\ x_2
\end{pmatrix}
$$
よって
$$ \begin{cases} 1・x_1 + 4・x_2 = 5x_1 \\\
 2・x_1 + 3・x_2 = 5x_2 \end{cases} $$
$$ x_1 = x_2 $$
したがって<br>
$ \lambda = 5 $ の時<br> $ \vec{x} = \begin{pmatrix} 1 \\\ 1 \end{pmatrix}$<br>の定数倍
    + $ \lambda = -1 $ のとき
$$
\begin{pmatrix}
1&4 \\\ 2&3
\end{pmatrix}
\begin{pmatrix}
x_1 \\\ x_2
\end{pmatrix}
= -1
\begin{pmatrix}
x_1 \\\ x_2
\end{pmatrix}
$$
よって
$$ \begin{cases} 1・x_1 + 4・x_2 = -1・x_1 \\\
 2・x_1 + 3・x_2 = -1・x_2 \end{cases} $$
$$ x_1 = -2 x_2 $$
したがって<br>
$ \lambda = -1 $ の時<br> $ \vec{x} = \begin{pmatrix} 2 \\\ -1 \end{pmatrix}$<br>の定数倍

# 固有値分解
* ある実数を正方形に並べて作られた行列Aが固有値$\lambda_1$,$\lambda_2$,....と固有ベクトル$\vec{v_1}$,$\vec{v_2}$,...を持つとする
この固有値を対角線上に並べた行列（それ以外の成分は0）
$$ \Lambda =
\begin{pmatrix}
\lambda_1 & & \\\
 & \lambda_2 & \\\
 & & \ddots
\end{pmatrix}
$$
と、それに対応する固有ベクトルを並べた行列
$$ V =
\begin{pmatrix}
\\\
\vec{v_1} & \vec{v_2} & \cdots
\\\ \\\
\end{pmatrix}
$$
を用意したとき、それらは
$$ AV = V \Lambda $$
と関係付けられる。したがって
$$ A = V \Lambda V^{-1}$$
このように正方形の行列を上述のような３つの行列の積に変換することを固有値分解という。
この変形によって行列の累乗の計算が容易になる等の利点がある。

# 特異値
* 正方行列以外を固有値分解する方法
$$ M \vec{v} =\sigma \vec{u} $$
$$ M^T \vec{u} =\sigma \vec{v}$$
* 上記が成り立つ特殊な単位ベクトルがあるならば特異値分解ができる
$$ M = USV^T $$
    + Sは $\sigma$ の集合
    
# 特異値分解
$$ MV = US $$
$$ M^T U = VS^T $$
$$ M = USV^T $$
$$ M^T = VS^T U^T $$
これらの積は
$$ MM^T = USV^T VS^T U^T = USS^T U^T $$
つまり$MM^T$を固有値分解すれば、その左特異ベクトル（ただし単位ベクトルから作らなければならない）と特異値の２乗が求められることが分かる。

* 画像データの画像の特徴を保持しながらデータ量を削減できる

# 集合
* 集合とは
$$ S = \{ a, b, c, d, e, f, g \} $$
$$ a \in S $$
内部に$M = \{ c, d, g \}$があったとすると
$$M \subset S$$
集合に含まれないものは明確に区別できる
$$ h \notin S $$
 + 和集合
$$ A \cup B $$
 + 共通部分
$$ A \cap B $$
 + 絶対補
 $$ U \backslash A =  \bar{A} (Aを除いた全体集合U) $$
 + 相対補
$$ B \backslash A (Aを除いた集合B) $$

# 確率
* 頻度確率（客観確率）
 + 発生する頻度
* ベイズ確率（主観確率）
 + 信念の度合い
* 定義
$$ P(A) = \frac {n(A)}{n(U)} = \frac{事象Aが起こる数}{全ての事象の数} $$
 + 確率は0~1の値をとる
$$ P(\bar{A}) = 1 - P(A) $$
* 条件付き確率
 + ある事象Bが与えられた下で、Aとなる確率
$$P(A|B) = \frac{P(A \cap B)}{P(B)} $$
* 同時確率
 + お互いの発生には因果関係のない事象A, Bが同時に起こる確率
$$ P(A \cap B) = P(A)P(B|A) \\\ =P(A)P(B) $$
 + $ P(A \cap B) $と$P (B \cap A) $は同じなので
$$ P(A)(B|A) = P(B)P(A|B) $$
 + $P (A \cap B) $は重複して数えているのでひとつ除く
$$ P(A \cup B) = P(A) + P(B) - P(A \cap B) $$

# 統計
* 記述統計と推測統計
 + 記述統計：集団の性質を要約し記述する
 + 推測統計：集団の一部を取り出し母集団の性質を推測する
* 確率変数と確率分布
 + 確率変数
   - 事象と結びつけられた数値
 + 確率分布
   - 事象の発生する確率の分布
* 期待値
 + その分布における、確率変数の平均の値 or あり得そうな値
 $$ 事象X_n, 確率変数f(X_n), 確率P(X_n) $$
 $$期待値E(f) = \sum_{k=1}^{n} P (X = x_k) f (X = x_k) $$
 + 連続する値なら
 $$ 期待値E(f) = \int P (X = x) f (X = x)dx $$
* 分散と共分散
 + 分散
   - データの散らばり具合
   - データの各々の値が、期待値からどれだけズレているのか平均したもの
   $$ 分散Var(f) =  E((f_{(X=x)} - E_{(f)})^2) \\\ = E(f_{(X=x)}^2) - (E_{(f)})^2$$
 + 共分散
   - ２つのデータ系列の傾向の違い
   - 正の値＝似た傾向、負の値＝逆の傾向、関係性に乏しい→０に近付く
   $$共分散Cov(f,g) = E((f_{(X=x)} - E(f))(g_{(Y=y)} - E(g))) \\\ = E(fg) - E(f)E(g) $$
* 分散と標準偏差
 + 分散は２乗してしまっているので元のデータと単位が違う
 + ２乗の逆演算（つまり平方根を求める）をすれば元の単位に戻る
 $$ 標準偏差 \sigma = \sqrt {Var(f)} = \sqrt {E((f_{(X=x)} - E_{(f)})^2)} $$
* 確率分布
 + ベルヌーイ分布
   - 2値分類（コイントスなど）
   $$ P(x|\mu) = \mu^x(1 - \mu)^{1-x} $$
 + マルチヌーイ（カテゴリカル）分布
   - 多値分類（サイコロなど）
 + 二項分布
   - ベルヌーイ分布の多試行版
   $$ 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 ( - \frac{1}{2 \sigma^2} exp \Bigl( - \frac{1}{2 \sigma^2} ( x - \mu )^2) \Bigr) $$
* 推定
  + 母集団を特徴付ける母数（パラメータ：平均など）を統計学的に推測すること
    - 点推定：平均値などを１つの値に推定すること
    - 区間推定：平均値などが存在する範囲（区間）を推定すること
* 推定量と推定値
 + 推定量(estimator)：パラメータを推定するために利用する数値の計算方法や計算式のこと。推定関数とも。
 + 推定値(estimate)：実際に思考を行った結果から計算した値
 真の値を$\theta$とすると、$ \hat{\theta}$のように表す。($ \hat{} $記号は推定を表す)
* 標本平均
 + 母集団から取り出した標本の平均値
 + 一致性：サンプル数が大きければ、母集団の値に近づく
 + 不偏性：サンプル数がいくらであっても、その期待値は母集団の値と同様
$$ E(\hat{\theta}) = \theta $$
* 標本分散
 + サンプルサイズをnとする
 $$ \hat{\sigma}^2 = \frac{1}{n} \sum_{i=1}^{n}(x_i - \bar{x})^2 $$
   - 一致性は満たすが、不偏性は満たさない
* 不偏分散
 + 標本分散を修正し、不偏性を満たす
 + サンプルデータnが少ない時に有効
  $$ s^2 = \frac{n}{n - 1} × \frac{1}{n} \sum_{i=1}^{n}(x_i - \bar{x})^2 \\\ = \frac{1}{n - 1} × \sum_{i=1}^{n} (x_i - \bar{x})^2 $$
* 自己情報量
 + 対数の底が２の時、単位はビット(bit)
 + 対数の底がネイピアのeのとき、単位は(nat)
 $$ I(x) = - log(P(x)) = log(W(x)) $$
* シャノンエントロピー
 + 自己情報量の期待値
 + 自己情報量の平均をとることで算出
 + 確率P × 確率変数-log(P(x)) の平均E
 $$ H(x) = E(I(x)) \\\ = - E (log(P(x))) \\\ = -\Sigma(P(x)log(P(x))) $$
* カルバック・ライブラー ダイバージェンス
 + 同じ事象・確率変数における異なる確率分布P, Qの違いを表す
 + PとQ の珍しさの差を表す距離（ダイバージェンス）のようなもの
 $$ D_{KL}(P||Q) = E_{x \sim P} 
 \begin{bmatrix}
 log \frac{P(x)}{Q(x)}
 \end{bmatrix}
 = \mathbb{E}_{x \sim P}
 \begin{bmatrix}
 log P(x) - log Q(x)
 \end{bmatrix}
 $$
 + (最初の情報の珍しさ) ー (後になって分かった情報の珍しさ)
  + 確率は数が小さくなるほど情報の珍しさの度合いが増す。これは直感とは逆なので、 -log をとることで数が大きくなるほど情報の珍しさの度合いが増すようにする。
 $$ I(Q(x)) - I(P(x)) \\\ = ( -log(Q(x))) - (-log(P(x))) = log \frac{P(x)}{Q(x)} $$
  + 古い分布Qを新しい分布Pから眺めた時にどれくらい情報が違うのか（情報利得）について差引を取り、全ての分布について（Pについて）平均をとる
 $$ D_{KL}(P||Q) = \sum_x P(x) (-log(Q(x))) - ( - log(P(x))) \\\ = \sum_x P(x) log \frac{P(x)}{Q(x)} $$
* 交差エントロピー
 + KLダイバージェンスの一部を取り出したもの。
 + Qについての自己情報量をPの分布で平均している。
 + 元々想定していたQについての信号を、現実のPで平均をとってズレを抑える用途（モールス信号）
$$ H(P, Q) = H(P) + D_{KL}(P||Q) $$
 + 明示的に書けば
 $$ H(P, Q) = -E_{x \sim P} log Q(x) \\\ = - \sum_{x} P(x)logQ(x) $$