본문 바로가기
정보

K-최근접 이웃 법과 서포트 벡터 머신

by Sunnyspotho 2024. 10. 6.

K-최근접 이웃법과 K-NN 알고리즘

어떤 범주로 나누어져 있는 데이터 셋이 있을 때, 새로운 데이터가 추가된다면 이를 어떤 범주로 분류할 것인지를 결정할 때 사용할 수 있는 분류 알고리즘으로 지도 학습(Supervised Learning)의 한 종류입니다. 
  
K- NN 알고리즘에서는 새로운 데이터의 클래스(범주)를 해당 데이터와 가장가까이 있는 k개 데이터들의 클래스(범주)로 결정합니다. 예를 들어  '?’의 클래스를 구분하고자 한다고 봅시다. 주변에 있는 이웃의 개수를 라고 했을 때 k=l로 설정할 경우 ‘?’는 원으로 분류되고 k=3으로 설정할 경우 '?'는 원으로 분류됩니다. 일종의 다수결과 같이 분류하고자 하는 데이터와 가장 가까운 이웃들이 주로 속해 있는 클래스(범주)를 선택하는 것입니다. 

K의 선택은 학습의 난이도와 데이터의 개수에 따라 결정될 수 있으며, 일반적으로는 훈련 데이터 개수의 제곱근으로 설정합니다. k를 너무 크게 설정할 경우 과소적합(Underfitting) 이 발생하며 k를 너무 작게 하면 과대적합 ( overfitting) 이 발생할 수 있습니다. 

 

이웃 간의 거리 계산 방법

K-NN 알고리즘에서 최근접 이웃 간의 거리를 계산할 때 유클리디안 거리, 맨해튼 거리, 민코우스키 거리 등을 이용할 수 있으며 대표적으로는 유클리디안 거리를 사용합니다.

예를 들어 A, B의 두 가지 범주로 구분된 데이터가 7개가 있을 때 K-NN 분류 알고리즘을 이용하여 z1과 z2 데이터는 어떤 범주에 속하는지 분류하고자 합니다. 유클리디안 거리 공식을 이용하 z1, z2와 기존 7개의 데이터들 사이의 거리를 산출합니다. k의 값을 3으로 설정하고 계산된 객체 간의 거리를 활용해 z1과 z2의 가장 인근에 있는 데이터들과 범주를 파악해야 합니다. z1 데이터의 이웃으로는 B범주에 속하는 데이터가 2개 A범주에 속하는 데이터가 1개이므로 z1은 B범주로 분류합니다. 반면 z2 데이터의 이웃으로는 A범주에 속하는 데이터가 2개 B범주에 속하는 데이터가 1개이므로 z1은 A범주로 분류합니다.

 

K-NN Classification의 장단점

먼저 장점입니다. 사용이 간단하며 범주를 나눈 기준을 알지 못해도 데이터를 분류할 수 있으며 추가된 데이터의 처리가 용이합니다. 단점으로는 K값이 결정이 어려우며 수치형 데이터가 아닐 경우 유사도를 정의하기 어렵습니다. 데이터 내에 이상치가 존대하면 분류 성능에 큰 영향을 받습니다.

 

서포트 백터 머신 (SVM)

서포트 벡터 머신은 지도학습 머신러닝 모델이며, 주로 회귀와 분류 문제 해결에 사용되는 비확률적 이진 선형 분류 모델을 생성합니다. 존 분류기가 오류율 최소화를 특정으로 한다면 SVM은 마진 최대화로 일반화 능력의 극대화를 추구하고, 마진이 가장 큰 초평면을 분류기( Classifier)로 사용할 때, 새로운 자료에 대한 오분류가 가장 낮아집니다.  
SVM 분류 모델은 데이터가 표현된 공간에서 분류를 위한 경계를 정의합니다. 즉, 분류되지 않은 새로운 값이 입력되변 경계의 어느 쪽에 속하는지를 확인하여 분류 과제를 수행합니다. 

 

SVM의 장단점

장점으로는 분류와 예측 모두에 사용할 수 있으며 신경망 기법에 비해 과적합 정도가 낮고 예측의 정확도가 높습니다. 또한 저차원과 고차원의 데이터에 대해서 모두 잘 작동하며 비선형 분리 데이터를 커널트릭을 사용해 분류 모델링 할 수 있다는 장점이 있습니다. 단점으로는 데이터 전처리와 매가변수 설정에 따라 정확도가 달라질 수 있으며 예측이 어떻게 이루어지는 지에 대한 이해와 모델에 대한 해석이 어렵고 대용량 데이터에 대한 모형 구축 시 속도가 느리며 메모리 할당량이 크다는 특징이 있습니다.