分析で良く用いられる距離の種類「ユークリッド距離」と「マンハッタン距離」とは

ユークリッド距離とマンハッタン距離 機械学習

はじめに

データ分析や機械学習の分野では、データ間の距離を測定する方法が重要な役割を果たします。その中でも特に広く使用されるのが、ユークリッド距離とマンハッタン距離です。本記事では、これらの距離の定義、特性、および具体的な使用例について詳しく説明します。

ユークリッド距離とは

ユークリッド距離(Euclidean Distance)は、ユークリッド空間における2点間の直線距離を指します。ユークリッド距離は、最も直感的で分かりやすい距離の測り方と言えるでしょう。

ユークリッド距離の定義

2点\( A(x_1, y_1) \)​と\( B(x_2, y_2) \)​のユークリッド距離は、次の式で計算されます。

$$ \text{距離} = \sqrt{(x_2 – x_1)^2 + (y_2 – y_1)^2} $$

この距離は、ピタゴラスの定理に基づいており、点Aから点Bまでの最短距離を計算します。

ユークリッド距離の使用例

ユークリッド距離は、多次元空間におけるデータポイント間の類似性を測定するために広く使用されます。例えば、クラスター分析やK平均法(K-means clustering)などの機械学習アルゴリズムでは、データポイント間のユークリッド距離を使用してクラスターを形成します。

マンハッタン距離とは

一方、マンハッタン距離(Manhattan Distance)は、点Aから点Bまでの移動経路が直角に曲がる距離を指します。この距離は、格子状の道路網を歩いて移動する場合の距離を表します。

マンハッタン距離の定義

2点\( A(x_1, y_1) \)​と\( B(x_2, y_2) \)​のマンハッタン距離は、次の式で計算されます。

$$ \text{距離} = |x_2 – x_1| + |y_2 – y_1| $$

これは、各座標軸に沿って移動する距離の総和です。

マンハッタン距離の使用例

マンハッタン距離は、チェスのルークの動きや、タクシーが都市の格子状の道路を走る場合の距離計算に適しています。また、L1正則化(Lasso回帰)などの機械学習アルゴリズムでも使用されます。この場合、マンハッタン距離はパラメータの絶対値の合計を最小化するように作用します。

ユークリッド距離とマンハッタン距離の比較

ユークリッド距離とマンハッタン距離は、共に距離を測定する方法ですが、異なる特性を持っています。次の図は、点A(1, 1)と点B(4, 5)の間のユークリッド距離とマンハッタン距離を示しています。

図1:青線がユークリッド距離、赤線がマンハッタン距離

この図では、青い線がユークリッド距離を、赤い点線がマンハッタン距離を表しています。ユークリッド距離は、点Aから点Bまでの直線距離であり、最も短い経路です。一方、マンハッタン距離は、格子状の道路に沿った移動経路を示しており、直角に折れ曲がった経路で点Aから点Bに到達します。

適用例と実際の使用

ユークリッド距離とマンハッタン距離の選択は、問題の性質やデータの特性に依存します。例えば、物理的な距離や実際の移動距離を測定する場合には、ユークリッド距離が適しています。一方、都市の道路網や特定のアルゴリズムでのパラメータの最適化には、マンハッタン距離が有効です。

機械学習における応用

  • クラスター分析:ユークリッド距離を使用してデータポイント間の類似性を測定し、自然なクラスターを形成します。
  • K近傍法(K-Nearest Neighbors):ユークリッド距離を用いて、未知のデータポイントがどのクラスに属するかを予測します。
  • Lasso回帰:マンハッタン距離を使用して、モデルのパラメータを制約し、重要な特徴を選択します。

画像処理における応用

  • 画像マッチング:ユークリッド距離を使用して、テンプレート画像とターゲット画像の類似性を測定します。
  • 手書き数字認識:ユークリッド距離を用いて、手書き数字の特徴量間の距離を計算し、認識精度を向上させます。

まとめ

ユークリッド距離とマンハッタン距離は、それぞれ異なる特性を持つ距離計算方法であり、データ分析や機械学習において重要な役割を果たします。ユークリッド距離は、直線距離を測定するのに適しており、マンハッタン距離は格子状の経路に沿った移動距離を測定するのに適しています。これらの距離計算方法を適切に選択し、問題に応じた分析を行うことで、より精度の高い結果を得ることができます。

コメント

Copied title and URL