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을 잇는 다리”
  • 작동 흐름:
    1. 문서를 임베딩 벡터로 변환 → 벡터DB 저장
    2. 질문을 임베딩 → 코사인 유사도로 가장 가까운 문서 k개 검색
    3. 검색된 문서 + 질문을 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) 예시57

관련 노드


학습일: 2026-06-02