더북(TheBook)

15.2.1 k 최근접 이웃 알고리즘

k 최근접 이웃(kNN, k-Nearest Neighbor) 알고리즘은 분류 또는 회귀에 사용되는 지도 학습 알고리즘의 하나입니다. kNN 알고리즘을 분류에 사용할 경우, 특징 공간에서 테스트 데이터와 가장 가까운 k개의 훈련 데이터를 찾고, k개의 훈련 데이터 중에서 가장 많은 클래스를 테스트 데이터의 클래스로 지정합니다. kNN 알고리즘을 회귀 문제에 적용할 경우에는 테스트 데이터에 인접한 k개의 훈련 데이터 평균을 테스트 데이터 값으로 설정합니다.

kNN 알고리즘 동작 방식을 이해하기 위해 그림 15-4를 살펴보겠습니다. 그림 15-4는 2차원 평면상에 파란색 사각형과 빨간색 삼각형 두 종류의 데이터가 분포되어 있습니다. 이들 파란색과 빨간색 점들이 훈련 데이터이고, 이 훈련 데이터는 두 개의 클래스로 구분되어 있습니다. 각 점들은 (x, y) 좌표로 표현되므로, 이들 데이터는 2차원 특징 공간에 정의되어 있다고 표현할 수 있습니다. 여기에 녹색으로 표시한 새로운 점을 추가할 경우, 이 점을 파란색 사각형 클래스로 넣을 것인지, 아니면 빨간색 삼각형 클래스로 넣을 것인지를 결정해야 합니다. 간단한 방법은 새로 들어온 점과 가장 가까이 있는 훈련 데이터 점을 찾아, 해당 훈련 데이터 클래스와 같게 설정하는 것입니다. 그림 15-4에서 녹색 점과 가장 가까운 점은 빨간색 삼각형이므로 녹색 점을 빨간색 삼각형 클래스로 지정할 수 있습니다. 이러한 방법을 최근접 이웃(NN, Nearest Neighbor) 알고리즘이라고 합니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.