インテル® DAAL プログラミング・ガイド

詳細

サイズ pn 特徴ベクトル x1=(x11,…,x1p),..., xn=(xn1,…,xnp)、クラスラベルのベクトル y=(y1,…,yn)、ここで yiK = {-1, 1} は特徴ベクトル xi が属するクラス、弱学習器アルゴリズムで、2 クラス BrownBoost 分類器を作成します。

訓練段階

モデルは以下のように Freund メソッド [Freund01] を使用して訓練されます。

  1. c = erfinv2(1 - ε) を計算します。ここで、

    erfinv(x) は逆誤差関数、

    ε は次のように定義されるアルゴリズムのターゲット分類誤差

    erf(x) は誤差関数、

    hi(x) は i 番目 (i = 1,...,M) の弱学習器により式で表された仮説、

    αi は仮説の重みです。

  2. 初期予測値を設定します。r1(x, y) = 0

  3. 残り時間を設定します。s1 = c

  4. i=1,2,... で、si+1 0 になるまで以下の操作を繰り返します。

    1. 各特徴ベクトルと正の重みのラベルを関連付けます。

    2. Wi(x, y) を正規化して定義した分散で弱学習器を呼び出し、仮説 hi(x) を受け取ります。

    3. 次の微分方程式を解きます。


      境界条件 t = 0 および α = 0 で ti = t* > 0 および αi = α* を見つけます (γν または t* = si のいずれか)。ここで、ν は変換を中止するために必要な小さな定数です。

    4. 予測値を更新します。ri+1(x, y) = ri(x, y)+ αihi(x)y

    5. 残り時間を更新します。si+1 = si - ti

    繰り返し終了

モデル訓練の結果は M 弱学習器の配列 hi です。

予測段階

BrownBoost 分類器と r 特徴ベクトル x1,…,xr で、次のルールを使用して最終的な分類信頼度 (区間 [-1, 1] の数) を計算します。