I try to solve biological problem to tell which groups of ants are co-existed at this location by their sounds in specific time frame. My chosen framework is Non-negative Matrix Factorisation (NMF) where $V \approx WH$ (dimension is $(m*n) \approx (m*k)(k*n)$ where $m$ is frequency, $k$ is type of ant, $n$ is time in seconds) using Kullback-Leibler Divergence.
My prior knowledge are:
1) I know 3 specific frequency with intensities of each type of ant sounds. For example, Ant 1: frequency 1100, 1155, 1210 with probable intensities 0.45, 0.35, 0.20. So I supervise $W$ with intensity value at frequency $m$ and fix it (not update). Each column of $W$ thus are frequency profile of each type of ant.
2) I know which kind of ants can stay together. So I group these ants in $W$, and apply group sparsity according to group position in $W$ on $H$.
3) I can predict which duration of this time frame I will hear a specific ant sound (80% accuracy). So I initialize $H$ with peak at the predicted time with all equal intensity.
The problems that I don't have techniques to solve yet are:
1) the specific frequency and intensity can be slightly shifted or disappeared.
2) I have about thousand kinds of ants for about 10 groups (at this stage). It is overdictionary because I have to include every ants that are possible into the group. I don't know can NMF handle this?
3) Initialed peak in H with the same intensity is not good because so many ants don't exist at this time frame. But I don't have prior information of which ants appear in each time frame.
4) Peak in $H$ should be Gaussian, some tailing is ok. If it is not Gaussian it may be not ant sound.
5) While each ant can be in more than one group is rare, the overlapped frequency is much more possible. Particularly, not only exactly overlapped but partially like Ant1 1100, 1155, 1210 and Ant B 1155 1210 1345 and Ant C 900 1000 1100 are often found.
Any suggestion for overdictionary of supervised NMF with slightly shift should be allowed from supervising $W$ and $H$ by prior knowledge? The algorithm should guarantee the convergence. Is this possible?