용어집

K-네이버 이웃(KNN)

분류 및 회귀 작업을 위한 직관적인 비매개변수 접근 방식으로 머신 러닝을 간소화하는 KNN(K-Nearest Neighbors)의 방법을 알아보세요.

가장 가까운 이웃(KNN)은 분류와 회귀 작업 모두에 사용되는 기본적인 지도 학습 알고리즘입니다. 훈련 데이터 단계에서 모델을 구축하지 않기 때문에 인스턴스 기반 또는 "지연 학습" 알고리즘으로 간주됩니다. 대신 전체 데이터 집합을 저장하고 저장된 데이터에서 가장 유사한 인스턴스(이웃)를 'K'개 찾아 예측합니다. 핵심 아이디어는 유사한 데이터 포인트가 가까운 곳에 존재한다는 것입니다. 분류되지 않은 새로운 데이터 포인트의 경우, KNN은 가장 가까운 이웃을 식별하고 그 레이블을 사용하여 자체 분류 또는 값을 결정합니다.

KNN은 어떻게 작동하나요?

KNN 알고리즘은 일반적으로 거리 메트릭으로 측정되는 간단한 유사성 원리에 따라 작동합니다. 가장 일반적인 것은 유클리드 거리이지만, 데이터 세트에 따라 다른 메트릭을 사용할 수도 있습니다.

예측을 하는 과정은 간단합니다:

  1. K 값 선택: 고려할 이웃 수(K)는 중요한 하이퍼파라미터입니다. K의 선택은 모델의 성능에 큰 영향을 미칠 수 있습니다.
  2. 거리 계산: 새 데이터 포인트의 경우 알고리즘이 해당 데이터 포인트와 학습 데이터 세트의 다른 모든 포인트 사이의 거리를 계산합니다.
  3. 이웃 식별: 훈련 세트에서 새 포인트에 가장 가까운 K개의 데이터 포인트를 식별합니다. 이것이 "가장 가까운 이웃"입니다.
  4. 예측하기:
    • 분류 작업의 경우 알고리즘은 다수결 투표를 수행합니다. 새 데이터 포인트에는 가장 가까운 이웃 K 개 중에서 가장 일반적인 클래스가 할당됩니다. 예를 들어, K=5이고 3개의 이웃이 클래스 A이고 2개의 이웃이 클래스 B인 경우 새 포인트는 클래스 A로 분류됩니다.
    • 회귀 작업의 경우 알고리즘은 가장 가까운 이웃 K 개 값의 평균을 계산합니다. 이 평균이 새 데이터 요소에 대한 예측 값이 됩니다.

실제 애플리케이션

KNN은 단순하고 직관적인 특성으로 인해 다양한 애플리케이션에서 특히 기본 모델로 유용하게 사용할 수 있습니다.

  • 추천 시스템: KNN은 추천 엔진을 구축하는 데 널리 사용됩니다. 예를 들어, 스트리밍 서비스는 비슷한 시청 이력을 가진 다른 사용자(이웃)를 식별하여 사용자에게 영화를 추천할 수 있습니다. 그러면 타겟 사용자가 보지 않은 이웃 사용자들이 즐겨 본 영화가 추천됩니다. 이 기술은 협업 필터링의 한 형태입니다.
  • 금융 서비스: 금융 분야에서 KNN은 신용 평가에 사용될 수 있습니다. 이 알고리즘은 신규 대출 신청자를 신용 결과가 알려진 과거 신청자 데이터베이스와 비교하여 신규 신청자의 채무 불이행 가능성을 예측할 수 있습니다. 이웃은 나이, 소득, 부채 수준 등 재무 프로필이 비슷한 과거 신청자들로, 이들의 채무 불이행 이력이 예측에 영향을 미칩니다. 이는 초기 위험 평가를 자동화하는 데 도움이 됩니다.

KNN과 관련 개념

KNN을 다른 일반적인 머신러닝 알고리즘과 구별하는 것이 중요합니다:

  • K-메인 클러스터링: 이름은 비슷하지만 기능은 매우 다릅니다. K-Means는 데이터를 겹치지 않는 별개의 하위 그룹(클러스터)으로 분할하는 데 사용되는 비지도 학습 알고리즘입니다. 이와 대조적으로 KNN은 레이블이 지정된 데이터를 기반으로 예측하는 데 사용되는 지도 알고리즘입니다.
  • 서포트 벡터 머신(SVM): SVM은 특징 공간에서 서로 다른 클래스를 구분하는 최상의 하이퍼플레인을 찾는 지도 알고리즘입니다. KNN은 로컬 이웃 유사성을 기반으로 결정을 내리는 반면, SVM은 글로벌 최적 경계를 찾는 것을 목표로 하므로 접근 방식이 근본적으로 다릅니다. 자세한 내용은 Scikit-learn SVM 페이지에서 확인할 수 있습니다.
  • 의사 결정 트리: 의사 결정 트리는 계층적 규칙 기반 의사 결정 모델을 생성하여 데이터를 분류합니다. 그 결과 트리와 같은 구조가 만들어지는 반면, KNN은 명시적인 규칙을 학습하지 않고 거리 기반 유사성에 의존합니다. 자세한 내용은 Scikit 학습 의사 결정 트리 문서에서 확인할 수 있습니다.

KNN은 기본적인 머신 러닝 개념을 이해하고 잘 선별된 소규모 데이터 세트에 사용하기에 유용한 도구이지만, 빅 데이터를 사용한 실시간 추론에는 계산 집약적일 수 있습니다. 실시간 객체 감지와 같은 복잡한 컴퓨터 비전 작업의 경우, 속도와 정확도가 뛰어난 Ultralytics YOLO와 같은 고급 모델을 선호합니다. 이러한 모델은 Ultralytics HUB와 같은 플랫폼을 사용하여 쉽게 훈련하고 배포할 수 있습니다.

울트라 애널리틱스 커뮤니티 가입

AI의 미래와 함께하세요. 글로벌 혁신가들과 연결, 협업, 성장하기

지금 가입하기
링크가 클립보드에 복사됨