Hyperparameter Importance Across Datasets
Hyperparameter Importance Across Datasets(KDD2018 Research Track Papers)を読んでまとめました。
解釈間違い等ある時がありますので、その場合指摘いただけると助かります。
背景と概要
背景
- 機械学習の予測モデル開発において、自動的にハイパーパラメータを最適化する手法が使われている。
- hyperparameterの最適化には、以下のような手法が用いられている
- Random search
- Bayesian optimization
- evolutionary optimization
- meta-learning
- bandit-based method
- ただし、1つのデータセットだけの情報や直観のみに基づいたhyperparameterの調整を行うことにはリスクがあるため、複数のデータセットに基づいたhyperparameterの重要性を把握することが望ましい。
概要
- 本論文では、以下の2つを目指している
- 一般的にどのhyperparameterが重要なのか?
- そのhyperparamterはどのような値が良いのか?
- hyperparamter importanceを学習するためにfunctional-ANOVAを使用している
- 複数データセットの出力からカーネル密度推定を行い一般的なhyperparamterの傾向をみている
Hyperarameter importance
Functional ANOVA
- n個のhyperparameterを持ち、下記のdomainとconfiguration space(hyperparameterに対応するn次元の空間)を持つアルゴリズムAを考える
N:Aの全hyperparameterのセット
また、Aをインスタンス化したベクトルと、その部分インスタンスを下記のように表記する
Functional ANOVAでは上記で定義したインスタンスで以下の分散を計算する。
(今回、中の関数の詳細までは進みません)
functional ANOVAでは、 を計算することで各々のhyperparameterの相対的な分散から寄与度を測る事が出来る。
これがhyperparameter importanceとなり、分散が大きいと重要度が高く、小さいと重要度が低いといえる。
カーネル密度推定
- hyperparameterの重要性がわかった後は、どの値が良いのかを知りたい。
- 本論文では複数のデータセットの結果から一般的にどの値が良いか測るために、カーネル密度推定を行っている。
- 更にparameter importanceのトップn個(論文では10個)においてこの推定を行う事で計算量等を適切に抑えている。
- future workとして、別の推定方法も検討しているとのこと。
結果
各アルゴリズムの結果
SVM
Random Forest
- minimum samples per leafとmaximal number of featuresの分岐を決定するhyperparameterの重要度が高くなっている。
Adaboost
- max_depth,learning_rateの順になっている
カーネル密度推定
まとめ
- アルゴリズムのhyperparameter importanceを計算し、一般的な傾向を推定する事を行っている
- hyperparameter importanceの計算:functional-ANOVA
- 一般的な傾向の推定:カーネル密度推定
- 経験則的に効くと思われていたhyperparameterが一般的にも効きそうな結論だった。
- 個人的にはAdaboostのmax_depthの値を更に大きいところまで取った場合の結果が気になる。
参考文献
https://www.kdd.org/kdd2018/accepted-papers/view/hyperparameter-importance-across-datasets