Loading [MathJax]/jax/output/CommonHTML/jax.js

uncategorized

Latent Dirichlet Allocation

Topic Modeling

Generative Process

  • θiDir(α),i{1,,M}

  • ϕkDir(β),k{1,,K}

  • zi,lMult(θi),i{1,,M},l{1,,N}

  • wi,lMult(ϕzi,l),i{1,,M},l{1,,N}

단어 wϕz word-topic 분포에 의해 generated 된다

z topic은 θ document-topic 분포에 의해 generated 된다

θ document-topic 분포는 α 분포에 의해 generated 된다

ϕ word-topic 분포는 β 분포에 의해 generated 된다


만약 우리가 Z 분포를 가지고 있다면 θϕ를 likely하게 구할수 있다

  • θ : Topic distribution in a document

  • ϕ : Word distribution in a topic

  • Z를 구하는 것이 θϕ를 추론하는 중요한 키가 된다

Gibbs Sampling on Z (1)

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

factorization 으로 시작한다

  • P(W,Z,θ,ϕ;α,β)

    =Ki=1P(ϕi;β)Mj=1P(θj;α)Nl=1P(Zj,lθj)P(Wj,lϕZj,l)


θϕ를 collapse시키려고 식을 전개한다

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

P(W,Z;α,β)=θϕP(W,Z,θ,ϕ;α,β)dϕdθ

=ϕKi=1P(ϕi;β)Mj=1Nl=1P(Wj,lϕZj,l)dϕ×θMj=1P(θj;α)Nl=1P(Zj,lθj)dθ

=(1)×(2)



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

(1)=ϕKi=1P(ϕi;β)Mj=1Nl=1P(Wj,lϕZj,l)dϕ

=Ki=1ϕiP(ϕi;β)Mj=1Nl=1P(Wj,lϕZj,l)dϕi

=Ki=1ϕiΓ(Vv=1βv)Vv=1Γ(βv)Vv=1ϕβv1i,vMj=1Nl=1P(Wj,lϕZj,l)dϕi

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

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

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

=Ki=1ϕiΓ(Vv=1βv)Vv=1Γ(βv)Vv=1ϕβv1i,vVv=1ϕni(.),vi,vdϕi

=Ki=1ϕiΓ(Vv=1βv)Vv=1Γ(βv)Vv=1ϕni(.),v+βv1i,vdϕi

=Ki=1Vv=1Γ(ni(.),v+βv)Γ(Vv=1βv)Vv=1Γ(βv)Γ(Vv=1ni(.),v+βv)ϕiΓ(Vv=1ni(.),v+βv)Vv=1Γ(ni(.),v+βv)Vv=1ϕni(.),v+βv1i,vdϕi

=Ki=1Vv=1Γ(ni(.),v+βv)Γ(Vv=1βv)Vv=1Γ(βv)Γ(Vv=1ni(.),v+βv)



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

θMj=1P(θj;α)Nl=1P(Zj,lθj)dθ

=Mj=1θjP(θj;α)Nl=1P(Zj,lθj)dθj

=Mj=1θjΓ(Kk=1αk)Kk=1Γ(αk)Kk=1θαk1j,kNl=1P(Zj,lθj)dθj

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

Share