ラビットチャレンジ　実装演習レポート　応用数学

## 0. 概要
学習内容は下記

1. 線形代数
    1. 線形代数の基礎
    2. 固有値・固有ベクトル
    3. 固有値分解
    4. 特異値・特異ベクトル/特異値分解
2. 確率・統計
    1. 確率とは
    2. 条件付き確率
    3. ベイズ測
    4. 期待値・分散
    5. 様々な確率分布
3. 情報理論
    1. 自己情報量・シャノンエントロピー
    2. KLダイバージェンス・交差エントロピー
4. 関連記事レポート
    1. 情報エントロピー

## 1. 線形代数
#### 1. 線形代数の基礎

**行列とは**
下記のようなものを行列と言い、**ベクトルの変換**に利用します。

- スカラーを表にしたもの
- ベクトルを並べたもの（ベクトルのベクトル）

**行列とベクトルの積**
行列とベクトルの積は下記のように計算し、この操作によって**ベクトルを変換**します。

```math
\begin{pmatrix}
a & b \\
c & d \\
\end{pmatrix}
\begin{pmatrix}
x_{1} \\
x_{2} \\
\end{pmatrix}
=
\begin{pmatrix}
a \times x_{1} + b \times x_{2} \\
c \times x_{1} + d \times x_{2} \\
\end{pmatrix}
```

**行列と行列の積**
行列と行列の積は下記のように計算し、ベクトルの**変換を合成**することができます。

```math
\begin{pmatrix}
a & b \\
c & d \\
\end{pmatrix}
\begin{pmatrix}
e & f \\
g & h \\
\end{pmatrix}
=
\begin{pmatrix}
a \times e + b \times g & a \times f + b \times h \\
c \times e + d \times g & c \times f + d \times h \\
\end{pmatrix}
```

**行基本変形**
下記3つの操作を行列の「行」基本変形と言います。
この操作を駆使して、連立一次方程式を行列の計算によって解くことができます。

- ある行を定数倍する
- 2つの行を入れ替える
- ある行に、他のある行の定数倍を加える

**単位行列**
下記のような行列**I**を単位行列と言います。

```math
I =
\begin{pmatrix}
1 & 0 & \cdots & 0 \\
0 & 1 & \cdots & 0 \\
\vdots  & \vdots  & \ddots & \vdots  \\
0 & 0 & \cdots & 1 \\
\end{pmatrix}
```

単位行列**I**には次の性質があります。

```math
AI = IA = A
```

**逆行列**
行列**A**の逆行列を**A<sup>-1</sup>**と表記し、エーインバースと読みます。
逆行列には次の性質があります。

```math
AA^{-1} = A^{-1}A = I
```

**行列式**
次の値を行列**A**の行列式と言います。
行列式が0となる行列は逆行列を持ちません。

```math
\begin{vmatrix}
a & b \\
c & d \\
\end{vmatrix}
=
a \times b - c \times d
```

#### 2. 固有値・固有ベクトル
ある行列**A**に対して、次の式が成り立つような係数λと
ベクトル**x**を行列**A**に対する固有値、固有ベクトルと言います。

```math
A\boldsymbol{x}=\lambda\boldsymbol{x}
```

#### 3. 固有値分解
実数の成分からなる正方行列**A**が、固有値λ<sub>1</sub>、λ<sub>2</sub>、・・・を持つとき、
固有値を対角成分に持つ行列Λと、

```math
\Lambda=
\begin{pmatrix}
\lambda_{1} & & \\
 & \lambda_{2} & \\
 & & \ddots & \\
\end{pmatrix}
```
それに対応した固有ベクトル**v**<sub>1</sub>、**v**<sub>2</sub>、・・・を並べた行列**V**には、

```math
V=
\begin{pmatrix}
\\
\boldsymbol{v}_{1} & \boldsymbol{v}_{2} & \cdots \\
\\
\end{pmatrix}
```
次の関係が成り立ちます。

```math
AV=V\Lambda
```
したがって、

```math
A=V\Lambda V^{-1}
```
と変形できるので、固有値分解を行うことで行列**A**の塁上を容易に計算することができます。

```math
\begin{align}
A^{n}&=V\Lambda V^{-1}V\Lambda V^{-1}V\Lambda V^{-1}\cdots \\
&=V\Lambda I\Lambda I\Lambda\cdots \\
&=V\Lambda^{n}V^{-1}
\end{align}
```
Λは対角行列なので下記のようなります。

```math
\Lambda^{n}=
\begin{pmatrix}
\lambda_{1}^{n} & & \\
 & \lambda_{2}^{n} & \\
 & & \ddots & \\
\end{pmatrix}
```

