【ラビットチャレンジ　レポート】応用数学編

#0. はじめに
本記事は、Study-AIが提供するラビット・チャレンジ（JDLA認定プログラム）のレポート記事である。今回は、応用数学に関するレポートを記述する。
###参考文献
新装版 線形代数学（川久保勝夫 著） 
これならわかる応用数学教室（金谷健一 著）
情報圧縮技術（亀山渉、金子格 著）


#1. 線形代数
###スカラー・ベクトル・行列
**スカラー**とは、通常の数のことである。ただ単にベクトルとの対比として、強調してスカラーと呼ぶだけのことらしい。
　**ベクトル**とは、いくつかの数をひとまとめにして考えたものである。例えばベクトル$\boldsymbol{a}$は、以下のような形で表される。

```math
\begin{align}
\boldsymbol{a}=\vec{a}=\begin{pmatrix}
a_1\\
\vdots\\
a_n
\end{pmatrix}
\end{align}
```
この時、各々の数$a_1, a_2, \cdots, a_n$をベクトルの成分という。 ベクトルは向きと大きさを持つが、各成分の組み合わせで向きを表し、大きさは$||\boldsymbol{a}||$と表され、以下のように計算される。

```math
||\boldsymbol{a}||=\sqrt{a_1^2+a_2^2+\cdots+a_n^2}
```

　次のように$m\times n$個の数を長方形に並べて括弧で括ったものを、$m$行$n$列の**行列**という。

```math
\begin{align}
A=\begin{pmatrix}
a_{11}&a_{12}&\cdots&a_{1n}\\
a_{21}&a_{22}&\cdots&a_{2n}\\
\vdots&\vdots&&\vdots&\\
a_{m1}&a_{m2}&\cdots&a_{mn}
\end{pmatrix}
\end{align}
```

上記のスカラー、ベクトル、行列の演算方法も色々あるが、そこは省略する。

###行列式
正方行列に対して定まる1つの数が**行列式**である。記号は$|A|$や$\text{det}A$などと書く。事項で説明する逆行列が存在するか？という判定にも使われることから、determinantともいう。行列式の求め方は、
+ サラスの公式：$2\times2$行列と$3\times3$行列ならかなり楽に計算できる
+ 余因子展開：どんなに大きな行列でも計算できる
という方法が代表的である。

###逆行列
行列$A$に対して、$AA^{-1}=A^{-1}A=E$を満たす$A^{-1}$を、行列$A$の**逆行列**という。
逆行列の求め方としては
+ 掃き出し法：シンプルで扱いやすい
+ 余因子を用いる方法：大きい行列でも確実に計算可能
+ 公式を用いた方法：$2\times2$行列ならこれで一瞬
という方法がある。ちなみに$2\times2$行列の公式は、以下で表される。

```math
\begin{align}
\begin{pmatrix}
a_{11}&a_{12}\\
a_{21}&a_{22}
\end{pmatrix}^{-1}
=\dfrac{1}{a_{11}a_{22}-a_{12}a_{21}}
\begin{pmatrix}
a_{22}&-a_{12}\\
-a_{21}&a_{11}
\end{pmatrix}
\end{align}
```

###固有値分解
あるベクトル$\boldsymbol{v}(\neq\boldsymbol{0})$があって、行列$A$が$\boldsymbol{v}$を$\boldsymbol{v}$の定数倍に変換するようにできるのか？式で書くと、

```math
\begin{align}
A\boldsymbol{v}=\lambda\boldsymbol{v}
\end{align}
```
である。答えはイエスで、上式を満たす$\lambda$を行列$A$の**固有値**、$\boldsymbol{v}$を固有値$\lambda$に属する**固有ベクトル**という。通常$n\times n$の行列$A$には$n$個の固有値$\lambda_1, \lambda_2, \cdots, \lambda_n$と$n$個の固有ベクトル$\boldsymbol{v}\_1, \boldsymbol{v}\_2, \cdots, \boldsymbol{v}\_n$が存在する（重解により一見$n$個以下に見えるときもある）。
　行列$A$が固有値$\lambda_1, \lambda_2, \cdots, \lambda_n$、固有ベクトル$\boldsymbol{v}_1, \boldsymbol{v}_2, \cdots, \boldsymbol{v}_n$を持つとき、この固有値を対角線上に並べた行列

```math
\begin{align}
\Lambda=\begin{pmatrix}
\lambda_1&&&\\
&\lambda_2&&\\
&&\ddots&\\
&&& \lambda_n
\end{pmatrix}
\end{align}
```
とそれに対応する固有ベクトルを並べた行列

```math
\begin{align}
V=\begin{pmatrix}
\boldsymbol{v}_1& \boldsymbol{v}_2&\cdots& \boldsymbol{v}_n
\end{pmatrix}
\end{align}
```
は、以下のような関係を持つ。

