gyulee0220 2018. 1. 21. 12:24

1. 정의

  새로운 데이터가 어느 그룹에 속하는지 분류하기 위해 그 데이터에 가장 가까이에 있는 학습 데이터가 속한 그룹을 알아보는 것


2. 특징

  - 레이블이 있는 데이터 세트를 가지고 있는 지도학습

  - 학습을 사전에 하지 않고, 새로운 데이터 태스크 요청이 오면 그때 일을 수행함

  - 인스턴스 기반, 메모리 기반 러닝


3. 분석 과정

  1) 먼저 레이블된 학습 데이터들의 특성을 정량화하여 좌표공간에 표현하는 작업 수행


  2) 알고자 하는 데이터를 중심으로 가상의 원을 확장해 가다 k개 데이터가 발견되면 그 데이터가 속해있는 그룹이 새로운 데이터 그룹이 된다. k의 수에 따라 발견해야 하는 데이터의 개수가 늘어난다.


  - k는 홀수여아 의사결정이 가능하다.

  - k가 너무 작으면 노이즈에 민감하게 반응한다. (오버피팅)

  - k가 너무 크면, 의사결정에 너무 둔감하여 변별력을 주지 못한다. (언더피팅)


 


  새로 들어온 데이터를 기준으로 k개 만큼의 데이터를 비교하여 레이블을 매긴다. 위의 사진에서 k=3이라면, 파란색 레이블 1개와 빨간색 레이블 2개의 데이터를 가지고 있어 새로온 데이터는 빨간색 레이블을 달게 된다. 하지만, K=5라면, 파란색 레이블 데이터가 더 많으므로 새로운 데이터는 파란색 레이블을 달게 된다.


4. 노멀피팅 찾기

  KNN모델은 k의 크기에 따라 너무 작으면 오버피팅, 너무 크면 언더피팅이 발생한다. 그래서, 실제 함수와 비슷한 노멀 피팅을 나오도록 k값을 설정해야한다.


  - 오버피팅 여부를 확인하기 위해 확보한 데이터를 보통 7:3이나 9:1 정도로 나눠서 학습과 검증을 통해 해결한다.

  - 규제화 작업을 통해 노이즈와 아웃라이어의 영향을 최소화 한다.

  - 전체 에러를 최소화 하는 최적화 문제를 통해 구현한다.

  - 노이즈의 영향도를 줄이는 구속조건을 추가해 전체 로스 함수(Loss Function), 목적 함수(Object Function)를 최소화한다.