#### 4. 特異値・特異ベクトル/特異値分解
特異値・特異ベクトルは、固有値・固有ベクトルを正方行列以外の行列に拡張した考え方です。
正方行列でない行列**M**に対して次の特殊な単位ベクトルが存在する場合、

```math
M\boldsymbol{v}=\sigma \boldsymbol{u} \\
M^{T}\boldsymbol{u}=\sigma \boldsymbol{v}
```
次のように特異値分解可能です。

```math
M=U\Sigma V^{-1}
```
特異値・特異ベクトルは、正方行列**M****M**<sup>T</sup>を固有値分解して、左特異ベクトル**U**を、
**M**<sup>T</sup>**M**を固有値分解して右特異ベクトル**V**を求めることができます。

## 2. 確率・統計
#### 1. 確率とは
確率は大きく2種類の考え方に分類することができます。これらの確率は、考え方が異なるのみで、
計算上は同様に扱うことができます。

**頻度確率（客観確率）**

- 発生する頻度
- 例:「10本のうち一本だけ当たりのクジを引いて当選する確率を調べたところ10%であった」という事実

**ベイズ確率（主観確率）**

- 信念の度合い
- 例:「あなたは40%の確率でインフレンザです」という診断

#### 2. 条件付き確率
ある事象が起こるという条件の下で、別の事象が起こる確率のことを条件付き確率といいます。
ある事象X=xが起こる条件の下で、事象Y=yが起こる確率を下記のように表現します。

```math
P(Y=y|X=x)=\frac{P(Y=y, X=x)}{P(X=x)}
```
条件付き確率の観点で考えると、事象Y=yが起こる通常の確率は、
全ての事象X=Uが起こる条件の下で、事象Y=yが起こる確率とみなすことができます。

```math
P(Y=y)=P(Y=y|X=U)=\frac{P(Y=y, X=U)}{P(X=U)=1}
```
事象X=xと事象Y=yに因果関係がない（独立）場合、

```math
P(Y=y, X=U)=P(Y=y)P(X=U)
```
であるため、下記となります。

```math
P(Y=y|X=x)=P(Y=y)
```

#### 3. ベイズ測
上記より、

```math
P(Y=y, X=x)=P(Y=y|X=x)P(X=x)
```
であるので、事象X=xと事象Y=yを入れ替えて

```math
P(Y=y, X=x)\\=P(Y=y|X=x)P(X=x)=P(X=x|Y=y)P(Y=y)
```
とあらわすことができます。これをベイズ則といいます。

#### 4. 期待値・分散
**確率変数**

- 事象と結び付けられた数値
- 事象そのものを指すと解釈する場合も多い

**確率分布**

- 事象の発生する確率の分布
- 離散値であれば表に示せる

**期待値**

- その分布における，確率変数の平均の値・「ありえそう」な値

確率変数fが離散的である場合、期待値E(f)は、下記となります。

```math
\sum_{k=1}^{n} P(X=x_{k}) f(X=x_{k})
```
確率変数fが離散的である場合、期待値E(f)は、下記となります。

```math
\int P(X=x) f(X=x)dx
```
**分散**

- データの散らばり具合
- データの各々の値が，期待値からどれだけズレているのか平均したもの

確率変数fの分散Var(f)は下記で求めることができます。

```math
\begin{align}
Var(f)&=E((f_{(X=x)}-E_{(f)})^{2}) \\
&=E(f_{(X=x)}^{2})-(E_{(f)})^{2}
\end{align}
```

**共分散**

- ２つのデータ系列の傾向の違い
- 正の値を取れば似た傾向
- 負の値を取れば逆の傾向
- ゼロを取れば関係性に乏しい

確率変数fとgの共分散Cov(f, g)は下記で求めることができます。

```math
\begin{align}
Cov(f, g)&=E((f_{(X=x)}-E_{(f)})(g_{(X=x)}-E_{(g)})) \\
&=E(fg)-E(f)E(g)
\end{align}
```

**標準偏差**
確率変数fの標準偏差σは次の式で表現されます。
分散Var(f)は元のデータ（f）の二乗の単位ですが、標準偏差σは元のデータと単位が
そろっています。

```math
\begin{align}
\sigma&=\sqrt{Var(f)} \\
&=\sqrt{E((f_{(X=x)}-E_{(f)})^{2})}
\end{align}
```

#### 5. 様々な確率分布
**ベルヌーイ分布**

- コイントスのイメージ
- 裏と表で出る割合が等しくなくとも扱える

