機械学習で必要な数学の基礎

機械学習で必要な応用数学の基礎について簡単にまとめた。
個人用で作成したので色々間違ってるかも。

# 機械学習で必要な数学一覧
- 線形代数
- 確率統計
- 情報理論
- 微積(今回割愛)

# 線形代数(行列)
## スカラーとベクトルの違い
・スカラーは「数値」　(四則演算可能)
・ベクトルは「数値」と「向き」を持つ
## 行列とは
・スカラーを表にしたもの
・ベクトルを並べたもの
→ベクトルの変換や、連立方程式を解くのに使える。
## 連立方程式を行列で解く
以下の行基本形を組み合わせることで連立方程式を行列で解くことができる。
・i行目をc倍する
```math
Q_{i,c} = 　\left(
\begin{array}{ccccc}
1 & \\
&\ddots \\
&& c & \\
&&&\ddots \\
&&&&1
\end{array}
\right)
```

・s行目にt行目のc倍を加える
```math
R_{s,t,c} = 　\left(
\begin{array}{ccccc}
1 & \\
&\ddots && c\\
&& 1 & \\
&&&\ddots \\
&&&&1
\end{array}
\right)
```
・p行目とq行目を入れ替える
```math
R_{s,t,c} = 　\left(
\begin{array}{ccccc}
1 & \\
&\ddots && \\
&&0 & & 1\\
&&& \ddots & \\
&&1 & & 0&&\\
&&&&& \ddots & \\
&&&&&&1
\end{array}
\right)
```
## 逆行列
・行列　Aに対してある行列Xを掛け算した結果単位行列になる時の行列Xを逆行列と呼ぶ。

※単位行列とは以下のような、掛け算した時に元の行列を変化させない行列のこと。
```math
I = 　\left(
\begin{array}{ccccc}
1 & \\
&\ddots && \\
&& 1 & \\
&&&\ddots \\
&&&&1
\end{array}
\right)
```
### 逆行列を求める方法
・掃き出し法で求めることができる。
・2*2行列の場合は以下の式でも求めることができる
```math
A = 　\left(
\begin{array}{cccc}
a & b \\
c & d \\
\end{array}
\right)
```
である時
```math
A^{-1} = \frac{1}{ab -dc} \left(
\begin{array}{cccc}
d & -b \\
-c & a \\
\end{array}
\right)
```
### 逆行列が存在しない条件
```math
A = 　\left(
\begin{array}{cccc}
a & b \\
c & d \\
\end{array}
\right)
```
である時、以下の場合は行列Aは逆行列を持たない。
```math
ab -dc　= 0
```
## 行列式
```math
A = 　\left(
\begin{array}{cccc}
a & b \\
c & d \\
\end{array}
\right)
```
である時、以下ような式を行列式と呼ぶ。
→行列の大きさを求められる
```math
  \left|
\begin{array}{cccc}
a & b \\
c & d \\
\end{array}
\right| = \left|
\begin{array}{cc}
\vec{v_1} \\
\vec{v_2} \\
\end{array}
\right|
= ab -dc
```
### 3つ以上のベクトルから構成される行列式
・3つ以上のベクトルから構成される行列式は以下のように展開できる。
```math
\left|
\begin{array}{ccc}
\vec{v_1} \\
\vec{v_2} \\
\vec{v_3} \\
\end{array}
\right|
=
\left|
\begin{array}{ccc}
a & b & c \\
d & e & f \\
g & h & i \\
\end{array}
\right|

=
a
\left|
\begin{array}{ccc}
e & f \\
h & i\\
\end{array}
\right|
-
d
\left|
\begin{array}{ccc}
b & c \\
h & i\\
\end{array}
\right|
+
g
\left|
\begin{array}{ccc}
b & c \\
e & f\\
\end{array}
\right|

```
※行列式では行を入れ替える場合に以下のように符号が変わる。
```math
\left|
\begin{array}{ccc}
\vec{v_1} \\
 \vdots \\
\vec{v_s} \\
 \vdots \\
\vec{v_t} \\
 \vdots \\
\vec{v_n} \\
\end{array}
\right|
=
-
\left|
\begin{array}{ccc}
\vec{v_1} \\
 \vdots \\
\vec{v_t} \\
 \vdots \\
\vec{v_s} \\
 \vdots \\
\vec{v_n} \\
\end{array}
\right|
```
# 線形代数(固有値)
## 固有値と固有ベクトル
ある行列Aに対して、以下のような式が成り立つとき、この時の、$\vec{x}$を固有ベクトル、係数$\lambda$を固有値という。
```math
A\vec{x}　= \lambda\vec{x}
```
## 固有値分解
→固有値分解をすることで、行列の累乗の計算が容易になる。
→固有値と固有ベクトルを求めることで行列を固有値分解の式で表すことができる。
```math
A= V\Lambda V^T
```

## 特異値分解
→正方行列以外の行列に対しても、固有値分解と似たような分解を行うことができる。
以下のような特殊なベクトルがある場合、特異値分解できる。
```math
M\vec{v} = \sigma\vec{u}  \\
M^T\vec{u} = \sigma\vec{v} \\
M= USV^T
```
## 特異値分解の求め方手順
- $MM^T$と$M^TM$を計算する。
- $MM^T$の固有値を求める。
- 固有値から$S$と$U$と$V$を求める。
## 特異値分解利用例
・画像を特異値分解して特異値の小さいものを取り除く(次元を減らす)ことで、画像の特徴を残しながら画像データの圧縮を行うことができる。

