[Home] AI로 돌아가기
KNN (K-Nearest Neighbors) - 최근접 이웃 알고리즘
(1) KNN 개념
KNN (K-Nearest Neighbors)는 지도 학습(Supervised Learning)에 속하는 간단하면서도 강력한 분류(Classification) 및 회귀(Regression) 알고리즘이다.
새로운 데이터가 주어졌을 때, 학습 데이터 중에서 가장 가까운 K개의 이웃을 찾아 이웃들의 다수결 또는 평균으로 결과를 예측한다.
(2) 작동 원리
- 새로운 입력 데이터가 들어오면, 기존 학습 데이터와의 거리(Distance)를 계산
- 가장 가까운 K개의 데이터를 선택
- K개의 이웃 중 다수가 속한 클래스로 분류하거나 평균값을 계산하여 회귀
- 주로 사용하는 거리 측정법은 유클리드 거리이다.
(3) 예시와 시각화
(4) 장단점
장점
- 이해하기 쉽고 구현 간단
- 훈련 시간이 짧음 (훈련 과정에서 모델이 생성되지 않음)
단점
- 예측 시 계산량 많음 (모든 학습 데이터와 거리 계산)
- 고차원 데이터에서 성능 저하 (차원의 저주)
- 불균형 데이터에 민감
(5) 활용 분야
- 문서 분류: 이메일 스팸 필터링, 뉴스 기사 분류
- 의료 진단: 질병 유무 판별
- 이미지 분류: 손글씨 인식 (MNIST)
- 추천 시스템: 유사한 사용자의 행동 기반 추천