2

【JDLA E資格】Lpノルム・距離関数

439
0
$$$$

mathlog初投稿です。
Qiitaで記事を投稿していましたが、BANされたので、解禁するまでこちらで投稿することにします。
[Qiitaでの私の投稿リスト]
https://qiita.com/fridericusgauss/items/5a97f2645cdcefe15ce0

E資格のwikipediaのページです。私が作成しました。
[wikipedia: E資格]
https://ja.m.wikipedia.org/wiki/E%E8%B3%87%E6%A0%BC

なお、Qiitaで解禁されたら、こちらの記事を削除し、Qiitaに移植する可能性があることをご了承ください。

はじめに

JDLA E資格試験の$L^p$ノルム・距離関数の問題を解説した記事です。
なお、この分野の問題は計算問題というより、距離の式が出されてその名前を答える、あるいは、距離の名前が出されてその式を答える、という選択問題が多いです。
よって、__距離の名前と式の対応関係を覚えれば十分__です。

数学表記

bold体の変数は、ベクトルや行列を表します。
ベクトルは列ベクトル$\boldsymbol{x}=(x_1,x_2,\cdots,x_N)^{\mathrm{T}}$です。
$\mathbb{R}$は実数集合です。

$L^p$ノルム

$\boldsymbol{x}\in \mathbb{R}^N$$L^p$ノルムは式(1)で表されます。
$$\|\boldsymbol{x}\|_p=\left(\sum_{n=1}^{N}|x_n|^p\right)^{1/p} \tag{1}$$
$p=1$のときを$L^1$ノルム、あるいはマンハッタンノルムと呼びます。
$p=2$のときを$L^2$ノルム、あるいはユークリッドノルムと呼びます。
$p \rightarrow \infty$のときを$L^{\infty}$ノルム、あるいはチェビシェフノルムと呼びます。
特に、$L^{\infty}$ノルムは式(2)で表されます。
$$\|\boldsymbol{x}\|_{\infty}=\max_{n} |x_n|\tag{2}$$
つまり、$L^{\infty}$ノルムは、$\boldsymbol{x}$の要素の中での最大値となります。

$L^p$ノルムの単位円については、下記をご覧ください。
https://ja.m.wikipedia.org/wiki/Lp%E7%A9%BA%E9%96%93

距離関数

距離関数の定義

距離とは__ある空間内に存在する二つの点の離れ具合を示す尺度__です。

一般の距離関数については、E資格では問われませんが、念のため示します。
ある空間$X$上の任意の二つの位置ベクトル$\boldsymbol{x},\boldsymbol{y} \in X$の間の離れ具合を表す関数$d: X\times X \rightarrow \mathbb{R}$が下記の条件(距離の公理)を満たすとき、$d$を__$X$上の距離関数__、あるいは単に__距離__と呼びます。

  • $d(\boldsymbol{x}, \boldsymbol{y}) \ge 0$:非負性(正定値性)
  • $\boldsymbol{x} = \boldsymbol{y} \Leftrightarrow d(\boldsymbol{x}, \boldsymbol{y}) = 0$:非退化性
  • $d(\boldsymbol{x}, \boldsymbol{y}) = d(\boldsymbol{y}, \boldsymbol{x})$:対称性
  • $d(\boldsymbol{x}, \boldsymbol{y}) + d(\boldsymbol{y}, \boldsymbol{z}) \ge d(\boldsymbol{x}, \boldsymbol{z})$:三角不等式

ただし、任意の$\boldsymbol{x},\boldsymbol{y},\boldsymbol{z} \in X$です。

距離の例

E資格で問われる距離は下記の通りです。
いずれも$\boldsymbol{x},\boldsymbol{y} \in \mathbb{R}^N$の間の距離とします。

$L^p$ノルムの距離

$L^p$ノルムの距離$d$は式(3)で表されます。
$$d(\boldsymbol{x}, \boldsymbol{y}) =\|\boldsymbol{x}-\boldsymbol{y} \|_p\tag{3}$$
$p=1$のときを$L^1$距離、あるいはマンハッタン距離と呼びます。
$p=2$のときを$L^2$距離、あるいはユークリッド距離と呼びます。
$p \rightarrow \infty$のときを$L^{\infty}$距離、あるいはチェビシェフ距離と呼びます。
特に、ユークリッド距離は、式(4)で表せます。
$$d(\boldsymbol{x}, \boldsymbol{y}) =\sqrt{(\boldsymbol{x}-\boldsymbol{y})^{\mathrm{T}}(\boldsymbol{x}-\boldsymbol{y})}\tag{4}$$

マハラノビス距離

マハラノビス距離$d$は式(5)で表されます。
$$d(\boldsymbol{x}, \boldsymbol{y}) =\sqrt{(\boldsymbol{x}-\boldsymbol{y})^{\mathrm{T}} \boldsymbol{\Sigma}^{-1}(\boldsymbol{x}-\boldsymbol{y})}\tag{5}$$
ただし、$\boldsymbol{\Sigma}\in \mathbb{R}^{N\times N}$はデータ集合$D$の共分散行列です。

マハラノビス距離(式(5))は、ユークリッド距離(式(4))と似ていますが、異なる点があります。
ある基準点からのユークリッド距離の等高線は、等方的な同心円状に拡がります。
一方、__ある基準点からのマハラノビス距離の等高線は、異方な楕円状に拡がります__。

また、ユークリッド距離は完全に二つの点だけで一意に決定されることに対して、マハラノビス距離は二つの点に加えて、データ集合$D$の分布にも依存する、統計的な距離です。
つまり、__データ集合$D$の分布に沿って、楕円形状が定まり、その楕円状の等高線に従って距離を測るのがマハラノビス距離__です。

マハラノビス距離の具体的な形状については、下記をご覧ください。
https://datachemeng.com/use_of_distance/

機械学習での応用

上記のノルムや距離は機械学習において、主に__正則化__や__誤差関数__などで使用されます。
なお、Kullback–Leiblerダイバージェンスなどで知られる__ダイバージェンス__は、二つの確率分布間の差異を表す尺度であるため、距離と類似していますが、距離の公理を満たさないため、厳密には距離ではありません。
詳細は今後の記事で解説したいと思います。

おわりに

JDLA E資格試験の$L^p$ノルム・距離関数の問題を解説しました。

[Qiitaでの私の投稿リスト]
https://qiita.com/fridericusgauss/items/5a97f2645cdcefe15ce0

投稿日:2021228
OptHub AI Competition

この記事を高評価した人

高評価したユーザはいません

この記事に送られたバッジ

バッジはありません。

投稿者

Twitterアカウント @fridericusgauss

コメント

他の人のコメント

コメントはありません。
読み込み中...
読み込み中