유클리드 거리(Euclidean distance)
두 점을 잇는 곧은 선분의 길이. 좌표 차이의 제곱을 모두 더해 제곱근을 씌운 값으로, 피타고라스 정리(Pythagorean theorem)가 몇 차원으로든 그대로 늘어난 것이다.
종이 위의 두 점이 얼마나 떨어져 있는지는 자로 재면 됩니다. 그런데 두 점의 좌표만 알 때는 거리를 어떻게 계산할까요? 아래 왼쪽 그림의 처음 위치에서 P는 (−2, −1), Q는 (1.8, 1.2)에 있습니다. 가로로는 1.8 − (−2) = 3.8, 세로로는 1.2 − (−1) = 2.2만큼 떨어져 있습니다. 이 두 길이를 두 변으로 하는 직각삼각형(right triangle)을 그리면, P와 Q를 잇는 선분은 그 빗변입니다. 그래서 피타고라스 정리에 따라 거리는
일반적으로 가로 차이를
아래 왼쪽 그림에서는 두 점을 끌어 옮기거나 좌표축을 돌려 볼 수 있습니다. 오른쪽 상자 그림(box plot)은 같은 계산을 3차원으로 넓힌 것으로, 뒤에서 다룹니다. 먼저 왼쪽입니다. 좌표축은 사람이 정한 것이니 돌려도 됩니다. 축을
축을 돌리는 동안 초록 변과 주황 변의 길이는 바뀌지만, 청록 빗변(hypotenuse)은 길이가 그대로였을 것입니다. 축을 돌려도 선분 PQ 자체는 움직이지 않고, 유클리드 거리는 그 선분의 길이일 뿐이기 때문입니다. 이것이 유클리드 거리가 특별한 이유입니다.
식으로도 확인할 수 있습니다. 점 P, Q의 좌표를 벡터(vector)
맨해튼 거리(Manhattan distance)와 체비쇼프 거리(Chebyshev distance)는 왜 바뀔까요? 세 거리는 Lp 노름(Lp norm)이라는 한 가족에 속합니다. 좌표 차이를 (a, b)라 하면 L1 노름(norm)은
차원이 늘어도 방법은 같습니다. 오른쪽 상자(끌어서 돌려 볼 수 있습니다)에서 바닥의 대각선은 가로와 세로로 만든 빗변
제곱한 거리는 통계(statistics)에서도 자주 쓰입니다. 분산(variance)은 각 자료가 평균(mean)에서 떨어진 거리를 제곱해 평균한 것입니다. 예를 들어 1, 2, 3의 평균은 2이고 떨어진 거리는 1, 0, 1이니, 분산은 (1 + 0 + 1)/3 = 2/3입니다. 점들 사이를 지나는 직선을 찾는 최소제곱법(method of least squares)의 선형 회귀와, 점들을 몇 무리로 나누는 k-평균 군집(k-means clustering)도 제곱 거리의 합이 가장 작아지도록 답을 고릅니다.
종 모양의 정규분포(normal distribution)도 거리로 읽을 수 있습니다. 변수가 여럿인 표준 정규분포(변수마다 평균 0, 표준편차(standard deviation) 1이고 서로 독립(independence)인 경우)에서, 어떤 점 근처에 값이 나올 가능성(밀도)은 중심에서 그 점까지의 유클리드 거리 r에만 달려 있습니다. 정확히는
흔히 거리를 제곱한 값도 거리처럼 쓸 수 있다고 생각하지만, 그렇지 않습니다. 거리라면 '다른 점을 거쳐 돌아가는 길이 곧장 가는 길보다 짧을 수 없다'는 규칙(삼각부등식, triangle inequality)을 지켜야 하는데, 제곱 거리는 이를 깹니다. 수직선 위의 0, 1, 2를 봅시다. 제곱 거리로 0에서 2까지는 2² = 4인데, 1을 거쳐 가면 1² + 1² = 2로 오히려 짧아집니다. 그래서 제곱 거리는 거리 함수(metric)가 아닙니다.
역사. 이름은 기원전 300년 무렵 알렉산드리아의 유클리드에서 왔습니다. 그의 『원론』에는 피타고라스 정리가 증명과 함께 실려 있지만, 『원론』의 기하학에는 좌표가 없었습니다. 길이는 수로 계산하지 않고 선분끼리 견주었습니다. 두 점의 좌표만으로 거리를 계산하는 이 공식은 17세기에 데카르트(1637년 『기하학』)와 페르마가 도형을 좌표와 식으로 다루는 길을 연 뒤에야 자연스럽게 나올 수 있었습니다.
이어지는 곳. 곧은 길이 늘 옳지는 않습니다.
- 지구 위에서는 땅속을 뚫고 갈 수 없으니 표면의 대원(지구 중심을 지나는 평면이 지표면과 만나는 큰 원)을 따라 재야 합니다. 위도와 경도로 그 길이를 구하는 식이 하버사인 공식(haversine formula)입니다.
- 길이 바둑판처럼 난 도시에서는 가로세로로만 움직일 수 있으니 맨해튼 거리가 현실적입니다.
- 키(cm)와 몸무게(kg)처럼 단위가 다르고 서로 상관된 데이터에서는 좌표 차이를 그대로 제곱해 더하는 것이 공정하지 않습니다. 이때는 퍼짐과 상관을 반영한 마할라노비스 거리(Mahalanobis distance)가 맞습니다.
- 좌표가 서로 독립으로 흩어진 점들이라면, 차원이 아주 높을 때 가장 가까운 점과 가장 먼 점의 거리 차이가 거리 자체에 비해 작아져 유클리드 거리마저 구별력을 잃습니다(차원의 저주, curse of dimensionality).
- 모든 벡터를 길이 1로 맞추면
라서, 유클리드 거리로 가까운 순서와 코사인 유사도(cosine similarity)로 비슷한 순서가 같아집니다. 문서 임베딩(embedding)을 찾는 검색 증강 생성(retrieval-augmented generation) 시스템이 흔히 벡터를 길이 1로 맞추어 저장하는 까닭입니다.
이 개념이 나오는 긴 글
이 개념 위에 세워진 것
이 개념을 언급하는 페이지
- 단위원과 라디안
… 위에서 두 점을 잇는 가장 짧은 길은 그 위에 있습니다(측지선). '거리 1인 점들'이 원이 되는 것은유클리드 거리로 쟀기 때문입니다. 가로·세로로만 다닐 수 있을 때의 거리인 맨해튼 거리로 재면 마름모, 가로와 세로 …
- 피타고라스 정리
… 까지의 거리는 \sqrt{x^2 + y^2} 이고, 두 점 사이의 거리도 좌표 차이로 같은 계산을 합니다(유클리드 거리). 차원이 늘어도 성분의 제곱을 모두 더해 제곱근을 씌우면 됩니다. 복소수의 크기 |a + bi| …
- 삼각함수의 덧셈정리
… C를 원점에, 변 a를 x축 위에 두면 나머지 꼭짓점의 좌표가 (b cos C, b sin C)이고,두 점 사이의 거리공식과 피타고라스 항등식만으로 c^2 = a^2 + b^2 - 2ab\cos C 가 나옵니다. …
- 마할라노비스 거리
… 같은 점들, 흐린 타원은 마할라노비스 거리 1, 2, 3입니다. 처음 자리에서 A와 B는 평균에서 자로 잰유클리드 거리가 , 같아서 분홍 원 위에 함께 있습니다. 그러나 A는 구름이 길게 뻗은 쪽에 있고, B는 점이 거의 …
- 코사인 유사도
… 2 - 2\cos\theta 입니다(지금 ). 벡터를 미리 길이 1로 맞춰 두면 코사인 유사도가 큰 순서와유클리드 거리가 가까운 순서가 똑같아지고, 대규모 벡터 검색이 이 성질을 씁니다. 다만 흔히 '코사인 거리'라 부르는 …
- k-평균 군집
… 않으므로) k-평균의 무리들은 볼록한 칸으로 서로 갈라지고, 초승달이나 고리 모양의 무리는 찾지 못합니다.유클리드 거리의 제곱을 쓰기 때문에 축의 단위에 민감하고 멀리 떨어진 이상값에 끌려갑니다. 맨해튼 거리의 합을 …
- 차원의 저주
… 이웃 분류⟧나 가까운 점끼리 묶는 k-평균 군집은 기댈 곳을 잃습니다. 까닭은 큰 수의 법칙입니다.유클리드 거리의 제곱은 좌표마다의 차이 제곱을 d개 더한 합이고, 0과 1 사이 두 균등 난수의 차이 제곱은 …
- 최적 수송
… 거리⟧(L1 거리)입니다. 비교해 봅시다. 히스토그램을 16개 수의 벡터로 보고 칸마다의 차이로 잰L2 거리는 입니다. 오른쪽 그림은 구덩이를 0칸부터 7칸까지 옮길 때 두 값을 각자의 최댓값이 1이 되도록 맞춰 …
- 거리 함수
거리라고 하면 보통 자로 잰 곧은 길이, 곧 피타고라스 정리로 계산하는유클리드 거리를 떠올립니다. 하지만 택시가 실제로 달린 거리, 두 단어가 얼마나 다른지, 지구 위 두 도시 사이의 …
- 맨해튼 거리
… 이것이 맨해튼 거리(택시 거리)입니다. 새가 날아가는 곧은 거리, 곧 피타고라스 정리의 빗변인유클리드 거리보다 늘 길거나 같습니다. 출발점 P와 도착점 Q를 교차로 사이에서 끌어 보세요. 택시 거리는 블록, 곧은 …
- Lp 노름
… 수학자 헤르만 민코프스키의 이름을 따 민코프스키 거리라고도 합니다. p = 2이면 피타고라스 정리의유클리드 거리, p = 1이면 맨해튼 거리, p를 한없이 키우면 가장 큰 성분만 남는 체비쇼프 거리입니다. …
- 보로노이 다이어그램
… 나누고 칸마다 가장 가까운 기준점의 색을 칠했습니다. 회색 칸은 두 기준점까지의 거리가 똑같은 곳입니다.유클리드 거리에서 두 기준점 a, b까지의 거리가 같은 점들은 선분 ab의 수직이등분선입니다. |x - a|^2 = …
- 하버사인 공식
… 는 사실 지구 속을 곧게 뚫은 현의 길이 c로 (c/2R)^2 입니다. 현의 길이는 3차원유클리드 거리이니, 하버사인 공식은 피타고라스 정리로 현을 재고 그것을 호의 길이로 바꾸는 셈입니다. 아주 가까운 …
- 단어 임베딩
… 이동을 A에 더한 곳이 노란 고리이고, 청록 고리가 그곳에서 코사인으로 가장 가까운 낱말입니다. 가까움을유클리드 거리가 아니라 코사인 유사도로 재는 까닭은, 자주 나오는 낱말일수록 세어 얻은 벡터가 길어지기 때문입니다. …
- 최소 신장 트리
… 건너뛰기는 길을 늘리지 않습니다. 그래서 이렇게 얻은 순회는 최적의 두 배를 넘지 않습니다. 이 그림에서는유클리드 거리를 썼습니다.
- 섀넌–하틀리 정리
… 몰린다는 차원의 저주가 여기서는 축복이 됩니다. 이진 통로의 잡음 구름 세기(통로 부호화 정리)를유클리드 거리의 세계로 옮긴 그림입니다. 이어지는 곳. 이산 통로의 용량은 통로 용량에서, 1초에 표본 2B개면 …
- 검색 증강 생성
… 방향은 더 어긋나 있어도 벡터가 긴 문서 3이 1위로 올라오고 짧은 문서 2는 3위로 밀립니다. 셋째,유클리드 거리는 q의 길이에 따라 순위가 바뀝니다. 그런데 모든 벡터를 길이 1로 맞추면 세 기준이 같은 순위를 …