論文: Multi-Fidelity Automatic Hyper-Parameter Tuning via Transfer Series Expansion算法
咱們都知道實現AutoML的基本思路是不斷選取不一樣的超參數組成一個網絡結構,而後使用這個網絡結構在整個數據集上進行評估 (假設評估值爲$f_H(X)=\mathcal{L}(δ,D^{train},D^{valid})$,X表示某一組超參數) ,最後選擇出評估性能最好的網絡參數。數組
可是基於full dataset進行評估cost太大,因此很天然地想到基於一部分數據集進行評估,假設此時的評估結果是$f_L(X)=\mathcal{L}(δ,D^{sub}{r_L},D^{valid})$,其中$D^{sub}{rL}$表示從訓練集中以$r_L$的比例抽取數據。可是這樣又存在另一個問題,那就是基於一部分數據集進行評估獲得的結果每每是不許確的,那怎麼辦呢?下面進行一波分析:網絡
令$R(X)=f_H(X)-f_L(X)$,用來衡量$f_H$與$f_L$之間的殘差(residual)。因此若是咱們可以獲得$R(X)$,那麼咱們就可以用$R(X)+f_L(X)$來代替須要花費大量算力的$f_H(X)$,那麼怎麼獲得$R(X)$呢?dom
本文爲了求得$R(X)$提出了Transfer Series Expansion (TSE),該方法就是經過學習一系列的基預測器,並將他們線性組合獲得了最終的預測器,預測結果即爲$R(X)$。公式以下: $$\Psi(x)=\sum_{i=1}^kw_i\psi_i(x)+b \tag{1}$$ide
由公式(1)能夠知道咱們須要構造出$k$個基預測器,換句話說咱們須要k個不一樣的數據集,數據集能夠表示爲$D^{predictor}={(x_1,y_1),...,(x_m,y_m)}$,其中$y_i=R(x_i)$。很顯然爲了獲得$y_i$仍是得花費很多代價。因此做者提出了一個折中的辦法就是令$y_i=R(x_i)=f_M(x_i)-f_L(x_i)$,其中$f_M$表示介於$f_L$和$f_H$之間的評估,也就是說以$r_M(0<r_L<r_M<<1)$的比例從訓練集中抽取出數據進行模型的評估。(文中並無詳細介紹如何構造基預測器,只是說使用Random Forest Regressor,因此這裏再也不對基預測器如何構造進行說明。)。性能
因此用來構建k個基預測器的數據集對即爲${(D^{sub1}{r_L},D^{sub1}{r_M}),...,(D^{subk}{r_L},D^{subk}{r_M})}$,注意$(D^{sub1}{r_L},D^{sub1}{r_M})$轉變成一組用於生成基預測器的數據集$D^{predictor}$。除此之外其實還須要構造${(D^{sub}{r_L},D^{train})}$用於最後的迴歸問題。因此實際上隨機初始化$k$個$D^{sub}{r_M}$和$k+1$個$D^{sub}_{r_L}$。學習
好了如今假設基預測器都構建好了,那麼就能夠進入正式的TSE算法步驟了,算法以下:spa
未完待續...rest
<b style="color:tomato;"></b>get
<footer style="color:white;;background-color:rgb(24,24,24);padding:10px;border-radius:10px;"><br> <h3 style="text-align:center;color:tomato;font-size:16px;" id="autoid-2-0-0"><br> <b>MARSGGBO</b><b style="color:white;"><span style="font-size:25px;">♥</span>原創</b><br> <br><br> <br><br> <b style="color:white;"><br> 2018-8-5<p></p> </b><p><b style="color:white;"></b><br> </p></h3><br> </footer>