LoginSignup
3
2

More than 3 years have passed since last update.

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

Last updated at Posted at 2021-03-20

はじめに

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

E資格試験に関する私の投稿記事リスト

目次

  1. Lpノルム
  2. 距離関数
  3. 機械学習での応用

数学表記

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

Lpノルム

$\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$ノルムの単位円については、下記をご覧ください。

Lpノルムの単位円

距離関数

距離関数の定義

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

一般の距離関数については、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$の間の距離とします。

【Lpノルムの距離】

$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$の分布に沿って、楕円形状が定まり、その楕円状の等高線に従って距離を測るのがマハラノビス距離です。

マハラノビス距離の具体的な形状については、下記をご覧ください。
マハラノビス距離の具体的な等高線

機械学習での応用

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

ダイバージェンスについては下記記事で解説しています。
情報エントロピー

おわりに

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

E資格試験に関する私の投稿記事リスト

3
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2