용어집

K-네이버 이웃(KNN)

분류, 회귀, 이미지 인식 등을 위한 다목적 머신 러닝 알고리즘인 KNN에 대해 알아보세요. 데이터 근접성을 사용하여 예측하는 방법을 알아보세요.

YOLO 모델을 Ultralytics HUB로 간단히
훈련

자세히 알아보기

최인접 이웃(KNN)은 분류 및 회귀 작업에 사용되는 간단하지만 강력한 머신 러닝 알고리즘입니다. 주요 기능은 특징 공간에서 가장 가까운 데이터 포인트 'k'개를 기반으로 데이터 포인트의 클래스 또는 값을 예측하는 것입니다. KNN은 특히 결정 경계가 선형적이지 않은 데이터 세트에서 분류 문제를 처리하는 데 있어 단순하고 효과적인 것으로 알려져 있습니다.

가장 가까운 이웃의 작동 방식

KNN은 사용 가능한 모든 데이터 포인트를 저장하고 예측이 필요한 경우 쿼리 포인트에서 가장 가까운 'k'개의 이웃을 식별하는 방식으로 작동합니다. 그런 다음 알고리즘은 이러한 이웃 중에서 가장 일반적인 클래스(분류의 경우) 또는 평균값(회귀의 경우)을 예측으로 결정합니다.

  • 거리 측정 기준: KNN에서는 거리 측정 기준의 선택이 매우 중요합니다. 일반적인 메트릭에는 유클리드, 맨해튼, 밍코프스키 거리가 포함됩니다. 이 메트릭은 데이터 포인트의 '근접성'을 측정하는 방법을 결정합니다.

  • 'k' 선택하기: 적절한 'k' 값을 선택하는 것은 모델의 성능에 매우 중요합니다. 'k' 값이 작으면 모델이 노이즈에 더 민감해지는 반면, 'k'가 크면 결정 경계가 지나치게 단순화되어 미묘한 패턴을 놓칠 수 있습니다.

  • 계산 복잡성: KNN은 쿼리 포인트와 데이터 세트의 다른 모든 포인트 사이의 거리를 계산해야 하므로 데이터 세트의 크기가 커질수록 계산 집약적입니다. 이러한 특성 때문에 최적화 없이 대규모 데이터 세트에 KNN을 사용하기가 어려울 수 있습니다.

KNN의 애플리케이션

  1. 이미지 인식: KNN은 픽셀 강도 값을 기반으로 이미지를 분류할 수 있습니다. 컴퓨터 비전에서는 새로운 이미지를 이전에 분류된 이미지와 비교하여 이미지 데이터 세트에서 패턴을 감지하는 데 사용됩니다.

  2. 추천 시스템: KNN은 사용자-아이템 상호 작용 데이터를 활용하여 유사한 사용자 또는 아이템을 식별하여 추천을 제공합니다. 이 기술은 일반적으로 이커머스 플랫폼에서 사용자의 과거 행동과 선호도를 기반으로 제품을 추천하는 데 사용됩니다.

  3. 의료 진단: KNN은 새로운 환자 데이터와 과거 환자 기록의 기존 데이터를 비교하여 환자 상태를 예측하고 진단 및 치료 계획을 수립하는 데 도움을 줍니다.

실제 사례

  • 사기 탐지: 금융 기관은 KNN을 사용하여 과거 거래 내역을 기반으로 사기의 전형적인 패턴을 식별하여 사기 거래를 탐지합니다.

  • 주가 예측: 금융 분야에서는 과거 추세를 분석하고 유사한 과거 패턴을 파악하여 미래의 움직임을 예측함으로써 주가를 예측하는 데 KNN을 활용합니다.

장점과 단점

  • 장점:

    • 모델 트레이닝 단계 없이 간단하게 구현할 수 있습니다.
    • 'k'와 거리 메트릭을 결정하는 것 외에는 모델 파라미터를 조정할 필요가 없습니다.
    • 소규모 데이터 세트 및 다중 클래스 분류 문제에서 우수한 성능을 발휘합니다.
  • 단점:

    • 예측 단계의 높은 계산 비용.
    • 모든 기능이 동등하게 기여하기 때문에 관련성이 없거나 중복되는 기능에 민감합니다.
    • 차원이 증가함에 따라 성능이 급격히 저하되는 현상을 '차원의 저주'라고 합니다.

관련 개념 및 대안

  • K-평균 클러스터링: 분류에는 KNN이 사용되는 반면, K-평균 클러스터링은 특징 유사성을 기반으로 데이터를 클러스터로 그룹화하는 비지도 학습 알고리즘입니다.

  • 서포트 벡터 머신(SVM): SVM은 KNN과 달리 특징 공간에서 서로 다른 클래스를 가장 잘 구분하는 하이퍼플레인을 찾아내는 지도 학습 모델입니다. 서포트 벡터 머신에 대해 자세히 알아보세요.

  • 의사 결정 트리: 이 모델은 분류를 돕기 위해 트리 형태의 의사 결정 그래프를 만듭니다. 의사 결정 트리에 대해 자세히 알아보세요.

실제 적용 및 배포를 위해서는 KNN과 같은 머신러닝 모델을 쉽게 학습하고 배포할 수 있는 플랫폼인 Ultralytics HUB의 기능을 살펴보세요. Ultralytics HUB를 방문하여 AI 프로젝트에 노코드 솔루션을 활용하세요.

더 광범위한 머신 러닝 작업에서 KNN이 어떻게 적용되는지 이해하려면 지도 학습 및 기타 관련 머신 러닝 개념을 자세히 살펴보세요.

모두 보기