유클리드 거리 (Euclidean Distance), 맨해튼 거리 (Manhattan Distance), 해밍 거리 (Hamming Distance)

calico·2025년 3월 28일

Computer Science

목록 보기
1/51

1. 유클리드 거리 (Euclidean Distance)


  • 두 점 사이의 "직선 거리"를 측정합니다. 우리가 일상적으로 생각하는 가장 직관적인 거리 개념입니다.
  • 수식

    • 두 점 P(x1,y1)P(x_1, y_1)Q(x2,y2)Q(x_2, y_2) 사이의 유클리드 거리
    Euclidean Distance=(x2x1)2+(y2y1)2\text{Euclidean Distance} = \sqrt{(x_2 - x_1)^2 + (y_2 - y_1)^2}
    • 고차원 공간에서는 각 좌표 차이를 제곱한 뒤 모두 더한 값에 제곱근을 취합니다.
    Euclidean Distance=i=1n(piqi)2\text{Euclidean Distance} = \sqrt{\sum_{i=1}^n (p_i - q_i)^2}
  • 특징

    1. 2\ell_2 노름 기반 거리 측정.

    2. "직선 거리"를 반영하므로 완전한 유클리드 공간에서 유용.

    3. 이상치(outlier)에 민감함.

  • 예시

    • 두 점 A(0,0)A(0, 0), B(3,4)B(3, 4) 간 유클리드 거리
    (30)2+(40)2=9+16=5\sqrt{(3 - 0)^2 + (4 - 0)^2} = \sqrt{9 + 16} = 5



2. 맨해튼 거리 (Manhattan Distance)


  • "격자형 도시(block city)"의 거리 개념처럼, 두 점을 수직 또는 수평 방향으로만 이동하며 측정한 거리입니다.

  • 수식

    • 두 점 P(x1,y1)P(x_1, y_1)Q(x2,y2)Q(x_2, y_2) 사이의 맨해튼 거리

      Manhattan Distance=x2x1+y2y1\text{Manhattan Distance} = |x_2 - x_1| + |y_2 - y_1|
    • 고차원 공간에서는 각 좌표 차이의 절댓값을 합산합니다:

      Manhattan Distance=i=1npiqi\text{Manhattan Distance} = \sum_{i=1}^n |p_i - q_i|
  • 특징

    1. 1\ell_1 노름에 기반한 거리 측정.

    2. 이상치에 덜 민감하며, 격자 구조나 직교 좌표계에서 유용.

    3. 계산 복잡도가 낮아 빠르게 계산 가능.

  • 예시

    • 두 점 A(0,0)A(0, 0), B(3,4)B(3, 4) 간 맨해튼 거리는:
      30+40=3+4=7|3 - 0| + |4 - 0| = 3 + 4 = 7



3. 해밍 거리 (Hamming Distance)


  • 두 문자열, 벡터, 또는 이진 코드가 얼마나 다른지 나타내는 거리.

    • 두 벡터에서 서로 다른 위치에 있는 원소 개수를 셉니다.
  • 수식

    • 두 벡터 P(p1,p2,...,pn)P(p_1, p_2, ..., p_n)Q(q1,q2,...,qn)Q(q_1, q_2, ..., q_n)의 해밍 거리는
    Hamming Distance=i=1n1(piqi)\text{Hamming Distance} = \sum_{i=1}^n \mathbb{1}(p_i \neq q_i)
    • 여기서 1(piqi)\mathbb{1}(p_i \neq q_i)pip_iqiq_i가 다를 경우 11, 그렇지 않으면 00.
  • 특징

    1. 값이 서로 다른 위치의 원소 개수를 카운트.

    2. 이진 벡터 또는 순열 기반 벡터에서 주로 활용.

    3. 데이터 크기가 크거나, 문자열 비교가 필요한 경우에 유용.

  • 예시

    • 벡터 A=(1,0,1,1)A = (1, 0, 1, 1), B=(1,1,1,0)B = (1, 1, 1, 0)일 때 해밍 거리는
    Hamming Distance=1(11)+1(01)+1(11)+1(10)=0+1+0+1=2\text{Hamming Distance} = \mathbb{1}(1 \neq 1) + \mathbb{1}(0 \neq 1) + \mathbb{1}(1 \neq 1) + \mathbb{1}(1 \neq 0) = 0 + 1 + 0 + 1 = 2



4. 비교 표


특징유클리드 거리맨해튼 거리해밍 거리
정의직선 거리축을 따라 수직/수평 이동 거리서로 다른 원소(비트) 수를 세는 값
수식i=1n(piqi)2\sqrt{\sum_{i=1}^n (p_i - q_i)^2}i=1npiqi\sum_{i=1}^n \|p_i - q_i\|i=1n1(piqi)\sum_{i=1}^n \mathbb{1}(p_i \neq q_i)
노름2\ell_2 노름1\ell_1 노름이산적 정의 (유사성 기반)
응용 사례K-최근접 이웃, K-평균, 유사성 계산도시 거리 계산, 희소 데이터 처리문자열 비교, 이진 벡터 처리, 오류 탐지
이상치 민감도이상치에 민감이상치에 둔감이상치와 무관



요약


  1. 유클리드 거리는 "직선 거리"를 나타내며, 유클리드 공간 기반 문제에서 많이 활용됩니다.

  2. 맨해튼 거리는 직교하는 축을 따라 이동하는 거리로, 격자형 데이터에 유용합니다.

  3. 해밍 거리는 벡터 또는 문자열 간 다른 원소의 수를 측정하며, 텍스트나 이진 데이터 비교에 자주 사용됩니다.



profile
All views expressed here are solely my own and do not represent those of any affiliated organization.

0개의 댓글