K-NN이란? K-최근접이웃 원리·k값·유클리드·맨해튼·마할라노비스 거리 쉽게 이해하기

1장 K-NN이란 무엇인가#

K-NN은 K-Nearest Neighbors, 우리말로 K-최근접이웃이라고 합니다.

핵심 아이디어는 매우 단순합니다.

새로운 데이터가 들어왔을 때 그 데이터와 가장 가까운 k개의 기존 데이터를 찾아 결과를 결정합니다.

예를 들어 새로운 고객 A의 구매 여부를 예측한다고 하겠습니다.

A와 가장 비슷한 기존 고객 5명을 찾아봤더니:

  • 구매
  • 구매
  • 미구매
  • 구매
  • 미구매

였다면 구매가 3명, 미구매가 2명입니다.

K-NN은 이웃들의 다수결에 따라 새로운 고객을 구매 고객으로 분류할 수 있습니다.

쉽게 말하면:

이 사람이 누구와 가장 비슷한지 보고, 주변 사람들의 결과를 따라간다.

는 방식입니다.


2장 K-NN은 지도학습인가#

K-NN은 지도학습 Supervised Learning입니다.

이미 정답이 알려진 데이터를 이용해 새로운 데이터의 결과를 예측하기 때문입니다.

예를 들어 기존 데이터에:

  • 키
  • 몸무게
  • 성별

이 있고 성별이라는 정답이 주어져 있다면 새로운 사람과 가까운 기존 사람들을 찾아 성별을 분류할 수 있습니다.

핵심#

K-NN = 지도학습

입니다.


3장 K-NN은 분류만 가능한가#

아닙니다.

제공된 학습자료에서는 K-NN이:

분류 + 회귀 모두 가능

하다고 설명합니다.

두 경우의 차이는 주변 이웃들의 결과를 어떻게 합치는가에 있습니다.

분류 Classification#

가까운 k개 이웃의 다수결

회귀 Regression#

가까운 k개 이웃의 평균값

을 사용합니다.


4장 K-NN 분류는 어떻게 동작하는가#

새로운 데이터 X가 들어왔다고 하겠습니다.

K = 5라면 X와 가장 가까운 데이터 5개를 찾습니다.

이웃들의 클래스가:

A

A

B

A

B

라면:

A = 3

B = 2

입니다.

다수결에 따라 새로운 데이터 X는:

A

로 분류됩니다.

핵심#

K-NN 분류 = 가까운 k개 → 다수결

입니다.


5장 K-NN 회귀는 어떻게 동작하는가#

회귀에서는 주변 데이터의 클래스가 아니라 숫자값을 사용합니다.

예를 들어 새로운 주택의 가격을 예측하는데 K = 3이고 가장 가까운 세 주택의 가격이:

3억 원

3억 3천만 원

3억 6천만 원

이라면 단순한 방식에서는 이들의 평균값을 이용해 새로운 주택의 가격을 예측할 수 있습니다.

평균은:

3억 3천만 원

입니다.

핵심#

K-NN 회귀 = 가까운 k개 → 평균

입니다.


6장 분류와 회귀를 한 번에 비교하면#

문제 K-NN의 예측 방법
분류 k개 이웃의 다수결
회귀 k개 이웃의 평균

시험에서는 다음처럼 간단히 기억하면 됩니다.

분류 = 투표

회귀 = 평균

입니다.


7장 K는 무엇을 의미하는가#

K-NN의 이름에 있는 K는 예측할 때 참고할 가까운 이웃의 수입니다.

K = 1이라면 가장 가까운 데이터 하나만 봅니다.

K = 3이라면 가장 가까운 세 데이터를 봅니다.

K = 10이라면 가장 가까운 열 개 데이터를 봅니다.

따라서 K값을 어떻게 정하느냐에 따라 모델의 결과가 달라질 수 있습니다.


8장 K = 1이면 어떻게 될까#

