論文筆記系列-Multi-Fidelity Automatic Hyper-Parameter Tuning via Transfer Series Expansion


論文: 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)\)呢?

本文為了求得\(R(X)\)提出了Transfer Series Expansion (TSE),該方法就是通過學習一系列的基預測器,並將他們線性組合得到了最終的預測器,預測結果即為\(R(X)\)。公式如下:

\[\Psi(x)=\sum_{i=1}^kw_i\psi_i(x)+b \tag{1} \]

由公式(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算法步驟了,算法如下:

未完待續...

image.png

image.png



MARSGGBO原創





2018-8-5




免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM