地図上の2地点を直線で結んだ長さ——それがユークリッド距離です。誰もが知っている「普通の距離」ですが、機械学習ではデータどうしの「似ている度合い」を測るものさしとして、k-means法やk近傍法の心臓部で働いています。他の距離との違いまで含めて整理しましょう。
📖 ひと言でいうと
ユークリッド距離とは、2点間を直線で結んだときの長さのことで、各座標の差を2乗して合計し、平方根をとって計算します。三平方の定理(ピタゴラスの定理)をそのまま距離の定義にしたものです。
日常で「距離」と言ったときに思い浮かべる、定規で測るまっすぐな長さがユークリッド距離そのものです。機械学習では、データを多次元空間の点とみなし、この距離が近いデータどうしを「似ている」と解釈します。
🖼 1枚でわかるユークリッド距離
📘 公式テキストの説明
ユークリッド距離は、公式テキストでは単独の解説段落が置かれておらず、「AIに必要な数理・統計知識」の章でマハラノビス距離・コサイン類似度などと並ぶ統計キーワード群のひとつとして挙げられています。
そのため本記事では、標準的な定義に沿って解説します。この章では「データとデータの近さをどう測るか」という尺度のグループ(ユークリッド距離・マハラノビス距離・コサイン類似度)が並んでおり、その中で最も基本となるのがユークリッド距離です。他の2つは「ユークリッド距離では不十分な場面のための代替尺度」として整理すると全体がつながります。
🔍 しっかり理解する
定義と検算: 三平方の定理そのもの
2次元平面上の点 (x1, y1) と (x2, y2) のユークリッド距離は次の式で求めます。
距離 = √( (x1 − x2)の2乗 + (y1 − y2)の2乗 )
点 (1, 2) と点 (4, 6) で検算しましょう。横方向の差は 4 − 1 = 3、縦方向の差は 6 − 2 = 4。2乗和は 9 + 16 = 25 で、平方根をとると距離は 5 です。直角三角形の斜辺の長さを求める三平方の定理と同じ計算であることがわかります。
この式は3次元でも100次元でもそのまま拡張できます。各次元の差を2乗して足し、最後に平方根をとるだけです。名前は、古代ギリシャの数学者ユークリッドが体系化した幾何学(ユークリッド幾何学)に由来します。
機械学習での役割: 「近い=似ている」のものさし
機械学習では、データ1件を「特徴量の数だけ次元がある空間の1点」とみなします。たとえば顧客を(年齢、年収、購入回数)の3次元の点で表せば、点どうしのユークリッド距離が「顧客の似ている度合い」になります。この発想を直接使うのが次の手法です。
- k近傍法(k-NN) — 新しいデータの近くにある既知データk件を距離で探し、多数決で分類する
- k-means法 — 各データを最も近いクラスタ中心に割り当てる。この「近さ」が標準的にはユークリッド距離
- 最近傍探索・類似画像検索 — 画像や文書を数値ベクトル(埋め込み)にして、距離が近いものを検索する
使うときの2つの注意点
第一に、スケールの影響です。年齢(20〜60程度)と年収(数百万円単位)を混ぜて距離を計算すると、数値の大きい年収の差だけで距離がほぼ決まってしまいます。そのため、事前に各特徴量を標準化(平均0・分散1に揃える)するのが定石です。
第二に、高次元での機能低下です。次元(特徴量の数)が非常に多くなると、どの点どうしの距離も似たり寄ったりになり、「近い・遠い」の区別が効きにくくなります。これは次元の呪いと呼ばれる現象の一面で、高次元データでは次元削減と組み合わせる、あるいはコサイン類似度など別の尺度を使うといった工夫がされます。
他の距離・類似度との対比
- 直線(斜め)の最短距離
- (1,2)と(4,6)なら √(9+16) = 5
- 値の「大きさの差」をそのまま反映
- 碁盤の目の道路を縦横に進む距離
- (1,2)と(4,6)なら 3 + 4 = 7
- 差の絶対値の合計。外れ値の影響がやや穏やか
このほか、ベクトルの向きの近さだけを見るコサイン類似度(文書の類似度計算で定番)、データのばらつきと相関で補正するマハラノビス距離(異常検知で定番)があります。「大きさの差ならユークリッド、向きならコサイン、分布基準ならマハラノビス」という使い分けが整理の軸です。
💡 具体例で考える
ECサイトの「この商品を買った人はこんな商品も」という推薦を単純化して考えます。顧客Aの購入傾向を(食品: 8回, 家電: 1回)、顧客Bを(食品: 7回, 家電: 2回)、顧客Cを(食品: 1回, 家電: 9回)というベクトルで表すと、AとBの距離は √(1 + 1) ≒ 1.41、AとCの距離は √(49 + 64) = √113 ≒ 10.6。距離が近いBの購入履歴をAへの推薦候補にする、というのが近傍ベースの推薦の基本発想です。
また、手書き数字認識の古典的なアプローチでは、画像の画素値を並べたベクトルどうしのユークリッド距離を測り、最も近い既知の数字画像のラベルを答えるk近傍法が使われてきました。シンプルながら、距離が「見た目の類似」をある程度捉えられることを示す好例です。
⚠️ よくある誤解・紛らわしい用語
- マンハッタン距離との混同 — ユークリッドは「斜めに直線」、マンハッタンは「縦横のみ」。同じ2点でも値が異なります(上の例では5と7)。
- コサイン類似度との違い — コサイン類似度はベクトルの向き(角度)だけを見て、大きさを無視します。また「類似度」なので値が大きいほど似ている点も距離とは逆です。
- マハラノビス距離との違い — ユークリッド距離はデータの分布を考慮しません。ばらつきや相関を考慮した距離が必要な場面(異常検知など)ではマハラノビス距離が使われます。
- 「距離はいつでもユークリッドで良い」わけではない — スケール差や高次元では誤った近さを返すことがあり、標準化や尺度の選び直しが必要です。
📝 試験でのポイント
- 座標を与えて距離を計算させる、または計算式(差の2乗和の平方根)を選ばせる形式が想定されます。
- マンハッタン距離・コサイン類似度・マハラノビス距離との対応付け問題は、この分野の典型パターンです。
- k-means法やk近傍法の説明文中で「データ間の距離」として登場する、文脈理解型の出題も考えられます。
- スケールの影響を受けるため標準化が必要になる、という実務上の注意点も正誤判定の題材になり得ます。
📚 まとめ
- ユークリッド距離は、各座標の差の2乗和の平方根で求める「直線の最短距離」です。
- 機械学習では「距離が近い=似ている」の標準的なものさしとして、k-means法やk近傍法を支えています。
- スケールの影響を受けるため標準化が前提になり、高次元では次元の呪いにより判別力が落ちます。
- マンハッタン距離・コサイン類似度・マハラノビス距離との使い分けをセットで整理しておきましょう。
