1. 인공지능/(1) 기본이론 (영상처리)
(2) K-NN 알고리즘 (Supervised ML)
Labeler
2024. 7. 25. 23:43
KNN (K-Nearest Neighbor) 개념
KNN
velog.io
- 지난 글에서 K-means 클러스터링을 다뤘는데, 클러스터링 즉 군집화는 대표적인 비지도학습 알고리즘
- 이번 글에서는 지도학습 알고리즘 중에서 대표격인 K-NN을 정리
1. K-NN 알고리즘이란?
- K-NN 알고리즘은 K Nearest Neibor의 약자
- 특정지점에서 K개의 가장 가까운 이웃(레이블링된)을 기반으로 특정 지점을 무엇으로 레이블링할지 정해주는 알고리즘
- 비슷한 특징을 가진 포인트는 비슷한 위치에 있을 것이라는 가정 하에 만들어진 알고리즘
- 예를들면 위와 같음. K를 5로 선택했을 때 해당 바운더리에 Red가 3개 Green이 2개 있으니 해당 지점은 Red일 것이라 추정해주는 것
- 즉 일종의 분류기 (Classifier)인데 간단한 알고리즘인 만큼 '다수결' 원칙
2. K-NN 알고리즘 Key factor
- K-NN 알고리즘의 Key factor는 K를 몇으로 하느냐 임
- K가 너무 작으면 Overfitting이 되는 것이고, K가 너무 크면 Underfitting이 될 수 있어서 적절한 K를 설정하는 것도 관건
- K값을 바꿔가며 validation을 해보면 위와 같음
- 해당 도메인에서는 K를 75 정도로 세팅하여 사용하면 될듯
3. K-NN 알고리즘 파이썬 실행 예제