There are many learning algorithms that perform classification tasks. However, very often the situation is that one classifier is better on certain data points, but another is better on other. It would be nice if there are ways to combine the best of all these available classifiers.
The simplest way of combining classifiers to improve the classification is democracy: voting. When there are n classifiers that output the same classes, the result can be simply cast by a democratic vote. This method works quite well in many problems. Sometimes, we may need to give various weights to different classifiers to improve the performance.
Bagging and Boosting
Sometimes we can generate many classifiers with the handful amount of data available with bagging and boosting. By bagging and boosting, different classifiers are built with the same learning algorithm but with different datasets. “Bagging builds different versions of the training set by sampling with replacement,” and “boosting obtains the different training sets by focusing on the instances that are misclassified by the previously trained classifiers.” [Sesmero et. al. 2015]
Performance of classifiers depends not only on the learning algorithms and the data, but also the set of features used. While feature generation itself is a bigger and a more important problem (not to be discussed), we do have various ways to combine different features. Sometimes we separate features into different classifiers in which the answers are to be combined, or combine all these features into one classifier. The former is called late fusion, while the latter early fusion.
We can also treat the prediction results of various classifiers as features of another classifiers. It is called stacking. [Wolpert 1992] “Stacking generates the members of the Stacking ensemble using several learning algorithms and subsequently uses another algorithm to learn how to combine their outputs.” [Sesmero et. al. 2015] Some recent implementation in computational epidemiology employ stacking as well. [Russ et. al. 2016]
Hidden Topics and Embedding
There is also a special type of feature generation of one classifier, using hidden topic or embedding as the latent vectors. We can generate a set of latent topics according to the data available using latent Dirichlet allocation (LDA) or correlated topic models (CTM), and describe each datasets using these topics as the input to another classifier. [Phan et. al. 2011] Another way is to represent the data using embedding vectors (such as time-series embedding, Word2Vec, or LDA2Vec etc.) as the input of another classifier. [Czerny 2015]
- M. Paz Sesmero, Agapito I. Ledezma, and Araceli Sanchis, “Generating ensembles of heterogeneous classifiers using Stacked Generalization,” WIREs Data Mining Knowl. Discov. 5, 21-34 (2015). [link]
- David H. Wolpert, “Stacked generalization,” Neural Networks 5, 241-259 (1992). [PDF]
- Daniel E Russ, Kwan-Yuet Ho, Joanne S Colt et. al., “Computer-based coding of free-text job descriptions to efficiently identify occupations in epidemiological studies,” Occup. Environ. Med. 73, 417-424 (2016). [link] [SOCcer]
- Xuan-Hieu Phan, Cam-Tu Nguyen, Dieu-Thu Le, Le-Minh Nguyen, Susumu Horiguchi, “A Hidden Topic-Based Framework toward Building Applications with Short Web Documents,” IEEE TKDE 23, 961-976 (2011). [link]
- Michael Czerny, “Modern Methods of Sentiment Analysis,” District Data Labs (2015). [link]