거리 함수
1. 개요
1. 개요
거리 함수는 수학에서 두 점 사이의 '떨어진 정도'를 측정하는 규칙이다. 이 함수는 주어진 집합의 임의의 두 원소를 입력받아, 그들 사이의 거리를 나타내는 하나의 실수 값을 반환한다. 거리 함수가 정의된 집합을 거리 공간이라고 부르며, 이는 해석학, 위상수학, 기하학 등 여러 수학 분야의 기초가 된다.
거리 함수는 세 가지 기본 공리를 만족해야 한다. 첫째, 거리는 항상 0 이상이며, 거리가 0인 경우는 두 점이 완전히 같을 때 뿐이다(양의 정부호성). 둘째, A점에서 B점까지의 거리는 B점에서 A점까지의 거리와 항상 같다(대칭성). 셋째, 한 점을 거쳐 가는 경로의 거리는 직접 가는 거리보다 짧을 수 없으며, 이를 삼각 부등식이라 한다.
가장 친숙한 예는 2차원 평면에서 두 점 사이의 직선 길이를 계산하는 유클리드 거리이다. 그러나 응용 분야에 따라 다양한 거리 함수가 사용된다. 예를 들어, 격자 모양의 도로를 이동할 때의 거리를 재는 맨해튼 거리, 데이터의 패턴과 상관관계를 고려한 마할라노비스 거리 등이 있다.
이 개념은 수학적 이론을 넘어 컴퓨터 과학의 알고리즘, 머신 러닝의 클러스터링, 통계학의 데이터 분석 등 현실 세계의 다양한 문제를 해결하는 데 광범위하게 활용된다.
2. 정의
2. 정의
거리 함수는 주어진 집합 안의 두 점 사이의 '거리'라는 개념을 수학적으로 엄밀하게 정의하는 함수이다. 공식적으로, 어떤 집합 X 위에 정의된 함수 d: X × X → 실수가 다음 세 가지 공리를 만족할 때, 이 함수 d를 거리 함수 또는 거리라고 부른다.
첫째, 양의 정부호성이다. 임의의 두 점 x, y ∈ X에 대해, 거리 d(x, y)는 항상 0 이상의 값을 가지며, 거리가 정확히 0인 경우는 두 점이 동일한 경우에만 해당한다. 이는 '거리'가 음수가 될 수 없으며, 서로 다른 점 사이에는 반드시 양의 거리가 존재함을 보장한다. 둘째, 대칭성이다. 점 x에서 점 y까지의 거리는 점 y에서 점 x까지의 거리와 항상 같다. 셋째, 삼각 부등식이다. 세 점 x, y, z에 대해, 점 x에서 점 z로 직접 가는 거리는 x에서 y를 거쳐 z로 가는 거리의 합보다 크지 않다. 이는 우리가 일상적으로 이해하는 삼각형의 한 변의 길이는 다른 두 변의 길이의 합보다 작거나 같다는 직관을 공리화한 것이다.
이 세 가지 조건을 만족하는 함수 d를 통해 정의된 순서쌍 (X, d)를 거리 공간이라고 한다. 거리 함수는 해석학, 위상수학, 기하학 등 수학의 여러 분야에서 근본적인 역할을 하며, 점열의 수렴, 함수의 연속성, 집합의 컴팩트성 같은 핵심 개념들을 일반적인 공간으로 확장하는 토대를 제공한다.
3. 수학적 성질
3. 수학적 성질
3.1. 거리 공리의 조건
3.1. 거리 공리의 조건
거리 함수가 수학적으로 유효하기 위해 반드시 충족해야 하는 세 가지 기본 조건을 거리 공리라고 한다. 이 공리들은 거리 공간을 정의하는 핵심이 된다.
첫 번째 공리는 양의 정부호성이다. 이는 임의의 두 점 사이의 거리는 항상 0 이상의 실수값을 가지며, 거리가 정확히 0인 경우는 두 점이 완전히 동일할 때 뿐임을 규정한다. 두 번째 공리는 대칭성으로, 점 A에서 점 B까지의 거리는 점 B에서 점 A까지의 거리와 항상 같아야 함을 의미한다. 이는 직관적인 거리 개념과 일치한다.
세 번째이자 가장 중요한 공리는 삼각 부등식이다. 이는 어떤 두 점을 직선으로 연결하는 것이 항상 다른 점을 경유하는 것보다 짧거나 같아야 한다는 원리이다. 즉, 세 점이 주어졌을 때, 한 점에서 다른 점으로 직접 가는 거리는 나머지 점을 경유하는 두 거리의 합을 넘지 않는다. 이 조건은 기하학의 기본 원리이며, 위상수학에서 수렴과 연속성을 논하는 데 필수적이다.
이 세 가지 공리를 모두 만족하는 함수만이 진정한 의미의 거리 함수, 즉 거리(metric)로 인정받을 수 있다. 이러한 엄격한 정의를 통해 다양한 수학적 대상 위에서 거리 개념을 일반화하고, 해석학의 여러 개념을 확장 적용하는 것이 가능해진다.
3.2. 유사 거리 함수
3.2. 유사 거리 함수
유사 거리 함수는 거리 함수의 정의에서 하나 이상의 공리를 완화하거나 약화시킨 함수이다. 이들은 정확한 거리 개념을 제공하지는 않지만, 특정 수학적 또는 응용 분야에서 유용한 일반화된 거리 개념을 제공한다. 대표적인 예로는 준거리 함수, 반거리 함수, 유사거리 함수 등이 있으며, 각각은 거리 공리의 조건을 다르게 완화한다.
준거리 함수는 삼각 부등식은 만족하지만, 두 서로 다른 점 사이의 거리가 0일 수 있다는 점에서 거리 함수의 첫 번째 공리(양의 정부호성)를 약화시킨다. 즉, d(x, y)=0이더라도 x와 y가 같지 않을 수 있다. 반거리 함수는 대칭성 공리를 만족하지 않는 경우를 말하며, 방향성을 가진 거리 개념에 해당한다. 유사거리 함수는 삼각 부등식을 전혀 요구하지 않는 가장 약한 형태의 거리 개념이다.
이러한 유사 거리 함수는 위상수학에서 일반적인 거리 공간보다 더 넓은 공간 구조를 연구하는 데 활용되며, 컴퓨터 과학의 알고리즘 이론이나 네트워크 이론에서 비대칭적 관계나 계층적 구조를 모델링할 때도 사용된다. 또한 데이터 과학과 머신 러닝에서는 데이터 간의 유사도를 측정하는 유사도 측정 함수 중 일부가 이러한 유사 거리 함수의 성질을 가진다.
4. 거리 함수의 예시
4. 거리 함수의 예시
4.1. 유클리드 거리
4.1. 유클리드 거리
유클리드 거리는 가장 익숙하고 직관적인 거리 함수로, 일상생활에서 말하는 '직선 거리'를 수학적으로 일반화한 개념이다. 이 거리는 유클리드 기하학의 기본이 되며, 2차원 평면이나 3차원 공간에서 두 점 사이의 최단 직선 길이를 계산하는 피타고라스 정리를 고차원 실수 공간으로 확장한 것이다.
n차원 실수 공간 R^n 상의 두 점 x=(x1, x2, ..., xn)와 y=(y1, y2, ..., yn) 사이의 유클리드 거리 d(x, y)는 각 좌표 차이의 제곱합에 제곱근을 취한 값으로 정의된다. 즉, d(x, y) = √((x1 - y1)² + (x2 - y2)² + ... + (xn - yn)²)의 공식을 따른다. 이 정의는 거리 함수의 세 가지 공리인 양의 정부호성, 대칭성, 삼각 부등식을 모두 만족시킨다.
유클리드 거리는 물리학에서 입자 간 거리를 계산하거나, 컴퓨터 그래픽스에서 객체의 충돌 감지를 수행하는 등 다양한 분야의 기초가 된다. 특히 데이터 과학과 머신 러닝에서는 K-최근접 이웃 알고리즘이나 k-평균 군집화와 같은 알고리즘에서 데이터 포인트 간 유사성을 측정하는 기본 척도로 널리 사용된다.
이 거리 함수로 정의된 거리 공간은 유클리드 공간이라고 불리며, 여기서 파생된 표준적인 위상 구조를 가진다. 유클리드 거리는 맨해튼 거리나 체비쇼프 거리와 같은 다른 거리 함수들과 비교될 때, 그 기하학적 의미와 계산상의 특징을 이해하는 중요한 기준이 된다.
4.2. 맨해튼 거리
4.2. 맨해튼 거리
맨해튼 거리는 거리 함수의 대표적인 예시 중 하나로, 두 점 사이의 거리를 각 좌표축 방향의 차이의 절댓값의 합으로 정의한다. 이 거리 체계는 격자 형태의 도로망을 가진 도시에서 한 지점에서 다른 지점까지 이동할 때, 도로를 따라 이동해야 하는 실제 거리를 모델링하는 데 적합하다. 이러한 특성 때문에 택시 거리 또는 L1 거리라고도 불린다.
2차원 평면 위의 두 점 A(x1, y1)와 B(x2, y2) 사이의 맨해튼 거리는 |x1 - x2| + |y1 - y2|로 계산된다. 이를 n차원 유클리드 공간으로 일반화하면, 두 점 사이의 거리는 각 성분(좌표) 차이의 절댓값을 모두 더한 값이 된다. 이는 유클리드 거리가 직선 거리를 측정하는 것과 대비되며, 좌표축에 평행한 이동만을 허용하는 격자 공간에서의 거리 개념을 제공한다.
맨해튼 거리는 컴퓨터 과학과 데이터 과학 분야에서 널리 활용된다. 예를 들어, 격자 기반의 경로 탐색 알고리즘, 이미지 처리, 그리고 고차원 데이터의 군집 분석에서 유클리드 거리 대신 사용되기도 한다. 특히 데이터의 특징 간 상관관계가 없거나 독립적일 때 효과적인 거리 척도로 평가받는다.
이 거리는 노름 공간에서의 L1 노름과 직접적으로 연결된다. 벡터 공간에서 한 점에서 다른 점까지의 벡터에 L1 노름을 적용한 값이 바로 맨해튼 거리가 된다. 따라서 이는 민코프스키 거리 계열에서 매개변수 p가 1일 때의 특수한 경우에 해당한다.
4.3. 최대 거리 (체비쇼프 거리)
4.3. 최대 거리 (체비쇼프 거리)
최대 거리는 두 점 사이의 각 좌표 차이의 절댓값 중 최댓값을 거리로 정의하는 함수이다. 체비쇼프 거리라고도 불리며, 특히 체스판에서 왕이 한 칸에서 다른 칸으로 이동하는 최소 횟수를 계산하는 데 사용되기 때문에 체스판 거리라는 별칭도 가진다. 이 거리는 민코프스키 거리 계수가 무한대로 갈 때의 극한에 해당하는 특별한 경우로 볼 수 있다.
유클리드 평면 R² 상의 두 점 (x₁, y₁)과 (x₂, y₂) 사이의 최대 거리 d_∞는 수식으로 d_∞((x₁, y₁), (x₂, y₂)) = max(|x₁ - x₂|, |y₁ - y₂|) 와 같이 표현된다. 이 정의는 n차원 공간으로 자연스럽게 확장될 수 있으며, 각 좌표 차이의 절댓값 중 최댓값을 취한다. 이 거리 함수는 거리 공간의 세 가지 공리인 양의 정부호성, 대칭성, 삼각 부등식을 모두 만족시킨다.
최대 거리는 이미지 처리와 컴퓨터 그래픽스 분야에서 두 픽셀 또는 도형 사이의 거리를 측정할 때 자주 활용된다. 또한, 게임 이론에서 보드 게임의 이동 거리를 분석하거나, 공업 설계에서 공차 분석을 수행할 때 유용하게 적용된다. 이 거리를 사용하면 공간상의 점들을 중심으로 하는 정사각형 형태의 등거리 곡선을 얻을 수 있다는 특징이 있다.
유클리드 거리나 맨해튼 거리와 비교할 때, 최대 거리는 좌표 차이 중 가장 큰 하나의 차원만을 고려한다는 점에서 차이가 있다. 이는 모든 좌표 차이를 종합적으로 고려하는 유클리드 거리와는 대비되는 성질이며, 특정 응용 분야에서는 이 단순함이 계산상의 이점으로 작용한다.
4.4. 민코프스키 거리
4.4. 민코프스키 거리
민코프스키 거리는 유클리드 거리, 맨해튼 거리, 체비쇼프 거리를 일반화한 거리 함수의 패밀리이다. 이 거리는 두 점 x와 y 사이의 거리를 계산할 때 사용하는 매개변수 p의 값에 따라 다양한 형태를 가진다. n차원 공간에서 두 점 x = (x₁, x₂, ..., xₙ)와 y = (y₁, y₂, ..., yₙ) 사이의 민코프스키 거리는 각 좌표 차이의 절댓값을 p제곱하여 합한 후, 그 합의 p제곱근을 취하는 방식으로 정의된다.
민코프스키 거리의 핵심은 매개변수 p의 선택에 있다. p=2일 때는 유클리드 거리(직선 거리)가 되고, p=1일 때는 맨해튼 거리(택시 거리)가 된다. p가 무한대로 갈수록 그 극한은 각 좌표 차이의 절댓값 중 최댓값을 취하는 체비쇼프 거리(최대 거리)에 수렴한다. 따라서 이 세 가지 잘 알려진 거리는 모두 민코프스키 거리의 특수한 경우에 해당한다.
이 거리는 p ≥ 1일 때만 거리 공간의 정의를 만족하는 진정한 거리 함수가 된다. p가 1보다 작으면 삼각 부등식이 성립하지 않아 거리 함수의 조건을 충족시키지 못한다. 민코프스키 거리는 패턴 인식, 클러스터링, 컴퓨터 비전 등 다양한 데이터 과학 및 머신 러닝 분야에서 데이터 포인트 간의 유사성이나 차이를 측정하는 데 널리 활용된다.
4.5. 마할라노비스 거리
4.5. 마할라노비스 거리
마할라노비스 거리는 통계학과 다변량 분석에서 주로 사용되는 거리 척도이다. 이 거리는 두 다변량 데이터 점 사이의 거리를 계산할 때, 각 변수들의 분산과 변수들 간의 상관관계를 고려한다는 점에서 유클리드 거리와 구분된다. 즉, 데이터의 공분산 구조를 반영하여 거리를 측정한다.
구체적으로, 공분산 행렬이 Σ인 확률 변수의 두 관측 벡터 x와 y 사이의 마할라노비스 거리 d_M은 다음과 같이 정의된다.
d_M(x, y) = √((x - y)^T Σ^{-1} (x - y))
여기서 Σ^{-1}는 공분산 행렬의 역행렬을 의미한다. 만약 공분산 행렬이 단위 행렬이라면, 이 공식은 표준 유클리드 거리 공식으로 환원된다.
이 거리의 주요 응용 분야는 이상치 탐지와 군집 분석이다. 데이터 세트 내에서 다른 관측치들과 통계적 특성이 현저히 다른 점, 즉 이상치를 찾을 때 유클리드 거리보다 마할라노비스 거리가 더 효과적일 수 있다. 또한 기계 학습의 분류 알고리즘 중 하나인 선형 판별 분석에서도 클래스 간 분리를 측정하는 데 활용된다.
마할라노비스 거리는 거리 함수의 세 가지 공리(양의 정부호성, 대칭성, 삼각 부등식)를 모두 만족하는 진정한 거리 함수이다. 이는 프라샤타 찬드라 마할라노비스라는 인도의 통계학자에 의해 개발되어 그의 이름을 따서 명명되었다.
5. 응용 분야
5. 응용 분야
5.1. 기하학
5.1. 기하학
거리 함수는 기하학의 근본 개념으로, 공간상의 두 점 사이의 '떨어진 정도'를 수치화한다. 고전적인 유클리드 기하학에서는 유클리드 거리가 가장 자연스러운 거리 개념으로 사용되며, 이는 피타고라스 정리를 통해 계산된다. 이 거리를 바탕으로 삼각형, 원, 구와 같은 기하학적 도형의 형태와 성질이 정의되고 연구된다.
기하학에서 거리 함수의 선택은 공간의 성질을 결정한다. 예를 들어, 맨해튼 거리를 사용하면 두 점 사이의 최단 경로가 직각으로 꺾인 형태가 되며, 체비쇼프 거리를 사용하면 최단 경로가 대각선을 포함하는 형태가 된다. 이처럼 서로 다른 거리 함수를 적용하면 동일한 점 집합 위에서도 완전히 다른 기하학, 즉 비유클리드 기하학이 탄생한다.
미분기하학에서는 매끄러운 다양체와 같은 보다 일반적인 공간에서 거리 개념을 리만 계량이라는 방식으로 정의한다. 이는 각 점에서의 접공간에 내적을 부여함으로써, 곡면이나 더 고차원의 공간에서도 곡선의 길이, 각도, 면적 등을 측정할 수 있게 해준다. 따라서 거리 함수는 평면 기하학을 넘어 복잡한 곡면과 공간의 기하적 구조를 탐구하는 핵심 도구이다.
5.2. 위상수학
5.2. 위상수학
거리 함수는 위상수학의 핵심적인 기초 개념으로, 거리 공간을 정의하는 데 사용된다. 거리 공간은 집합에 거리 함수를 부여한 구조로, 이를 통해 점들 사이의 근접성과 수렴성을 논리적으로 다룰 수 있다. 이는 해석학에서 다루는 실수 체계나 유클리드 공간의 성질을 보다 추상적인 집합으로 일반화하는 출발점이 된다.
거리 함수가 주어지면, 그로부터 자연스럽게 위상 구조를 유도할 수 있다. 임의의 점을 중심으로 하고 반지름을 양수로 하는 열린 공을 모든 가능한 조합으로 모으면, 이들이 기저가 되어 하나의 위상을 형성한다. 이렇게 생성된 위상을 거리 위상이라고 부르며, 이는 거리 함수의 삼각 부등식 등 거리 공리의 성질에 의해 보장된다. 따라서 모든 거리 공간은 자연스럽게 위상 공간이 된다.
이러한 연결 덕분에 위상수학의 핵심 개념들, 예를 들어 열린집합과 닫힌집합, 수렴, 연속 함수, 콤팩트성, 연결성 등을 거리 공간의 맥락에서 연구할 수 있다. 특히, 점렬의 수렴은 거리를 이용해 엡실론-델타 논법으로 정확히 정의할 수 있으며, 함수의 연속성도 거리를 통해 표현된다.
그러나 모든 위상 공간이 거리 함수로부터 생성되는 것은 아니다. 거리 위상이 가능한 위상 공간, 즉 거리화 가능 공간이 되기 위해서는 충분히 좋은 분리 공리(예: 정칙성과 가산 기저의 존재)를 만족해야 한다는 것이 우리손 거리화 정리 등의 중요한 연구 주제이다. 이는 거리 함수가 다루기 쉬운 반면, 위상 구조는 보다 근본적이고 일반적임을 보여준다.
5.3. 통계학 및 데이터 과학
5.3. 통계학 및 데이터 과학
거리 함수는 통계학 및 데이터 과학에서 데이터 간의 유사성 또는 차이를 정량화하는 핵심 도구로 널리 사용된다. 데이터 포인트들은 종종 다차원 벡터로 표현되며, 이들 벡터 사이의 거리를 계산함으로써 데이터의 구조를 분석하고 패턴을 발견할 수 있다. 예를 들어, 군집 분석에서는 유클리드 거리나 맨해튼 거리와 같은 거리 함수를 사용하여 서로 가까운 데이터 포인트들을 같은 그룹으로 묶는다. K-평균 알고리즘과 같은 대표적인 군집화 방법은 거리 계산을 기반으로 각 데이터 포인트가 속할 최적의 군집을 결정한다.
또한, 분류 문제에서 K-최근접 이웃 알고리즘은 새로운 데이터 포인트와 학습 데이터 사이의 거리를 계산하여 가장 가까운 이웃들의 레이블을 기반으로 분류를 수행한다. 이때 거리 함수의 선택은 모델의 성능에 직접적인 영향을 미친다. 차원 축소 기법인 주성분 분석 역시 데이터 포인트들 사이의 거리(또는 분산) 정보를 보존하는 방향으로 새로운 좌표축을 찾는 과정을 포함한다.
통계학에서 마할라노비스 거리는 특별히 중요한 역할을 한다. 이 거리는 각 변수의 분산과 변수들 간의 상관관계를 고려하여 거리를 계산한다. 따라서 공분산 행렬이 다른 데이터 집합 내에서, 또는 서로 다른 확률 분포를 따르는 데이터 포인트들 사이의 진정한 통계적 거리를 측정하는 데 적합하다. 이상치 탐지나 다변량 정규분포와 관련된 분석에서 마할라노비스 거리는 표준 유클리드 거리보다 더 정확한 판단을 제공할 수 있다.
요약하면, 통계학과 데이터 과학에서 거리 함수는 데이터의 탐색, 모델링, 해석을 위한 기초적 언어라 할 수 있다. 적절한 거리 함수의 선택은 데이터의 본질과 분석 목적에 달려 있으며, 이는 기계 학습 모델의 설계와 데이터 마이닝 작업의 성패를 가르는 중요한 요소가 된다.
5.4. 머신 러닝
5.4. 머신 러닝
머신 러닝에서 거리 함수는 데이터 포인트 간의 유사성 또는 차이를 정량화하는 핵심 도구이다. 다양한 알고리즘은 데이터 간의 거리를 계산하여 패턴을 학습하고 예측을 수행한다. 특히 지도 학습과 비지도 학습 모두에서 거리 개념은 모델의 성능을 결정하는 중요한 요소가 된다.
가장 기본적인 응용은 K-최근접 이웃 알고리즘이다. 이 알고리즘은 새로운 데이터 포인트와 훈련 데이터 간의 거리를 계산하여, 가장 가까운 K개의 이웃의 레이블을 기반으로 분류 또는 회귀를 수행한다. 여기서는 유클리드 거리나 맨해튼 거리가 흔히 사용된다. 클러스터링 알고리즘인 K-평균 알고리즘 또한 각 데이터 포인트와 클러스터 중심 간의 거리를 반복 계산하여 데이터를 그룹화한다.
더 복잡한 모델에서도 거리 함수는 중요한 역할을 한다. 지원 벡터 머신은 데이터를 고차원 공간으로 매핑할 때 커널 트릭을 사용하는데, 많은 커널 함수가 내재적으로 거리 개념에 기반한다. 차원 축소 기법인 t-SNE는 고차원 공간의 데이터 간 유사성을 저차원 공간의 거리로 보존하는 것을 목표로 한다. 또한 이상치 탐지나 추천 시스템에서 사용자 또는 아이템 간의 유사도를 측정할 때도 다양한 거리 또는 유사도 척도가 활용된다.
알고리즘 유형 | 대표 알고리즘 | 주요 사용 거리 함수 |
|---|---|---|
분류/회귀 | ||
클러스터링 | ||
차원 축소 | 주로 유클리드 거리 기반 | |
이상치 탐지 | 거리 기반 방법 |
데이터의 특성에 맞는 적절한 거리 함수를 선택하는 것은 머신 러닝 모델링의 성공을 좌우한다. 예를 들어, 스케일이 다른 특성을 가진 데이터에는 마할라노비스 거리가, 범주형 데이터에는 해밍 거리 같은 특화된 거리 함수가 사용된다. 따라서 거리 함수의 이해는 효과적인 특성 공학과 모델 선택의 기초가 된다.
5.5. 컴퓨터 과학
5.5. 컴퓨터 과학
컴퓨터 과학 분야에서 거리 함수는 데이터 간의 유사성 또는 차이를 정량화하는 핵심 도구로 널리 활용된다. 알고리즘 설계와 자료 구조 최적화, 그리고 다양한 응용 프로그램의 성능을 결정하는 데 중요한 역할을 한다. 특히 공간 복잡도와 시간 복잡도를 분석하거나, 데이터를 효율적으로 조직화하고 검색하는 과정에서 거리 개념이 필수적이다.
가장 대표적인 응용은 클러스터링과 분류 알고리즘이다. K-평균 알고리즘은 데이터 포인트와 클러스터 중심 사이의 거리를 계산하여 그룹을 형성하며, K-최근접 이웃 알고리즘은 새로운 데이터 포인트와 학습 데이터 사이의 거리를 기반으로 분류 또는 회귀 분석을 수행한다. 이때 사용되는 거리는 데이터의 특성에 따라 유클리드 거리, 맨해튼 거리, 코사인 유사도 등 다양하게 선택된다.
정보 검색과 추천 시스템에서도 거리 함수는 핵심이다. 문서나 사용자 프로필을 벡터 공간으로 표현한 후, 벡터 간의 거리나 유사도를 계산하여 관련성 높은 문서를 검색하거나 맞춤형 아이템을 추천한다. 문자열 처리 분야에서는 편집 거리나 해밍 거리와 같은 특수한 거리 함수가 두 문자열의 유사도를 측정하고, 오타 수정이나 생물 정보학의 서열 정렬 같은 작업에 사용된다.
응용 분야 | 주요 알고리즘/기술 | 사용되는 거리 함수 예시 |
|---|---|---|
또한, 컴퓨터 네트워크에서 패킷의 전송 경로를 결정하는 라우팅 알고리즘은 노드 간의 거리(예: 홉 수, 지연 시간)를 계산하며, 운영체제의 디스크 스케줄링 알고리즘은 읽기/쓰기 헤드와 데이터 블록 사이의 거리를 최소화하여 성능을 향상시킨다. 이처럼 거리 함수는 컴퓨터 과학의 이론과 실무 전반에 걸쳐 데이터와 자원을 효율적으로 처리하는 기반을 제공한다.
6. 관련 개념
6. 관련 개념
6.1. 거리 공간
6.1. 거리 공간
거리 함수는 거리 공간이라는 수학적 구조를 정의하는 핵심 개념이다. 거리 공간은 집합과 그 위에 정의된 거리 함수의 쌍으로 이루어지며, 이 공간에서 점들 사이의 '거리'라는 개념이 엄밀하게 규정된다. 이는 해석학과 위상수학의 기초가 되는 중요한 구조로, 수열의 수렴, 함수의 연속성, 완비성 등 고전적 해석학의 개념들을 일반적인 집합으로 확장하여 연구할 수 있게 해준다.
거리 공간의 정의는 거리 함수가 만족해야 하는 세 가지 공리, 즉 양의 정부호성, 대칭성, 삼각 부등식에 기반한다. 이러한 공리 체계는 우리가 일상적으로 생각하는 '거리'의 본질적인 성질을 추상화한 것이다. 예를 들어, 두 점 사이의 거리는 항상 0 이상이며, 같은 점 사이의 거리는 0이다(양의 정부호성). 또한 A에서 B까지의 거리는 B에서 A까지의 거리와 같아야 하고(대칭성), 한 점을 경유하는 경로는 직접 가는 경로보다 짧을 수 없다(삼각 부등식).
거리 공간 이론은 기하학의 다양한 분야와 데이터 과학, 컴퓨터 과학 등 응용 분야에서 광범위하게 활용된다. 서로 다른 거리 함수를 정의함으로써 유클리드 공간, 내적 공간, 노름 공간 등 다양한 종류의 거리 공간을 만들 수 있으며, 각 공간은 고유한 기하학적 성질을 가진다. 이는 데이터 포인트 간의 유사성을 측정하거나 알고리즘의 효율성을 분석하는 데 필수적인 도구가 된다.
6.2. 노름
6.2. 노름
노름은 벡터 공간의 각 벡터에 길이 또는 크기를 할당하는 함수이다. 거리 함수가 두 점 사이의 '차이'를 측정한다면, 노름은 단일 벡터의 '크기'를 측정한다는 점에서 차이가 있다. 일반적으로 벡터 공간 V에 정의된 함수 ‖·‖: V → ℝ가 특정 조건을 만족할 때 이를 노름이라고 부른다.
노름이 만족해야 하는 세 가지 주요 조건은 다음과 같다. 첫째, 모든 벡터 v에 대해 ‖v‖ ≥ 0이며, ‖v‖ = 0인 경우는 v가 영벡터일 때 뿐이다(양의 정부호성). 둘째, 모든 스칼라 α와 벡터 v에 대해 ‖αv‖ = |α| ‖v‖가 성립한다(양의 동차성). 셋째, 모든 벡터 u, v에 대해 ‖u + v‖ ≤ ‖u‖ + ‖v‖가 성립한다(삼각 부등식). 이 조건들은 거리 함수의 공리와 유사하지만, 정의 대상이 다르다.
노름과 거리 함수는 밀접한 관계가 있다. 어떤 벡터 공간에 노름이 주어지면, 그 노름을 통해 자연스럽게 거리 함수를 정의할 수 있다. 즉, 두 벡터 x와 y 사이의 거리를 d(x, y) = ‖x - y‖로 정의하면, 이 함수는 거리 함수의 모든 조건을 만족한다. 이렇게 생성된 거리를 노름에 의해 유도된 거리라고 한다. 반대로, 모든 거리 함수가 노름으로부터 유도되는 것은 아니다. 노름은 벡터 공간의 선형 구조에 의존하기 때문에, 일반적인 거리 공간에는 노름이 정의되지 않을 수 있다.
대표적인 노름의 예로는 유클리드 노름이 있다. 이는 2차원 또는 3차원 공간에서 우리가 일반적으로 생각하는 벡터의 길이에 해당하며, 피타고라스 정리를 통해 계산된다. 이 외에도 맨해튼 노름, 최대값 노름(또는 체비쇼프 노름), 그리고 이들을 일반화한 Lp 노름 등 다양한 노름이 존재하며, 각각은 해석학, 함수해석학, 수치해석, 머신 러닝 등 다양한 분야에서 응용된다.
6.3. 내적
6.3. 내적
내적은 두 벡터 사이의 특정한 연산으로, 그 결과로 스칼라 값을 반환한다. 일반적으로 유클리드 공간에서 두 벡터의 길이와 그 사이 각도의 코사인 값의 곱으로 정의되며, 이를 통해 벡터의 길이(노름)와 사잇각을 계산할 수 있는 기초를 제공한다. 내적이 정의된 벡터 공간을 내적 공간이라고 부른다.
내적은 거리 함수와 밀접한 관계가 있다. 가장 흔히 사용되는 유클리드 거리는 사실 내적을 통해 정의된 유클리드 노름에서 자연스럽게 유도된다. 두 점 사이의 유클리드 거리의 제곱은 해당 변위 벡터의 자기 자신과의 내적, 즉 벡터 길이의 제곱과 같다. 따라서 내적 공간에서는 노름을 정의하고, 이 노름을 통해 거리 함수를 구성하는 것이 표준적인 방법이다.
그러나 모든 거리 함수가 내적으로부터 비롯되는 것은 아니다. 예를 들어, 맨해튼 거리나 최대 거리는 내적을 통해 생성된 유클리드 거리와는 다른 성질을 가지며, 이들은 일반적인 내적 공간의 노름으로 표현할 수 없다. 이는 거리 함수의 개념이 내적보다 더 일반적임을 보여준다. 내적은 거리를 정의하는 한 가지 강력한 도구이지만, 거리 공리를 만족하는 함수는 내적 없이도 독립적으로 존재할 수 있다.
내적의 개념은 기하학, 물리학, 특히 양자역학에서 상태 벡터의 확률 진폭을 계산하는 데, 그리고 통계학에서 공분산과 같은 개념과 연결되어 광범위하게 응용된다.
6.4. 유사도 측정
6.4. 유사도 측정
거리 함수는 두 대상이 얼마나 떨어져 있는지를 측정하는 반면, 유사도 측정은 두 대상이 얼마나 비슷한지를 수치화하는 함수이다. 이 두 개념은 밀접하게 연관되어 있으며, 많은 경우 거리 함수의 역수나 보완적인 형태로 유사도 측정을 정의한다. 즉, 거리가 작을수록 유사도는 높고, 거리가 클수록 유사도는 낮아지는 관계를 가진다. 유사도 측정은 패턴 인식, 정보 검색, 클러스터링, 추천 시스템 등 다양한 분야에서 핵심적인 역할을 한다.
유사도 측정의 대표적인 예로는 코사인 유사도가 있다. 이는 두 벡터 사이의 각도의 코사인 값을 계산하여, 방향의 유사성을 측정한다. 특히 문서의 단어 빈도 벡터를 비교하는 자연어 처리나 사용자 선호도 벡터를 분석하는 협업 필터링에서 널리 사용된다. 다른 예로는 자카드 유사도가 있는데, 이는 두 집합의 교집합 크기를 합집합 크기로 나눈 값으로 정의되며, 문서 유사도나 생물학적 서열 정렬에서 활용된다.
거리 함수와 달리, 유사도 측정은 표준화된 공리를 따르지 않는다. 일반적으로 유사도 함수 s(x, y)는 0과 1 사이의 값을 가지며, 값이 1에 가까울수록 두 대상이 완전히 유사함을 나타낸다. 또한 대칭성(s(x, y) = s(y, x))은 일반적으로 만족하지만, 삼각 부등식과 같은 엄격한 조건은 요구되지 않는다. 이러한 유연성 덕분에 응용 분야에 맞춰 다양한 특수한 유사도 함수를 설계할 수 있다.
유클리드 거리나 맨해튼 거리와 같은 거리 함수는 유사도 측정으로 직접 변환될 수 있다. 예를 들어, s(x, y) = 1 / (1 + d(x, y))와 같은 변환을 통해 거리 값을 0과 1 사이의 유사도 점수로 매핑한다. 이처럼 거리와 유사도는 서로 변환 가능한 관계에 있으며, 주어진 문제의 맥락에 따라 더 적합한 측정 방식을 선택하여 사용한다.
7. 여담
7. 여담
거리 함수는 수학의 여러 분야를 넘어 일상생활에서도 널리 활용되는 기본 개념이다. 지도 앱에서 최단 경로를 계산하거나, 머신 러닝에서 데이터 포인트 간 유사성을 측정할 때, 심지어 소셜 네트워크에서 두 사람의 관계 거리를 분석할 때도 다양한 형태의 거리 개념이 쓰인다.
흥미롭게도, 수학적으로 정의된 거리 공간의 조건을 완화한 유사 거리 함수도 여러 분야에서 유용하게 쓰인다. 예를 들어, 두 도시 간의 직선 거리는 삼각 부등식을 만족하지만, 일방통행 도로가 있는 경우의 실제 운전 거리는 대칭성을 만족하지 않을 수 있다. 이러한 실제 문제를 모델링할 때는 조건이 완화된 거리 개념이 필요하다.
또한, 유클리드 거리나 맨해튼 거리와 같은 친숙한 거리들은 모두 더 일반적인 민코프스키 거리의 특수한 경우에 해당한다는 점에서 수학적 통일성을 보여준다. 이처럼 단순해 보이는 '거리' 개념은 추상화와 일반화를 통해 해석학, 위상수학, 기하학은 물론 컴퓨터 과학과 데이터 과학의 핵심적 기초가 되고 있다.
