uncategorized

Latent Dirichlet Allocation

Topic Modeling

Generative Process

  • $\theta_i \sim Dir(\alpha), i \in \{1, \ldots, M\}$

  • $\phi_k \sim Dir(\beta), k \in \{1, \ldots, K\}$

  • $z_{i,l} \sim Mult(\theta_i), i \in \{1, \ldots, M\}, l \in \{1, \ldots, N\}$

  • $w_{i,l} \sim Mult(\phi_{z_{i,l}}), i \in \{1, \ldots, M\}, l \in \{1, \ldots, N\}$

단어 $\boldsymbol{w}$는 $\boldsymbol{\phi_z}$ word-topic 분포에 의해 generated 된다

$\boldsymbol{z}$ topic은 $\boldsymbol{\theta}$ document-topic 분포에 의해 generated 된다

$\boldsymbol{\theta}$ document-topic 분포는 $\boldsymbol{\alpha}$ 분포에 의해 generated 된다

$\boldsymbol{\phi}$ word-topic 분포는 $\boldsymbol{\beta}$ 분포에 의해 generated 된다


만약 우리가 $Z$ 분포를 가지고 있다면 $\theta$와 $\phi$를 likely하게 구할수 있다

  • $\theta$ : Topic distribution in a document

  • $\phi$ : Word distribution in a topic

  • $Z$를 구하는 것이 $\theta$와 $\phi$를 추론하는 중요한 키가 된다

Gibbs Sampling on Z (1)

Gibbs Sampling을 활용하여 가장 likely한 $Z$를 구한다

factorization 으로 시작한다

  • $P(W, Z, \theta, \phi; \alpha, \beta)$


$\theta$와 $\phi$를 collapse시키려고 식을 전개한다

  • 왜냐하면 W는 Data point이고, Z 는 Sampling target이고 $\alpha, \beta$는 prior 이기 때문에 살려야 한다

$P(W, Z; \alpha, \beta) = \int_{\theta} \int_{\phi} P(W, Z, \theta, \phi ; \alpha, \beta)d\phi d\theta$

$= \int_{\phi} \prod_{i=1}^{K} P(\phi_i;\beta) \prod_{j=1}^{M} \prod_{l=1}^{N} P(W_{j,l} \mid \phi_{Z_{j,l}}) d\phi \times \int_{\theta} \prod_{j=1}^{M} P(\theta_j;\alpha) \prod_{l=1}^{N} P(Z_{j,l} \mid \theta_j) d\theta$

$= (1) \times (2)$



(1)번 식을 먼저 풀어본다

$(1) = \int_{\phi} \prod_{i=1}^{K} P(\phi_i;\beta) \prod_{j=1}^{M} \prod_{l=1}^{N} P(W_{j,l} \mid \phi_{Z_{j,l}}) d\phi$

$= \prod_{i=1}^{K} \int_{\phi_i} P(\phi_i;\beta) \prod_{j=1}^{M} \prod_{l=1}^{N} P(W_{j,l} \mid \phi_{Z_{j,l}}) d\phi_i$

$= \prod_{i=1}^{K} \int_{\phi_i} \frac{\Gamma(\sum_{v=1}^{V} \beta_v)} {\prod_{v=1}^{V} \Gamma(\beta_v)} \prod_{v=1}^{V}\phi_{i,v}^{\beta_v -1} \prod_{j=1}^{M} \prod_{l=1}^{N} P(W_{j,l} \mid \phi_{Z_{j,l}}) d\phi_i$

여기서 v는 unique 단어의 갯수이다(dimension)

$n_{j,r}^i$ : $j$번째 document에 있는 $i$번째 topic의 성질을 가진 $r$번째 unique한 단어이다

$n_{(.),v}^i$ : 모든 문서를 보고 $i$라는 topic의 성질을 가진 unique한 단어 $v$의 갯수

$=\prod_{i=1}^{K} \int_{\phi_i} \frac{\Gamma(\sum_{v=1}^{V} \beta_v)} {\prod_{v=1}^{V} \Gamma(\beta_v)} \prod_{v=1}^{V}\phi_{i,v}^{\beta_v -1} \prod_{v=1}^V \phi_{i,v}^{n_{(.),v}^i} d\phi_i$

$=\prod_{i=1}^{K} \int_{\phi_i} \frac{\Gamma(\sum_{v=1}^{V} \beta_v)} {\prod_{v=1}^{V} \Gamma(\beta_v)} \prod_{v=1}^{V}\phi_{i,v}^{n_{(.),v}^i + \beta_v -1}d\phi_i$

$=\prod_{i=1}^{K} \frac{\prod_{v=1}^{V} \Gamma \left(n_{(.),v}^i + \beta_v \right) \Gamma \left(\sum_{v=1}^V \beta_v\right)} {\prod_{v=1}^V \Gamma \left( \beta_v\right) \Gamma \left( \sum_{v=1}^V n_{(.),v}^i + \beta_v \right)} \int_{\phi_i} \frac{\Gamma \left( \sum_{v=1}^V n_{(.),v}^i + \beta_v \right)} {\prod_{v=1}^{V} \Gamma \left(n_{(.),v}^i + \beta_v \right)} \prod_{v=1}^{V}\phi_{i,v}^{n_{(.),v}^i + \beta_v -1}d\phi_i$

$=\prod_{i=1}^{K} \frac{\prod_{v=1}^{V} \Gamma \left(n_{(.),v}^i + \beta_v \right) \Gamma \left(\sum_{v=1}^V \beta_v\right)} {\prod_{v=1}^V \Gamma \left( \beta_v\right) \Gamma \left( \sum_{v=1}^V n_{(.),v}^i + \beta_v \right)}$



(2)번 식을 먼저 풀어본다

$\int_{\theta} \prod_{j=1}^{M} P\left(\theta_j;\alpha\right) \prod_{l=1}^{N} P\left(Z_{j,l} \mid \theta_j\right) d\theta$

$= \prod_{j=1}^{M} \int_{\theta_j} P\left(\theta_j;\alpha\right) \prod_{l=1}^{N} P\left(Z_{j,l} \mid \theta_j\right) d\theta_j$

$= \prod_{j=1}^{M} \int_{\theta_j} \frac{\Gamma \left( \sum_{k=1}^K \alpha_k \right)} {\prod_{k=1}^{K} \Gamma \left( \alpha_k \right)} \prod_{k=1}^K \theta_{j,k}^{\alpha_k -1} \prod_{l=1}^N P \left( Z_{j,l} \mid \theta_j\right)d \theta_j$

$n_{(.),v}^i$ : 모든 단어는 다 포함하고 $i$라는 topic의 성질을 가진 unique한 단어 $v$의 갯수

Share