K-최근접 이웃 (KNN)
K-최근접 이웃(KNN)이 분류 및 회귀 작업을 위한 직관적인 비모수적 접근 방식으로 머신러닝을 어떻게 간소화하는지 알아보세요.
K-최근접 이웃(KNN)은 분류 및 회귀 작업 모두에 사용되는 기본적인 지도 학습 알고리즘입니다. 훈련 데이터 단계에서 모델을 구축하지 않기 때문에 인스턴스 기반 또는 "게으른 학습" 알고리즘으로 간주됩니다. 대신 전체 데이터 세트를 저장하고 저장된 데이터에서 'K'개의 가장 유사한 인스턴스(이웃)를 찾아 예측합니다. 핵심 아이디어는 유사한 데이터 포인트가 가까운 거리에 존재한다는 것입니다. 새롭고 분류되지 않은 데이터 포인트에 대해 KNN은 가장 가까운 이웃을 식별하고 해당 레이블을 사용하여 자체 분류 또는 값을 결정합니다.
KNN은 어떻게 작동하나요?
KNN 알고리즘은 일반적으로 거리 메트릭으로 측정되는 단순한 유사성 원칙에 따라 작동합니다. 가장 일반적인 것은 유클리드 거리이지만 데이터 세트에 따라 다른 메트릭을 사용할 수 있습니다.
예측을 수행하는 과정은 간단합니다.
- K 값 선택: 고려할 이웃 수(K)는 중요한 하이퍼파라미터입니다. K의 선택은 모델 성능에 큰 영향을 미칠 수 있습니다.
- 거리 계산(Calculate Distances): 새로운 데이터 포인트에 대해 알고리즘은 해당 포인트와 훈련 데이터 세트의 다른 모든 포인트 간의 거리를 계산합니다.
- Identify Neighbors(이웃 식별): 새로운 점과 가장 가까운 학습 세트의 K개의 데이터 포인트를 식별합니다. 이들이 "최근접 이웃"입니다.
- 예측하기:
- 분류 작업의 경우 알고리즘은 다수결 투표를 수행합니다. 새로운 데이터 포인트는 K개의 가장 가까운 이웃 중에서 가장 흔한 클래스로 지정됩니다. 예를 들어 K=5이고 세 개의 이웃이 클래스 A이고 두 개가 클래스 B인 경우 새 포인트는 클래스 A로 분류됩니다.
- 회귀 작업의 경우 알고리즘은 K개의 가장 가까운 이웃 값의 평균을 계산합니다. 이 평균은 새 데이터 포인트에 대한 예측값이 됩니다.
실제 애플리케이션
KNN은 단순하고 직관적인 특성 덕분에 다양한 애플리케이션, 특히 기준 모델로 유용하게 사용됩니다.
- 추천 시스템: KNN은 추천 엔진 구축에 널리 사용되는 선택입니다. 예를 들어 스트리밍 서비스는 유사한 시청 기록을 가진 다른 사용자(이웃)를 식별하여 사용자에게 영화를 추천할 수 있습니다. 대상 사용자가 보지 못한 이러한 이웃이 즐겨 본 영화가 추천됩니다. 이 기술은 협업 필터링의 한 형태입니다.
- 금융 서비스: 금융에서 KNN은 신용 점수 평가에 사용될 수 있습니다. 새로운 대출 신청자를 알려진 신용 결과가 있는 과거 신청자 데이터베이스와 비교하여 알고리즘은 새로운 신청자가 불이행할 가능성이 있는지 예측할 수 있습니다. 이웃은 유사한 재정 프로필(예: 연령, 소득, 부채 수준)을 가진 과거 신청자이며, 이들의 불이행 이력이 예측에 정보를 제공합니다. 이는 초기 위험 평가를 자동화하는 데 도움이 됩니다.
KNN vs. 관련 개념
KNN을 다른 일반적인 머신러닝 알고리즘과 구별하는 것이 중요합니다.
KNN은 기본적인 머신러닝 개념을 이해하고 작고 잘 관리된 데이터 세트에 사용하기에 유용한 도구이지만, 빅 데이터를 사용한 실시간 추론에는 계산 집약적일 수 있습니다. 실시간 객체 감지와 같은 복잡한 컴퓨터 비전 작업의 경우, 뛰어난 속도와 정확성으로 인해 Ultralytics YOLO와 같은 고급 모델이 선호됩니다. 이러한 모델은 Ultralytics HUB와 같은 플랫폼을 사용하여 쉽게 학습하고 배포할 수 있습니다.