상세 컨텐츠

본문 제목

KNN(K-Nearest Neighbors)개념

IT/머신러닝

by Adonis_ 2020. 12. 13. 21:13

본문

KNN 알고리즘 개념

출처: towardsdatascience

  • 비모수 방법론 중 가장 많이 쓰는 알고리즘으로 분류 및 회귀 분석에 사용
  • K는 Neighbor의 수로 사용자가 사전에 정의한 값
  • 거리지표를 사용하여 K개의 이웃을 선택하여 분류
  • K가 작을수록 복잡한 decision boundary가 생성되며, K가 클수록 선형에 가까운 decision boundary가 생성됨
  • K가 작은 경우 편파성(bias)감소, 분산(variance) 증가 / K가 큰 경우 편파성(bias)증가, 분산(variance) 감소

거리지표(Distance)정의 방법

1) 유클리디안 거리(Euclidean distance)
    - 가장 대표적인 방법

2) 마할라노비스 거리(Mahalanobis distance)

    - 데이터의 밀도를 고려한 거리 척도

(S : covariance matrix)

K-NN 알고리즘 수행 단계

1) K값 선택

2) 학습 집합 중 K개의 데이터를 거리지표를 사용하여 선택

3) 범주형 출력변수인 경우 아래의 예측값 사용

  연속형 출력변수인 경우 아래의 예측값 사용

K-NN 장점

  • 별도의 학습이 필요치 않음
  • 성능 좋음

K-NN 단점

  • 새로운 데이터 예측시 기존의 모든 데이터를 유지해야함
  • 데이터가 많을 수록 메모리 소요가 큼
  • 데이터가 많을 수록 예측 소요시간이 길어짐

관련글 더보기

댓글 영역