我正在開發基於訓練數據對圖像進行分類的機器學習算法。在「黑匣子」系統中尋找最佳參數
在圖像預處理階段,我可以修改幾個參數來影響我提供算法的數據(例如,我可以在提取SURF特徵時更改Hessian閾值)。因此,流動迄今爲止的樣子:
[參數1,參數2,參數3 ...] => [黑匣子] =>精度%
我的問題是:有這麼多的參數在我手上,怎麼我是否可以系統地選擇能夠給出優化結果/準確度的值?一個天真的方法是運行我嵌套for循環(假設我的參數),只是遍歷所有參數組合,但如果它需要5分鐘來計算我的「黑匣子」系統的準確性,這將需要很長很長的時間。
這就是說,有沒有任何算法或技術可以在黑匣子系統中搜索最佳參數?我正在考慮參加離散優化課程,但我不確定這是否是我最好的時間。
謝謝你的時間和幫助!
編輯(回答評論): 我有5-8個參數。每個參數都有其自己的範圍。一個參數可以是0-1000(整數),而另一個可以是0-1(實數)。沒有什麼會阻止我從多線程黑盒評估。
另外,黑盒子的某些部分對它們有一定的隨機性。例如,一個階段是使用k均值聚類。每個黑匣子評估,集羣中心都可能發生變化。我多次運行k-means(希望)避免局部最優。另外,爲了進一步減少隨機性和異常值,我多次評估黑匣子並找到中值精度。
它們有多少個參數以及它們的值範圍?也可以多線程處理你的黑匣子評估,例如與(雲)計算羣集? –
感謝您的問題!我用答案修改了原始問題。 – trianta2