I love Ceres and have used it for many previous projects, but now I am a bit stumped.
I am trying to solve a NNLS problem for a small number of parameters. I know that these parameters are distributed according to a Gaussian Multivariate Mixture Model, and I would like to incorporate this as a prior cost function.
The expected behaviour would be that without data terms the optimization would converge to the nearest component mean.
I know of the existence of ceres::NormalPrior. I am looking for something similar for a mixture model, but I am a bit confused as to where to look/how to go about this. I am happy to implement it myself but I am confused as to what to implement, exactly.
As far as I understand I cannot just use the NormalPrior k times, once for each mixture: the further away the current parameter vector is from a component mean, the higher the gradient will be w.r.t. that component, so instead of converging to the closest component mean, the optimization would converge to a weighted mean of the component means.
Could someone point me in the right direction?