용어집

K-네이버 이웃(KNN)

분류 및 회귀 작업을 위한 간단하면서도 강력한 머신 러닝 알고리즘인 KNN(K-Nearest Neighbors)에 대해 알아보세요. 작동 원리를 알아보세요!

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

자세히 알아보기

최인접 이웃(KNN)은 분류와 회귀 작업에 모두 사용되는 기본적인 머신러닝 알고리즘입니다. 단순하고 직관적인 특성으로 유명해 머신 러닝 분야의 초보자에게 인기가 높습니다. KNN의 핵심 아이디어는 비슷한 속성을 가진 데이터 포인트는 같은 클래스에 속하거나 비슷한 값을 갖는 경향이 있다는 것입니다. 이 알고리즘은 학습 데이터 세트에서 다수 클래스 또는 가장 가까운 'K' 데이터 포인트의 평균값을 기반으로 예측을 수행합니다.

KNN(가장 가까운 이웃)의 작동 방식

KNN 알고리즘은 근접성의 원리에 따라 작동합니다. 보이지 않는 새로운 데이터 포인트가 제시되면 이 포인트와 학습 데이터 세트의 모든 포인트 사이의 거리를 계산합니다. 그런 다음 새 포인트에 가장 가까운 'K' 훈련 포인트를 식별합니다. 분류의 경우, 새 점에는 가장 가까운 'K'개의 이웃 점들 중 가장 일반적인 클래스가 할당됩니다. 회귀의 경우, 예측 값은 가장 가까운 이웃 'K' 개 값의 평균(또는 가중 평균)입니다. 'K'의 선택은 매우 중요하며 모델의 성능에 큰 영향을 미칠 수 있습니다. 'K'가 작을수록 노이즈에 민감할 수 있고, 'K'가 클수록 의사 결정 경계를 부드럽게 만들 수 있지만 다른 클래스의 포인트가 포함될 수 있습니다.

거리 메트릭

KNN에서 '가장 가까운'이라는 개념은 거리 측정 기준에 따라 달라집니다. 일반적으로 사용되는 거리 메트릭에는 유클리드 거리, 맨해튼 거리, 밍코프스키 거리가 있습니다. 각 메트릭은 고유한 특성을 가지고 있으며 다양한 유형의 데이터에 적합합니다. 예를 들어, 유클리드 거리는 연속적인 숫자 데이터에 일반적으로 사용되는 반면, 맨하탄 거리는 이상값에 더 강력할 수 있습니다.

관련성 및 응용 분야

KNN은 구현이 쉽고 다양한 영역에서 효과적이기 때문에 널리 사용되고 있습니다. 특히 데이터 분포에 대한 사전 지식이 거의 또는 전혀 없을 때 유용합니다. KNN은 유사한 사용자의 선호도를 기반으로 사용자에게 상품을 제안하는 등의 추천 시스템에 적용될 수 있습니다. AI와 머신러닝의 맥락에서 추천 시스템에 대해 자세히 알아보세요.

실제 애플리케이션

예 1: 의료 서비스

의료 분야에서 KNN은 유사한 환자의 병력을 바탕으로 환자가 특정 질병에 걸릴 가능성이 있는지 예측하는 데 사용할 수 있습니다. 나이, 혈압, 콜레스테롤 수치와 같은 요인을 분석하여 새로운 환자를 위험 범주로 분류하여 조기 진단 및 맞춤형 치료 계획을 수립할 수 있습니다. 의료 분야의 AI에 대해 자세히 알아보세요.

예 2: 이미지 인식

KNN은 손으로 쓴 숫자를 식별하거나 물체의 이미지를 분류하는 등의 이미지 인식 작업에 사용할 수 있습니다. 이미지를 특징 벡터로 표현함으로써 KNN은 학습 세트의 레이블이 지정된 이미지와의 유사성을 기반으로 새로운 이미지를 분류할 수 있습니다. 이 애플리케이션은 광학 문자 인식(OCR) 및 자동 이미지 태깅과 같은 분야에서 특히 유용합니다.

관련 개념

K-메인 클러스터링

KNN과 K-Means는 모두 'K'라는 매개변수를 포함하지만, 서로 다른 용도로 사용됩니다. K-Means는 클러스터링에 사용되는 비지도 학습 알고리즘으로, 여기서 'K'는 클러스터의 수를 나타냅니다. 이와 대조적으로 KNN은 분류 및 회귀에 사용되는 지도 학습 알고리즘으로, 여기서 'K'는 고려되는 이웃의 수를 나타냅니다. K-평균 클러스터링에 대해 자세히 알아보세요.

차원 감소

KNN의 성능은 "차원의 저주"라고 알려진 고차원 데이터의 영향을 받을 수 있습니다. 주성분 분석(PCA) 과 같은 기술을 사용하면 필수 정보는 유지하면서 특징의 수를 줄여 KNN의 효율성과 정확도를 향상시킬 수 있습니다.

장점과 단점

장점

  • 단순성: KNN은 이해하고 구현하기 쉽습니다.
  • 훈련 단계 없음: KNN에는 명시적인 학습 단계가 없으므로 동적 데이터 세트에 효율적입니다.
  • 유연성: 분류 및 회귀 작업 모두에 사용할 수 있습니다.

단점

  • 계산 비용: KNN은 모든 훈련 지점까지의 거리를 계산해야 하므로 특히 대규모 데이터 세트의 경우 계산 비용이 많이 들 수 있습니다.
  • 'K'에 대한 민감도: 'K'의 선택에 따라 성능에 큰 영향을 미칠 수 있습니다.
  • 차원성의 저주: 차원이 높은 데이터일수록 성능이 저하됩니다.

결론

가장 가까운 이웃은 다양한 머신 러닝 애플리케이션에서 그 자리를 차지하고 있는 다재다능하고 직관적인 알고리즘입니다. 데이터 포인트의 유사성을 기반으로 예측할 수 있기 때문에 분류 및 회귀 작업에 유용한 도구입니다. 하지만 최적의 성능을 위해서는 'K'와 거리 메트릭의 선택을 신중하게 고려해야 합니다. 고급 머신 러닝 모델과 그 배포에 관심이 있는 분들을 위해 Ultralytics 에서는 Ultralytics YOLO 모델과 Ultralytics HUB 플랫폼과 같은 최첨단 솔루션을 제공합니다.

모두 보기