ちょっと距離についてまとめてみた。

  • 17
    Like
  • 0
    Comment

「ロマンティック数学ナイトボーイズ」の発表をするにあたって、距離空間の記事を書こうと思います。

距離ってなによ?

GLSLやレイマーチングなど、3D数学をされていると、図形の形を表す数式の方程式だと思います。

だた、今回は、数学における距離を話そうと思います。

数学がおける距離とは

集合 $X$ 上で定義された $2$ 変数の実数値関数 $d: X × X → R$が、
任意の $x,y,z ∈ X$ に対して

  1. 非負性(正定値性) : $d(x, y) ≥ 0$
  2. $x = y \Longleftrightarrow d(x, y) = 0$
  3. 対称性 : $d(x, y) = d(y, x)$
  4. 三角不等式 : $d(x, y) + d(y, z) ≥ d(x, z)$

を満たすとき、$d$ は $X$ 上の距離関数であるといい、対 $(X, d)$ を距離空間と呼ぶ。

何のことかわかりませんね?

これって所謂、データの大きさを決めているんですよね。

例えば、

ベクトル $(1,2,3)$ と $(4,5,6)$ を比べてみましょう。

この二つのベクトルの数値の決め方は、いくつかあるわけです。

ユークリッド距離で計る.

$\sqrt{1^2+2^2+3^2} = \sqrt{14}$ と $\sqrt{4^2+5^2+6^2} = \sqrt{77}$ですね。

ハミング距離で計る

$ |1|+|2|+|3| = 6$ と $|4|+|5|+|6|=15$ ですね。

この時の、大小関係は、どっちの距離で測っても大小関係は変わりませんが、扱う対象によって大きさや基準が変わる可能あります。

有名な距離

ハミング距離

$d(x_1,x_2):=n−\sum \delta(x_1i,x_2i) $
詳しくはここ

マンハッタン距離

$d(x_1,x_2):=\sum|x_{1i}−x_{2i}| $
詳しくはここ

チェビシェフ距離

$d(x_1,x_2):=\max(|x_{1i}−x_{2i}|)$
詳しくはここ

距離の拡張でノルムという概念がある.

ノルム の定義

$K$ を実数体 $R$ または複素数体 $C$(あるいは絶対値を備えた任意の位相体)とし、$K$ 上のベクトル空間 $V$ を考える。

このとき任意の $a ∈ K$ と任意の $u, v ∈V$ に対して、

  1. 独立性: $ ‖v‖ = 0 ⇔ v = 0 $
  2. 斉次性: $ ‖av‖ = |a|‖v‖ $
  3. 劣加法性: $ ‖u + v‖ ≤ ‖u‖ + ‖v‖ $

を満たすような関数 $ ‖•‖: V → R; x → ‖x‖ $ を V のノルムと呼ぶ。

ノルムって結局

距離の特徴をまとめ直したものです。

ノルムの意味とL1,L2,L∞ノルム

有名なノルム

$L^2$ノルム
$ |f|_{{p,X}}:=\left(\int _{X}|f(x)|^{2}\,{\mathrm d}x\right)^{{1/2}} $

ちなみに

この距離とかノルムのから線形代数の話を大学では、関数解析という講義で習います。

早い話これってIT業界でなんの役にたつの?

統計処理

マハラノビス距離という統計処理の距離があります。

$d({\vec{x}},{\vec{y}})={\sqrt{\sum_{{i=1}}^{p}{(x_{i}-y_{i})^{2}\over\sigma_{i}^{2}}}}$

機械学習

ニューラルネットワークの普遍性定理の証明に、ハーン・バナッハの定理、リースの表現定理、フーリエ変換など関数解析の定理が使われいるそう。

ニューラルネットワークの根底の理論は関数解析の土台の元に形成されています。

参考:ニューラルネットワークが任意の関数を表現できることの視覚的証明
論文:Approximation by Superpositions of a Sigmoidal Function

以上で、理論的な内容は終わろうと思います。