4 분 소요

이 장에서 배울 것

이번 장에서는 거리(distance)와 유사도(similarity)를 배웁니다. 데이터 분석은 결국 “무엇이 서로 비슷한가?”라는 질문을 자주 던집니다. 세포끼리 비슷한지, 환자끼리 비슷한지, 두 DNA 서열이 비슷한지, 두 유전자 발현 패턴이 비슷한지를 숫자로 재야 합니다.

핵심 용어를 먼저 정리하겠습니다.

  • 거리(distance): 두 대상이 얼마나 떨어져 있는지 나타내는 값입니다. 보통 작을수록 가깝습니다.
  • 유사도(similarity): 두 대상이 얼마나 비슷한지 나타내는 값입니다. 보통 클수록 비슷합니다.
  • 유클리드 거리(Euclidean distance): 직선거리입니다.
  • 맨해튼 거리(Manhattan distance): 격자길을 따라 이동하듯 좌우 이동량과 상하 이동량을 더한 거리입니다.
  • 코사인 유사도(cosine similarity): 두 벡터의 방향이 얼마나 비슷한지 보는 값입니다.
  • 상관 거리(correlation distance): 두 변수의 함께 변하는 패턴을 거리처럼 바꾼 값입니다.
  • 편집 거리(edit distance): 문자열 하나를 다른 문자열로 바꾸는 데 필요한 최소 수정 횟수입니다.

거리와 유사도의 기본 생각

가장 쉬운 비유: 지도 위 두 장소의 거리

지도 위에서 두 장소가 가까우면 걸어서 이동하기 쉽습니다. 데이터에서도 비슷한 생각을 합니다. 두 샘플의 유전자 발현 패턴이 비슷하면 데이터 공간에서 가깝다고 말할 수 있습니다.

하지만 “가깝다”는 말에는 여러 기준이 있습니다. 직선거리로 가까운지, 길을 따라 이동했을 때 가까운지, 방향 패턴이 비슷한지에 따라 계산법이 달라집니다. 그래서 거리와 유사도에는 여러 종류가 있습니다.

유클리드 거리: 가장 익숙한 직선거리

2차원에서 점 A=(1,2), 점 B=(4,6)이 있다고 합시다. 두 점의 가로 차이는 3, 세로 차이는 4입니다. 직선거리는 피타고라스 정리로 구합니다.

거리 = √(3² + 4²) = √(9 + 16) = √25 = 5

유클리드 거리는 우리가 보통 생각하는 “직선거리”입니다. 두 샘플을 점으로 표현했을 때 실제로 얼마나 떨어져 있는지 보는 데 유용합니다.

맨해튼 거리: 격자길을 따라가는 거리

도시의 바둑판 도로를 생각해 봅시다. 대각선으로 뚫고 갈 수 없고, 가로로 몇 칸, 세로로 몇 칸 이동해야 합니다. 이때의 거리가 맨해튼 거리입니다.

점 A=(1,2), 점 B=(4,6)이라면 가로 차이는 3, 세로 차이는 4입니다.

맨해튼 거리 = 3 + 4 = 7

유클리드 거리는 5였지만, 맨해튼 거리는 7입니다. 어떤 거리 기준을 쓰느냐에 따라 “가까움”의 숫자가 달라집니다.

코사인 유사도: 크기보다 방향을 봅니다

두 벡터가 같은 방향을 가리키면 코사인 유사도가 높습니다. 예를 들어 [1,1]과 [2,2]는 크기는 다르지만 방향은 같습니다. 그래서 코사인 유사도는 1입니다.

반대로 [1,0]과 [0,1]은 서로 직각 방향입니다. 이때 코사인 유사도는 0입니다.

생물정보학에서는 전체 발현량의 크기보다 패턴이 중요한 경우가 있습니다. 어떤 샘플은 모든 값이 전체적으로 크고, 어떤 샘플은 전체적으로 작아도 유전자들 사이의 상대적 패턴이 비슷할 수 있습니다. 이런 경우 코사인 유사도가 유용할 수 있습니다.

상관은 함께 변하는 모양을 봅니다

두 유전자의 발현량이 샘플마다 함께 오르고 함께 내려간다면 상관이 높다고 말합니다. 상관은 단순한 거리와 다릅니다. 값의 절대 크기보다 함께 변하는 패턴을 봅니다.

예를 들어 유전자 A가 [1,2,3]이고 유전자 B가 [10,20,30]이면 크기는 다르지만 완전히 같은 방향으로 증가합니다. 이런 경우 상관은 높습니다.

상관 거리라는 말은 이런 상관을 거리처럼 바꿔 쓰는 것입니다. 예를 들어 상관이 높으면 거리는 작게, 상관이 낮으면 거리는 크게 볼 수 있습니다.

편집 거리: 문자열 사이의 차이를 셉니다

DNA 서열은 문자입니다. 예를 들어 다음 두 서열을 보겠습니다.

서열1: ATGC
서열2: ATGA

마지막 C를 A로 바꾸면 서열2가 됩니다. 수정이 1번 필요하므로 편집 거리는 1로 볼 수 있습니다.

