アンサンブル学習
  ・3個の種類、バギングブースティングスタッキング
  ・回帰や分類の機械学習のアルゴリズムの手法として
弱学習器を使用して多数決をとれる。
  ・複数の分類器の比較など
複数の分類器の結果を真とできる。
  ・他の機械学習アルゴリズムの学習係数を求めるときの補助など
AdaBoost
  ・アンサンブル学習の手法は、説明のために決定木を例にとると、説明しやすい。

バギング (Bagging(袋詰め) : Bootstrap Aggregation(ブートストラップ集約))
  ・複数の弱学習器を独立に作成する。(並列的)
  ・トレーニング・セット内のランダムなサンプル・データを選択、データは元に戻す。
学習データの情報を全て使わず一部を使用して学習する
  ・複数の弱学習器は独立して並列に学習する。
各学習結果は平均値や多数決の基となる。
  ・タスク(回帰、分類など)に応じて、平均値や多数決を基に、より精度の高い推定値を算出する。
バギングの手法は通常、高バリアンスで低バイアスの弱学習器
(バラツキは大きいが誤差は小さい)に対して用いる。
  ・バギングを拡張した機械学習アルゴリズム
ランダムフォレスト

ブースティング
  ・決定木分析後、予測が正しくないデータに重みをつけ、再度、決定木分析を行う。
新しいモデルの学習を反復するごとに、前のモデルで誤分類されたデータに重みを加える。
以前に使用したデータを再利用してブーストする。
バギングのような並列処理は不可。(直列的)
  ・アルゴリズム的に制限されていない。
教師有り学習を実行するための機械学習 メタアルゴリズム
  ・分布に従って弱い分類器に繰り返し学習させる。
ブースティングの手法は、低バリアンスで高バイアスの場合に活用される。
(バラツキは小さいが誤差は大きい)に対して用いる。
過学習が発生しやすくなるが、パラメーターを調整することで問題を回避できる。
  ・学習結果を最終的な強い分類器の一部とする。
  ・メタアルゴリズム
特定の計算問題に依存しない ヒューリスティクス
  ・一般的なブースティング手法
AdaBoost (アダプティブ・ブースティング)
勾配ブースティング
XGBoost(エクストリーム勾配ブースティング)
  ・Pythonでは、一般的なブースティング手法の実装が簡単になるアンサンブル・メソッド有り。 scikit-learnライブラリ(sklearn.ensemble)
  ・ヒューリスティクス
必ずしも正しい答えを見つけるとは限らないが
ある程度のレベルで正解に近い解を得られる方法

スタッキング (Stacking)
  ・バイアスとバリアンス両方をうまく低下させる。
第一層目の様々なモデルをバギングのように学習
次の層では第一層の出力結果からいくつか選択して利用する
第一層のどのモデルの出力結果を用いるかを学習
これを繰り返していき全体としてのモデルの精度を向上させる。

予測精度
  ・バイアス(予測値と実際値との誤差の平均) と バリアンス(データの散らばり具合)
弱学習器を使用して多数決をとれる。
  ・「予測精度を高める」というのは「低バイアス低バリアンスを目指す」こと
  ・モデルが一つの場合、バイアスとバリアンスはトレードオフの関係
過学習 : 低バイアス高バリアンスの状態
  ・複数のモデルで学習
多数決や平均をとることで結果的に低バイアス低バリアンスを実現