Hello. The combination of different predictive models is often called an ensemble. Indeed, it is empirically shown to improve the predictive performance since it either combines a lot of simple models with high bias or more complex models with high variance.
These are the most common flavors of ensembling:
* Averaging/majority voting: train a bunch of classifiers/regression models, take the predictions of each of the models and combine them. In the case of regression, this can be a (weighted) average. In the case of classification, a (weighted) majority voting scheme can be applied.
* Boosting: iteratively train simplistic models with high bias, and in the next iteration focus on the samples that are wrongly classified by the model in the previous iteration.
* Stacking/Blending: feed the predictions (vector of probabilities in case of classification) to another model (second-level) model. This works really well, as many winning solutions on Kaggle will show.
Ensemble Learning is the key to your answer. It has been there for a very long time. Here are some very good papers that you might want to look for it:
And for summarizing things up and get a quick hands-on for Ensemble Learning check this out: http://machinelearningmastery.com/ensemble-machine-learning-algorithms-python-scikit-learn/