KNN   K-Nearest Neighbors   k 최근접 이웃

(2025-10-19)

1. k - 최근접 이웃 (KNN, K-Nearest Neighbors)머신러닝 알고리즘 중 가장 직관적이고 이해하기 쉬운 방법론 중 하나
     - 데이터 간의 거리(또는 유사도)를 기준으로 판단하는 방식으로, 
     - 이해하기 쉽고 구현도 간단함


2. KNN의 기본 원리

  ㅇ 새로운 샘플(데이터 포인트)이 주어지면,
  ㅇ 기존 학습 데이터 중에서 이와 가장 가까운 k개의 이웃(Nearest Neighbors)을 찾음
     - 통상, 거리 또는 유사도 척도를 사용함.
     - 여기서, k는 사용자가 미리 지정하는 하이퍼파라미터 임
  ㅇ 선택된 이웃들의 특성을 바탕으로, 새로운 샘플의 결과를 예측함
     - 분류의 경우 : k개 이웃 중 가장 많이 등장한 클래스를 선택
     - 회귀의 경우 : k개 이웃의 평균값 또는 가중 평균값을 예측값으로 사용


3. KNN의 특징

  ㅇ 단순하고 직관적임
     - 데이터 간의 거리 계산으로, 가장 가까운 이웃들 기준에 의해 예측하므로, 이해나 구현이 간단
  ㅇ 지도 학습법의 일종
     - 학습 데이터(입력-출력 쌍)를 기반으로, 새로운 입력이 주어졌을 때,
     - 기존 데이터 중 가장 가까운 k개 이웃의 레이블을 참조하여 결과를 예측함
  ㅇ 게으른 학습법 (Lazy Learning)
     - 모델 학습 단계에서는, 별도의 일반화 과정을 수행 않음
        . 훈련 데이터는 단순히 저장만 하고, 새로운 입력이 들어올 때 만,
        . 비로소 거리 계산분류(또는 회귀) 연산을 수행함
     - 따라서, 학습은 빠르지만, 예측 시 계산량이 많아서, 속도가 느릴 수 있음.
     - 반대로, 선형 회귀SVM 같은 학습법은, 미리 일반화된 모델학습하므로,
        . 적극적 학습법(Eager Learning)에 해당함
  ㅇ 비모수적 방법으로, 데이터 확률분포에 대한 가정을 거의 하지 않음
     - 데이터의 발생 확률분포 형태에 대한 사전 가정이 필요 없음
  ㅇ 분류회귀 모두에서 사용 가능
     - 분류 : k개 이웃 중 가장 많이 등장한 클래스를 선택
     - 회귀 : k개 이웃의 평균값 또는 거리 기반 가중 평균값을 예측값으로 사용
  ㅇ k 값 선택에 따라 성능이 달라질 수 있음  ☞ 아래 4.항 참조
  ㅇ 계산 비용이 높을 수 있음
     - 새로운 데이터가 들어올 때마다 모든 학습 데이터와의 거리 계산이 필요하므로,
     - 데이터가 많을수록 예측 단계의 계산 비용이 급증함


4. k 값의 의존성

  ㅇ k 값이 너무 작으면  :  잡음에 민감해질 수 있음 (과적합)
  ㅇ k 값이 너무 크면  :  모델이 부드러워지지만 세부적인 특징을 놓칠 가능성 있음 (과소적합)
  ㅇ 홀수 k 값을 사용하면  :  분류에서 동점(타이)을 방지할 수 있음

유사도
1. 닮음 (유사도)   2. 거리 (유사도 척도)   3. k 최근접 이웃 (KNN)   4. 레벤슈타인 거리   5. 자카드 유사도  
용어해설 종합 (단일 페이지 형태)

"본 웹사이트 내 모든 저작물은 원출처를 밝히는 한 자유롭게 사용(상업화포함) 가능합니다"
     [정보통신기술용어해설]          Copyrightⓒ 차재복