K = 1이라면 새로운 데이터와 가장 가까운 데이터 단 하나의 결과를 그대로 따라갑니다.

장점은 주변의 매우 세밀한 패턴까지 반영할 수 있다는 것입니다.

하지만 가까운 데이터 하나가:

  • 이상치
  • 노이즈
  • 우연한 데이터

라면 결과가 크게 흔들릴 수 있습니다.

즉 K가 너무 작으면 데이터 하나하나의 영향이 지나치게 커질 수 있습니다.


9장 k가 너무 작으면 과적합#

제공된 학습자료에서 매우 중요한 시험 포인트입니다.

k가 너무 작으면 과적합 Overfitting 가능성이 증가합니다.

주변 데이터 몇 개에 지나치게 민감하게 반응하기 때문입니다.

예를 들어 K = 1이면 가장 가까운 데이터 하나에 예측 결과가 결정됩니다.

따라서 개별 데이터의 잡음까지 지나치게 반영할 가능성이 있습니다.

핵심#

k 작음 → 과적합 ↑

입니다.


10장 k가 너무 크면 어떻게 될까#

이번에는 K를 지나치게 크게 잡았다고 생각해봅시다.

새로운 데이터 주변의 가까운 데이터뿐 아니라 꽤 멀리 떨어진 데이터까지 예측에 참여합니다.

그러면 주변의 세밀한 특징이 사라지고 전체 데이터의 일반적인 경향만 반영할 가능성이 높아집니다.

즉 모델이 지나치게 단순해질 수 있습니다.


11장 k가 너무 크면 과소적합#

제공된 학습자료에서는:

k가 너무 크면 과소적합 Underfitting

이라고 정리합니다.

이 부분은 ADsP에서 자주 바꾸어 출제할 수 있습니다.

시험 함정#

K-NN에서 k가 크면 과적합이 발생한다.

틀립니다.

제공된 학습자료 기준:

k가 너무 크면 과소적합

입니다.


12장 k값과 과적합·과소적합 한 번에 기억하기#

k가 작을 때#

주변 몇 개 데이터에 매우 민감

→ 복잡한 경계

→ 과적합

k가 클 때#

많은 주변 데이터를 함께 고려

→ 세부 특징이 희석

→ 과소적합

따라서:

k ↓ → 과적합 ↑

k ↑ → 과소적합 ↑

로 기억하면 됩니다.


13장 K-NN의 가장 특별한 특징은 게으른 학습#

K-NN은 Lazy Learning, 즉 게으른 학습의 대표적인 알고리즘입니다.

이 이름은 알고리즘이 실제로 게으르다는 뜻이 아니라 미리 복잡한 예측모델을 만들어 두지 않는다는 의미입니다.

제공된 학습자료에서는:

사전 모델 학습 없음

이라고 설명합니다.


14장 사전 학습이 없다는 것은 무슨 뜻인가#

일반적인 머신러닝 모델은 학습 데이터로 먼저 모델을 만듭니다.

예:

학습 데이터

↓

모델 학습

↓

학습된 모델 저장

↓

새로운 데이터 예측

하지만 K-NN은 학습단계에서 복잡한 모델을 미리 만드는 방식이 아닙니다.

새로운 데이터가 들어오면 그때 기존 데이터와 거리를 계산하고 가까운 이웃을 찾습니다.

즉:

새로운 데이터가 들어왔을 때 계산

하는 구조입니다.


15장 K-NN의 Lazy Learning을 쉽게 이해하면#

학교에 새로운 학생이 전학 왔다고 생각해봅시다.

K-NN은 전학생이 오기 전에 미리:

이 학생은 어느 그룹일 것이다.

라는 복잡한 규칙을 만들어놓지 않습니다.

전학생이 실제로 오면 그때:

이 학생과 가장 비슷한 기존 학생들은 누구지?

를 찾아봅니다.

그리고 그 학생들의 특징을 이용해 결과를 판단합니다.

핵심#

K-NN = 필요할 때 이웃을 찾아 판단

