各ラウンドで弱学習器(深さ1の決定スタンプ)を1本追加し、誤分類サンプルの重み w_i を増やして強分類器を更新します。点の大きさ=現在の重み。データはシード 42 の LCG で生成し線形分離不可能です。
青=クラス +1/赤=クラス −1/点の大きさ=サンプル重み/黄線=最新の決定スタンプ/白線=過去のスタンプ/背景塗り=強分類器の決定境界/右下=訓練誤差の推移
AdaBoost は重み付き多数決で強分類器を構築するブースティングアルゴリズムです。各反復で前段の誤分類に重みを集中させ、弱学習器を逐次的に訓練します。
重み付き誤分類率 ε_t と弱分類器重み α_t:
$$\varepsilon_t = \sum_{i} w_i\,\mathbb{1}[h_t(\mathbf{x}_i) \ne y_i], \quad \alpha_t = \tfrac{1}{2}\log\frac{1-\varepsilon_t}{\varepsilon_t}$$サンプル重みの更新と正規化(Z_t は正規化定数):
$$w_i \leftarrow \frac{w_i\,\exp(-\alpha_t\,y_i\,h_t(\mathbf{x}_i))}{Z_t}$$最終強分類器:
$$H(\mathbf{x}) = \mathrm{sign}\!\left(\sum_{t=1}^{T} \alpha_t\,h_t(\mathbf{x})\right)$$弱学習器は深さ1の決定スタンプ(単一特徴量の閾値判定)で十分。T を増やすほど訓練誤差は指数的に減少します。
既知解による検証:ε=0.3 のとき αt = ½·ln((1−0.3)/0.3) = …(理論値 ≈ 0.424)