KNN 알고리즘

(머신러닝) KNN 알고리즘에 대해 간단하게 설명합니다.

# Machine Learning
title

준비

본 글에서는 KNN (K-최근접 이웃) 알고리즘에 대해 간단하게 설명합니다.

보다 자세한 정보는 구글링 또는 관련 문서를 참고하세요.





KNN 이란?

지도 학습 알고리즘 중 하나로 특정 데이터를 기준으로 주변을 살펴본 뒤 가장 많은 데이터가 포함된 카테고리로 분류하는 방법입니다.


KNN 알고리즘


최근접 이웃 (Nearest Neighbor)

새로운 데이터를 받았을 때 가장 근접한 데이터를 중심으로 종류를 정해주는 알고리즘.


K-최근접 이웃 (K-Nearest Neighbor)

데이터로부터 거리가 가까운 'K' 개의 다른 데이터의 레이블을 참조하여 분류하는 알고리즘.


장점
  • 단순하고 효율적.

  • 훈련 단계가 빠름.

  • 수치 기반 데이터 분류 작업에서 성능이 우수함.

  • 기존 분류 체계 값을 모두 검사하여 비교하므로 높은 정확도를 가진다.


단점
  • 기존의 데이터를 비교해야 하기에 데이터가 많을수록 처리 시간이 증가.
  • 많은 데이터 활용을 위해 메모리를 많이 사용하게 되어 고사양의 하드웨어가 필요합니다.





K 를 선택

최선의 K 값을 선택하는 것은 데이터에 의존적

아직까지 K 의 개수를 구하는 최적의 방법은 정형화 되어 있지 않아서 사람이 직접 찾아줘야 합니다.

보통 K 값은 홀수를 사용합니다.


오버 피팅

K 를 너무 작은 값으로 설정하면 범주가 좁아지게 되어 근접한 데이터들로부터 민감하게 영향을 받게됩니다.


언더 피팅

K 를 너무 큰 값으로 설정하면 모든 점이 동일한 범주로 분류되어 데이터 사이의 거리는 의미가 없어집니다.





정규화

KNN 알고리즘과 같이 거리 기반 모델의 경우 모델 구현 시 정규화 (Normalization) 를 해야할 필요가 있습니다.

변수 A 와 B 의 범위 차이가 클 때, 이 범위를 조정하지 않는다면 범위가 더 큰 수치가 거리 함수에 훨씬 더 많은 영향을 미치게 됩니다.


정규화1


최소 - 최대 정규화

변수 X 의 범위를 0% 에서 100% 까지로 표현.

최소-최대 정규화


Z-점수 표준화

변수 X의 범위를 평균의 위 또는 아래로 몇 표준 편차만큼 떨어져 있는지 관점으로 확대 / 축소.

Z-점수 표준화





🙏 감사합니다

수업을 진행해주신 선린인터넷고등학교 이모션 동아리의 박재윤, 김수완 선배님께 감사드립니다.




읽어주셔서 감사합니다.

😍  댓글