title: Understanding ensemble learning and its implementation in Matlab
body: <p>Is <a href="http://en.wikipedia.org/wiki/Ensemble_learning" rel="noreferrer">ensemble learning</a> an example of many instances of a particular classifier, for example Decision Tree Classifier; or is it a mixture of couple of classifiers such as Neural Networks, Decision Tree, SVM and so forth?</p>
  
  <p>I have looked into this <a href="http://en.wikipedia.org/wiki/Bootstrap_aggregating#Description_of_the_technique" rel="noreferrer">wikipedia's</a> description on <code>Bagging</code> an ensemble learner. It says that: </p>
  
  <blockquote>
    <p>Bagging leads to "improvements for unstable procedures" (Breiman, 1996), which include, for example, neural nets, classification and regression trees, and subset selection in linear regression (Breiman, 1994).</p>
  </blockquote>
  
  <p>I am little confused about this description. I also have looked into MATLAB's <a href="http://www.mathworks.com/help/stats/ensemble-methods.html#bsvk5ue" rel="noreferrer">implementation</a> of ensemble algorithm. For example this one:</p>
  
  <pre><code>load fisheriris
  ens = fitensemble(meas,species,'AdaBoostM2',100,'Tree')
  </code></pre>
  
  <p><code>meas</code> and <code>species</code> are inputs of the <a href="http://www.mathworks.com/help/stats/fitensemble.html" rel="noreferrer"><code>fitensemble</code></a> function. Here in this example it is using <code>AdaBoostM2</code> weak learner of type <code>Tree</code> and is using <code>100</code> of them. How can this simple instance of this function is being addressed to show that ensemble learning is used to combine different classifiers such as <code>Neural Net, KNN, Naive Bayes</code> together?</p>
  
  <p>Can anybody explain what is ensemble learning actually and what is MATLAB trying to do in its implementation of <code>fitensemble</code> function?</p>