Closed dguhanus closed 1 year ago
I haven't worked on or with these algorithms in years, so I am a bit loose on the details, but this is how I remember it.
ADMM works by
h
and w
),AO-ADMM on the other hand is a hybrid algorithm, that actually tries to optimize the variables in between updates, hence calling the loss function updates, admm_ls_update
and admm_kl_update
respectively, on each update.
So I think this is not a logical error, but rather confusing code organization (including the optimization functions in the admm
module without using them) and sub-optimal naming (admm_XX_update
does give the impression it is used for the ADMM part, not for the AO part).
Again, haven't worked on this in years, so please fact check this and make sure this makes sense.
Dear Ralf Engbers, I have noticed one logical error in the NMF ADMM module. You are not invoking the function of admm_ls_update or admm_kl_update in the admm module. But you are invoking them in other method like AO-ADMM. Here is the code snippet: ` for i in range(max_iter):
` I think this might be a logical error. Please correct me if I am wrong.