PART 03
데이터 분석
05장 · 정형 데이터 마이닝 · 지도학습 알고리즘

k-최근접 이웃법 k-Nearest Neighbor (k-NN)

p.401–403
🎯 학습목표
  • K-NN의 분류 원리 이해
  • k값·거리 측도 선택
  • 장단점과 기출문제 풀이
01

K-NN의 원리 · 가까운 이웃의 다수결

지도학습 · 분류 알고리즘 · Lazy Learning

k-최근접 이웃법(k-NN)은 범주가 알려진 기존 데이터 가운데 새 관측치와 거리가 가까운 k개 이웃의 범주를 확인하여 다수결로 새 관측치의 범주를 예측하는 지도학습(Supervised Learning) 방법입니다.

🗃️

① 기존 데이터

정답 범주 A·B가 있는 학습 자료

➜
📍

② 새 데이터

어느 범주인지 알 수 없는 ' ? '

➜
📏

③ 거리·이웃

거리를 계산해 가까운 k개 선택

➜
🗳️

④ 다수결 분류

이웃의 다수 범주를 예측 결과로

Supervised Learning 지도학습 · 정답 범주 필요Instance-Based Learning 사례·거리 기반Lazy Learning 예측 시 이웃 검색과 비교 수행
개념 보충: ‘게으른 학습(Lazy Learning)’은 예측 전에 복잡한 명시적 모형을 적합하기보다 학습 데이터를 보관해 두고 예측 요청 시 거리 계산을 수행한다는 뜻입니다. ‘아무 준비도 하지 않는다’는 의미는 아닙니다.
02

실습 시각화 · k값에 따라 예측 결과가 바뀔까?

k값과 거리 측도 직접 선택

k=1은 가장 가까운 1명의 범주를, k=3은 가장 가까운 3명의 다수 범주를 선택합니다. 아래 별도 설명용 가상 데이터에서 실제로 바꿔 보세요.

🧭 최근접 이웃 분류 · 상호작용 도식
이웃 수 k
그림을 불러오는 중…
A 범주 (동그라미) B 범주 (네모)?새 관측치 Q
옅은 경계 = 선택한 거리 측도에서 k번째 이웃의 거리 범위 · 실선 = 선택된 이웃과 Q의 연결
📊 분류 결과 · 왜 이렇게 예측할까?
거리 측도
새 관측치 Q = (5, 5)
A
A 범주로 분류
가장 가까운 이웃이 A에 속함
A 범주1명
B 범주0명
선택된 가까운 이웃 순서

    거리와 선출된 이웃은 선택한 거리 측도에 따라 다시 계산됩니다. 데이터 범주는 예시이며 교재의 누락된 원자료와는 구분합니다.

    📘 교재 예시와의 연결 · 교재 설명은 k=3일 때 z₁ → B, z₂ → A로 분류합니다.
    제공된 발췌문에는 기존 7개 객체의 좌표표가 없고 z₂ 좌표 일부도 판독이 불명확해, 해당 사례의 거리 계산값을 임의로 작성하지 않았습니다.
    03

    이웃 간 거리 계산 · 세 가지 대표 측도

    거리가 가까울수록 유사한 관측치

    ① 유클리드 거리 · Euclidean Distance

    d₂ = √[(x₁ − x₂)² + (y₁ − y₂)²]

    두 점 사이의 직선거리. 연속형 수치 데이터에서 가장 대표적인 거리 측도입니다.

    ② 맨해튼 거리 · Manhattan Distance

    d₁ = |x₁ − x₂| + |y₁ − y₂|

    가로·세로 방향의 차이를 합산하는 거리. 격자 도로의 이동거리와 비슷합니다.

    ③ 민코프스키 거리 · Minkowski Distance

    dₚ = (|x₁ − x₂|ᵖ + |y₁ − y₂|ᵖ)¹⁄ᵖ

    거리 측도의 일반형. p=1은 맨해튼, p=2는 유클리드입니다(p≥1).

    ④ 동일 좌표로 간단 계산

    Q(5, 5), A₁(5.2, 5.1)

    유클리드: √(0.2²+0.1²) ≈ 0.224
    맨해튼: 0.2+0.1 = 0.300
    민코프스키(p=3): (0.2³+0.1³)¹⁄³ ≈ 0.208

    중요한 실무 보충: 변수의 단위·크기가 다르면 거리 계산에 특정 변수가 과도하게 반영될 수 있으므로 표준화 또는 정규화가 중요합니다. 범주형 변수도 적절한 인코딩과 거리·유사도 측도를 사용하면 K-NN에 적용할 수 있어 ‘수치형 데이터만 분석 가능’은 잘못된 진술입니다.
    04

    k값 선택과 장단점 · 시험에 자주 나오는 함정

    과대적합 ↔ 일반화 ↔ 과소적합

    k가 너무 작을 때

    작은 k · 예: k=1

    개별 관측치·잡음에 민감합니다. 과대적합(Overfitting) 위험이 커질 수 있습니다.

    적절한 k 선택

    데이터에 맞춰 검증

    개별 잡음과 과도한 평활화 사이를 조정합니다. 교차검증 등으로 선택합니다.

    k가 너무 클 때

    지나치게 큰 k

    국소적 패턴을 놓쳐 과소적합(Underfitting) 위험이 커질 수 있습니다.

    ✓ 장점 (Advantages)

    • 직관적이며 원리가 간단합니다.
    • 복잡한 명시적 모델을 미리 학습시키지 않고도 분류할 수 있습니다.
    • 새로운 학습 사례를 추가하기 쉽습니다.
    • 분류뿐 아니라 회귀(K-NN Regression)에도 응용됩니다.

    △ 단점 (Limitations)

    • k값과 거리 측도를 적절히 선택해야 합니다.
    • 예측 때 거리 계산이 필요해 데이터가 크면 느려질 수 있습니다.
    • 이상치·잡음·변수 스케일에 민감할 수 있습니다.
    • 차원이 높으면 거리의 구별력이 낮아지는 차원의 저주가 발생할 수 있습니다.
    📌 k ≈ √n은 일부에서 사용하는 출발용 경험칙 · 최적값 아님📌 범주형도 적절히 처리하면 적용 가능📌 이상치 · 차원 증가 · 거리 계산 비용 주의
    05

    핵심개념 체크 · 기출문제 17번

    29회 기출 · K-NN의 단점
    ✏️ 보기를 선택한 뒤 ‘정답 확인’을 누르면 채점과 선지별 해설을 볼 수 있습니다.29회 기출 · 1문항
    문제 1729회 기출 · 옳지 않은 설명 찾기

    다음 중 k-Nearest Neighbor(k-NN)의 단점에 관한 설명으로 옳지 않은 것은?

    학습 흐름: 정의 이해 → k값 선택 → 거리 계산 → 장단점 구분 → 기출문제 적용