Yolo 비전 선전
선전
지금 참여하기
용어집

K-최근접 이웃 (KNN)

K-최근접 이웃(KNN)이 분류 및 회귀 작업을 위한 직관적인 비모수적 접근 방식으로 머신러닝을 어떻게 간소화하는지 알아보세요.

가장 가까운 이웃(KNN)은 비모수적, 비모수적 지도 학습 알고리즘으로 분류 및 회귀 작업에 널리 사용됩니다. 흔히 "게으른 학습자" 또는 인스턴스 기반 학습 방법이라고도 하는 KNN은 학습 단계에서 학습 데이터로부터 판별 함수를 생성하지 않습니다. 판별 함수를 생성하지 않습니다. 대신, 전체 데이터 세트를 기억하고 새로운 인스턴스를 예측할 때만 계산을 수행합니다. 이 접근 방식 은 유사한 데이터 포인트가 특징 공간 내에서 근접해 있다고 가정하여 알고리즘이 새로운 입력을 가장 가까운 이웃의 다수 클래스 또는 평균값을 기반으로 새로운 입력을 분류할 수 있습니다.

KNN의 작동 방식

가장 가까운 이웃의 운영 메커니즘은 데이터 포인트 간의 유사성을 정량화하기 위해 거리 메트릭에 의존합니다. 거리 메트릭을 사용합니다. 가장 일반적인 메트릭은 유클리드 거리이지만 맨해튼 거리 또는 밍코프스키 거리와 같은 다른 메트릭이 사용될 수 있습니다. 를 사용할 수도 있습니다. 예측 프로세스에는 여러 단계가 포함됩니다:

  1. K 선택: 사용자가 'K'로 표시되는 이웃의 수를 정의합니다. 이는 하이퍼파라미터 튜닝에서 중요한 단계입니다. 하이퍼파라미터 튜닝에서 중요한 단계입니다. 의 값이 모델의 편향성-편차 트레이드오프에 직접적인 영향을 미치기 때문입니다. K가 작으면 노이즈 민감도가 높아지는 반면, K가 크면 뚜렷한 경계를 부드럽게 만들 수 있습니다.
  2. 거리 계산: 새 쿼리 지점이 도입되면 알고리즘은 이 지점과 저장된 데이터 세트의 모든 예제 사이의 거리를 거리를 계산합니다.
  3. 이웃을 식별합니다: 알고리즘이 거리를 정렬하고 가장 작은 값을 가진 상위 K 개의 항목을 선택합니다. 가장 작은 값을 가진 상위 K 항목을 선택합니다.
  4. 집계된 출력:
    • 분류: 분류: 알고리즘이 K 이웃(다수결 투표) 중에서 가장 자주 나타나는 클래스 레이블을 할당합니다.
    • 회귀: 회귀: 예측은 K 이웃의 목표 값의 평균으로 계산됩니다.

KNN의 단순성으로 인해 많은 머신 러닝 문제에 효과적인 기준이 됩니다. 다음은 널리 사용되는 Scikit 학습 라이브러리를 사용한 간결한 인기 있는 Scikit-learn 라이브러리를 사용한 간결한 예제입니다. 기본적인 분류 워크플로우를 보여줍니다.

import numpy as np
from sklearn.neighbors import KNeighborsClassifier

# distinct classes: 0 and 1
X_train = np.array([[1, 1], [1, 2], [2, 2], [5, 5], [5, 6], [6, 5]])
y_train = np.array([0, 0, 0, 1, 1, 1])

# Initialize KNN with 3 neighbors
knn = KNeighborsClassifier(n_neighbors=3)
knn.fit(X_train, y_train)

# Predict class for a new point [4, 4]
prediction = knn.predict([[4, 4]])
print(f"Predicted Class: {prediction[0]}")
# Output: 1 (Closer to the cluster at [5,5])

실제 애플리케이션

단순함에도 불구하고, K-네이버 이웃은 해석 가능성과 인스턴스 기반 추론이 중요한 다양한 영역에서 사용됩니다.

  • 추천 엔진: KNN은 협업 필터링 을 지원합니다. 스트리밍 플랫폼은 이를 사용하여 시청 기록이 비슷한 사용자(이웃)를 찾아 그들이 좋아하는 항목을 추천하여 추천합니다. 이 방법은 개인화된 사용자 경험에 효과적입니다.
  • 의료 진단: 의료 영상 분석 의료 이미지 분석에서 KNN은 다음을 지원할 수 있습니다. 환자 지표 또는 이미지 특징을 과거 사례 데이터베이스와 비교하여 상태를 진단할 수 있습니다. 예를 들어 예를 들어, 유방암 classify 유방암 종양을 확진 사례와 세포 특징의 유사성을 기반으로 악성 또는 양성으로 분류하는 데 도움을 줄 수 있습니다.
  • 이상 징후 탐지: 금융 기관은 KNN을 활용하여 이상 징후 탐지를 활용합니다. 거래 패턴을 분석함으로써 거래 패턴을 분석하여 사용자의 표준에서 크게 벗어난 활동을 표시할 수 있습니다. 행동, 즉 "가장 가까운 이웃"과 멀리 떨어져 있는 지점을 표시할 수 있습니다.

KNN과 관련 알고리즘 구별하기

KNN과 다른 알고리즘의 차이점을 이해하는 것은 컴퓨터 비전 또는 데이터 분석 프로젝트에 적합한 도구를 선택하려면 올바른 도구를 선택하는 데 필수적입니다.

  • K-는 클러스터링을 의미합니다: KNN과 K-평균 클러스터링과 이름이 비슷하기 때문에 혼동하기 쉽습니다. 하지만 K-Means는 비지도 학습 기법으로 클러스터로 그룹화하는 비지도 학습 기법인 반면, KNN은 예측을 위해 레이블이 지정된 데이터가 필요한 지도 기법입니다.
  • 서포트 벡터 머신(SVM): 두 가지 모두 분류에 사용되지만 서포트 벡터 머신(SVM)은 클래스 간 마진을 최대화하는 데 클래스 간 마진을 최대화하는 글로벌 결정 경계(하이퍼플레인)를 찾는 데 중점을 둡니다. 반대로 KNN은 글로벌 모델을 구축하지 않고 로컬 데이터 밀도를 기반으로 의사 결정을 내립니다. 이러한 차이점에 대해 자세히 알아보려면 SVM 문서에서 자세히 알아보세요.
  • 의사 결정 트리: A 의사 결정 트리는 명시적 학습을 통해 데이터를 분류합니다, 계층적 규칙을 학습하여 데이터를 분류합니다. KNN은 특징 공간의 거리 메트릭에만 의존하기 때문에 불규칙한 의사 결정 경계에 더 유연하지만 추론하는 동안 계산이 더 무거워집니다.

KNN은 소규모 데이터 세트에는 강력하지만, 다음과 같은 확장성 문제에 직면해 있습니다. 모든 쿼리의 거리를 계산하는 데 드는 계산 비용으로 인해 계산 비용으로 인해 확장성 문제에 직면합니다. 고성능의 경우 다음과 같은 작업에서 실시간 추론 객체 감지, 최신 딥 러닝 아키텍처는 YOLO11 와 같은 최신 딥 러닝 아키텍처가 일반적으로 선호되는 이유는 뛰어난 속도와 정확성 때문에 선호됩니다.

Ultralytics 커뮤니티 가입

AI의 미래에 동참하세요. 글로벌 혁신가들과 연결하고, 협력하고, 성장하세요.

지금 참여하기