Tunny Icon
TunnyDocs

The next-gen Grasshopper optimization tool.

Random Forest

概要

Random Forest サロゲートは LightGBM(boosting_type=rf)を使った回帰木アンサンブルで応答曲面を予測します。 Ridge では対応できない非線形、不連続、ノイジーな目的関数に有効です。


LightGBM Random Forest モード

LightGBM の RF モード(boosting_type=rf)は、各木を異なるブートストラップサンプルで学習し、予測を平均します。

デフォルト設定:

パラメータ 説明
num_iterations 64 アンサンブルの木の本数
max_depth 10 木の最大深さ
min_data_in_leaf 2 葉ノードの最小サンプル数
bagging_fraction 0.8 1 本の木に使うデータの割合
feature_fraction 0.8 1 本の木に使う特徴量の割合
seed 42 再現性のための固定シード

注: PDP(1D/2D)計算時は num_iterations が明示的に 100 に上書きされます(サロゲートモデル本体の経路ではデフォルト値の 64 が使われます)。


PDP の計算

1D と 2D の偏依存プロットは、非対象次元をすべて周辺化する正規の PDP です。 グリッド点ごとに、対象列をその値で固定したすべての訓練行に対してモデルが予測し、平均を PDP 値とします。 2D グリッドでは 50×50 グリッド×N 訓練行を一括バッチ予測します。

y^PDP(v)=1Ni=1Nf^(xiの対象列を v に固定)\hat{y}\text{PDP}(v) = \frac{1}{N} \sum{i=1}^{N} \hat{f}(x_i \text{の対象列を } v \text{ に固定})


R² の見方

R² は訓練データ上の MSE から計算されます(過学習により楽観的になる場合があります)。

対応
> 0.7 曲面の傾向は概ね信頼できます
< 0.5 GP-FITC への切り替えを検討

計算量と性能目標

N(試行数) 学習時間の目安 グリッド予測(50×50)
50〜200 < 100ms < 50ms
1,000 < 500ms < 200ms
5,000 < 2,000ms < 500ms

目標: 2,000ms 以内(UI のローディングスピナーで待機を許容)。


特性と限界

強み:

  • 非線形・不連続な目的関数に対応可能
  • 外れ値への頑健性が高い(アンサンブル平均により影響が希薄化)
  • 特徴量スケーリング不要(決定木は閾値比較のみ)
  • LightGBM のヒストグラムベース分割により大 N でも高速

弱み:

  • 訓練データの外挿が苦手(データ範囲外では定数値になります)
  • Gaussian Process と比べて予測の滑らかさが劣る(階段状の曲面になりやすいです)
  • 計算コストは Ridge より大きいです

使用場面の目安

目的関数の形が...

  線形に近い ──────────────────────────────────→ Ridge(高速)
  非線形・不連続・外れ値あり・ノイジー ────────→ Random Forest(LightGBM RF バックエンド)
  滑らかな非線形(デフォルト) ─────────────────→ GP-FITC
  不連続・多領域の応答 ────────────────────────→ GP-MOE
  • 試行数が多い( N200N \ge 200)場合に効果的
  • R2>0.7R^2 > 0.7 なら曲面の傾向は信頼できます

参考文献