```math
\begin{align}
AV=V\Lambda
\end{align}
```
したがって、

```math
\begin{align}
A=V\Lambda V^{-1}
\end{align}
```
と変形できる。固有値は計算科学を始め、いろいろな分野で活用されている。そういった応用ではなく、簡単な固有値活用の例でいうと、例えば累乗の計算が容易になったりもする。

```math
\begin{align}
A^n=(V\Lambda V^{-1})^n=V\Lambda^n V^{-1}
\end{align}
```

###特異値分解
正方行列じゃない行列は固有値分解に似たことができないの？答えはノーである。**特異値分解**という方法が適用できる。
　ある$m\times n$行列$M$が存在し、2つの単位ベクトル$\boldsymbol{u}$、$\boldsymbol{v}$に対して以下の式

```math
\begin{align}
M\boldsymbol{v}&=\sigma\boldsymbol{u}\\
M^T\boldsymbol{u}&=\sigma\boldsymbol{v}
\end{align}
```
を満たすならば、$M$は特異値分解が可能である。特異値分解は以下のように表される。

```math
\begin{align}
M=U\Sigma V^{-1}
\end{align}
```
ただし、$\Sigma$、$U$、$V$はそれぞれ、

```math
\begin{align}
\Sigma=\begin{pmatrix}
\sigma_1&&&&&&\\
&\sigma_2&&&&&\\
&&\ddots&&&&\\
&&& \sigma_m&&&
\end{pmatrix}
\end{align}
```

```math
\begin{align}
U=\begin{pmatrix}
\boldsymbol{u}_1& \boldsymbol{u}_2&\cdots& \boldsymbol{u}_m
\end{pmatrix}
\end{align}
```

```math
\begin{align}
V=\begin{pmatrix}
\boldsymbol{v}_1& \boldsymbol{v}_2&\cdots& \boldsymbol{v}_n
\end{pmatrix}
\end{align}
```
である。また、$U$、$V$はユニタリー行列（または直交行列）である。



#2. 確率・統計
###統計学の基礎
データを扱うにあたり重要な統計量を示す。

######期待値
**期待値**$E(f(x))$とは、試行$X=x_1, \cdots, x_n$を行い、その数値$f(X)$がそれぞれ確率$p(X)$でえられるときの平均値のことである。不連続な事象のもとでは

```math
\begin{align}
E(f(X))=\sum_{i=1}^n p(x_i)f(x_i)
\end{align}
```
であり、連続事象のもとでは和は積分で表されるので、

```math
\begin{align}
E\big(f(X=x)\big)=\int_{-\infty}^{\infty} p(x)f(x)
\end{align}
```
となる。

######分散
**分散**$\sigma^2$はデータの散らばり具合を表すが、単位に注意。2乗であるため、元のデータに当てはめて、このデータは平均から$\sigma^2$分だけずれている、ということは**言えない**。

```math
\begin{align}
Var\big(f(X=x)\big)=E\Big[\Big(f(x)-E\big(f(x)\big)\Big)^2\Big]=E\big(f(x)^2\big)-\Big(E\big(f(x)\big)\Big)^2
\end{align}
```

######標準偏差
分散の平方根をとったものを**標準偏差**$\sigma$という。分散は単位が、元データの単位の2乗になっていたが、標準偏差は元のデータの単位と一致する。

```math
\begin{align}
\sigma=\sqrt{Var\big(f(X=x)\big)}
\end{align}
```

######共分散
2つのデータの傾向の違いを図れる数値であり、分散の2データバージョンである。以下の式で表される。

```math
\begin{align}
Cov\big(f(X=x), g(Y=y)\big)&=E\Big[\Big(f(x)-E\big(f(x)\big)\Big)\Big(g(y)-E\big(g(y)\big)\Big)\Big]\\
&=E\big(f(x)g(x)\big)-E\big(f(x)\big)E\big(f(y)\big)
\end{align}
```
共分散の値が正ならば両データ間には似た傾向があり、値が負ならば逆の傾向がある。また、共分散が$0$に近い場合は両データ間に関係はあまり見られない。


######分散・共分散
分散と共分散はどんな時に使われるか？例えば分散の平方根である標準偏差$\sigma$と共分散を利用して相関係数が求められる。また、対角成分に分散、非対角成分に共分散を持つ行列である分散共分散行列は、それを対角化することで主成分分析に応用されている。統計には行列も関係してくるのである。


###頻度確率とは
発生する頻度を表した確率である。例えば、サイコロを一回振って1が出る確率は$\frac{1}{6}$、など。

