nnmnkwii/nnmnkwii/paramgen/_mlpg.py
XiaoshanHsj opened this issue · comments
line 121 b = P\mu
I think it should be "b = \sum_{l} W_{l}^{T}P_{l}\mu“
bs = precisions * means => P_{l}\mu
bm.dot_mv_plus_equals(win_mat.T, b_frames[:, win_index], target=b) => W_{l}^{T}
Hi, sorry for the super delay. If possible, could you describe in more details why the changes are needed?
firstly, bs = precisions * means, so bs = U^{-1} · M^{T}, where U -> variance matrix, M -> mean matrix (\mu);
then "b, P = build_poe(bs, precisions, win_mats)"
in function of build_poe(), we can see that "bm.dot_mv_plus_equals(win_mat.T, b_frames[:, win_index], target=b)"
so b = W^{T} · bs = W^{T} · U^{-1} · M^{T} = W^{T} · P · M^{T}