본문 바로가기
개발노트/머신러닝

K-최근접 이웃 알고리즘 개념 정리하기

by 전지적진영시점 2023. 3. 10.
반응형

 

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

머신러닝에서 사용되는 분류(Classification) 알고리즘이며 가장 간단한 머신러닝 알고리즘이다.

훈련 데이터셋을 그냥 저장하는 것이 모델을 만드는 과정의 전부고

유사한 특성을 가진 데이터는 유사한 범주에 속하는 경향이 있다는 가정하에 사용한다

 

k-최근접 이웃 알고리즘은 n개의 특성을 가진 데이터는 n차원의 공간에 점으로 개념화 할 수 있다.

 

K-최근접 이웃(K-Nearest Neighbor) 그림 예제

간단한 그림을 그려보았다.

 

그림을 상세히 그리지 않았는데 대충 눈에만 안보이는 x축의 특성 수치와 y축의 특성 수치가 있다고 봅시다.

노랑점과 파랑점으로 표시하여 분류를 나타냈으며 빨간별은 아직 분류가 되지 않은 새로운 데이터이다.

 

k-최근접 이웃 알고리즘은 빨간점과 같은 새로운 데이터가 들어오면 노랑이나 파랑으로 분류를 하는 것이다.

 

 

K = 3 일 경우

노랑점 : 2개

파랑점 : 1개 

 

빨간별은 노랑점으로 분류된다.

 

 

K = 8 일 경우

노랑점 : 4개

파랑점 : 4개 

 

그림을 잘못 그렸다. 파랑점을 더 많이 넣었어야 했는데 ... 흠

하지만 이렇게 동률(tie)가 나올 경우도 분명 있다.

 

이럴 경우는 가장 가까운 이웃을 따라가거나 랜덤으로 결정된다.

위 이미지처럼 데이터가 적지 않고 엄청 많으면 랜덤으로 찍거나 가까운 이웃을 따라가도 결과는 비슷하게 나온다.

 

 

 

 

정규화

K-nearest Neighbor 알고리즘을 사용할 때는 모든 특성들을 모두 고르게 반영하기 위해 정규화 작업을 해준다.

 

  • 최소값을 0, 최대값을 1로 고정한 뒤 모든 값들을 0과 1사이 값으로 변환하는 방법
  • 평균과 표준편차를 활용해서 평균으로부터 얼마나 떨어져 있는지 z-점수로 변환하는 방법

정규화 방식은 대표적으로 위 두가지가 있는데 아직 어떻게 하는지 모른다.

다음 포스팅에서는 예제를 들고 해볼거다 !

 

 

 

K 의 개수 , overfitting 과 underfitting

k의 개수가 너무 작으면 overfitting(과적합)이 발생한다.

k = 1일 경우 당연히 시야가 좁아져 분류 정확도가 낮아진다.

 

k의 개수가 너무 크면 underfitting(과소적합)이 발생한다.

예를들어 데이터가 50개인데 k = 50일 경우 모든 데이터가 동일한 방식으로 분류된다.

노랑점 30개 파랑점 20개가 있을 때 k=50이면 무조건 노랑점으로 분류가 되어버린다.

 

 

 

https://www.buymeacoffee.com/jinyyyyleeG

 

cloi

Are you sure? Switching to a new level will terminate your current membership. You will no longer have access to this level or its rewards.

www.buymeacoffee.com

 

반응형

댓글