개념
KNN은 K-Nearest Neighbors의 약자로, 새로운 데이터와 가장 가까운 K개의 학습 데이터를 찾아 다수결로 분류하는 단순한 알고리즘이다.
이미지에서의 사용
이미지 데이터를 픽셀 값 그대로 특징 벡터로 만들고, 두 이미지 사이의 거리를 계산해 가장 가까운 이미지를 찾을 수 있다. 이때 유클리드 거리 같은 거리 함수가 사용된다.
분류에서는 가장 가까운 개 이웃의 라벨 중 가장 많이 나타난 클래스를 선택한다.
한계
원시 픽셀 기반 KNN은 이미지 의미를 잘 반영하지 못한다. 작은 이동, 밝기 변화, 가림이 있어도 거리가 크게 바뀔 수 있고, 반대로 의미가 다른 이미지가 가까운 것으로 계산될 수도 있다.