AI VIDEO BRIEFING
KNN 알고리즘 쉽게 이해하기: K-최근접 이웃 분류 원리와 적절한 K값 고르는 법
머신러닝 입문자를 위한 K-최근접 이웃(KNN) 분류 알고리즘 해설. 이미 범주를 아는 데이터 중 가장 가까운 이웃들의 다수결로 새 데이터의 범주를 정하는 원리와, 노이즈와 이상치를 피하는 적절한 K값 선택 요령을 예시와 함께 정리했다.

핵심 메시지
쉽게 이해하기
영상은 머신러닝에서 데이터를 분류하는 가장 단순한 방법으로 K-최근접 이웃(K-nearest neighbors, KNN) 알고리즘을 소개한다. 예시로는 장 종양에서 얻은 여러 세포 유형 데이터를 사용한다. 이미 어떤 세포가 어떤 유형인지 아는 데이터가 충분히 있다면, 유형을 모르는 새 세포가 어떤 종류인지 그 데이터로 판단할 수 있다는 것이 출발점이다.
과정은 세 단계다. 먼저 범주를 이미 아는 데이터셋을 준비하고 PCA 같은 방법으로 군집화한다. 다음으로 범주를 모르는 새 데이터를 같은 그림에 추가한다. 마지막으로 새 데이터에서 가장 가까운, 이미 범주가 표시된 이웃들을 살펴 그 범주로 분류한다. 바로 이 "가장 가까운 이웃"이 알고리즘 이름의 유래다.
K는 참고할 이웃의 개수다. K가 1이면 가장 가까운 이웃 하나만 보고 범주를 정하고, K가 11이면 가장 가까운 11개를 본다. 새 데이터가 두 범주 사이 애매한 위치에 있으면 다수결로 정한다. 영상의 예에서는 11개 이웃 중 빨강이 7개, 주황이 3개, 초록이 1개여서 가장 표가 많은 빨강으로 분류했다.
같은 원리는 계층적 군집화로 그린 히트맵에도 그대로 적용된다. 새 데이터가 특정 색 군집의 한가운데 있으면 K가 1이든 5든 같은 색으로 분류되고, 경계에 가까우면 다시 이웃들의 투표로 결정한다. 동점을 줄이려면 K를 홀수로 두면 되고, 그래도 동점이면 동전을 던지거나 범주를 부여하지 않는 선택도 가능하다.
K값 선택에는 물리적·생물학적 정답이 없다. 그래서 학습 데이터의 일부를 일부러 "모르는 데이터"로 취급해 KNN으로 분류해 보고, 이미 아는 정답과 얼마나 잘 맞는지 평가하며 적당한 K를 찾는다. K가 1~2처럼 작으면 노이즈와 이상치에 민감해지고, K가 너무 크면 표본이 적은 범주가 항상 다른 범주에 밀려 묻힐 수 있다.
주요 인사이트
- KNN의 핵심은 "비슷한 것끼리 가깝다"는 직관으로, 별도의 복잡한 모델을 학습시키지 않고 기존 데이터와의 거리만으로 분류한다.
- K는 결과를 좌우하는 핵심 손잡이다. 작은 K는 세밀하지만 불안정하고, 큰 K는 안정적이지만 소수 범주를 놓치기 쉬워 둘 사이의 균형이 필요하다.
- 정답을 아는 학습 데이터 일부를 검증용으로 떼어 K를 시험하는 방식은, 모델 성능을 직접 측정해 하이퍼파라미터를 고르는 머신러닝의 일반적 사고방식을 보여준다.
- K를 홀수로 두어 동점을 피하거나, 동점 시 분류를 보류하는 등 단순한 알고리즘에도 실전적인 처리 규칙이 필요하다.
자주 묻는 질문
KNN에서 K는 무엇을 의미하나요?
분류할 새 데이터의 범주를 정할 때 참고하는 가장 가까운 이웃의 개수입니다. K가 1이면 가장 가까운 한 개만, K가 11이면 가장 가까운 11개를 보고 다수결로 범주를 정합니다.
학습 데이터란 무엇인가요?
범주를 미리 알고 있어 초기 군집화에 사용하는 데이터를 말합니다. KNN은 이 학습 데이터를 기준으로 범주를 모르는 새 데이터가 어디에 속하는지 판단합니다.
가장 좋은 K값은 어떻게 정하나요?
정해진 공식은 없습니다. 학습 데이터의 일부를 범주를 모르는 데이터인 것처럼 두고 KNN으로 분류한 뒤 실제 정답과 비교해, 여러 K값을 시험하며 잘 맞는 값을 고릅니다.
K값이 너무 작거나 크면 어떤 문제가 생기나요?
K가 1~2처럼 작으면 노이즈와 이상치에 민감해지고, K가 지나치게 크면 표본이 적은 범주가 항상 다른 범주에 밀려 제대로 분류되지 못합니다.
원문과 출처
이 글은 원본 영상의 자막을 바탕으로 한국어 독자를 위해 요약했습니다. 전체 맥락과 최신 정보는 원문에서 확인하세요.
YouTube 원본 영상 보기 ↗