```math
P(x|\mu)=\mu^{x} (1-\mu)^{1-x}
```

**マルチヌーイ（カテゴリカル）分布**

- さいころを転がすイメージ
- 各面の出る割合が等しくなくとも扱える

**二項分布**

- ベルヌーイ分布の多試行版

```math
P(x|\lambda, n)=\frac{n!}{x!(n-x)!}\lambda^{x} (1-\lambda)^{n-x}
```

**ガウス分布**

- 釣鐘型の連続分布

```math
N(x;\mu, \sigma^{2})=\sqrt{\frac{1}{2\pi \sigma^{2}}}exp(- \frac{1}{2\sigma^{2}}(x-\mu)^{2})
```

## 3. 情報理論
#### 1. 自己情報量・シャノンエントロピー
**自己情報量**
100個の点が描画された画像上で、点が1個追加された場合と、1個の点が描画された画像上で、
点が1個追加された場合を比較すると、前者よりも後者のほうが人間の感覚では気づきやすいことに
気づきます。点の数をWで表すと、点の増加量ΔWはどちらも1であることから、これらの違いは
単なる点の増加量によるものではなく、増加の「比率」すなわちΔW/Wに由来すると考えられます。
ΔW/Wを点の数といった離散的な数値から、連続的な数値に拡張して計算した値dW/W=logWを
自己情報量Iといいます。Wに確率の考え方を導入し、確率Pを用いてWを表すと、W=-1/Pと
表現できるため、下記と書くことができます。

```math
I(x)=-log(P(x))=log(W(x))
```
- 対数の底が2のとき，単位はビット(bit)
- 対数の底がネイピアのeのとき，単位は(nat)

**シャノンエントロピー**

- 微分エントロピーともいうが，微分しているわけではない
- 自己情報量の期待値

```math
\begin{align}
H(x)&=E(I(x)) \\
&=-E(log(P(x))) \\
&=- \sum(P(x)log(P(x)))
\end{align}
```

#### 2. KLダイバージェンス・交差エントロピー
**カルバック・ライブラー　ダイバージェンス**
同じ事象・確率変数における異なる確率分布P,Qの違いを表します。

```math
\begin{align}
D_{KL}(P||Q)&=E_{x~P} \left[log \frac{P(x)}{Q(x)}\right] \\
&=E_{x~P} \left[logP(x)-logQ(x)\right] \\
&= \sum{P(x)log \frac{P(x)}{Q(x)}}
\end{align}
```

**交差エントロピー**
KLダイバージェンスの一部分を取り出したもので、Qについての自己情報量をPの分布で平均しています。

```math
\begin{align}
H(P, Q)&=-E_{x~P}logQ(x) \\
&=- \sum{P(x)logQ(x)} \\
&=H(P)+D_{KL}(P||Q)
\end{align}
```

## 4. 関連記事レポート
#### 1. 情報エントロピー
講義ではエントロピー関連の用語として、シャノンエントロピーや交差エントロピーについて
学習しましたが、ステージテストや各用語について詳しく調べる中で、関連するエントロピーの
考え方を見つけたのでまとめます。情報源X、Yが下図のような関係にあるとします。

![図1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1463031/98e5db94-be20-115f-32f4-f1eb663372b1.png)

**結合エントロピー**
H(X)とH(Y)の全体をH(X, Y)と表記し、結合エントロピーと呼びます。表記方法は、講義で学習した
交差エントロピーとよく似ていますが別物です。情報源XとYを1つの情報源とみなしたときの
平均情報量を表しています。下記で定義されます。

```math
H(X,Y)=-\sum_{x,y}P(x,y)logP(x,y)
```
情報源XとYが独立でる場合には次が成り立ちます。

```math
H(X,Y)=H(X) + H(Y)
```

**相互情報量**
H(X)とH(Y)の共通部分を相互情報量I(X, Y)と呼びます。
相互情報量は、情報源XとYが独立な場合、I(X, Y)=0となり、上記の結合エントロピーは
より一般的に下記が成り立ちます。

```math
H(X,Y)=H(X)+H(Y)-I(X,Y)
```

**条件付きエントロピー**
H(X)のうち、H(Y)でない部分を条件付きエントロピーH(X|Y)といいます。逆に、H(Y)のうち、
H(X)でない部分はH(Y|X)と表現します。下記の関係が成り立ちます。

```math
\begin{align}
H(X|Y)&=H(X)-I(X,Y) \\
&=H(X,Y)-H(Y)
\end{align}
```


参考：
https://whyitsso.net/math/statistics/information_entropy.html