3.7 k-최근접 이웃: 게으른 학습 알고리즘
이 장에서 언급할 마지막 지도 학습 알고리즘은 k-최근접 이웃(K-Nearest Neighbor, KNN)입니다. 이 알고리즘은 지금까지 설명했던 학습 알고리즘과는 근본적으로 다릅니다. KNN은 전형적인 게으른 학습기(lazy learner)입니다. 단순하기에 게으르다고 말하는 것이 아니라 알고리즘은 훈련 데이터에서 판별 함수(discriminative function)를 학습하는 대신 훈련 데이터셋을 메모리에 저장하기 때문입니다.
Note ≡ 모수 모델 vs 비모수 모델
머신 러닝 알고리즘은 모수 모델(parametric model)과 비모수 모델(nonparametric model)로 묶을 수 있습니다. 모수 모델은 새로운 데이터 포인트를 분류할 수 있는 함수를 학습하기 위해 훈련 데이터셋에서 모델 파라미터를 추정합니다.26 훈련이 끝나면 원본 훈련 데이터셋이 더 이상 필요하지 않습니다. 전형적인 모수 모델은 퍼셉트론, 로지스틱 회귀, 선형 SVM입니다. 반대로 비모수 모델은 고정된 개수의 파라미터로 설명될 수 없습니다. 훈련 데이터의 양에 따라 파라미터 개수도 늘어납니다. 지금까지 본 모델 중 비모수 모델 두 개는 결정 트리/랜덤 포레스트와 (선형이 아닌) 커널 SVM입니다.27
KNN은 비모수 모델에 속하며 인스턴스 기반 모델이라고 합니다. 인스턴스 기반 모델은 훈련 데이터셋을 메모리에 저장하는 것이 특징입니다. 게으른 학습은 인스턴스 기반 학습의 특별한 경우이며 학습 과정에 비용이 전혀 들지 않습니다.