Is it possible to build ensemble models without a decision tree?

Is it possible to build ensemble models without a decision tree?

I know that the description of ensembles itself suggests otherwise. However, I am really new to machine learning and all the ensemble models I came across so far use or are described using a decision tree.

Topic ensemble ensemble-modeling decision-trees random-forest machine-learning

Category Data Science


You can indeed use other weak learners (as the components of an ensemble are commonly called) than just decision trees. That said, decision tree ensembles are most widely used, especially gradient boosted trees and random forest.

Sometimes, other ensembles are just a conceptual tool to facilitate analysis of algorithms, like when you're trying to understand dropout in neural networks from an ensemble perspective (see this paper). Sometimes, they are being used to improve performance of models, especially in competition settings. When you look at solutions performing well in Kaggle competitions, you will often see complex ensembles.

Ensembles need not be composed of weak learners from the same model class. For example, a recent paper finds evidence for good performance of ensembles which combine gradient boosted tree models (which, of course, are themselves ensembles) with certain neural networks.

If you're looking for a simple way to play around with non-decision tree ensembles, you might want to take a look at XGBoost. It's not only one of the two most important implementations of decision-tree based ensembles (the other is LightGBM), but it also implements boosting ensembles of linear functions.


all the ensemble models I came through so far use/described using the decision tree.

Random Forest is the "ensemble version" of decision trees. It's a commonly used ensemble method because it's built in the algorithm itself. However ensemble methods are much more general than decision trees and can be used with any learning method, for example by stacking models.


At the highest level of abstraction, the answer is yes.

You can send a set of values to be scored to every model in an ensemble, and then combine the resulting of set of scores into a single score according to a predetermined formula.

Formally speaking, every transaction follows the same path through the system, so no decision is involved.

About

Geeks Mental is a community that publishes articles and tutorials about Web, Android, Data Science, new techniques and Linux security.