2011-11-28 19 views
1

我正在看小插圖「Large-scale portfolio optimization with DEoptim」。小插曲應用遺傳算法來解決非凸優化問題。解密DEoptim包中的步長參數

我的問題是解釋參數'F'的步長。該文檔讀取:「F:步長從區間[0,2]。默認爲.8」。在基於梯度的體面方法的機器學習文獻中,步長指的是選擇向量在最大下降方向上被調整的量。大步驟意味着更快的收斂,但精度更低。

小插曲案例研究涉及組合優化。步長未被指定爲參數,因此始終使用.8的步長。然而,由於最優化是找出什麼權重最小化了一些投資組合目標,並且因爲權重必須總和爲1,所以似乎0.8的步驟(投資組合的80%)對於這個問題來說要大得多。 stepize的更好選擇可能是.01。

但是,我必須失去一些東西,因爲當我運行一個優化時,我可以看到在每一代中權重並沒有每次跳過.8。那麼「stepsize」的解釋是什麼?在投資組合優化的背景下,將此值設置爲諸如.01(1%)這樣的小值是否有意義?

回答

3

F是差分加權因子;文檔中的「步長」是一個很差的描述。我會改變這一點。

F用於衡量兩個人口成員之間的差異,然後再添加到第三個人口成員以創建新的人口成員。根據策略,它用於創建抖動或抖動。

例如,下面是經典的策略,創造一個新的羣體成員的公式:

newMember = oldPop[i,] + F*(oldPop[j,] - oldPop[k,]) 

其中ijk是隨機羣體的成員。