2012-12-25 77 views
0

我試圖最小化經驗人類數據和來自6參數認知模型的模擬數據之間的損失函數。該模型非常嘈雜。請注意,該模型在PYTHON中編程。使用單純形和遺傳算法最小化非常嘈雜的6參數函數-python language

標準方法是使用Simplex搜索。但是,Simplex非常依賴初始猜測,捕獲局部最小值的風險很高。所以我有兩個問題:

1)我想知道遺傳算法是否不能用於首先搜索全局最小值的近似位置,並將結果用作單純形搜索的起點。如果這是一個好主意,是否有人知道在Python中適當的遺傳算法的實現?

2)我應該使用哪種反射,展開和收縮常數用於單形搜索?

任何幫助將不勝感激。

乾杯, 墊

回答

3

因爲你的函數很嘈雜,有幾個方面,你是開放的嘗試進化算法,我會建議你實際上是由協方差矩陣的自適應策略取代你的單純的優化過程。

該算法被黑盒優化社區認爲是50維下複雜問題最有效的方法之一。它的作者詳細描述:here

作者在Python here中提供了其算法的實現。進化算法框架DEAP還提供了CMA-ES的Python實現和應用程序的不同示例,我發現它更易於使用(免責聲明,我是DEAP的主要開發人員之一)。