입니다.


16장 K-NN에서 거리가 중요한 이유#

K-NN의 핵심은 가장 가까운 이웃을 찾는 것입니다.

따라서:

어떤 데이터를 가까운 것으로 판단할 것인가?

가 매우 중요합니다.

이 판단을 위해 거리 Distance를 사용합니다.

제공된 학습자료에서는 다음 세 가지를 제시합니다.

  • 유클리드 거리
  • 맨해튼 거리
  • 마할라노비스 거리

각각 거리를 바라보는 방법이 다릅니다.


17장 유클리드 거리란 무엇인가#

유클리드 거리 Euclidean Distance는 가장 일반적으로 생각할 수 있는 직선거리입니다.

제공된 학습자료의 공식은 다음과 같습니다.

√Σ(xᵢ − yᵢ)²

두 점 사이의 각 변수 차이를 제곱하고 모두 더한 뒤 제곱근을 계산합니다.

핵심#

Euclidean = 직선거리

입니다.


18장 유클리드 거리를 쉽게 이해하면#

2차원 공간에 두 점이 있다고 하겠습니다.

A = (1, 2)

B = (4, 6)

두 점 사이의 가로 차이는:

3

세로 차이는:

4

입니다.

직선거리를 구하면:

√(3² + 4²)

= √25

= 5

입니다.

즉 우리가 일반적으로 자를 대고 두 점 사이를 직선으로 측정하는 거리와 비슷합니다.


19장 맨해튼 거리란 무엇인가#

맨해튼 거리 Manhattan Distance는 각 차원의 차이에 절댓값을 취한 뒤 모두 더하는 방식입니다.

제공된 학습자료의 공식은:

Σ|xᵢ − yᵢ|

입니다.

핵심#

Manhattan = 절댓값 거리의 합

입니다.


20장 왜 맨해튼 거리라고 부를까#

맨해튼처럼 도로가 격자 형태로 구성된 도시를 생각하면 쉽습니다.

목적지까지 직선으로 건물을 뚫고 갈 수 없습니다.

도로를 따라:

가로로 이동하고

세로로 이동해야 합니다.

그래서 제공된 학습자료에서는 맨해튼 거리를:

격자형 도시 거리

라고 설명합니다.


21장 같은 두 점에서 맨해튼 거리를 계산하면#

앞서 사용한:

A = (1, 2)

B = (4, 6)

을 생각해봅시다.

각 차이의 절댓값은:

|1 − 4| = 3

|2 − 6| = 4

입니다.

따라서 맨해튼 거리는:

3 + 4

= 7

입니다.

같은 두 점이라도 유클리드 거리는 5이고 맨해튼 거리는 7이 될 수 있습니다.


22장 유클리드와 맨해튼 거리의 차이#

유클리드 거리#

두 점을 직접 연결하는 직선거리

맨해튼 거리#

각 축을 따라 이동하는 격자거리

라고 이해하면 쉽습니다.

거리 핵심
Euclidean 직선
Manhattan 가로+세로

시험에서는 공식과 이름을 연결해서 기억해야 합니다.


23장 마할라노비스 거리란 무엇인가#

마할라노비스 거리 Mahalanobis Distance는 제공된 학습자료에서:

변수 간 상관관계를 고려하는 거리

로 설명합니다.

유클리드 거리와 맨해튼 거리가 변수 간 상관관계를 직접 반영하지 않는 것과 달리 마할라노비스 거리는 변수들의 상관성을 고려합니다.

핵심#

Mahalanobis = 상관관계 고려

입니다.


24장 마할라노비스 거리가 필요한 상황#

예를 들어 두 변수가 있다고 하겠습니다.

  • 키
  • 몸무게

두 변수는 어느 정도 서로 관련될 가능성이 있습니다.

키가 큰 사람은 몸무게 역시 커지는 경향이 있을 수 있기 때문입니다.

