斜めから機械学習！平均って何よ？

次々と新しい技術が登場するITの世界。それを追いかけるだけでも時間が足りないのに機械学習もとなると大変です。疑問に感じたことを深堀りしている暇はない。でも気になる。そんな機械学習の暗闇に斜めからスポットライトをあてたい。

今回のテーマは「平均」です。平均を習ってから分散を習うことが多いので「平均からのバラツキが分散」と覚えますが逆の見方を紹介します。

## マンハッタン距離とユークリッド距離
唐突ですが問題です。

（問題）
基準点から直線で 1km, 5km, 6km の場所に店舗 A, B, Cがある。店舗へ商品を配送するために各店舗 A, B, C との距離の総和が最小となる場所に倉庫を設置したい。基準点から何ｋｍの地点に倉庫を設置すればよいか。

![qiita3_1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2629684/f98006f1-8981-cbe9-d161-8c6fbc53e737.png)

答えは　A,B,C までの距離の平均 4km 地点。

```math
\frac{1+5+6}{3}=4 \\
```

ではありません。正解は 5km 地点です（次図）。

![qiita3_2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2629684/91da72dc-621a-b142-394b-049522f33e54.png)


この問題は、マンハッタン距離を問うています。マンハッタン距離は、絶対値を足し合わせる尺度です。各店舗からのマンハッタン距離の総和を最小化する点は[中央値](https://ja.wikipedia.org/wiki/%E4%B8%AD%E5%A4%AE%E5%80%A4)です。

![qiita3_3.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2629684/1828f10b-d577-f55e-ea29-48377ecfc076.png)

他方、平均は、ピタゴラスの定理で与えられるユークリッド距離の総和を最小化する点です。



## 分散（バラツキ）を最小化する点が平均
ある建物の高さを測量すると測量誤差でその都度、結果が異なりました（次表）

![qiita3_4.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2629684/b6d2eaa6-3222-87c7-244a-d40a941c49b3.png)

真の建物の高さが次のいずれかだとすると正解はどれでしょう。 

a. 5 m 
b. 10 m
c. 20 m

多分、b を選びますよね。なぜなら b が「もっともらしい」からです。測量結果はどれも 10m 前後なので a や c だとは考えにくい。測量結果に近ければもっともらしく、離れていれば不自然だということです。

逆にいうと、建物の高さの点推定としてもっともらしい値とは、測量結果からの距離の総和を最小とする点だです。このとき、距離の尺度にユークリッド距離を用います。その点推定は、測量結果の平均となります。

なので「平均からのバラツキを表す尺度が分散」のように平均ありきで分散があるのではなく、「分散（バラツキ）を最小化する点が平均」ということです。



## 確認
測量結果を $x_i$、真の値の点推定を m とするとユークリッド距離の総和は
$$
\sqrt{ (x_1-m)^2 + (x_2-m)^2 + \cdots + (x_N-m)^2 } 
=\sqrt{ \sum_i^N (x_i-m)^2 } \\
$$
ここで N は測量回数です。
 
この場合、平方根の中身は必ずゼロ以上なので、距離の総和を最小化することと平方根の中身を最小化することは等価です。平方根の中を $J$ と置きこれを最小化する m を求めます。

$$
J=\sum_i^N (x_i-m)^2 \\
$$

なお、J を測量回数 N で割ると式の形が分散と同じであることに注意ください。


```math
\begin{align}
\frac{J}{N}
&=\frac{1}{N} \sum_i^N (x_i-m)^2 \\
\end{align}
```

分散の式

$$
s^2 = \frac{1}{N} \sum_i^N (x_i-\bar{x})^2 \\
$$

ここで $\bar{x}$ は測量結果の平均（標本の平均）です。

J を最小化する m を求め、$m$ が測量結果の平均 $\bar{x} $ と一致することを確かめます。

J を展開します。
```math
\begin{align}
J &= \sum_i^N (x_i-m)^2 \\
&= \sum_i^N \left( x_i^2 - 2 m x_i + m^2 \right) \\
&= \sum_i^N x_i^2 - 2 m \sum_i^N x_i + N m^2 \
\end{align}
```

Ｊが最小となるのは勾配がゼロのときなので

```math
\begin{align}
\frac{\partial{J}}{\partial{m}}
&= -2 \sum_i^N x_i + 2 N m = 0
\end{align}
```
より J が最小となるのは、真の値の点推定 m が測量結果 $x_i$ の平均 $\bar{x}$ に一致するときです。
```math
m = \frac{1}{N}\sum_i^N x_i 
```

### 別法
平方完成を用います。平方完成とは、二次式を一次式の 2 乗（平方）に変形することです。

α を
```math
\alpha = \frac{1}{N} \sum_i^N x_i
```

とおくと J は

```math
\begin{align}
J
&= \sum_i^N x_i^2 - 2m \sum_i^N x_i + N m^2 \\
&= \sum_i^N x_i^2 - 2m N\alpha + N m^2
\end{align}
```

J に $N\alpha^2$ の項を追加します。$N\alpha^2$ は、プラスとマイナスの項で相殺するので結果に影響しません。

```math
\begin{align}
J
&= \sum_i^N x_i^2 - N\alpha^2 + N\alpha^2 - 2m N\alpha + N m^2 \\
&= \sum_i^N x_i^2 - N\alpha^2 + N \left(\alpha^2 - 2m \alpha + m^2 \right) \\
&= \sum_i^N x_i^2 - N\alpha^2 + N \left(m - \alpha \right)^2 \\
\end{align}
```

見やすいよう点推定 m に影響しない項を定数 c にまとめます。
```math
\begin{align}
J = c + N \left(m - \alpha \right)^2 \\
\end{align}
```

これより J が最小となるのは、$m=\alpha$ のとき、つまり測量結果 $x_i$ の平均 $\bar{x}$ に一致するときです。
```math
m = \frac{1}{N}\sum_i^N x_i
```



## 参考文献

http://www.amazon.co.jp/dp/4062577380