다음은 어떨까요?

서열1: ATGC
서열2: ATGCA

마지막에 A를 하나 추가하면 됩니다. 이 경우도 편집 거리는 1입니다.

서열 비교, 변이 탐지, 문자열 알고리즘에서 편집 거리는 중요한 출발점입니다.

클러스터링과 거리

클러스터링(clustering, 비슷한 대상을 묶는 분석)은 거리 개념 위에 서 있습니다. 가까운 점들을 같은 묶음으로 보고, 먼 점들은 다른 묶음으로 봅니다.

하지만 거리 기준을 잘못 고르면 묶음도 달라집니다. 유클리드 거리를 쓸지, 상관 거리를 쓸지, 코사인 유사도를 쓸지는 데이터의 성격과 질문에 따라 달라집니다.

계산 감각 1: 유클리드 거리

두 점 (0,0)과 (3,4)의 유클리드 거리는 다음과 같습니다.

√(3² + 4²) = 5

계산 감각 2: 맨해튼 거리

두 점 (0,0)과 (3,4)의 맨해튼 거리는 다음과 같습니다.

3 + 4 = 7

계산 감각 3: 편집 거리

ATGC → ATGA

C를 A로 한 번 바꾸면 되므로 편집 거리는 1입니다.

생물정보학에서 왜 중요한가

단일세포 분석에서는 비슷한 세포끼리 묶어 세포 유형을 추정합니다. 유전자 발현 분석에서는 비슷하게 발현되는 유전자를 묶습니다. 서열 분석에서는 DNA나 단백질 서열이 얼마나 비슷한지 비교합니다. 이 모든 작업에서 거리와 유사도는 분석의 기준이 됩니다.

중요한 것은 “거리 숫자는 자연에서 자동으로 주어지는 정답이 아니다”라는 점입니다. 연구자가 어떤 거리 기준을 선택하느냐에 따라 결과가 달라질 수 있습니다.

보강: 어떤 거리/유사도를 고를지 판단하기

거리와 유사도는 서로 방향이 다릅니다. 거리는 작을수록 비슷하고, 유사도는 클수록 비슷합니다. 이 차이를 놓치면 클러스터링 결과를 거꾸로 해석할 수 있습니다.

유클리드 거리는 실제 숫자 차이에 민감합니다. 예를 들어 (1, 1)(4, 5)의 유클리드 거리는 sqrt((4-1)^2 + (5-1)^2) = 5입니다. 맨해튼 거리는 |4-1| + |5-1| = 7입니다. 같은 두 점이라도 어떤 거리 정의를 쓰느냐에 따라 숫자가 달라집니다.

코사인 유사도와 상관은 “패턴”을 보는 데 자주 쓰입니다. 두 샘플의 전체 발현량 규모가 달라도 유전자들이 함께 올라가고 내려가는 모양이 비슷하면 패턴 기반 지표에서는 비슷하게 보일 수 있습니다. 서열 비교에서는 숫자 벡터가 아니라 문자열을 비교하므로 편집 거리처럼 삽입, 삭제, 치환을 세는 방법이 중요합니다.

보강 학습: 거리 metric과 유사도

왜 필요한가: 샘플, 세포, 유전자 사이의 비슷함을 숫자로 정의하기 위해 필요합니다.

공식 읽기: d(a,b)=√Σ(aᵢ-bᵢ)². aᵢ,bᵢ는 같은 특징의 값입니다. 차이를 제곱해 더한 뒤 제곱근을 취하면 Euclidean distance입니다.

숫자 예시: A=[1,2], B=[4,6]이면 √((1-4)²+(2-6)²)=5입니다.

생물정보학에서 쓰이는 장면: 클러스터링, nearest neighbor, 샘플 유사도 비교에 쓰입니다.

흔한 오해와 주의점: 거리 metric은 하나의 정답이 아닙니다. 정규화, 스케일, 특징 선택에 따라 결과가 달라집니다.

핵심 정리

거리는 두 대상이 얼마나 떨어져 있는지 나타내고, 유사도는 얼마나 비슷한지 나타냅니다. 유클리드 거리는 직선거리, 맨해튼 거리는 격자길 거리, 코사인 유사도는 방향의 비슷함을 봅니다. 상관은 함께 변하는 패턴을 보고, 편집 거리는 문자열을 바꾸는 최소 수정 횟수를 봅니다. 생물정보학에서 거리와 유사도는 클러스터링, 서열 비교, 샘플 비교의 기본 도구입니다.

문제 풀이

거리와 유사도

0 / 45
Gemini AI 채점

주관식 답안은 Gemini API로 채점합니다. API 키는 이 브라우저에만 저장됩니다.