이처럼 변수끼리 강한 상관관계를 가진다면 단순한 직선거리만으로 두 데이터의 차이를 판단하는 것보다 변수 사이의 관계까지 반영하는 거리가 유용할 수 있습니다.

제공된 학습자료에서는 이를 마할라노비스 거리와 연결합니다.


25장 세 가지 거리 비교#

거리 공식·기준 특징
유클리드 √Σ(xᵢ−yᵢ)² 가장 일반적인 직선거리
맨해튼 Σ|xᵢ−yᵢ| 격자형 거리
마할라노비스 변수 간 상관성 반영 상관관계 고려

시험에서:

변수 간 상관관계를 고려하는 거리는?

이라는 문제가 나오면 답은:

마할라노비스 거리

입니다.


26장 K-NN에서는 왜 특성 스케일링이 중요한가#

제공된 학습자료에서는 K-NN에서 특성 스케일링, 즉 정규화나 표준화가 필수적이라고 강조합니다.

이유는 K-NN이 거리를 이용하는 알고리즘이기 때문입니다.

변수마다 숫자의 크기가 크게 다르면 값이 큰 변수가 거리 계산을 지배할 수 있습니다.


27장 스케일링 문제를 사례로 이해하기#

고객을 두 변수로 비교한다고 하겠습니다.

나이#

20 ~ 70

연봉#

2,000 ~ 20,000

숫자의 크기만 보면 연봉 값이 나이보다 훨씬 큽니다.

거리 계산을 그대로 수행하면 연봉 차이가 거리 대부분을 결정할 수 있습니다.

그러면 나이 변수의 영향은 상대적으로 거의 사라질 수 있습니다.

이런 문제를 줄이기 위해 변수의 크기를 맞춰주는 스케일링이 필요합니다.


28장 정규화와 표준화는 왜 K-NN과 연결되는가#

K-NN은 회귀식을 추정하거나 트리를 만드는 알고리즘이 아니라 데이터 사이의 거리가 판단 기준입니다.

따라서 변수 단위가:

  • 원
  • cm
  • kg
  • 점수

처럼 서로 다르면 거리 계산이 왜곡될 수 있습니다.

그래서 제공된 학습자료에서는:

K-NN → 정규화/표준화 중요

라고 연결합니다.

시험에서는:

거리 기반 알고리즘이므로 변수 스케일의 영향을 받는다.

는 흐름으로 이해하면 쉽습니다.


29장 K-NN 전체 동작 과정#

K-NN의 동작 과정을 단계별로 정리하면 다음과 같습니다.

1단계 k 설정#

몇 개의 이웃을 볼지 정합니다.

2단계 거리 계산#

새로운 데이터와 기존 데이터 사이의 거리를 계산합니다.

3단계 가까운 k개 선택#

거리가 가장 가까운 데이터를 k개 찾습니다.

4단계 결과 결정#

분류라면:

다수결

회귀라면:

평균

을 이용합니다.


30장 K-NN 분류 사례#

꽃을 두 종류로 분류한다고 하겠습니다.

새로운 꽃과 가장 가까운 5개 꽃이:

A

A

B

A

B

라고 하겠습니다.

K = 5이므로 이 다섯 개를 봅니다.

A는 3개

B는 2개

이므로 새로운 꽃은:

A

로 분류합니다.

이것이 K-NN 분류의 가장 기본적인 원리입니다.


31장 K-NN 회귀 사례#

새로운 주택 주변에서 가장 비슷한 주택 5개를 찾았다고 하겠습니다.

가격이:

3.0억

3.2억

3.3억

3.5억

3.0억

이라면 주변 이웃의 값을 평균하여 새로운 주택 가격을 예측할 수 있습니다.

즉 분류에서 사용하던 다수결 대신 평균값을 사용합니다.


32장 K-NN과 의사결정나무의 차이#

두 모델 모두 지도학습이며 분류에 사용할 수 있지만 방식은 완전히 다릅니다.

의사결정나무#

