导语
在做模型的时候发现调参尤其是调Hyper-parameter真是惆怅T T……像Logistic Regression、SVM这类参数少的还能凭感觉手动调调,遇上Random Forest、AdaBoost这些参数多的咬着牙也能调出好结果,说到神经网络,那就真是无语泪先流了……是时候考虑如何才能高效调参了(握拳)!
1. Grid Search
顾名思义,Grid Search将所有参数划分成网格,网格中任意一个点所代表的参数组合都有可能最优参数搭配。
Grid Search一个明显的优势在于它能完全遍历(brute-force search method)所有用户所指定的参数搭配,但也因此引发了它最大的缺点:效率低,因此也无法普适地有效解决Hyper-parameter调参问题。
Flowchart of general search algorithm for two parameters Source: Parameter Tuning Using Gaussian Processes (Jinjin Ma, The university of Waikato, 2012)The number of grid points increases exponentially with the number of decision variables, which makes it computationally very costly.
Source: Parameter Tuning Using Gaussian Processes (Jinjin Ma, The university of Waikato, 2012)
2. Randomized Search
Randomized Search为模型随机选取参数(Stochastic Search Process),选取用户指定次数后,从中选择效果最好的参数搭配。其中选取的参数点来源于通过网格划分所得到的参数点(划分过程与Grid Search同)。事实上,对于很多数据集和一些常用的算法,Random Search都表现不俗。
Grid Search vs. Randomized Search Source: Random Search for Hyper-Parameter Optimization (James Bergstra & Yoshua Bengio, 2012)
3. Gaussian Process Optimization
关于利用高斯过程调参,一个不得不提到的概念就是Expected Improvement。
The basic idea underlying EI is to estimate the improvement of possible candidate points over the current best value and to sample at the particular point next where the expected improvement is maximum.