API KEY 미등록
  1. 1. [쉬움] 객관식

    거리의 일반적 해석은?

    선택지
  2. 2. [쉬움] 객관식

    유사도의 일반적 해석은?

    선택지
  3. 3. [쉬움] 객관식

    유클리드 거리의 직관은?

    선택지
  4. 4. [쉬움] 객관식

    맨해튼 거리의 직관은?

    선택지
  5. 5. [계산] 객관식

    (0,0)과 (3,4)의 유클리드 거리는?

    선택지
  6. 6. [계산] 객관식

    (0,0)과 (3,4)의 맨해튼 거리는?

    선택지
  7. 7. [계산] 객관식

    (1,2)와 (4,6)의 유클리드 거리는?

    선택지
  8. 8. [계산] 객관식

    (1,2)와 (4,6)의 맨해튼 거리는?

    선택지
  9. 9. [보통] 객관식

    코사인 유사도가 주로 보는 것은?

    선택지
  10. 10. [계산] 객관식

    [1,1]과 [2,2]의 방향 관계로 적절한 것은?

    선택지
  11. 11. [계산] 객관식

    [1,0]과 [0,1]의 코사인 유사도 직관은?

    선택지
  12. 12. [계산] 객관식

    ATGC와 ATGA의 편집 거리는?

    선택지
  13. 13. [계산] 객관식

    ATGC와 ATGCA의 편집 거리는?

    선택지
  14. 14. [계산] 객관식

    ATGC와 ATCC의 편집 거리는?

    선택지
  15. 15. [보통] 객관식

    상관이 주로 보는 것은?

    선택지
  16. 16. [보통] 객관식

    유전자 A=[1,2,3], B=[10,20,30]에 대한 설명으로 적절한 것은?

    선택지
  17. 17. [보통] 객관식

    클러스터링에서 거리 기준이 중요한 이유는?

    선택지
  18. 18. [계산] 객관식

    (2,2)와 (5,6)의 맨해튼 거리는?

    선택지
  19. 19. [계산] 객관식

    (2,2)와 (5,6)의 유클리드 거리는?

    선택지
  20. 20. [계산] 객관식

    두 서열 AAAAA와 AAAAT의 편집 거리는?

    선택지
  21. 21. [쉬움] 객관식

    거리 값이 작다는 말의 일반적 의미는?

    선택지
  22. 22. [쉬움] 객관식

    유사도 값이 크다는 말의 일반적 의미는?

    선택지
  23. 23. [보통] 객관식

    서열 비교에서 편집 거리가 유용한 이유는?

    선택지
  24. 24. [보통] 객관식

    발현량의 전체 크기보다 상대적 패턴이 중요할 때 유용할 수 있는 것은?

    선택지
  25. 25. [보통] 객관식

    점 A(1,2), B(4,6)의 유클리드 거리는?

    선택지
  26. 26. [보통] 객관식

    같은 두 점 A(1,2), B(4,6)의 맨해튼 거리는?

    선택지
  27. 27. [보통] 객관식

    문자열 ACGATG로 바꾸는 데 필요한 치환 1번만 허용하면 편집 거리는?

    선택지
  28. 28. [보통] 객관식

    거리와 유사도의 해석으로 맞는 것은?

    선택지
  29. 29. [보통] 객관식

    벡터 (1,0)(0,1)의 내적은?

    선택지
  30. 30. [보통] 객관식

    전체 발현량 규모보다 유전자들이 함께 오르내리는 패턴을 보고 싶을 때 더 어울리는 것은?

    선택지
  31. 31. [보통] 객관식

    샘플 A (2,2), 샘플 B (5,6)의 유클리드 거리 제곱은?

    선택지
  32. 32. [보통] 객관식

    두 DNA 서열의 삽입, 삭제, 치환 차이를 세는 데 가장 직접적인 지표는?

    선택지
  33. 33. [쉬움] 객관식

    A=(1,2), B=(4,6)의 Euclidean distance는?

    선택지
  34. 34. [보통] 객관식

    Euclidean distance가 작다는 뜻은?

    선택지
  35. 35. [보통] 객관식

    상관계수 기반 유사도가 유용한 경우는?

    선택지
  36. 36. [어려움] 객관식

    클러스터링 결과가 metric에 따라 달라지는 이유는?

    선택지
  37. 37. [보통] 객관식

    스케일 조정이 필요한 이유는?

    선택지
  38. 주관식 38. [보통] 주관식 · Gemini 채점

    거리와 유사도의 차이를 설명하라.

  39. 주관식 39. [보통] 주관식 · Gemini 채점

    유클리드 거리와 맨해튼 거리의 차이를 설명하라.

  40. 주관식 40. [보통] 주관식 · Gemini 채점

    코사인 유사도가 유용한 상황을 설명하라.

  41. 주관식 41. [보통] 주관식 · Gemini 채점

    편집 거리가 서열 분석에서 중요한 이유를 설명하라.

  42. 주관식 42. [보통] 주관식 · Gemini 채점

    유클리드 거리와 코사인 유사도가 서로 다른 질문에 답한다는 점을 설명하라.

  43. 주관식 43. [보통] 주관식 · Gemini 채점

    DNA 서열 비교에서 편집 거리가 유용한 이유를 설명하라.

  44. 주관식 44. [보통] 주관식 · Gemini 채점

    A=[2,3], B=[5,7]의 Euclidean distance를 계산하라.

  45. 주관식 45. [보통] 주관식 · Gemini 채점

    클러스터링 전에 거리 metric과 정규화 방식을 명시해야 하는 이유를 설명하라.