조건을 이용해 데이터를 계속 분기합니다.

예:

나이 > 50?

↓

소득 > 300?

K-NN#

새 데이터와 기존 데이터 사이의 거리를 측정합니다.

↓

가까운 k개의 데이터를 찾습니다.

↓

다수결 또는 평균

따라서:

Decision Tree = 질문과 분기

K-NN = 거리와 이웃

이라고 구분하면 됩니다.


33장 K-NN과 K-means를 혼동하지 말자#

이름에 K가 들어가기 때문에 K-NN과 K-means를 혼동하기 쉽습니다.

하지만 완전히 다른 알고리즘입니다.

K-NN#

지도학습

K = 참고할 이웃 수

분류·회귀 가능

K-means#

군집분석

K = 만들 군집 수

비슷한 데이터끼리 K개 그룹 생성

따라서:

K-NN의 K = 이웃 수

K-means의 K = 군집 수

입니다.


34장 K-NN과 K-means 핵심 비교#

구분 K-NN K-means
학습 유형 지도학습 군집분석
K 의미 이웃의 수 군집의 수
주요 목적 분류·회귀 군집화
핵심 기준 거리와 주변 이웃 중심점과 군집

이 두 알고리즘을 이름만 보고 같은 계열이라고 생각해서는 안 됩니다.


35장 Lazy Learning 시험 함정#

다음 문장을 주의합니다.

K-NN은 학습단계에서 복잡한 모델을 먼저 학습한 뒤 새로운 데이터에 적용한다.

틀립니다.

제공된 학습자료에서는 K-NN을:

사전 모델 학습이 없는 Lazy Learning

으로 설명합니다.

새로운 데이터가 들어왔을 때 그때 주변 이웃을 찾아 예측합니다.


36장 k값 시험 함정#

다음 문장은 틀립니다.

K-NN에서 k가 클수록 과적합 가능성이 높다.

제공된 학습자료 기준:

k가 너무 크면 과소적합

입니다.

반대로:

k가 너무 작으면 과적합

입니다.

핵심#

Small k → Overfitting

Large k → Underfitting

입니다.


37장 분류와 회귀 시험 함정#

K-NN은 분류에만 사용할 수 있다.

틀립니다.

제공된 학습자료에서는:

분류 + 회귀

모두 가능하다고 설명합니다.

차이는:

분류 → 다수결

회귀 → 평균

입니다.


38장 거리 시험 함정 1#

맨해튼 거리는 두 점 사이의 직선거리를 의미한다.

틀립니다.

직선거리와 연결되는 것은 유클리드 거리입니다.

맨해튼 거리는 각 차이의 절댓값을 더하는 격자형 거리입니다.


39장 거리 시험 함정 2#

마할라노비스 거리는 변수 사이의 상관관계를 고려하지 않는다.

틀립니다.

제공된 학습자료에서 마할라노비스 거리의 핵심 특징은:

변수 간 상관성 반영

입니다.


40장 스케일링 시험 함정#

K-NN은 변수의 크기가 달라도 거리를 사용하지 않으므로 스케일링이 중요하지 않다.

틀립니다.

K-NN은 거리를 기준으로 이웃을 선택하기 때문에 변수 스케일의 영향을 크게 받을 수 있습니다.

제공된 학습자료에서는:

특성 스케일링 필수

라고 강조합니다.


41장 ADsP 시험에서 자주 헷갈리는 함정#

함정 1. K-NN은 비지도학습이다#

틀립니다.

지도학습입니다.

함정 2. K-NN은 분류만 가능하다#

틀립니다.

분류와 회귀 모두 가능합니다.

함정 3. 분류에서는 가까운 k개 값의 평균을 사용한다#

틀립니다.

다수결을 사용합니다.

함정 4. 회귀에서는 k개 이웃의 다수결을 사용한다#

틀립니다.

평균값을 사용합니다.

함정 5. K-NN은 사전 모델 학습이 필수다#

틀립니다.

