0
有沒有辦法通過梯度下降來執行scikit-learn中的超參數調整?雖然超參數梯度的公式可能難以計算,但通過評估超參數空間中的兩個接近點來計算超參數梯度的數值計算應該非常容易。這種方法是否有現有的實施?爲什麼這個方法或者不是一個好主意?sklearn:通過漸變下降調整超參數?
有沒有辦法通過梯度下降來執行scikit-learn中的超參數調整?雖然超參數梯度的公式可能難以計算,但通過評估超參數空間中的兩個接近點來計算超參數梯度的數值計算應該非常容易。這種方法是否有現有的實施?爲什麼這個方法或者不是一個好主意?sklearn:通過漸變下降調整超參數?
梯度的計算是最少的問題。至少在先進的automatic differentiation軟件的時代。 (對所有sklearn分類器來說,實現這一點當然並不容易)
雖然有些人使用這種想法的作品,但他們只是針對一些特定的,明確的問題(例如SVM調整)。此外,可能有很多假設,因爲:
爲什麼這不是一個好主意?
我想補充,你的一般問題是最壞的一種優化問題中的一個可以考慮的,因爲它是:
最後一部分的原因是,爲什麼在sklearn所提供的方法是簡單的:
np.logspace
分析更大的數字)雖然有很多貝葉斯方法,包括像hyperopt和spearmint這樣的可用python軟件,但很多人認爲隨機搜索是最好的方法(這可能令人驚訝但強調所提到的問題)。
非常好的答案。你能否推薦參考文件進一步解釋你所做的評論? – Archie