LDA主题模型学习笔记3.5:变分參数推导

时间:2023-03-09 03:45:57
LDA主题模型学习笔记3.5:变分參数推导

如今来推导一下得到变分參数更新式的过程。这一部分是在论文的附录中,为避免陷入过多细节而影响总体理解。能够在刚開始学习LDA的时候先不关注求解细节。首先要把L写成关于γ,ϕ\gamma,\phi函数。依据之前我们对L的定义:

L(γ,ϕ;α,β)=Eq[logp(θ,z,w|α,β)]−Eq[logq(θ,z)]

L(\gamma,\phi;\alpha,\beta)=E_q[logp(\theta,\mathbf
z,\mathbf w|\alpha,\beta)]-E_q[logq(\theta,\mathbf
z)]

(1)LDA主题模型学习笔记3.5:变分參数推导

再分别计算5个期望。能够得到例如以下式子:

(2)LDA主题模型学习笔记3.5:变分參数推导

上式中5个期望的计算要用到例如以下式子,这个是作者在附录中推导出来的式子:

LDA主题模型学习笔记3.5:变分參数推导

5个期望的计算:

LDA主题模型学习笔记3.5:变分參数推导

LDA主题模型学习笔记3.5:变分參数推导

LDA主题模型学习笔记3.5:变分參数推导

LDA主题模型学习笔记3.5:变分參数推导


接下来分别对ϕ,γ\phi,\gamma 求偏导令导数为0,解出ϕ,γ\phi,\gamma 。

我们对(2)式中的L做简化,仅仅留下与ϕ\phi 有关的项 :

LDA主题模型学习笔记3.5:变分參数推导

求偏导:

LDA主题模型学习笔记3.5:变分參数推导

解得:

LDA主题模型学习笔记3.5:变分參数推导

对于γ\gamma。相同的步骤:

LDA主题模型学习笔记3.5:变分參数推导


主要參考《Latent Dirichlet Allocation》

$(function () {
$('pre.prettyprint code').each(function () {
var lines = $(this).text().split('\n').length;
var $numbering = $('

    ').addClass('pre-numbering').hide();
    $(this).addClass('has-numbering').parent().append($numbering);
    for (i = 1; i ').text(i));
    };
    $numbering.fadeIn(1700);
    });
    });