Lazy Learning으로 설명됩니다.

함정 6. k가 작으면 과소적합이 발생한다#

틀립니다.

제공된 학습자료 기준 과적합 가능성이 증가합니다.

함정 7. k가 크면 과적합이 발생한다#

틀립니다.

과소적합 가능성이 증가합니다.

함정 8. 유클리드 거리는 변수 간 상관관계를 반영한다#

틀립니다.

제공된 학습자료에서는 마할라노비스 거리와 연결합니다.

함정 9. 맨해튼 거리는 제곱합의 제곱근으로 계산한다#

틀립니다.

그것은 유클리드 거리입니다.

함정 10. K-NN에서는 특성의 단위 차이를 고려할 필요가 없다#

틀립니다.

거리 기반 알고리즘이므로 정규화·표준화가 중요합니다.


42장 K-NN 시험 직전 암기#

K-NN

→ K-Nearest Neighbors

→ 지도학습

→ 분류 + 회귀

→ 가까운 k개 이웃 이용

분류#

다수결

회귀#

평균

입니다.


43장 k값 시험 직전 암기#

k 작음

→ 주변 소수 데이터에 민감

→ 과적합 ↑

k 큼

→ 너무 많은 이웃 고려

→ 과소적합 ↑

한 줄로:

작으면 너무 세밀하고, 크면 너무 뭉뚱그린다

입니다.


44장 Lazy Learning 시험 직전 암기#

K-NN = Lazy Learning

→ 사전 모델 학습 없음

→ 새로운 데이터가 들어오면 거리 계산

→ 가까운 k개 이웃 탐색

→ 그때 예측

입니다.

한 줄로:

미리 모델 만들지 않고 필요할 때 이웃을 찾는다

고 기억하면 됩니다.


45장 거리 공식 시험 직전 암기#

유클리드 거리#

√Σ(xᵢ − yᵢ)²

→ 직선거리

맨해튼 거리#

Σ|xᵢ − yᵢ|

→ 격자형 거리

마할라노비스 거리#

→ 변수 간 상관관계 고려

암기:

유클리드 = 직선

맨해튼 = 격자

마할라노비스 = 상관

입니다.


46장 스케일링 시험 직전 암기#

K-NN은:

거리 기반 알고리즘

입니다.

따라서 변수의 단위나 숫자 크기가 지나치게 다르면 거리 계산이 특정 변수에 의해 좌우될 수 있습니다.

그래서:

정규화 Normalization

또는:

표준화 Standardization

같은 특성 스케일링이 중요합니다.

시험에서는:

K-NN → 거리 → 스케일링

으로 연결하면 됩니다.


47장 K-NN 핵심 비교표#

개념 핵심
학습 유형 지도학습
예측 유형 분류 + 회귀
분류 k개 이웃 다수결
회귀 k개 이웃 평균
학습 특징 Lazy Learning
사전 모델 학습 없음
k가 작음 과적합 증가
k가 큼 과소적합 증가
유클리드 직선거리
맨해튼 격자형 거리
마할라노비스 변수 간 상관성 반영
전처리 정규화·표준화 중요

K-NN FAQ#

K-NN이란 무엇인가#

새로운 데이터와 가장 가까운 k개의 기존 데이터를 찾아 결과를 예측하는 지도학습 알고리즘입니다.

K-NN은 지도학습인가#

네. 제공된 학습자료에서는 지도학습으로 분류합니다.

K-NN은 분류만 가능한가#

아닙니다. 분류와 회귀 모두 가능합니다.

K-NN 분류에서는 결과를 어떻게 결정하는가#

가장 가까운 k개 이웃의 다수결로 결정합니다.

K-NN 회귀에서는 어떻게 예측하는가#

가장 가까운 k개 이웃의 평균값을 이용합니다.

K는 무엇을 의미하는가#

예측할 때 참고할 최근접 이웃의 수를 의미합니다.

k가 너무 작으면 어떻게 되는가#

