Also see my website page
We use pytorch and tensorflow to develop our mixture density network.
- A MLP is used to generate pi, mu and sigma for 2D isotropic gaussian distribution.
- Several 2D gaussian distribution is mixed to form a mixed gaussian distribution.
- We use Maximum Likelihood Estimation, choose negetive log likelihood as our loss function for optimization
Several tricks:
- deal with loss nan: we use log transform of signa, mu and pi, also a cutoff of sigma and pseudo counts of pi is used to prevend loss explosion of vanishing
- z score normalization to optimize the model easier.
- we use mean shift to find modes in gaussian mixture
We use PCC to quantify the PCC between samples' features and distance. We use dynamic weight to pick features having higher relation with distance. It seems TOA has the significant higher weight
We plan to use some imputation method, including some methods from single cell analysis. We also aim to use RNN for changeable size feature and attention model to pick more related features.