# 確率・統計
## 集合
$S=${$a,b,c,d,e,f,g$}の時
$a\in S$はaはSの要素(元)であると表現する。

また、$M=${$c,d,g$}の時
$M\subset S$と表現する。

hが集合$S$に含まれてない時
$h\notin S$ と表現する。

## 和集合と共通部分
集合Aと集合Bが含まれている領域(和集合)を$A\cup B$ (カップ) と表現する。
集合Aと集合Bが重なっている領域(共通部分)を$A\cap B$ (キャップ) と表現する。
## 絶対補と相対補
全ての領域のうち集合Aが含まれていない領域(絶対補)を$U$ \\ $A=\bar{A}$ と表現する。
Bの領域のうち集合Aが含まれていない領域(相対補)を$B$ \\ $A$ と表現する。

$P(A) = \frac{n(A)}{n(U)} = \frac{事象Aが起こる数}{全ての事象の数}  $
$P(\bar{A})=1-P(A)$
## 条件つき確率
ある条件Bが与えられた下で、Aとなる確率
$P(A|B) = \frac{P(A\cap B)}{P(B)} $
## 独立な事象の同時確率
$P(A\cap B) = P(A)P(B)$
## ベイズ則
$P(A|B) = \frac{P(A\cap B)}{P(B)}= \frac{P(A)P(B|A))}{P(B)} $

記述統計:集団の性質を要約し記述する。
推測統計:集団から一部を取り出し元の集団(母集団)の性質を推測する

## 確率変数と確率分布
確率変数
- 事象と結び付けられた数値(くじ引きで当たった獲得賞金など)
- 事象そのものを指すと解釈する場合も多い

確率分布
- 事象の発生する確率の分布
- 離散値であれば表で表現できる
## 期待値
- ある確率変数の平均の値やとりえる値のことを期待値という
離散型の確率変数の場合(サイコロの出目の期待値など)
$=\sum_{k=1}^{n}P(X=x_k)f(X=x_k)$
連続型の確率変数の場合(身長の分布の期待値など)
$=\int P(X=x)f(X=x)dx$

## 分散・共分散
- 分散
データの散らばり具合
データの各々の値が、期待値からのずれを平均したもの
```math
{Var(f) = E((f_{(X=x)}-E_{(f)})^2) \\
= E(f_{(X=x)}^2) - (E_{(f)})^2
}
```
- 共分散
2つのデータ系列の傾向の違い
正の値を取れば似た傾向
負の値を取れば逆の傾向
ゼロを取れば関係性に乏しい
```math
{Cov(f, g) = E( (f_{(X=x)}-E(f)) (g_{(X=x)}-E(g)) ) \\
= E(fg) - E(f)E(g)
}
```
## 標準偏差

分散の平方根をすることで、単位を合わせることができる。
```math
{σ = \sqrt{E((f_{(X=x)}-E_{(f)})^2)}
}
```
## 様々な確率分布
### ベルヌーイ分布

- コイントスのような2種類の結果がある場合の確率分布
```math
{P(x|μ) = μ^{x}(1-μ)^{1-x}
}
```

### マルチヌーイ分布
- サイコロの出目を出す確率のような場合の確率
```math
{f(x;p) = \prod_{j=1}^{k} p_j^k
}
```
### 二項分布
- ベルヌーイ分布の多試行版
```math
{P(x|λ, n) = \frac{n!}{x!(n - x)!}λ^{x}(1-λ)^{1-x}
}
```
### ガウス分布
- 釣鐘型の連続分布
```math
{N(x|μ, σ^2) = \sqrt{\frac{1}{2πσ^2}}\exp{(-\frac{1}{2σ^2}(x-μ^2))}
}
```
## 推定
## 推定と推定量
- 推定量:パラメータを推定するために利用する数値の計算方法や計算式のこと。
推定関数とも言う。
- 推定値:実際に施行を行った結果から計算した値。
## 標本平均
母集団から取り出した標本の平均値。以下の特徴を持つ。
- 一致性:取り出す標本が大きいほど母集団の値に近づく。
- 不偏性:サンプル数がいくらであってもその期待値は母集団の値と同様。
## 標本分散
母集団から取り出した標本の分散値。
→n−1で割ることで母分散と一致性および普遍性を満たすようになる。
```math
{\hat{σ^2} = \frac{1}{n-1}\sum_{k=1}^{n} (x_{i} - \bar{x})^2
}
```

# 情報理論
## 自己情報量
- 対数の底が2の時は単位はbit
- 対数の底がネイピアのeの時,単位はnat
```math
I(x)= -\log(P(x)) = log(W(x))
```
## シャノンエントロピー
- 自己情報量の期待値を示す。
```math
H(x)=E(I(x)) \\
= -E(log (P(x)) \\
= -\sum(P(x)log (P(x)) \\
```
## カルバック・ライブラー・ダイバージェンス
- 同じ事象・確率変数における異なる確率分布P, Qの違いを表す。
```math
{D_{KL}(P||Q) = E_{x\sim P}[\log \frac{P(x)}{Q(x)}] = E_{x\sim P}[\log P(x) - \log Q(x)]
}
```
## 交差エントロピー
- KLダイバージェンスの一部分を取り出したもの。
- Qについての自己情報量をPの分布で平均している。

```math
{H(P,Q) = -\sum P(x)\log(Q(x))
}
```