제공된 학습자료에서는 과적합 가능성이 증가한다고 설명합니다.

k가 너무 크면 어떻게 되는가#

과소적합 가능성이 증가합니다.

K-NN이 Lazy Learning이라고 불리는 이유는 무엇인가#

사전에 복잡한 예측모델을 학습하지 않고 새로운 데이터가 들어왔을 때 이웃을 찾아 예측하기 때문입니다.

유클리드 거리란 무엇인가#

두 점 사이의 일반적인 직선거리입니다.

유클리드 거리 공식은 무엇인가#

√Σ(xᵢ − yᵢ)²

입니다.

맨해튼 거리란 무엇인가#

각 변수 차이의 절댓값을 합하여 계산하는 격자형 거리입니다.

맨해튼 거리 공식은 무엇인가#

Σ|xᵢ − yᵢ|

입니다.

마할라노비스 거리의 특징은 무엇인가#

변수 간 상관관계를 반영합니다.

K-NN에서 스케일링이 중요한 이유는 무엇인가#

거리 계산에 변수의 단위와 숫자 크기가 직접적인 영향을 줄 수 있기 때문입니다.

K-NN과 K-means의 K는 같은 의미인가#

아닙니다. K-NN에서는 이웃의 수이고 K-means에서는 군집의 수입니다.


자기 점검#

다음 질문에 바로 답할 수 있는지 확인해봅니다.

  1. K-NN의 전체 이름을 말할 수 있는가?
  2. K-NN이 지도학습이라는 것을 알고 있는가?
  3. K-NN이 분류와 회귀 모두 가능하다는 것을 알고 있는가?
  4. 분류에서는 다수결을 사용한다는 것을 알고 있는가?
  5. 회귀에서는 평균을 사용한다는 것을 알고 있는가?
  6. K가 무엇을 의미하는지 설명할 수 있는가?
  7. k가 너무 작으면 과적합이라는 것을 기억하고 있는가?
  8. k가 너무 크면 과소적합이라는 것을 기억하고 있는가?
  9. Lazy Learning의 의미를 설명할 수 있는가?
  10. K-NN에 사전 모델 학습이 없다는 것을 알고 있는가?
  11. 유클리드 거리 공식을 기억하고 있는가?
  12. 맨해튼 거리 공식을 기억하고 있는가?
  13. 마할라노비스 거리가 변수 간 상관성을 반영한다는 것을 알고 있는가?
  14. K-NN에서 스케일링이 중요한 이유를 설명할 수 있는가?
  15. K-NN과 K-means의 K 의미를 구분할 수 있는가?

이 글을 마치며#

K-NN은 새로운 데이터 주변의 가장 가까운 k개 이웃을 이용해 결과를 결정하는 지도학습 알고리즘입니다.

분류에서는:

다수결

을 사용하고,

회귀에서는:

평균값

을 사용합니다.

K-NN의 가장 중요한 특징 가운데 하나는 Lazy Learning입니다.

즉 복잡한 모델을 사전에 학습하기보다 새로운 데이터가 들어왔을 때 기존 데이터와의 거리를 계산하여 예측합니다.

k값도 매우 중요합니다.

k가 너무 작으면 과적합

k가 너무 크면 과소적합

입니다.

거리 측정에서는:

유클리드 = 직선거리

맨해튼 = 격자형 거리

마할라노비스 = 변수 간 상관관계 고려

로 구분합니다.

그리고 K-NN은 거리를 기반으로 하기 때문에 정규화·표준화 같은 특성 스케일링이 중요합니다.

시험 직전에는 다음 다섯 줄로 압축해서 기억하면 됩니다.

K-NN = 지도학습 + 분류·회귀

분류 = 다수결 / 회귀 = 평균

Lazy Learning = 사전 모델 학습 없음

k 작음 = 과적합 / k 큼 = 과소적합

유클리드=직선 / 맨해튼=격자 / 마할라노비스=상관

이 페이지의 목차