Random Forest
概要
Random Forest サロゲートは
LightGBM(boosting_type=rf)を使った回帰木アンサンブルで応答曲面を予測します。
Ridge では対応できない非線形、不連続、ノイジーな目的関数に有効です。
決定木は入力空間を閾値で区切って予測を返すため、応答が途中で不連続に変わる場合でも、その段差をそのまま表現できます。
LightGBM Random Forest モード
LightGBM の RF
モード(boosting_type=rf)は、各木を異なるブートストラップサンプルで学習し、予測を平均します。
木ごとに違うデータと特徴量を見せることで、1
本の木が拾ってしまうノイズが平均で打ち消され、外れ値の影響を受けにくくなります。
デフォルト設定:
| パラメータ | 値 | 説明 |
|---|---|---|
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 訓練行を一括バッチ予測します。 グリッド点数と訓練行数の積だけ予測が走るので、N が大きいとグリッド予測にも時間がかかります。
R² の見方
R² は訓練データ上の MSE から計算されます(過学習により楽観的になる場合があります)。 訓練に使ったデータで測っているため、R² が高くても、訓練点の少ない領域まで予測が正しいとは限りません。
| R² | 対応 |
|---|---|
| > 0.7 | 曲面の傾向は概ね信頼できます |
| < 0.5 | GP-FITC への切り替えを検討 |
計算量と性能目標
| N(試行数) | 学習時間の目安 | グリッド予測(50×50) |
|---|---|---|
| 50〜200 | < 100 ms | < 50 ms |
| 1,000 | < 500 ms | < 200 ms |
| 5,000 | < 2,000 ms | < 500 ms |
目標: 2,000 ms 以内(UI のローディングスピナーで待機を許容)。
特性と限界
強み:
- 非線形・不連続な目的関数に対応可能
- 外れ値への頑健性が高い(アンサンブル平均により影響が希薄化)
- 特徴量スケーリング不要(決定木は閾値比較のみ)
- LightGBM のヒストグラムベース分割により大 N でも高速
弱み:
- 訓練データの外挿が苦手(データ範囲外では定数値になります)
- Gaussian Process と比べて予測の滑らかさが劣る(階段状の曲面になりやすいです)
- 計算コストは Ridge より大きいです
とくに外挿の弱さは、応答曲面を読むときに効いてきます。 決定木は訓練データの範囲外に対して端の葉の値を返すため、データがない領域では曲面が平らになり、本当に平らなのかデータがないだけなのかを区別できません。 たとえば探索が一部の範囲に集中した Study では、探索されていない側の平らな面をそのまま傾向として読まないよう注意してください。
使用場面の目安
目的関数の形が...
線形に近い ──────────────────────────────────→ Ridge(高速)
非線形・不連続・外れ値あり・ノイジー ────────→ Random Forest(LightGBM RF バックエンド)
滑らかな非線形(デフォルト) ─────────────────→ GP-FITC
不連続・多領域の応答 ────────────────────────→ GP-MOE- 試行数が多い($N \ge 200$)場合に効果的
- なら曲面の傾向は信頼できます
参考文献
- Breiman, L. (2001). Random Forests. Machine Learning, 45(1), 5–32. https://doi.org/10.1023/A:1010933404324
- Ke, G. et al. (2017). LightGBM: A Highly Efficient Gradient Boosting Decision Tree. NeurIPS 30. https://proceedings.neurips.cc/paper_files/paper/2017/hash/6449f44a102fde848669bdd9eb6b76fa-Abstract.html