機械学習を勉強するための数式説明




本エントリーは、 以下の2冊に書かれている数式を、まとめたものです。

- [ITエンジニアのための機械学習理論入門(技術評論社)](http://amzn.to/2hYYoGX) 主な数学記号と基本公式
- [オンライン機械学習(機械学習プロフェッショナルシリーズ)(講談社)](http://amzn.to/2jsxAwA) 2章準備

qiitaの数式エディタの使用方法と書くことで再学習することを目的に書いています。
ミスなどがあればご指摘ください。


# ITエンジニアのための機械学習理論入門

## 和の記号

```math
\sum_{n=1}^{N} x_n = x_1 + x_2 + ... x_N 
```

## 積の記号

```math
\prod_{n=1}^{N} x_n = x_1 \times x_2 \times ... \times x_N
```

## 指数関数

自然対数の底e (約2.718)

```math
\exp(x) = e^x 
```

```math
\prod_{n=1}^{N} e^{x_n} = e^{x_1} \times  ... \times e^{x_n} = e^{x_1 + .. + x_n} = \exp(\sum_{n=1}^{N} x_n)
```

微分しても関数が変化しない

```math
\frac{d}{dx}e^x = e^x
```

## 対数関数

```math
\ln x = \log_e x
```

```math
\ln e = 1
```

```math
\ln \frac{ab}{c} = \ln a + \ln b - \ln c
```

```math
\ln a^b = b \ln a
```

対数関数 ln x は、指数関数 e^x の逆関数 

```math
\ln (\exp(\sum_{n=1}^{N} x_N)) = \sum_{n=1}^{N} x_n \times \ln e = \sum_{n=1}^{N} x_n
```

対数関数の微分

```math
\frac{d}{dx} \ln x = \frac{1}{x}
```

## 偏微分

yを固定してｘで微分

```math
\frac{\partial f(x, y)}{\partial x}
```

xを固定してyを微分

```math
\frac{\partial f(x, y)}{\partial y}
```

合税関数の微分の公式

```math
\frac{\partial f(g(x, y))}{\partial x} = f'(g(x, y)) \times \frac{\partial g(x, y)}{\partial x} 
```

```math
f'(x) = \frac{df(x)}{dx}
```

## ベクトルの内積と直積

縦ベクトル

```math
X = 
\Biggl(\begin{matrix}
x_1\\
x_2\\
x_3
\end{matrix}\Biggr)
```

横ベクトルを転地記号 `T` で変換記載

```math
X = (x_1, x_2, x_3)^T
```

```math
X^T = (x_1, x_2, x_3)
```

横ベクトル　×　縦ベクトルは、内積

```math
W^T X = (w_1, w_2, w_3) 
\Biggl(\begin{matrix}
x_1\\
x_2\\
x_3
\end{matrix}\Biggr)
=
\sum_{i=1}^{3} w_i x_i
```

縦ベクトル × 横ベクトルは、直積

```math
W X^T =  
\Biggl(\begin{matrix}
x_1\\
x_2\\
x_3
\end{matrix}\Biggr)
(w_1, w_2, w_3)
=
\Biggl(\begin{matrix}
w_1 x_1 & w_1 x_2 & w_1 x_3\\
w_2 x_1 & w_2 x_2 & w_2 x_3\\
w_3 x_1 & w_3 x_2 & w_3 x_3
\end{matrix}\Biggr)
```

特定の部分で偏微分

```math
\frac{f(W^T X}{\partial w_i} = f'(W^T X) \frac{\partial W^T X}{\partial w_i} = f'(W^T X)x_i
```

ベクトルの大きさ

```math
||x|| = \sqrt{X^T X} = \sqrt{x_1^2 + x_2^2 + x_3^2}
```

## 確率変数と期待値と分散

X = x となる確立を P(x) で表し、確率変数の期待値 E と 分散 V は以下のとおり

```math
E[X] = \sum_{x} x P(x)\\
V[X] = E[\{X - E(X)\}^2]
```

平均と分散の公式

```math
E[aX + b] = aE[X] + b\\
V[aX] = a^2 V[X]\\
V[X] = E[X^2] - (E[X])^2
```

```math
\bar{x} = E[X]
```
と、すると以下が成り立つ

```math
E[X - \bar{x}] = E[X] - \bar{x} = 0
```

2つの確率変数 X と Y が独立である

```math
P(x, y) = P_x(x) \times P_y(y)
```



# オンライン機械学習より

## 総和記号

記号の基本

```math
\sum_{i} x_i
```

iとして取り得る適切な範囲の `x_i` の和をとる

## 最小値・最大値

```
min f(x)
```

`f(x)` の最小値を返す

```
max f(x)
```

`f(x)` の最大値を返す

## argmin・argmax

```math
argmin_{x} f(x)
```

`f(x)` が最小となる、xを返す
(数式エディタで、うまく書ききれていない、 x を argmin の下にもっていきたい）

```math
argmax_{x} f(x)
```

`f(x)` の最大となる、xを返す

## 絶対値

```
|x|
```

実数から符号を取り除いた時の大きさを表す数値
absなどの名前の関数になっていることが多い

## ノルム

### L1 ノルム

```math
||x||_1 = |x_1| + |x_2| + ... + |x_n| 
```


マンハッタン距離

```math
||w-v||_1 = |w_1-v_1| + |w_2-v_2| + ... + |w_n-v_n| 
```

### L2 ノルム

```math
||x||_2 = \sqrt{x_1^2 + x_2^2 + ... + x_n^2}
```


ユークリッド距離

```math
||w-v||_2 = \sqrt{(w_1-v_1)^2 + (w_2-v_2)^2 + ... + (w_n-v_n)^2} 
```

## 指数関数

ネイピア数 e (約2.718)

```math
e^x = \exp(x)
```

## 偏微分

```math
f(x, y) = 2x + xy + y
```

```math
\frac{\partial f(x, y)}{\partial x} = 2 + y
```

```math
\frac{\partial f(x, y)}{\partial y} = x + 1
```

## 勾配

```math
\Delta f(x) = (\frac{\partial f(x)}{\partial x_1}, \frac{\partial f(x)}{\partial x_1}, ..)
```

## 関数の積の微分

```math
f(x) = g(x)h(x)\\
\frac{\partial f(x)}{\partial x} = \frac{\partial g(x)}{\partial x}h(x) + g(x)\frac{\partial x(x)}{\partial x}
```

## 合成関数の微分

```math
f(x) = h(g(x))\\
\frac{\partial f(x)}{\partial x} = \frac{\partial h(x)}{\partial g(x)}\frac{\partial g(x)}{\partial x}
```

## exp と ログの微分

```math
\frac{\partial \exp(x)}{\partial x} = \exp(x)\\
\frac{\partial \log(x)}{\partial x} = \frac{1}{x}
```