G検定(ジェネラリスト検定)
ゆーくりっどきょり
ユークリッド距離
Euclidean Distance
ユークリッド距離は、2つの点を結ぶまっすぐな線の長さとして測る距離です。各座標の差を2乗して合計し、その平方根を取って求めます。ピタゴラスの定理に由来し、数値で表された特徴やデータ同士がどれだけ離れているかを測る指標のうち、最もよく使われるものの1つです。より一般的には、2点の差のベクトルの長さ(ノルム)として定義される距離のうち、通常の内積(ドット積)を使ったものにあたります。
詳しい説明
ユークリッド距離とは
ユークリッド距離は、2つの点の間を定規でまっすぐ測ったときの長さにあたる距離です。距離や類似度の指標をまとめたサーベイ論文 A Guide to Similarity Measures では、数値の属性や特徴に対して最もよく使われる距離指標の1つとされ、ピタゴラス(Pythagoras)の定理に由来すると説明されています。
平面上の2点で考えると、横方向の差と縦方向の差を2辺とする直角三角形ができ、2点を結ぶ線はその斜辺になります。ピタゴラスの定理によれば、斜辺の長さの2乗は他の2辺の長さの2乗の和に等しいので、斜辺の長さは2辺の2乗の和の平方根として求められます。ユークリッド距離はこの考え方を、3次元やそれ以上の次元にもそのまま広げたものです。
計算の手順は次の3段階にまとめられます。
1. 2つの点について、座標の成分ごとに差を取る
2. それぞれの差を2乗し、すべて合計する
3. 合計の平方根を取る
差を2乗するので、差がプラスかマイナスかは結果に影響しません。また、どれか1つの成分の差が大きいと、2乗によってその影響が大きく効いてきます。
具体例で計算してみる
3次元の2つの点(5, 3, 4)と(2, 5, 7)の間のユークリッド距離を、手順どおりに求めてみます。
1. 成分ごとの差を取ります。1番目の成分は5から2を引いて3、2番目の成分は3から5を引いてマイナス2、3番目の成分は4から7を引いてマイナス3です。
2. それぞれを2乗します。3の2乗は9、マイナス2の2乗は4、マイナス3の2乗は9です。合計すると9と4と9で22になります。
3. 22の平方根を取ると、およそ4.69になります。
したがって、この2点のユークリッド距離は約4.69です。引き算の順番を逆にして(2, 5, 7)から(5, 3, 4)を引いても、差はマイナス3、2、3となり、2乗した値は同じ9、4、9なので、結果は変わりません。
差のベクトルの長さとしての距離
機械学習の数学の教科書 Mathematics for Machine Learning(ダイゼンロート(Deisenroth)、ファイサル(Faisal)、オン(Ong)著)では、距離をもう少し一般的な枠組みの中で定義しています。
まず、ベクトルの長さにあたるものをノルムと呼びます。各成分を2乗して合計し、その平方根を取ったものはユークリッドノルムと呼ばれ、原点からそのベクトルの先端までのユークリッド距離を表します。
そのうえで、2点の間の距離は、2点の差のベクトルのノルム(長さ)として定義されます。つまり、一方の点から他方の点へ向かう矢印を作り、その矢印の長さを距離とみなす考え方です。このとき、長さを測るための道具として内積というものが使われます。内積として、成分ごとの積を合計する通常のドット積を使ったときの距離が、ユークリッド距離です。先ほどの具体例の計算は、まさに差のベクトル(3, マイナス2, マイナス3)の長さを、通常のドット積のもとで求めたものです。
距離が満たすべき3つの性質
同じ教科書では、距離と呼べるものが満たすべき性質として、次の3つを挙げています。ユークリッド距離はこれらをすべて満たします。
- 距離は0以上の値を取り、2つの点が同じときに限って0になる
- 対称性: 点Aから点Bへの距離と、点Bから点Aへの距離は等しい
- 三角不等式: 点Aから点Cへの距離は、点Aから点Bを経由して点Cへ行く距離の合計を超えない
三角不等式は、寄り道をすると遠回りになることはあっても、近道にはならないという直感に対応しています。具体例で引き算の順番を入れ替えても値が変わらなかったのは、2つ目の性質である対称性の表れです。
内積の選び方で距離の値が変わる
距離を差のベクトルの長さとして定義すると、その長さは、どの内積を使うかによって変わります。ユークリッド距離は通常のドット積を選んだ場合の距離であり、別の内積を選べば、同じ2点でも別の値の距離になります。
教科書では次の例が挙げられています。成分がどちらも1のベクトル(1, 1)を考えます。
- 通常のドット積を内積として使うと、各成分を2乗して合計すると2になり、その平方根である2の平方根、つまり約1.41がこのベクトルの長さになります。
- 別の行列を使って定義した内積を選ぶと、同じベクトル(1, 1)の長さは1になります。この内積は、2つの成分が同じ符号のときに、通常のドット積よりも小さい値を返すように作られています。
つまり、ベクトルそのものは同じなのに、どの内積で測るかによって長さが約1.41にも1にもなるということです。差のベクトルの長さが変われば、2点の間の距離の値も変わります。
この性質は、データの距離を測るときに重要な意味を持ちます。ユークリッド距離は、どの座標軸も同じ重みで扱い、軸と軸の間の関係も考えずに長さを測ります。ところが実際のデータでは、変数ごとにばらつきの大きさが違ったり、変数同士に相関があったりします。そうした事情を反映したいときには、内積、つまり距離の測り方そのものを変えるという発想が生まれます。
その代表例が、対になる語であるマハラノビス距離です。マハラノビス距離は、変数の間の相関や、変数ごとのばらつきの違いを考慮する形で内積(距離の測り方)を変えた距離です。ユークリッド距離がすべての軸を同じ物差しで測るのに対し、マハラノビス距離はデータの広がり方に合わせて物差しを調整した距離だと捉えると、両者の関係が見えやすくなります。ベクトル(1, 1)の長さが内積の選び方で変わる例は、この調整がどういうことかを理解する土台になります。
向きの近さを測る指標との違い
ユークリッド距離は、2つの点がどれだけ離れているかという、大きさを含めた直線的な離れ具合を測ります。これとは別に、2つのベクトルがどれだけ同じ方向を向いているかという向きの近さだけを測る指標もあり、コサイン類似度はその例です。何を近いとみなしたいかによって、使う指標を選ぶことになります。
試験で問われること
G検定
- ユークリッド距離を、各座標の差を2乗して合計し、その平方根を取るという手順で計算できるか確認しておきましょう。たとえば(5, 3, 4)と(2, 5, 7)の距離が約4.69になる理由を、途中の数値(差、2乗、合計の22)とともに説明できますか。
- ユークリッド距離がピタゴラスの定理に由来すること、そして2点の差のベクトルの長さ(ノルム)として定義される距離のうち、通常の内積(ドット積)を使ったものであることを説明できますか。
- 距離が満たすべき3つの性質(0以上で2点が同じときだけ0になること、対称性、三角不等式)を、それぞれ言葉で説明できるか確認しておきましょう。
- 同じベクトル(1, 1)でも、通常の内積では長さが2の平方根(約1.41)、別の内積では1になるように、内積の選び方で距離の値が変わることを説明できますか。あわせて、変数の相関やばらつきを考慮して測り方を変えたマハラノビス距離や、向きの近さだけを測るコサイン類似度との違いも確認しておきましょう。
最終更新日: 2026/09/23