#' @export init_ebpmf
init_ebpmf <- function(X,K, init, d){
qg = init$qg
if(is.null(qg)){
qg = initialize_qg(X, K, init_method = init$init_method, init_iter = init$init_iter)
}
## TODO: speedup
## compute `a`
a = replicate(length(d$x), 0)
for(k in 1:K){
b_k_tmp <- qg$qls_mean_log[d$i, k] + qg$qfs_mean_log[d$j, k]
a <- pmax(a, b_k_tmp)
}
## compute b
b = qg$qls_mean_log[d$i, 1] + qg$qfs_mean_log[d$j, 1] - a
for(k in 2:K){
b_k = qg$qls_mean_log[d$i, k] + qg$qfs_mean_log[d$j, k] - a
b <- log( exp(b) + exp(b_k) )
}
return(list(qg = qg, b = b, a = a))
}
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.