空間をめぐる旅

機械学習のための数学を学んでいて戸惑うもの、茫漠としてつかみどころがない、なのに至るところで重要な役割というかそもそも土台となっている概念に「空間」がある。しかも日常の言葉なので

+ なんでこんなに沢山の種類の空間があるのか
+ なにがどう違いがあるのか

がさっぱり分からない。かつ、テキストを読んでも定義、定義のオンパレードでわけがわからない。ので、ほんの気持ちだけでも分かるようにまとめてみた。

手元の本でざっと拾っただけでもこれだけあり、ちょっとだけ学んだイメージと名前の響きから平易な概念→難解な概念順に並べてみた（独断と偏見）

+ （素朴な）空間
+ ユークリッド空間
+ ベクトル空間
+ 距離空間
+ 内積空間
+ ノルム空間
+ 位相空間
+ アフィン空間
+ ヒルベルト空間
+ 共役空間
+ バナッハ空間
+ ハウスドルフ空間
……

これらをWebで探してみると
* [北野坂備忘録：再生核ヒルベルト空間](http://kenichia.hatenablog.com/entry/2017/05/16/200019)
    * ベクトル空間、ノルム空間、内積空間、バナッハ空間、ヒルベルト空間の関係性
* [趣味の大学数学：集合、構造、空間とは何か？ ユークリッド空間R^Nを例に考える](https://math-fun.net/20180711/448/)
    * 位相空間、

# （素朴な）空間
> 物体が存在しないで空いている所。また、あらゆる方向への広がり。「空間を利用する」「宇宙空間」「生活空間」 goo辞書 デジタル大辞泉（小学館） [空間](https://dictionary.goo.ne.jp/word/%E7%A9%BA%E9%96%93/)

物体が存在している場所も空間の一部ではないかと思うけど日常では空いているところですね。でも数学的には後者ですかね。

<dl>
<dt>（素朴な）空間</dt>
<dd>あらゆる方向への広がり</dd>
</dl>
これはいいだろう。

# ユークリッド空間

> 数学におけるユークリッド空間（ユークリッドくうかん、Euclidean space）は、エウクレイデス（ユークリッド）が研究したような幾何学（ユークリッド幾何学）の場となる平面や空間、およびその高次元への一般化である Wikipedia [ユークリッド空間](https://ja.wikipedia.org/wiki/%E3%83%A6%E3%83%BC%E3%82%AF%E3%83%AA%E3%83%83%E3%83%89%E7%A9%BA%E9%96%93)
>> 直感的な説明
>> （略）
>> 最後に気を付けるべき点は、ユークリッド空間は技術的にはベクトル空間ではなくて、（ベクトル空間が作用する）アフィン空間と考えなければいけないことである。直観的には、この差異はユークリッド空間には原点の位置を標準的に決めることはできない（平行移動でどこへでも動かせるため）ことをいうものである。大抵の場合においては、この差異を無視してもそれほど問題を生じることはないであろう。

```math
厳密な定義 \\
非負整数 n に対して n-次元ユークリッド空間 E^n とは、空でない集合 S と n-次元実内積空間 V の組 (S, V) で、次をみたすものをいう：\\
\begin{align*}
& 1.\quad 各 P, Q ∈ S に対して、V のベクトル \overrightarrow{PQ} が一つ定まっている。\\
& 2.\quad 任意の P, Q, R ∈ S に対して、\overrightarrow{PQ} + \overrightarrow{QR}=\overrightarrow{PR} \\
& 3.\quad 任意の P ∈ S と任意の v ∈ V に対して、ただ一つ Q ∈ S が存在して、 v=\overrightarrow{PQ} 。\\
& ある非負整数 n に対する n-次元ユークリッド空間であるものを単にユークリッド空間と呼ぶ。\\
\end{align*}
```
わ、ベクトル空間もアフィン空間も出てきたー
厳密な定義では、内積空間の概念使ってるね、、、ということでスルーして

[集合・位相入門 (松坂和夫 数学入門シリーズ 1)](https://amzn.to/38ZxrLE)の定義では、

```math
われわれは一般に、\mathbf{R}^n の2つの元x=(x_1, ..., x_n), y=(y_1, ..., y_n) \quad (x_i, y_i) \in \mathbf{R} (i=1, ..., n))に対し、その間の距離 d(x, y) を\\
d(x, y)=\sqrt{\sum_{i=1}^n{(x_i-y_i)^2}}\\
で定義する。集合 \mathbf{R}^n にこのように距離を導入したとき、\mathbf{R}^n をn次元Euclid空間とよび（以下略）
```
難しく書いてあるけど、素朴に思う「距離」と同じだ。とりあえず
<dl>
<dt>ユークリッド空間</dt>
<dd>（素朴な）「距離」（ユークリッド距離）が定義出来る空間のこと</dd>
</dl>
としておこう。
つまり、
<dl>
<dt>（素朴な）空間=（3次元）ユークリッド空間</dt>
<dt>（素朴な）空間は3次元までだけど（素朴な）「距離」を導入することで、それが満たされれば何次元でもいいと拡張された。</dt>
</dl>
データ分析において100種類のデータをプロットする100次元空間なんてものも考えられる。そして2点間の距離を考えるなんて時に必要だねユークリッド空間。

# ベクトル空間
[集合・位相入門 (松坂和夫 数学入門シリーズ 1)](https://amzn.to/38ZxrLE)の定義では、

```math
\begin{align*}
& Sを空でない集合とする。S\times SからSへの1つの写像－それをSにおける\textbf{加法}とよび、\\
& この写像による(x, y)\in S\times Sの像をx+yと書く－と、\mathbf{R}\times SからSからへの1つの写像 \\
& －それをSへのにおける\textbf{スカラー倍法}とよび、この写像による(\lambda, x)\in \mathbf{R}\times Sの像を\lambda x\\
& で表す－とが与えられ、これら2種類の算法について以下の性質Ⅰ、Ⅱが満たされるとき、\\
& Sは\textbf{ベクトル空間}をなすという。\\

& Ⅰ 加法について：\\
& 1) 任意のx, y\in Sに対して、x+y=y+x \\
& 2) 任意のx, y, z\in Sに対して、(x+y)+z=x+(y+z)\\
& 3) Sに1つの元0－Sの\textbf{零元}とよばれる－があって、Sのすべての元xに対してx+0=xが成り立つ。\\
& 4) Sの任意の元xに対し、x+(-x)=0となるSの元-xが存在する\\
\\
& Ⅱ スカラー倍法（と加法）について：\\
& 1) 任意のx, y\in S、任意の\lambda\in\mathbf{R}に対して、\lambda(x+y)=\lambda x+\lambda y\\
& 2) 任意のx\in S、任意の\lambda, \mu\in\mathbf{R}に対して、(\lambda+\mu)x=\lambda x+\mu x\\
& 3) 任意のx\in S、任意の\lambda, \mu\in\mathbf{R}に対して、(\lambda\mu)x=\lambda(\mu x)\\
& 4) 任意のx\in Sに対して1x=x\\
\end{align*}
```
<dl>
<dt>ベクトル空間</dt>
<dd>ベクトルの加法とスカラー倍法について（素朴には当たり前な）上記性質が成り立つ空間のこと。線形空間ともよばれる</dd>
</dl>
ただ、他の空間との関係性が分からないな、、、

# 距離空間

> 距離空間（きょりくうかん、metric space）とは、距離関数（きょりかんすう）と呼ばれる非負実数値関数が与えられている集合のことである。 [Wikipedial:距離空間](https://ja.wikipedia.org/wiki/%E8%B7%9D%E9%9B%A2%E7%A9%BA%E9%96%93)

距離とは普通ユークリッド距離を考えるが、データ分析している方ならご存知？の通り [Wikipedia:マンハッタン距離](https://ja.wikipedia.org/wiki/%E3%83%9E%E3%83%B3%E3%83%8F%E3%83%83%E3%82%BF%E3%83%B3%E8%B7%9D%E9%9B%A2) などがある。その他にもあり、一般化する距離の定義というのがあり、

> [Wikipedia:より抽象的な距離の定義](https://ja.wikipedia.org/wiki/%E8%B7%9D%E9%9B%A2#%E3%82%88%E3%82%8A%E6%8A%BD%E8%B1%A1%E7%9A%84%E3%81%AA%E8%B7%9D%E9%9B%A2%E3%81%AE%E5%AE%9A%E7%BE%A9)

```math
空間上の任意の2点x,yに対し、負でない実数を対応させる関数d(x,y)を定義したとき、任意の点x,y,zについて\\
\begin{align*}
& 1.\quad d(x, y)=0 \Leftrightarrow x=y\\
& 2.\quad d(x, y)=d(y, x)\\
& 3.\quad d(x,y)+d(y,z)\geq d(x,z)\\
& という性質が満たされたとき、d(x,y)を距離関数といい、この関数の値をx,y,zの距離と呼ぶ。\\
\end{align*}
```
平たく言うと
1. は同じ点のときは距離0とする
2. 2点を交換して距離を計算しても同じ距離
3. 2点の距離に対し新たな第3点との距離との足し算はもとの距離と同じかそれ以上（寄り道がもとの距離の上にあれば同じだけど、そうじゃなければ寄り道分遠くなるって感じか
ということ。普通の距離＝ユークリッド距離のことを考えると当たり前すぎるけど面白いのは逆に
**この定義を満たしていれば何でも距離とみなす**ということ。マス目の道のりのようにマンハッタン距離を考えてもいいし、cos類似度というのもある。

<dl>
<dt>距離空間</dt>
<dd>距離の定義が満たされる空間のこと</dd>
</dl>
つまり、
<dl>
<dt>ユークリッド空間だとユークリッド距離に限定されるけど、距離空間だと距離の定義を満たす別の距離関数でもいいって拡張された。</dt>
</dl>
これでマンハッタン距離やcos類似度も自由に使えるようになった。
いいぞいいぞ。


# ノルム空間
> ノルム空間は、ノルムの定義されたベクトル空間を言う [Wikipedia:ノルム線形空間（ノルム空間）](https://ja.wikipedia.org/wiki/%E3%83%8E%E3%83%AB%E3%83%A0%E7%B7%9A%E5%9E%8B%E7%A9%BA%E9%96%93)
>> ベクトルの大きさは以下のような性質を持つ:
>> 零ベクトル 0 は大きさ零、そのほかのベクトルは正の大きさを持つ。
>> ベクトルを正数倍すると、向きはそのままに大きさだけが変化する。
>> 三角不等式を満足する。つまり、ベクトルの大きさを距離と見て、点 A から点 B を経由しての点 C まで行くときの距離は直接 A から C まで行く距離よりも短くなることはない（任意の二点間の最短距離は直線距離である）。
>> これらの三性質をより抽象的なベクトル空間へ一般化することでノルムの概念は与えられる。

[集合・位相入門 (松坂和夫 数学入門シリーズ 1)](https://amzn.to/38ZxrLE)の定義では、

```math
\begin{align*}
& いま、Sを1つのベクトル空間とし、\phi をSから\mathbf{R}への1つの写像とする。ただし、x\in Sの\phi による\\ 
& 像\phi (x)をここでは \|x\|と書くことにする。これについて次の性質(Ni)-(Niv)が成り立つとき、\\
& \phi=\|\|をS上の \textbf{ノルム}という。\\
& (Nⅰ) 任意のx\in Sに対して\|x\|\ge0\\
& (Nⅱ) \|x\|=0となるのはx=0のとき、またそのときに限る\\
& (Nⅲ) 任意のx\in S、任意の\lambda \in\mathbf Rに対して\|\lambda x\|=|\lambda|\|x\|\\
& (Nⅳ) 任意のx, y\in Sに対して\|x+y\|\le\|x\|+\|y\|\\
& \\
& ベクトル空間Sの上に1つのノルム\|\|が与えられたとき、\\
& Sを\textbf{ノルム空間}という。
\end{align*}
```

<dl>
<dt>ノルム空間</dt>
<dd>ノルムの定義が満たされる空間のこと。ノルムは距離の公理を満たす数学の道具の一つ。</dd>
</dl>

また、ノルムの定義されたベクトル空間がノルム空間なので

```math
（素朴な）空間\subset ユークリッド空間 \subset 距離空間 \subset ノルム空間 \subset ベクトル空間\\
\begin{align*}
& （素朴な）空間 \\
& ↓ （次元の一般化）\\
& ユークリッド空間\\
& ↓ （距離の一般化）\\
& 距離空間\\
& ↓（距離の一般化→ノルム）\\
& ノルム空間\\
& ↓（ノルムを外した一般化）\\
& ベクトル空間\\
\end{align*}
```

# 内積空間

- [内積空間](http://hooktail.sub.jp/vectoranalysis/InnerdotSpace/)

> 内積の定義されているベクトル空間を 内積空間 と呼びます．

```math 
\begin{align*}
& 一般化された内積 \\
& 線形性　：(\alpha x + \beta y) \cdot z = \alpha x \cdot z + \beta y \cdot z \\
& 対称性　：x \cdot y = y \cdot x \\
& 正定値性：x \cdot x \geq 0, \quad x \cdot x = 0 \Leftrightarrow x = 0\\
\end{align*}
```

空間をめぐる旅はまだまだ続く