태그: K-Nearest Neighbors
이 태그가 포함된 글들입니다. (총 1개)
k-최근접 이웃
k-최근접 이웃 (k-Nearest Neighbors, k-NN) #
k-최근접 이웃(k-Nearest Neighbors, k-NN)은 가장 직관적이고 단순한 기계학습 알고리즘 중 하나이다. 새로운 데이터 포인트를 분류할 때, 훈련 데이터에서 가장 가까운 k개의 이웃들의 클래스를 참고하여 다수결 투표로 분류를 결정한다. k-NN은 “게으른 학습(lazy learning)” 또는 “인스턴스 기반 학습(instance-based learning)“이라고도 불린다.
k-NN의 기본 개념 #
1. 게으른 학습 (Lazy Learning) #
- 훈련 단계: 실제 모델 학습 없이 데이터를 메모리에 저장만 함
- 예측 단계: 새로운 데이터가 들어올 때 비로소 계산 수행
- 모델 없음: 명시적인 모델이나 가중치를 학습하지 않음
2. 인스턴스 기반 학습 (Instance-based Learning) #
- 일반화된 모델 대신 구체적인 훈련 인스턴스들을 기반으로 예측
- 지역적 근사를 통한 분류
- 새로운 데이터와 유사한 과거 데이터를 찾아 예측
k-NN 알고리즘의 작동 원리 #
1. 분류 과정 #
- 거리 계산: 새로운 데이터 포인트와 모든 훈련 데이터 간의 거리 계산
- 이웃 선택: 가장 가까운 k개의 이웃 선택
- 투표: k개 이웃들의 클래스 중 가장 많은 클래스로 분류
- 예측: 다수결 결과를 최종 예측값으로 반환
2. 회귀에서의 k-NN #
분류 대신 회귀에서는 k개 이웃들의 값의 평균을 예측값으로 사용한다: