Lumiere, and s5unnyjjj

ML - Theory #11 : K-근접이웃(K-Nearest Neighbors, K-NN) 본문

Artificial Intelligence/Machine Learning

ML - Theory #11 : K-근접이웃(K-Nearest Neighbors, K-NN)

s5unnyjjj 2021. 6. 9. 22:42
반응형

K-근접이웃 (K-Nearest Neighbors, K-NN)

분류하고자하는 새로운 데이터와 가장 가까운 K개의 학습 데이터를 이용하여 새로운 데이터의 클래스를 분류한다. 가장 가까운 K개의 학습 데이터들이 주로 속한 클래스로 새로운 데이터를 분류한다. 즉, 새로운 데이터를 입력으로 받았을 때, 가장 가까이 있는 것이 무엇이냐를 중심으로 새로운 데이터의 종류를 정해주는 알고리즘이다. 

방법은 아래와 같다.

  1. 가장 가까운 이웃을 찾기 위해, Euclidean distance를 사용하여 이웃간의 거리를 계산한다.
  2. 계산한 이웃간의 거리 중, 거리가 가까운 이웃들 K개 만큼 탐색한다.
  3. 다수결의 원리에 근거하여, 신규 테스트 데이터의 class를 예측한다.

Euclidean distance를 이용한 거리 계산은 아래와 같다.

K-NN에서 K값은 새로운 클래스를 분류하기 위하여 사용되는 학습 데이터의 수이며 아래 그림처럼 학습 데이터의 수 만큼만 boundary가 포함된다. 예를들면 K가 1이라면 분류를 하나의 데이터에 의존하여 수행함을 의미하고, K가 5라면 5개의 데이터를 참조하여 분류하게된다. 일반적으로 K값은 validation set의 error를 통하여 결정하는 일종의 hyperparameter이다.

K가 작은 값일 수록, bias는 감소하고, variance는 증가함으로써 Overffiting을 유발한다. 반면 K가 큰 값일 수록, bias는 증가하고, variance는 감소함으로써 Underfitting을 유발한다. (아래 그림 참고) 그러므로 적절한 K값을 정하는 것은 중요하다. 


>> 위 내용은 필자가 공부하여 직접 정리한 내용이며, 위 그림 역시 직접 그린 그림이므로 워터마크 "s5unnyjjj"를 삽입하였음을 알려드립니다.

>> 부족한 점이 많을 수 있기에 잘못된 내용이나 궁금한 사항이 있으면 댓글 달아주시기 바랍니다.

>> 긴 글 읽어주셔서 감사합니다. 

반응형
Comments