코딩 및 기타

K-Nearest Neighbors Classification

정지홍 2025. 1. 10. 15:26

K-Nearest Neighbors

  • 지도학습이며, 데이터 포인트간의 거리를 측정하여 새로운 데이터를 분류 or 예측하는데 사용
  • knn의 원리
    • 1. k개의 가장 가까운 이웃을 찾음
      • 새로운 데이터가 주어질때, 기존 데이터들 중에서 가장 가까운 k개의 이웃을 찾음
      • 일반적으로 유클리드 거리를 사용하지만, 맨해튼 거리등 다른것도 가능
    • 2-1. 분류 문제라면...
      • 찾은 k개의 이웃중 다수결 원칙으로 label을 결정 
        • 만약, 3개의 이웃중 2개가 a이고 1개가 b라면, 새로운 데이터는 a로 분류시킴
    • 2-2. 회귀 문제라면...
      • 찾은 k개의 이웃의 값을 평균하여 새로운데이터의 값을 예측함
  • 이미지 분류에서는?
    • 주어진 이미지가 다른 이미지들과 비교해서 가장 유사한 k개의 이미지를 찾아서 다수결로 분류를 한다.
    • 적용을 위해서...
      • 1. 이미지의 픽셀을 그대로 사용 or 이미지에서 의미있는 특징을 추출해서 비교한다.
        • 일반적으로 HOG , SIFT , SURF와 같은 방법 사용
      • 2. 추출된 특징 벡터를 가지고 거리를 측정한다.
      • 3. k개의 근접한 이웃 찾기
        • k가 클수록 일반화되며, k가 적을수록 과적합 가능
      • 4. 추가된 label을 결정

  • 위의 그래프는 k값에 따른 정확도 비율을 나타낸다.
    • k값이 커질수록 정확도가 감소함을 확인할수있다.
  • % 비율은 훈련데이터를 나눈 비율이다.
    • train data가 많을수록 좀 더 정확도가 높게 측정됨

'코딩 및 기타' 카테고리의 다른 글

informed sampler란?  (0) 2025.02.13
HSVC ( hierarchical state validity checking )  (0) 2025.02.12
isaac sim ui에 대해서...  (0) 2025.01.04
isaac sim 서드파티 error ( path tracking )  (0) 2025.01.04
isaac sim install  (1) 2025.01.03