Regularized Greedy Forest (RGF) のロス関数をカスタマイズする
Regularized greedy forest (RGF) in C++
RGF の公式実装のロス関数をカスタマイズするには、C++ のコードを直接書き換えることになる。とはいえそんなに難しくない。以下の方法がお手軽。
- src/comm/AzLoss.cpp を開く
- AzLoss::getLosses 関数に loss_type == AzLoss_Xtemp という場合分けを追加
- o._loss1 にロス関数の 1 階微分を代入する
- o.loss2 にロス関数の 2 階微分を代入する
- 使用時には loss に 'Xtemp' を指定する
getLoss の方には追加せずとも動いた。getLoss と getLosses とか、_loss1 と loss2 とか、命名が滅茶苦茶すぎてヤバい……。