다음을 통해 공유


kNN 및 ANN

벡터 검색 알고리즘의 두 가지 주요 범주는 kNN(k-가장 인접한 항목)과 ANN(근사값 인접, 인공 신경망(Artificial Neural Network) 아님)입니다. kNN은 정확하지만 계산 집약적이므로 대규모 데이터 세트에는 적합하지 않습니다. 반면 ANN은 정확도와 효율성 사이의 균형을 제공하므로 대규모 애플리케이션에 더 적합합니다.

kNN 작동 방식

  1. 벡터화: 데이터 세트의 각 데이터 포인트는 다차원 공간에서 벡터로 표현됩니다.
  2. 거리 계산: 새 데이터 포인트(쿼리 포인트)를 분류하기 위해 알고리즘은 거리 함수를 사용하여 쿼리 포인트와 데이터 세트의 다른 모든 포인트 사이의 거리를 계산합니다.
  3. 인접 항목 찾기: 알고리즘은 계산된 거리를 기반으로 쿼리 지점에 가장 가까운 k개의 데이터 포인트(인접 항목)를 식별합니다. k 값(인접 항목 수)이 중요합니다. k가 작으면 노이즈에 중요할 수 있는 반면, k가 크면 세부 사항을 부드럽게 처리할 수 있습니다.
  4. 예측:
  • 분류: 분류 작업의 경우 kNN은 k 인접 항목 사이에서 가장 일반적인 쿼리 포인트에 클래스 레이블을 할당합니다. 본질적으로 "과반수 투표"를 수행합니다.
  • 회귀: 회귀 작업의 경우 kNN은 쿼리 지점의 값을 k 인접 항목 값의 평균(경우에 따라 가중 평균)으로 예측합니다.

ANN 작동 방식

  1. 벡터화: 데이터 세트의 각 데이터 포인트는 다차원 공간에서 벡터로 표현됩니다.
  2. 인덱싱 및 데이터 구조: ANN 알고리즘은 고급 데이터 구조(예: KD 트리, 지역 구분 해싱 또는 그래프 기반 방법)를 사용하여 데이터 포인트를 인덱싱하므로 더 빠른 검색이 가능합니다.
  3. 거리 계산: ANN 알고리즘은 모든 지점까지의 정확한 거리를 계산하는 대신 휴리스틱을 사용하여 가장 인접한 항목을 포함할 가능성이 있는 공간 영역을 신속하게 식별합니다.
  4. 인접 항목 찾기: 알고리즘은 쿼리 포인트에 가까울 가능성이 있는 데이터 포인트 집합을 식별합니다. 이러한 인접 항목은 정확히 가장 가까운 지점이 될 수는 없지만 실제적인 목적으로는 충분히 가깝습니다.
  5. 예측:
  • 분류: 분류 작업의 경우 ANN은 kNN과 유사하게 식별된 인접 항목 사이에서 가장 일반적인 쿼리 포인트에 클래스 레이블을 할당합니다.
  • 회귀: 회귀 작업의 경우 ANN은 쿼리 지점의 값을 식별된 인접 항목 값의 평균(또는 가중 평균)으로 예측합니다.