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에서는 군집의 수입니다.
자기 점검#
다음 질문에 바로 답할 수 있는지 확인해봅니다.
- K-NN의 전체 이름을 말할 수 있는가?
- K-NN이 지도학습이라는 것을 알고 있는가?
- K-NN이 분류와 회귀 모두 가능하다는 것을 알고 있는가?
- 분류에서는 다수결을 사용한다는 것을 알고 있는가?
- 회귀에서는 평균을 사용한다는 것을 알고 있는가?
- K가 무엇을 의미하는지 설명할 수 있는가?
- k가 너무 작으면 과적합이라는 것을 기억하고 있는가?
- k가 너무 크면 과소적합이라는 것을 기억하고 있는가?
- Lazy Learning의 의미를 설명할 수 있는가?
- K-NN에 사전 모델 학습이 없다는 것을 알고 있는가?
- 유클리드 거리 공식을 기억하고 있는가?
- 맨해튼 거리 공식을 기억하고 있는가?
- 마할라노비스 거리가 변수 간 상관성을 반영한다는 것을 알고 있는가?
- K-NN에서 스케일링이 중요한 이유를 설명할 수 있는가?
- K-NN과 K-means의 K 의미를 구분할 수 있는가?
이 글을 마치며#
K-NN은 새로운 데이터 주변의 가장 가까운 k개 이웃을 이용해 결과를 결정하는 지도학습 알고리즘입니다.
분류에서는:
다수결
을 사용하고,
회귀에서는:
평균값
을 사용합니다.
K-NN의 가장 중요한 특징 가운데 하나는 Lazy Learning입니다.
즉 복잡한 모델을 사전에 학습하기보다 새로운 데이터가 들어왔을 때 기존 데이터와의 거리를 계산하여 예측합니다.
k값도 매우 중요합니다.
k가 너무 작으면 과적합
k가 너무 크면 과소적합
입니다.
거리 측정에서는:
유클리드 = 직선거리
맨해튼 = 격자형 거리
마할라노비스 = 변수 간 상관관계 고려
로 구분합니다.
그리고 K-NN은 거리를 기반으로 하기 때문에 정규화·표준화 같은 특성 스케일링이 중요합니다.
시험 직전에는 다음 다섯 줄로 압축해서 기억하면 됩니다.
K-NN = 지도학습 + 분류·회귀
분류 = 다수결 / 회귀 = 평균
Lazy Learning = 사전 모델 학습 없음
k 작음 = 과적합 / k 큼 = 과소적합
유클리드=직선 / 맨해튼=격자 / 마할라노비스=상관