機械学習基礎理論独習

誤りがあればご指摘いただけると幸いです。数式が整うまで少し時間かかります。リンクフリーです。

勉強ログです。リンクフリーです
目次へ戻る

バギング

バギングとは

バギングはB組の学習データ集合の集合に対してそれぞれ学習を行い、
B個の予測器の多数決や平均によって予測を行う手法です。

ブートストラップサンプル

ブートストラップサンプルとは、n個の学習データから重複を許して
n個のサンプルを復元抽出したものです。

ブートストラップサンプルを選択された学習データの番号の集合で表現します。
※数学の集合の定義では同一の要素を重複してカウントしないが、表記の簡略化のために、
 本記事では別の要素として扱います。
 例えば、n=5として、ブートストラップ集合\mathcal{B}\mathcal{B}=\{1,1,4,4,5\}のように表記し、
 その要素数|\mathcal{B}|=5のように扱うことにします。

分類問題、回帰問題に対するバギング

n個の学習データ({\bf x}_1,y_1),\ldots,({\bf x}_n,y_n)が与えられ、
B個のブートストラップサンプル集合\mathcal{B}_1,\ldots,\mathcal{B}_Bを生成したとします。

n=5,B=3の時のブートストラップサンプル集合の生成イメージを下図に記載しました。
f:id:olj611:20210515232139p:plain:w600

\mathcal{B}_iに対して学習を行い、特徴ベクトル{\bf x}に対するi番目の予測器の出力を\hat{y}({\bf x},\mathcal{B}_i)とします。

この時、分類問題に対するバギングでは、各予測器の出力の頻度が最も多いクラスに分類を行います。
特徴ベクトル{\bf x}に対する予測クラス\hat{y}({\bf x})は次式で表されます。

\newcommand{\argmax}{\mathop{\rm arg~max}\limits}\begin{eqnarray}
\hat{y}({\bf x})=\argmax_{y\in\mathcal{C}}|\{i\in\{1,\ldots,B\}|\hat{y}({\bf x},\mathcal{B}_i)=y\}|\tag{1}
\end{eqnarray}

n=5,B=3の時の分類問題に対するバギングのイメージを下図に記載しました。
f:id:olj611:20210515234840p:plain:w700

一方、回帰問題の場合、特徴ベクトル{\bf x}に推定値\hat{y}({\bf x})は次式で表されます。

\begin{eqnarray}
\hat{y}({\bf x})=\frac{1}{B}\sum_{i=1}^B\hat{y}({\bf x},\mathcal{B}_i)\tag{2}
\end{eqnarray}

n=5,B=3の時の回帰問題に対するバギングのイメージを下図に記載しました。
f:id:olj611:20210516000309p:plain:w800

偉人の名言

f:id:olj611:20210515230322p:plain:w300
あなたの運命が形作られるのは、あなたが決断する瞬間なのです。
アンソニー・ロビンズ

参考文献

入門 パターン認識機械学習 p85-p86

動画

なし

目次へ戻る