11강 / 20강

축을 갈아 끼운다 — 2,000차원을 30차원으로

표준화 · 주성분 · 몇 개를 남길 것인가

축을 갈아 끼운다 — 2,000차원을 30차원으로
유전자 2,000개는 곧 2,000차원입니다. 사람은 물론이고 알고리즘도 이 차원에서는 길을 잃습니다.

이제 각 세포는 숫자 2,000개로 표현됩니다. 이걸 그대로 쓰면 문제가 생겨요.

  • 느립니다. 세포 쌍마다 거리를 재려면 2,000번씩 곱셈을 해야 합니다.
  • 잡음이 섞입니다. 2,000개 중 상당수는 dropout 과 기술 잡음입니다.
  • 차원의 저주. 고차원에서는 모든 점이 서로 비슷하게 멀어져, 거리 자체가 의미를 잃습니다.

PCA(주성분 분석) 는 이 2,000개 축을 서로 겹치지 않는 새 축 30개로 갈아 끼웁니다. 새 축은 "세포들이 가장 많이 흩어지는 방향" 순서로 정해집니다. S100a8·S100a9·Retnlg 는 늘 함께 오르내리므로, 그 셋을 따로 둘 필요 없이 "호중구다움"이라는 축 하나로 묶는 것 — 이것이 PCA 가 하는 일입니다.

PC1 이 8% 남짓입니다. 낮아 보이지만 단일세포에서는 정상이에요 — 세포 종류가 많으니 한 축이 다 설명할 수 없습니다.
Python 브라우저에서 실행
PC 를 몇 개까지 쓸지 움직여 보세요. 설명분산과 '팔꿈치'가 어디인지 확인합니다.
불러오는 중…
5~10 근처에서 완만해집니다. 그래도 보통 넉넉히 30개를 씁니다 — 적게 쓰다 놓치는 것보다 낫습니다.
Python 브라우저에서 실행
PC 는 이름 없는 숫자가 아닙니다. 양 끝에 어떤 유전자가 있는지를 보면 그 축이 무엇을 재고 있는지 읽을 수 있어요.
Python 브라우저에서 실행
🤔 확인 문제
PCA 전에 유전자마다 표준화(평균 0, 표준편차 1)를 하는 이유는?
🤔 확인 문제
단일세포 자료에서 PC1 의 설명분산이 8% 정도로 낮은 것은?
🤔 확인 문제
PCA 뒤 PC1 의 양 끝이 리보솜 유전자 vs 미토콘드리아 유전자였습니다. 무엇을 해야 할까요?