L3 거리·유사도 측정
빅데이터분석기사 3과목(빅데이터 모델링) — 군집분석 거리척도 + 텍스트마이닝(비정형 분석) 출제 영역. 정보처리기사 — DB(pgvector), AI 신기술 과목 연결.
학습 원칙: 비유 개념만으로 이해하지 말 것. 약자는 전체 단어, 물리적 실체가 있으면 그것을 명시. 비유는 보조로만, 정확한 단어와 실체가 척추.
코사인 유사도
- 영어: Cosine Similarity
- 직역: 코사인(cosine, 삼각함수) + 유사도(Similarity, “얼마나 비슷한가”)
- 한 줄: 두 벡터가 이루는 **각도(방향)**로 유사도를 측정. 크기는 무시하고 방향만 본다
- 공식: cosθ = (A·B) / (|A| × |B|)
- A·B = 내적 (각 차원 값을 곱해서 합산)
- |A|, |B| = 각 벡터의 크기 (√제곱합)
- 값 범위와 의미:
- 1 (0°) = 같은 방향 = 매우 유사
- 0 (90°) = 직각 = 관련 없음
- -1 (180°) = 반대 방향 = 반대 의미
- 계산 예시: A(3,4), B(4,3)
- 내적: 3×4 + 4×3 = 24
- |A| = √(9+16) = 5, |B| = √(16+9) = 5
- cosθ = 24 / (5×5) = 0.96 → 매우 유사
- 왜 이걸 쓰는가: 벡터 크기가 아닌 의미의 방향이 중요할 때. 짧은 문서와 긴 문서가 같은 주제면 단어 수는 달라도 방향은 같다
- 시험 출제: 빅분기 3과목 (비정형 데이터 분석 — 텍스트마이닝), 정처기 5과목 (AI 신기술)
- 연관: 임베딩, RAG, 벡터DB, 유클리드 거리, | 기호 구분
유클리드 거리
- 영어: Euclidean Distance (Euclid = 고대 그리스 수학자 유클리드)
- 직역: 유클리드가 정의한 거리
- 한 줄: 두 점 사이의 직선 거리. “새가 날아가는 최단 경로”
- 공식: √(Σ(aᵢ - bᵢ)²) — 각 차원 차이를 제곱하고 더한 뒤 제곱근
- 계산 예시: A(1,2), B(4,6)
- 차이: (1-4)=-3, (2-6)=-4
- 제곱합: (-3)²+(-4)² = 9+16 = 25
- √25 = 5
- 언제 쓰는가: 좌표·위치·절대적 크기가 의미 있는 곳. K-means 군집분석, 이상치 탐지
- 시험 출제: 빅분기 3과목 (군집분석 거리척도)
- 연관: 맨해튼 거리, 코사인 유사도, K-means
맨해튼 거리
- 영어: Manhattan Distance (Manhattan = 뉴욕 맨해튼 섬 — 격자형 도로 구조에서 유래)
- 직역: 맨해튼 방식의 거리
- 한 줄: 격자(도로)를 따라가는 거리. √ 없이 절댓값 합산만. “택시가 실제로 달리는 거리”
- 공식: Σ|aᵢ - bᵢ| (각 차원 차이의 절댓값을 합산, 제곱·제곱근 없음)
- 계산 예시: A(1,2), B(4,6)
- |1-4| + |2-6| = 3 + 4 = 7
- 유클리드(5)보다 왜 크게 나오는가: 직선이 아닌 꺾인 경로를 따르기 때문
- 언제 쓰는가:
- 이상치(outlier)에 강건(Robust) — 제곱 없어서 큰 값 증폭 안 됨
- 고차원 데이터에서 유클리드보다 안정적
- 시험 출제: 빅분기 3과목 (군집분석 거리척도)
- 연관: 유클리드 거리, 이상치, 고차원
| 기호 구분 — 핵심 헷갈림 포인트
두 가지 전혀 다른 개념인데 기호가 똑같이 | |를 쓴다.
| 표기 | 이름 | 뜻 | 예시 |
|---|---|---|---|
|숫자| | 절댓값 (Absolute Value) | 부호를 뗀 거리. 음수 → 양수 | |-3| = 3 |
|벡터| | 벡터 크기 (Magnitude/Norm) | 원점에서 벡터 끝점까지의 거리 = √제곱합 | |A| = √(3²+4²) = 5 |
근본은 같다: 둘 다 “원점에서의 거리”를 표현.
-
1차원이면 |-3| = √((-3)²) = √9 = 3 — 완전히 일치
-
다차원이면 각 축의 값을 제곱해서 더한 뒤 √ → 벡터 크기
-
연관: 코사인 유사도, 유클리드 거리
임베딩
- 영어: Embedding (embed = 심다, 박다)
- 직역: 의미를 수치 공간에 심은 것
- 한 줄: 텍스트(단어·문장·문서)를 의미를 담은 수치 벡터로 변환한 표현. “의미 좌표”
- 원리 — 분포 가설 (Distributional Hypothesis): “비슷한 맥락에 등장하는 말은 비슷한 의미를 가진다”
- 신경망이 대량의 텍스트를 학습하면서 단어·문장의 의미 좌표를 자동으로 생성
- 결과: 왕 − 남자 + 여자 ≈ 여왕 (의미 연산이 작동)
- 물리적 실체: 768차원, 1536차원 등 고차원 숫자 배열(float 배열). 벡터DB(pgvector, Chroma)에 저장
- 왜 중요한가: 텍스트를 숫자로 바꿔야 컴퓨터가 “얼마나 비슷한지” 계산할 수 있음
- 시험 출제: 빅분기 3과목 (딥러닝·NLP), 정처기 5과목 (AI 신기술)
- 연관: RAG, 코사인 유사도, 벡터DB, 분포 가설
RAG
- 영어: Retrieval-Augmented Generation
- 직역: 검색(Retrieval) + 증강(Augmented) + 생성(Generation)
- 한 줄: 벡터DB에서 관련 자료를 검색(코사인 유사도)해서, 그 자료를 LLM에 넣어 답을 생성하는 방식. “데이터셋과 LLM을 잇는 다리”
- 작동 흐름:
- 문서를 임베딩 벡터로 변환 → 벡터DB 저장
- 질문을 임베딩 → 코사인 유사도로 가장 가까운 문서 k개 검색
- 검색된 문서 + 질문을 LLM에 전달 → 답 생성
- 물리적 실체: pgvector(PostgreSQL 확장), Chroma, Pinecone 등 벡터DB + LLM API
- 왜 중요한가:
- LLM은 학습 이후 데이터를 모름 → RAG로 최신·내부 자료 연결
- 데이터셋이 모델 독립 영구 자산 — 모델은 갈아껴도 벡터DB·문서·임베딩은 유지 = 데이터 주권
- 시험 출제: 빅분기 3과목 (딥러닝·LLM 응용), 정처기 5과목 (AI 신기술), 정처기 3과목 (DB — pgvector)
- 연관: 임베딩, 코사인 유사도, 벡터DB, 데이터 주권
3종 거리 비교 요약
| 코사인 유사도 | 유클리드 거리 | 맨해튼 거리 | |
|---|---|---|---|
| 측정 대상 | 방향(각도) | 직선 거리 | 격자 거리 |
| 공식 | A·B / (|A|×|B|) | √(Σ(aᵢ-bᵢ)²) | Σ|aᵢ-bᵢ| |
| 크기 영향 | 무시 | 반영 | 반영 |
| 이상치 | 보통 | 취약 (제곱) | 강건 |
| 주 용도 | 의미 유사도(RAG·NLP) | 좌표 군집(K-means) | 고차원·이상치 있을 때 |
| A(1,2)·B(4,6) 예시 | — | 5 | 7 |
관련 노드
학습일: 2026-06-02