Bite Bits/Data Science

분류 - kNN 모델

상영 2017. 4. 17. 16:34

분류에 사용되는 kNN (k-Nearest Neighbor) 모델은 머신러닝 모델 가운데 가장 직관적이고 간단한 지도학습 모델 중 하나다. kNN은 인스턴스 기반의 러닝 또는 메모리 기반의 러닝이라고도 한다. 그 이유는 학습을 사전에 하지 않고 미뤄두고 있다가 새로운 데이터의 태스크 요청이 오면 그때 일반화(분류)를 수행하기 때문이다. 즉, 학습에 필요한 데이터를 메모리에 기억만 하고 있다가 인스턴스가 발생될 때 비로소 일반화하는 일을 시작한다. 이러한 이유로 lazy learning 이라고도 한다.


kNN의 기본적인 개념은 새로운 데이타가 어느 그룹에 속하는지 분류하기 위해 그 데이터에 가장 가까이에 있는 학습 데이터가 속한 그룹을 알아보는 것이다. 이를 위해 먼저 레이블된 학습 데이터들의 특성을 정량화한 후 좌표공간에 표현하는 작업이 필요하다. 만양 특성이 2개이면 2차원 평면에 각 학습 데이타가 표현된다. 알고자 하는 새로운 데이터를 중심으로 가상의 원(2차원인 경우)을 확장해 가다가 첫 번째 데이터가 발견되면 그 데이터가 속해있는 그룹(레이블)이 바로 새로운 데이터의 그룹이 되는 것이다. (k=1인 경우) - 의사결정을 위해 k 는 항상 홀수로 선택


- 알고리즘으로 배우는 인공지능, 머신러닝, 딥러닝 입문 (김의중 지음)