###ベイズ確率とは
信念の度合いなど、（頻度では表せない）不確かな確率を表される。頻度確率に比べると歴史は浅く、頻度確率をきっちりやってきた人にとってはなかなか受け入れられない分野であるらしい（曖昧な事象を扱うことから）。実際に迷惑メールのフィルタリングなどで用いられている。

######条件付き確率
ある事象$X$の条件下で、$Y$が起こる確率を$P(Y|X)$と表す。これを条件付き確率という。

######ベイズの定理
細かな導出は省くが、条件付き確率は

```math
\begin{align}
P(X|Y)=\dfrac{P(X\cap Y)}{P(Y)}
\end{align}
```

である。また、事象$X$と$Y$を入れ替えても問題ないので、

```math
\begin{align}
P(Y|X)=\dfrac{P(Y\cap X)}{P(X)}
\end{align}
```

となる。上2式より、以下のベイズの定理が得られる。

```math
\begin{align}
P(Y|X)=\dfrac{P(X|Y)P(Y)}{P(X)}
\end{align}
```
この式は、$P(X|Y)$はわかるけど$P(Y|X)$はわからない、求めたいという時に役に立つ。それぞれの事象の確率$P(X)$、$P(Y)$が$P(X|Y)$を$P(Y|X)$に変換してくれるのである。





#3. 情報理論
###自己情報量
よく起きる事象が観測されても、大した情報は得られない。しかし、滅多に起きない事象が観測された時はどうだろう？例えば宝くじで1等が当たった時、どういう数字の組み合わせなのか、どこの売り場で当たりが出たのかなど、いろいろな情報を得ることができる。
　このことを言い直すと、ある事象$x$が観測される確率$p(x)$がもつ情報量は、確率が小さいほど大きくなるため、確率の逆数$1/p(x)$が情報量としての第一候補となる。しかし、互いに独立した珍しい事象$x$、$y$が得られた時、この逆数で定義された情報量（仮）はどうなるだろう。この時の確率は$p(x)p(y)$となるため、情報量は$1/p(x)p(y)$となり、互いの積で表されることがわかる。これは少々不自然ではないか？$1/p(x)$と$1/p(ｙ)$は独立した情報量なので、積ではなく和で情報量が表された方が自然である。したがって、この自然な定義とするために$\mathrm{log}$をとる。

```math
\begin{align}
I(x)=-\mathrm{log}\big(p(x)\big)
\end{align}
```
この情報量の特性を考え、大きい情報量を持つデータを少ない文字で表すことにしようと考え、トータルの情報量を小さくしよう（情報の圧縮）としたのが**ハフマン符号化**である。これは出現頻度が大きなものから少数ビットを与え、一意に解読できるように符号化したものである。計算法が単純であるため、少ないデータなら、手計算でも書くことができるのと、プログラミングで書く（アルゴリズム化する）のも容易である（基本情報技術者試験にも出題されたことがあった）。


###シャノンエントロピー
自己情報量の期待値であり、以下の式で表される。本記事の2.確率・統計でも出てきた期待値を自己情報量$I(x)$に適用しているだけなので、実にシンプルである。

```math
\begin{align}
H(x)=E\big(I(x)\big)=-\sum p(x)\mathrm{log}\big(p(x)\big)
\end{align}
```


###カルバック・ライブラー ダイバージェンス
同じ事象・確率変数における異なる確率分布$P$、$Q$の違いを表すのが、**カルバックライブラー ダイバージェンス**$D_\mathrm{KL}(P||Q)$である。つまり、$Q$という古い分布から、新たな$P$いう分布を見たときにどのぐらい情報が違うのかを表すことができる。また、以上の定義より、$D_\mathrm{KL}(P||Q)\neq D_\mathrm{KL}(Q||P)$であることに注意。

```math
\begin{align}
D_\mathrm{KL}(P||Q)=E_{x\sim P}\left[\dfrac{P(x)}{Q(x)}\right]=E_{x\sim P}\left[-\mathrm{log}Q(x)-\left(-\mathrm{log}P(x)\right)\right]
\end{align}
```

上式より、$Q(x)$の情報量からの$P(x)$の情報量の差の期待値を求めていることがわかる。



###交差エントロピー
$Q$についての自己情報量を、$P$の持つ分布で期待値をとったものを**交差エントロピー**という。式で表すと以下のようになる。

```math
\begin{align}
H(P, Q)=-E_\mathrm{x\sim P}\mathrm{log}Q(x)=-\sum_x P(x)\mathrm{log}Q(x)
\end{align}
```

この式は、シャノンエントロピー$H(x)$と、カルバック・ライブラー ダイバージェンス$D_\mathrm{KL}(P||Q)$を用いて、以下のように表される。

```math
\begin{align}
H(P, Q)=H(x)+D_\mathrm{KL}(P||Q)
\end{align}
```