데이터 분석 입문 선형대수 · LA03 노름과 거리
가깝다는 건 어떻게 잴까?
재는 방법에 따라 가장 가까운 사람이 달라져요
개념길이를 재는 두 가지 방법
벡터의 길이(노름)는 재는 방법이 둘이에요. 곧게 재면 (유클리드), 격자 길을 따라 걸으면 (맨해튼)이에요.
5L2 = 5L1 = 3+4 = 7
두 점 사이의 거리 = 두 벡터의 차이의 길이
문제오늘의 한 문제
영화 두 편에 준 평점을 (영화1, 영화2)로 적었어요. , ,
ABC
에서 가장 가까운 사람은? (가) 거리 (나) 거리
풀이차이 벡터의 길이를 두 가지로
ABC55.1
- 1차이: ,
- 2: 는 , 는 → 가 가까움
- 3: 는 , 는 → 가 가까움
정답 ② (가) C (나) B
개념 다시재는 법에 따라 이웃이 바뀌어요
같은 데이터라도 과 는 가장 가까운 이웃을 다르게 고를 수 있어요.
AL1 = 7L2 = 5
함정
나이(세)와 소득(만원)처럼 단위가 다른 피처를 그대로 거리에 넣으면 숫자가 큰 쪽이 거리를 독차지해요. 그 해법이 스케일링(LA06)이에요.
np.linalg.norm(a - b, ord=1) # ord=1: L1, 기본: L2웹에서만 · 자세한 해설
영상에서는 그림으로 감을 잡았어요. 여기서는 두 거리를 끝까지 계산하고, 언제 무엇을 쓰는지 정리해요.
두 가지 '가깝다'
| 이름 | 식 | 그림 |
| L1 (맨해튼) | |dx| + |dy| | 격자 길을 따라 걸은 거리 |
| L2 (유클리드) | sqrt(dx^2 + dy^2) | 곧게 잰 거리 |
거리는 중학교에서 배운 피타고라스 정리 그대로예요. 가로 차이와 세로 차이를 두 변으로 하는 직각삼각형의 빗변이 두 점 사이의 거리예요.
단계별 풀이 (계산 끝까지)
- 1차이 벡터: ,
- 2: (B), (C) → C가 더 가까워요
- 3: (B), (C) → B가 더 가까워요
- 4따라서 (가) C, (나) B → 정답 ②
선택지별 오답 이유
- 1① B, B: 에서도 B라고 본 경우예요. 은 6 대 7로 C가 가까워요.
- 2③ B, C: (가)와 (나)를 서로 바꿨어요.
- 3④ C, C: 에서도 C라고 본 경우예요. 5와 5.10은 근소하지만 B가 작아요.
- 4⑤ 같다: 두 거리의 이웃이 달라지는 것이 이 문제의 핵심이에요.
자주 하는 실수
단위가 다른 피처
나이(세)와 연소득(만원)을 그대로 거리에 넣으면 소득 차이가 거리를 거의 다 결정해요. 거리 기반 모델(KNN, 군집)은 먼저 스케일링이 필요해요. (LA06에서 다뤄요)
파이썬으로 확인
import numpy as np
A, B, C = np.array([1, 2]), np.array([4, 6]), np.array([6, 3])
for name, P in (('B', B), ('C', C)):
d1 = np.linalg.norm(P - A, ord=1)
d2 = np.linalg.norm(P - A)
print(name, d1, round(d2, 2))
# 실행 결과
# B 7.0 5.0
# C 6.0 5.1확인 문제
와 사이의 거리와 거리는?
정답 보기
- 1차이
- 2
- 3
영상으로 다시 보기
같은 문제가 유튜브 쇼츠와 인스타그램에도 올라가요. 영상은 짧게, 웹은 자세하게.
같은 유형에서 자꾸 막히나요?
그 유형을 잘 아는 과외 선생님을 연결해 드립니다. 상담은 무료예요.
