AI

Latent Dirichlet Allocation - LDA

Gibbs sampling

\begin{align} p(z_i = k) \propto (n_{d,k}^{-i} + \alpha) \frac{n_{k,w_i}^{-i} + \beta} {n_{k}^{-i} + V\beta} \end{align}

Trong đó:

4. Thuật toán Gibbs Sampling

  1. Khởi tạo ngẫu nhiên topic cho mỗi từ
  2. Với mỗi token i:
    1. Giảm count của topic hiện tại
    2. Tính xác suất cho từng topic:
    3. $$ p_k = (n_{d,k}^{-i} + \alpha) \frac{n_{k,w_i}^{-i} + \beta} {n_{k}^{-i} + V\beta} $$
    4. Chuẩn hóa \(p_k\)
    5. Lấy mẫu topic mới
    6. Cập nhật lại các count
  3. Lặp lại nhiều vòng cho đến khi hội tụ

5. Ước lượng tham số

Phân phối topic của văn bản:

$$ \hat{\theta}_{d,k} = \frac{n_{d,k} + \alpha} {N_d + K\alpha} $$

Phân phối từ của topic:

$$ \hat{\phi}_{k,w} = \frac{n_{k,w} + \beta} {n_k + V\beta} $$

6. Ý nghĩa

Ví dụ

Cho tập dữ liệu D

Chọn $$\alpha = 0.5, \beta = 0.1$$

Số topic: K = 2

Số từ vựng: {apple, banana, car}, V = 3

Khởi tạo ngẫu nhiên topic cho từng token

TokenDocumentWordTopic
0 d0 apple 0
1 d0 banana 1
2 d1 car 1
3 d1 apple 0
4 d1 banana 0

Document topic count

DocumentTopic 0Topic 1
d0 1 1
d1 2 1

Word topic count

Word Topic 0 Topic 1
apple 2 0
banana 1 1
car 0 1