How to learn from multiple data sources with different input variables but the same underlying pattern?
What you are referring to is multi-view learning. Multi-view learning basically tells us how multiple data sources or multiple feature subsets can be combined to create a more robust learning curve for the algorithm. 

In recent years, starting from 2013 a lot of research has been carried in this rapidly growing field. A good introduction to the topic can be found in the link below. It contains a more theoretical and mathematical approach to understanding the method.

http://research.ics.aalto.fi/airc/reports/R1011/msml.pdf