エンジニアの秋庭です。
データ分析チームの論文輪読会にて、「Random Search for Hyper-Parameter Optimization」[1]を紹介しました。
こちらの論文では、機械学習のハイパーパラメータ探索手法として、Random Searchに注目し、Grid Searchとの比較を行っています。Random Search自体は、非常に簡単な手法ですが、Grid Seachと比較して、効率的にハイパーパラメータの探索を行うことができます。機械学習のハイパーパラメータには、性能に影響を与える重要なパラメータとあまり重要ではないパラメータがあります(論文中では、それぞれ、Important parameter、Unimportant parameterと呼んでいます)。Grid Searchは、格子状に値を試すので、各ハイパーパラメータについて、少数の試行しか行えません(下図参考)。また、下図では2次元空間の各次元に対して、3箇所の探索を行っているので、3^2=9個のハイパーパラメータについて計算を行いますが、高次元空間では計算量が爆発的に増加してしまいます。いわゆる次元の呪いです。
論文中では、Random Searchの有効性を実験的に示すとともに、なぜGrid Searchよりも効率良く探索できるのかを説明しています。
実際の業務では、Grid Seachを使うことが多かったのですが、高次元空間でハイパーパラメータを探索する場合や、データセットやモデルに対する前提知識があまりない場合には、Random Searchを利用したほうが、効率的に探索できると感じました。
[1]James Bergstra and Yoshua Bengio. Random search for hyper-parameter optimization. Journal of Machine Learning Research, 13:281–305, 2012.