def partial_slda_m_step(var): ### M-step: ### print 'updating betas..' # update betaD for documents first topiclib.lda_recalculate_beta(var.documents, var.beta, var.phi) print 'eta sigma...' # update response variable gaussian global parameters var.sigma_squared = topiclib.partial_slda_recalculate_eta_sigma(var.eta, var.y, var.phi)
def tlc_m_step(var): ### M-step: ### print 'updating betas..' Ku, Ks, Kb = var.Ku, var.Ks, var.Kb print 'update unlabeled document topics..' dc = var.documents + var.comments #phi_dc = var.phiD + [p[:,:Ku] for p in var.phiC] phi_dc = [d*var.document_multiplier for d in var.phiD] + [var.comment_multiplier*p[:,:Ku] for p in var.phiC] topiclib.lda_recalculate_beta(dc, var.beta[:Ku], phi_dc) print 'update sentiment topics...' cl = var.comments + var.labeled phi_cl = [var.comment_multiplier*p[:,-Ks:] for p in var.phiC] + [var.labeled_multiplier*p[:,:Ks] for p in var.phiL] topiclib.lda_recalculate_beta(cl, var.beta[Ku:Ku+Ks], phi_cl) print 'update background topics...' lb = var.labeled + var.background phi_lb = [var.labeled_multiplier*p[:,-Kb:] for p in var.phiL] + [var.background_multiplier*b for b in var.phiB] topiclib.lda_recalculate_beta(lb, var.beta[-Kb:], phi_lb) print 'eta sigma...' # update response variable gaussian global parameters var.sigma_squared = topiclib.partial_slda_recalculate_eta_sigma(var.eta, var.y, var.phiL)