부록 D21: 클러스터링과 비지도학습
이 장에서 배울 것
이번 장에서는 클러스터링(clustering)과 비지도학습(unsupervised learning)을 배웁니다. 비지도학습은 정답표 없이 데이터 안의 구조를 찾는 방법입니다. 클러스터링은 그중에서도 비슷한 것끼리 묶는 작업입니다.
핵심 용어를 먼저 정리하겠습니다.
- 비지도학습(unsupervised learning): 정답 라벨 없이 데이터의 패턴을 찾는 학습입니다.
- 클러스터(cluster): 서로 비슷한 데이터들의 묶음입니다.
- 케이평균(k-means): 데이터 점을 K개의 묶음으로 나누는 대표적인 방법입니다.
- 중심점(centroid): 한 클러스터를 대표하는 평균 위치입니다.
- 계층적 클러스터링(hierarchical clustering): 가까운 것부터 차례대로 묶어 나무 모양으로 보여 주는 방법입니다.
- 밀도 기반 클러스터링(density-based clustering): 점이 빽빽한 영역을 묶음으로 보는 방법입니다.
- 실루엣 점수(silhouette score): 어떤 점이 자기 묶음에 얼마나 잘 들어맞는지 보는 지표입니다.
가장 쉬운 비유: 교실에서 비슷한 취향끼리 모으기
학생들이 좋아하는 음식과 취미를 숫자로 적었다고 합시다. 누가 누구와 비슷한지 보고 자연스럽게 몇 무리로 나눌 수 있습니다. 정답표가 없어도, 비슷한 사람끼리 가까이 모이면 묶음을 찾을 수 있습니다.
생물정보학에서는 세포 하나하나의 유전자 발현량을 숫자로 표현하고, 비슷한 세포끼리 묶어 세포 유형을 추정할 수 있습니다.
클러스터링은 정답을 맞히는 문제가 아니다
지도학습은 입력과 정답이 함께 있습니다. 예를 들어 “이 샘플은 암, 이 샘플은 정상”이라는 정답표가 있으면 지도학습입니다. 반면 클러스터링은 정답표 없이 데이터가 스스로 어떤 구조를 가지는지 봅니다.
그래서 클러스터링 결과는 항상 해석이 필요합니다. 묶음이 보인다고 해서 곧바로 생물학적 의미가 확정되는 것은 아닙니다.
케이평균의 직관
케이평균은 K개의 중심점을 놓고, 각 데이터 점을 가장 가까운 중심점에 배정합니다. 그다음 각 묶음의 평균 위치로 중심점을 다시 옮깁니다. 이 과정을 반복합니다.
1. K개의 중심점을 정한다.
2. 각 점을 가장 가까운 중심점에 붙인다.
3. 묶음별 평균 위치를 새 중심점으로 삼는다.
4. 크게 변하지 않을 때까지 반복한다.
계층적 클러스터링
계층적 클러스터링은 가까운 것부터 차례대로 묶습니다. 결과는 나무 모양 그림으로 나타낼 수 있습니다. 이 그림을 덴드로그램(dendrogram)이라고 합니다. 입문 단계에서는 “가까운 샘플끼리 먼저 묶고, 그 묶음을 다시 더 큰 묶음으로 합친다”고 이해하면 됩니다.
밀도 기반 클러스터링
밀도 기반 방법은 점이 빽빽하게 모인 곳을 하나의 묶음으로 봅니다. 멀리 떨어진 외로운 점은 잡음으로 볼 수 있습니다. 단일세포 데이터처럼 모양이 둥글지 않은 묶음이 있을 때 유용할 수 있습니다.
클러스터링 결과를 조심해서 봐야 하는 이유
클러스터링은 데이터를 강제로 묶는 경우가 많습니다. K를 3으로 정하면 어떻게든 3개 묶음이 나옵니다. 하지만 실제로 생물학적으로 3개 유형이 있다는 뜻은 아닐 수 있습니다. 그래서 클러스터링 결과는 마커 유전자, 실험 정보, 생물학 지식과 함께 해석해야 합니다.
계산 감각
이 장에서는 가까운 중심점 찾기와 중심점 계산을 연습합니다.
1차원 거리 = 두 숫자의 차이의 절댓값
2차원 거리 = √((x 차이)² + (y 차이)²)
중심점 = 묶음 안 점들의 평균 위치
예를 들어 1차원에서 점 2와 중심점 5의 거리는 3입니다. 점 2, 4, 6의 중심점은 (2 + 4 + 6) / 3 = 4입니다.
2차원에서 점 (0,0)과 (3,4)의 거리는 √(3² + 4²) = 5입니다. 이런 계산으로 “어느 중심점이 더 가까운가”를 판단할 수 있습니다.
생물정보학에서 왜 중요한가
단일세포 RNA-seq에서는 각 세포를 유전자 발현량 벡터로 보고 비슷한 세포끼리 묶습니다. 암 환자 샘플을 발현 패턴에 따라 묶거나, 미생물 군집을 비슷한 조성끼리 묶을 때도 클러스터링이 쓰입니다.
보강: 전처리가 클러스터를 바꾼다
클러스터링은 거리 계산에 크게 의존합니다. 그런데 거리 계산은 데이터의 스케일에 민감합니다. 예를 들어 유전자 A 발현량은 0~10 사이이고, 유전자 B 발현량은 0~10,000 사이이면, 거리 계산에서 유전자 B가 거의 모든 차이를 지배할 수 있습니다. 그래서 정규화와 스케일링이 중요합니다.
정규화: 샘플 간 측정량 차이를 조정한다.
스케일링: 변수들의 크기 범위를 비슷하게 맞춘다.
단일세포 RNA-seq에서는 세포마다 읽힌 read 수가 다르고, dropout도 많습니다. 전처리가 부실하면 클러스터가 세포 유형 차이가 아니라 기술적 차이를 반영할 수 있습니다.
K를 정하는 문제
k-means에서 K는 사용자가 정합니다. K=2로 정하면 두 묶음, K=5로 정하면 다섯 묶음이 나옵니다. 문제는 데이터가 정말 그렇게 나뉘는지 별도로 판단해야 한다는 것입니다. 실루엣 점수 같은 지표는 도움을 주지만, 최종 판단은 생물학적 해석과 함께 해야 합니다.
K가 너무 작음: 서로 다른 세포 유형이 하나로 합쳐질 수 있음
K가 너무 큼: 하나의 세포 유형이 불필요하게 쪼개질 수 있음
차원축소와 클러스터링의 관계
PCA, UMAP 같은 차원축소는 고차원 데이터를 보기 쉽게 줄여 줍니다. 하지만 그림에서 가까워 보인다고 항상 원래 고차원 공간에서도 같은 의미로 가까운 것은 아닙니다. 특히 UMAP 그림의 축 자체는 직접적인 생물학적 단위를 뜻하지 않습니다.
좋은 해석 순서는 다음과 같습니다.
1. 전처리와 정규화가 적절한지 확인한다.
2. 거리척도와 클러스터링 방법을 선택한다.
3. 클러스터가 안정적인지 확인한다.
4. 마커 유전자와 실험 정보를 보고 생물학적 의미를 붙인다.
클러스터링은 “세포 유형을 증명하는 도장”이 아니라, 추가 해석이 필요한 후보 구조를 제안하는 도구입니다.
보강 학습: 클러스터링과 batch effect 점검
왜 필요한가: 라벨 없는 세포나 샘플을 비슷한 패턴끼리 묶어 후보 구조를 찾기 위해 필요합니다.
공식 읽기: 클러스터 결과 = 거리 metric + 정규화 + 특징 선택 + resolution의 결과. 이 표현은 공식이라기보다 해석 틀입니다. 클러스터는 알고리즘 선택의 영향을 받습니다.
숫자 예시: 같은 단일세포 데이터도 resolution을 높이면 5개 클러스터가 12개로 늘 수 있습니다.
생물정보학에서 쓰이는 장면: single-cell cell type annotation, sample subgroup 탐색, 발현 패턴 묶기에 쓰입니다.
흔한 오해와 주의점: 클러스터 번호는 정답 라벨이 아닙니다. batch, QC, 세포주기, 스트레스가 클러스터를 만들 수 있습니다.
핵심 정리
클러스터링은 정답표 없이 비슷한 데이터끼리 묶는 방법입니다. 케이평균은 중심점과 거리를 이용하고, 계층적 클러스터링은 가까운 것부터 차례대로 묶습니다. 클러스터링 결과는 계산 결과일 뿐이므로 생물학적 근거와 함께 해석해야 합니다.
문제 풀이
클러스터링과 비지도학습
주관식 답안은 Gemini API로 채점합니다. API 키는 이 브라우저에만 저장됩니다.
-
1. [쉬움] 객관식
비지도학습의 설명으로 가장 적절한 것은?
-
2. [쉬움] 객관식
클러스터의 뜻으로 가장 적절한 것은?
-
3. [쉬움] 객관식
케이평균에서 중심점이 뜻하는 것은?
-
4. [계산] 객관식
1차원에서 점 2와 중심점 5의 거리는?
-
5. [계산] 객관식
점 2, 4, 6의 중심점은?
-
6. [계산] 객관식
점 (0,0)과 (3,4)의 거리는?
-
7. [계산] 객관식
점 1이 중심점 0과 5 중 더 가까운 곳은?
-
8. [계산] 객관식
점 8이 중심점 3과 10 중 더 가까운 곳은?
-
9. [계산] 객관식
점 1, 3, 5, 7의 중심점은?
-
10. [보통] 객관식
계층적 클러스터링의 직관으로 적절한 것은?
-
11. [보통] 객관식
밀도 기반 클러스터링은 무엇을 묶음으로 보는가?
-
12. [보통] 객관식
K를 3으로 정하면 결과 해석에서 조심해야 할 점은?
-
13. [계산] 객관식
점 (1,1)과 (1,4)의 거리는?
-
14. [계산] 객관식
점 (2,2)와 (5,6)의 거리는?
-
15. [계산] 객관식
점 10과 중심점 6, 13 중 더 가까운 중심점은?
-
16. [계산] 객관식
점 2, 2, 8, 8의 중심점은?
-
17. [계산] 객관식
중심점이 4와 9이고 점이 6이면 어느 쪽에 더 가까운가?
-
18. [계산] 객관식
점 0, 10의 중심점은?
-
19. [계산] 객관식
점 (0,0)과 (0,6)의 거리는?
-
20. [계산] 객관식
점 7이 중심점 2와 12에서 각각 떨어진 거리는?
-
21. [보통] 객관식
단일세포 RNA-seq에서 클러스터링을 쓰는 이유는?
-
22. [보통] 객관식
클러스터링 후 생물학적 해석에 필요한 것은?
-
23. [보통] 객관식
케이평균의 반복 과정에 포함되는 것은?
-
24. [쉬움] 객관식
클러스터링이 비지도학습인 이유는?
-
25. [계산] 객관식
1차원 점 2, 4, 10의 중심점은?
-
26. [계산] 객관식
점 (0,0)과 (6,8)의 유클리드 거리는?
-
27. [계산] 객관식
점 x=7은 중심점 3과 10 중 어디에 더 가까운가?
-
28. [사례 판단] 객관식
K를 너무 크게 잡았을 때 생길 수 있는 문제는?
-
29. [계산] 객관식
점 (1,2), (3,4)의 중심점은?
-
30. [데이터 해석] 객관식
유전자 B의 값 범위가 다른 유전자보다 1000배 크다. 거리 기반 클러스터링 전에 특히 필요한 것은?
-
31. [계산] 객관식
실루엣 점수가 -0.2인 점에 대한 해석으로 가장 적절한 것은?
-
32. [사례 판단] 객관식
단일세포 클러스터가 생물학적 세포 유형이라고 주장하려면 특히 필요한 근거는?
-
33. [쉬움] 객관식
클러스터링 목적은?
-
34. [보통] 객관식
클러스터가 batch별로 나뉘면?
-
35. [어려움] 객관식
클러스터 수가 너무 많으면?
-
36. [쉬움] 객관식
클러스터 해석 근거로 부적절한 것은?
-
37. [보통] 객관식
UMAP에서 두 그룹이 떨어져 보이면?
-
주관식 38. [보통] 주관식 · Gemini 채점
클러스터링이 무엇인지 단일세포 분석 예시와 함께 설명하라.
-
주관식 39. [보통] 주관식 · Gemini 채점
케이평균에서 중심점이 반복적으로 바뀌는 이유를 설명하라.
-
주관식 40. [보통] 주관식 · Gemini 채점
클러스터링 결과를 생물학적으로 해석할 때 조심해야 하는 이유를 설명하라.
-
주관식 41. [보통] 주관식 · Gemini 채점
계층적 클러스터링과 케이평균의 차이를 간단히 설명하라.
-
주관식 42. [심화] 주관식 · Gemini 채점
단일세포 클러스터링 결과를 세포 유형으로 해석할 때 필요한 확인 과정을 설명하라.
-
주관식 43. [보통] 주관식 · Gemini 채점
단일세포 클러스터 1은 sample A에만, 클러스터 2는 sample B에만 거의 있다. 확인할 가능성을 설명하라.
-
주관식 44. [보통] 주관식 · Gemini 채점
PCA/UMAP에서 클러스터가 예쁘게 나뉘었다고 새로운 세포 종류라고 단정하면 안 되는 이유를 설명하라.
-
주관식 45. [보통] 주관식 · Gemini 채점
resolution을 바꿨더니 클러스터 수가 5개에서 12개로 늘었다. 무엇을 검토해야 하는가?