Product Analysis: Learning to Model Observations as Products of Hidden Variables