나의 공부일기 ・ 2시간 전
🗺️ 데이터 공간 · 📏 거리 · 🤝 유사도 완벽 정리 💡
“데이터를 벡터로 보고, 얼마나 가깝고 비슷한지 계산하는 게 핵심!”
🧭 1️⃣ 데이터 공간(Data Space)
데이터를 좌표공간(Feature Space) 에 표현하는 개념이에요!
📘 정의
- 각 데이터(관측치)는 여러 속성(Feature)을 가진 점(Point) 으로 표현됩니다.
- 예를 들어,
- 고객 A = [나이, 구매횟수, 평균결제액] = (30, 5, 100000)
- 고객 B = [25, 8, 75000]
이처럼 데이터를 공간 위에 두고 거리나 유사도로 비교하는 거예요! 🎯
📌 핵심 용어
- 차원(Dimension): 속성의 개수
- 벡터(Vector): 각 데이터의 좌표
- 정규화(Normalization): 값의 크기 조정 (거리 왜곡 방지)
- 차원의 저주(Curse of Dimensionality): 속성이 너무 많으면 모든 점이 멀어지는 현상 ⚠️
💡 예시
“나이(0~100)”와 “소득(0~10억)” 같이 단위가 다르면 → 거리 왜곡 발생 😨
👉 그래서 표준화(Z-score) 나 정규화(Min-Max) 를 꼭 해줘야 해요!
📏 2️⃣ 거리(Distance)
“두 데이터가 얼마나 떨어져 있는가?”를 수치로 표현한 값이에요.
값이 작을수록 가깝다!
📘 주요 거리 종류
| 거리 이름 | 공식/개념 | 특징 |
| 🟦 유클리드 거리(Euclidean) | √Σ(xᵢ−yᵢ)² | 가장 기본적인 ‘직선거리’, 단위 차이에 민감 |
| 🟧 맨해튼 거리(Manhattan) | Σ | xᵢ−yᵢ |
| 🟨 민코프스키 거리(Minkowski) | (Σ | xᵢ−yᵢ |
| 🟥 체비쇼프 거리(Chebyshev) | max | xᵢ−yᵢ |
| 🟩 마할라노비스 거리(Mahalanobis) | √((x−μ)ᵀΣ⁻¹(x−μ)) | 변수 간 상관관계 고려, 이상치 탐지에 유용 |
| ⚫ 해밍 거리(Hamming) | 다른 위치 개수 | 문자열/이진 데이터 비교 |
| 🟪 고워 거리(Gower) | 혼합형 거리 | 범주형+수치형 같이 있을 때 사용 |
💬 예시
- x=(1,1), y=(4,5)
- 유클리드 = 5
- 맨해튼 = 7
👉 유클리드는 “직선거리”, 맨해튼은 “계단거리”로 생각하면 쉬워요! 🏙️
🤝 3️⃣ 유사도(Similarity)
“두 데이터가 얼마나 닮았나?”를 나타내는 지표
값이 클수록 비슷하다! (보통 0~1)
| 유사도 이름 | 개념 | 특징 |
| 💜 코사인 유사도(Cosine) | (x·y) / (‖x‖‖y‖) | 벡터의 ‘방향’ 비교, 길이 영향 없음 (텍스트 분석에 자주 사용) |
| 💚 자카드 유사도(Jaccard) | A∩B | |
| 💙 피어슨 상관계수(Pearson r) | 공분산 / (표준편차 곱) | 선형 관계 측정 (−1~1) |
| 💛 브레이-커티스(Bray–Curtis) | 1 − (2Σmin/Σ합) | 구성 비율 비교 (생태학, 마케팅 분석 등) |
💡 거리 ↔ 유사도 관계
- cosine distance = 1 − cosine similarity
- jaccard distance = 1 − jaccard similarity
⚙️ 4️⃣ 언제 어떤 걸 써야 할까?
| 상황 | 추천 지표 | 이유 |
| 수치형 데이터 | 유클리드 | 가장 기본적 |
| 이상치 많을 때 | 맨해튼 | 이상치에 강건 |
| 변수 간 상관 있음 | 마할라노비스 | 공분산 반영 |
| 텍스트/문서 | 코사인 유사도 | 방향 비교, 길이 영향 적음 |
| 범주형 | 자카드 | 공통 비율 중심 |
| 연속+범주 혼합 | 고워 거리 | 혼합형 처리 가능 |
🎛️ 5️⃣ 거리 기반 알고리즘 예시
| 알고리즘 | 사용 거리/유사도 | 설명 |
| 🧩 K-NN | 유클리드, 맨해튼 | 가까운 데이터 k개로 예측 |
| 📊 K-means | 유클리드 | 중심점과 거리 최소화 |
| 🌐 DBSCAN | 유클리드 | 반경(ε) 내 데이터로 군집 |
| 🧠 SVM(RBF) | 가우시안 거리 | γ(감마)가 영향 반경 결정 |
| 📚 문서 유사도 | 코사인 | 뉴스, 텍스트 추천 등 |
| 🛍️ 추천 시스템 | 코사인, 피어슨 | 사용자 취향 유사도 기반 추천 |
🧮 6️⃣ 쉽게 이해하는 예시
두 점 A(1,1), B(4,5)
📏 유클리드 거리 → √((3²)+(4²))=5
📏 맨해튼 거리 → |3|+|4|=7
🤝 코사인 유사도 → 0.996 (방향이 거의 같음)
💬 즉,
두 점은 방향은 거의 동일하지만, 위치는 조금 다르다!
✅ 7️⃣ 시험에서 꼭 나오는 포인트
💡 핵심 암기 포인트
- 거리 ↓ = 유사도 ↑
- 유클리드: 가장 기본적인 거리
- 맨해튼: 이상치 강건
- 마할라노비스: 상관·공분산 고려
- 코사인: 방향 비교(텍스트 분석)
- 자카드: 집합의 공통 비율
- 거리 기반 알고리즘: KNN, K-means, DBSCAN
- 거리 계산 전 스케일링 필수!
🌈 한 줄 요약
🗺️ 데이터 공간은 좌표,
📏 거리는 차이,
🤝 유사도는 닮음을 표현해요!
스케일링과 지표 선택만 잘하면,
분류·군집·추천 모두 정밀하게 할 수 있습니다 💪