대관식: 잠재 디리클레 할당(LDA) 의 통계 철학

이전 챕터에서 배웠던 ‘신의 주사위 역추론’ 패러다임을 실제로 코딩으로 구현하여 2003년 전 세계 머신러닝의 텍스트 군집화 일통을 이루어낸 알고리즘, 바로 그 유명한 LDA (Latent Dirichlet Allocation, 잠재 디리클레 할당)의 위대한 수학적 톱니바퀴 2개를 뜯어봅니다.


00. 보이지 않는(Latent) 것을 역으로 맞혀낸다!

“결과물 데이터 쪼가리들을 보고 $\to$ 이 문서를 하늘에서 떨어뜨린 주사위 비율을 족집게처럼 유추해 내는 모델” 입니다. 현재 토픽 분석 실무에서도 K-means 대신 압도적인 디폴트로 사용되는 텍스트 분석 알고리즘의 성배입니다.

01. LDA 의 근본적인 2가지 분리 통계 가정

우리가 인간의 맨눈으로 모니터에서 관찰(Observe) 할 수 있는 팩트 현상은 오직 스크린에 찍힌 문서(D)와 그 안에 적힌 스펠링 단어(W) 뿐입니다. 저 너머의 보이지 않는 확률의 장막(Latent)을 수학으로 뚫고 들어가기 위해, LDA는 모델 안에 가상의 스탯 변수 2개($\theta, \phi$)를 창조하고 이중 분리 엔진 가정을 냅니다.

  1. 가정 1 (문서 중심 룰렛 $\theta$): 하나의 무작위 문서는 룰렛처럼 미리 정해진 K개의 짬뽕된 극비의 토픽(주제)들로 버무려져 섞여 구성되어 있다.
  2. 가정 2 (토픽 중심 주머니 $\phi$): 각 토픽 방은 또다시 자기만의 특색(빈도수)을 가진 고유한 단어의 등장 확률 쪽지 비율표를 무조건 별도로 가지고 보관하고 있다!

02. 가정 1: 토픽 역 혼합의 비율표 - $\theta$ (세타) 관점

한 문서가 가진 다중 인격 비율 모델링($\theta$)을 확인합니다. 세상에 총 $K=2$ (과일 방, 동물 방) 2가지 토픽 주머니뿐이라고 가정해 봅시다. LDA를 돌린 결과 다음과 같이 뱉어냅니다!

관찰된 데이터 문서 파일 ($D$) 포함 문장 문맥 분석 결과 유추 성공한 토픽의 혼합 퍼센티지 ($\theta$) 파라미터
Doc 01 “사과랑 바나나 달콤하게 먹어요” 과일 토픽 100%
Doc 02 “귀여운 강아지가 꼬리를 쳐요” 동물 토픽 100%
🚨 Doc 03 “사육사가 강아지한테 바나나를 먹여요” [과일 45% + 동물 55%] 로 요상하게 짬뽕 혼합(Mixed) 된 문서!!

위에서 보듯, LDA는 K-means 같은 무식한 조짜기 녀석들처럼 문서 3번을 억지로 100% 동물 폴더로 쳐박지 않고 유연하게 “얘는 반반 치킨 비율로 섞인 문서야!” 라고 확률을 인정해 줍니다.

03. 가정 2: 토픽 속의 단어 쪽지 분포 지분 - $\phi$ (파이) 관점

이번엔 그 토픽 방 안을 뒤져 속성을 까봅니다. 동물 주머니 방벌과 과일 주머니 안을 까보면 단어가 뽑혀 나올 스펠링 수학 확률($\phi$)이 완전히 편파적으로 다릅니다.

  • [과일 토픽 주머니 $\phi_1$]: 사과(20%), 바나나(40%), 강아지(0%), 달콤(10%)
  • [동물 토픽 주머니 $\phi_2$]: 사과(0%), 강아지(33%), 귀여운(33%), 사자(16%)

이 거대한 두 확률 톱니바퀴 모형($\theta$ 와 $\phi$)이 맞물려 미친 듯이 빙글빙글 공장처럼 돌아가며 오늘 매일 아침 네이버 뉴스가 찍혀서 자동 생성된다는 몽상, 그것이 바로 LDA가 세상을 바라보는 수학적 관점의 정체입니다.

그럼 이 톱니바퀴를 과연 초기값 무작위(Random)에서 무슨 수로 정교하게 갈고 닦아 정답으로 맞춰나가는 걸까요? 이 비밀의 매커니즘이 ‘디리클레 수식’과 ‘깁스 샘플링 추론’이라는 이름으로 다음 단원에서 이어집니다.

서브목차