1行定義
ユークリッド距離とは、各座標の差を2乗して足し合わせ、その平方根をとって求める、2つの点を結ぶ直線の長さのことです。
くわしく
ユークリッド距離は、ふだん定規で測る「まっすぐな距離」を、何次元のデータにも広げたものです。
求め方
2点x = (x1, x2, …, xn)とy = (y1, y2, …, yn)の距離は、次の式で求めます。
d(x, y) = √((x1 − y1)² + (x2 − y2)² + … + (xn − yn)²)
2次元なら三平方の定理そのものです。たとえば(1, 2)と(4, 6)の距離は、√(3² + 4²) = √25 = 5です。2点の差のベクトルの長さ(L2ノルム)ともいえます。
機械学習での使われ方
k-means法では、各データを最も近いクラスタの中心に割り当てるときに使います。k近傍法では、距離の近いデータの多数決で分類します。階層的なクラスタリングでも、データどうしの距離としてよく使われます。
注意点
1つ目は尺度の影響です。年収(円)と年齢(歳)をそのまま使うと、数値の大きい年収の差が距離をほぼ決めてしまいます。各特徴量を標準化し、尺度をそろえてから計算します。
2つ目は相関の扱いです。ユークリッド距離は、変数どうしに相関があっても、各軸を独立に扱います。ばらつきや相関を考慮したいときは、マハラノビス距離を使います。
3つ目は高次元での性質です。次元が非常に多くなると、最も近い点と最も遠い点の距離の差が相対的に小さくなり、近さの区別がつきにくくなります。次元の呪いの一面です。
ほかの指標との違い
各座標の差の絶対値を足すマンハッタン距離(L1距離)は、碁盤の目の道に沿って進む距離にあたります。コサイン類似度は、ベクトルの長さを無視して、向きの近さだけを比べます。文書の比較のように、量より向きが大事な場面ではコサイン類似度が向いています。
覚え方
「差を2乗して、足して、ルート」と覚えます。
G検定での出題
出題のされ方
2点の座標から距離を計算させる形や、コサイン類似度・マハラノビス距離との使い分けを場面から選ばせる形が中心です。特徴量の尺度をそろえる必要性も問われます。
混同しやすい用語
◯×チェック
次の文が正しいか、誤りかを選んでください。
-
2次元の点(0, 0)と点(3, 4)のユークリッド距離は5である。
答えを見る
答え ◯ 正しい
√(3² + 4²) = √25 = 5 です。2次元では三平方の定理そのものです。
-
ユークリッド距離は、2つの点の各座標の差の絶対値を合計した値である。
答えを見る
答え × 誤り
差の絶対値の合計はマンハッタン距離(L1距離)です。ユークリッド距離は、差の2乗の合計の平方根です。
-
年収(円)と年齢(歳)のように単位の大きく異なる特徴量をそのまま使っても、ユークリッド距離には年収と年齢がほぼ同じ程度に影響する。
答えを見る
答え × 誤り
年収の差は万単位、年齢の差は数十程度なので、距離はほぼ年収の差で決まります。標準化などで尺度をそろえてから計算します。
この用語の練習問題
出典
- G検定 試験出題範囲(シラバス2024)第1.4版 (技術分野 項目37 AIに必要な数理・統計知識)
- Ian Goodfellow, Yoshua Bengio, Aaron Courville, Deep Learning, MIT Press (2016) (2.5 Norms)
- scikit-learn API Reference, sklearn.metrics.pairwise.euclidean_distances
- Kevin Beyer, Jonathan Goldstein, Raghu Ramakrishnan, Uri Shaft, When Is “Nearest Neighbor” Meaningful?, ICDT 1999, LNCS 1540