[英]How to (robustly) find a local minimum on a 2D array in python?
要獲取二維數組中最小值的索引,我建議如下:
find_smallest = lambda arr: np.unravel_index(np.argmin(arr),arr.shape)
也許您可以嘗試scipy.optimize
中的一些求解器(例如Nelder-Mead )。 這些將尋找局部最小值。
然后,為了獲得您正在尋找的最小值,您可以嘗試從不同的隨機點啟動多個優化,並丟棄最終接近圖像邊界的解決方案。 也就是說,假設您的最小值在遠離邊界的某個地方。 這是一種丑陋的方法,可能效率不高,但我有點希望它可以工作。 此外,您可能必須調整參數。
否則, 漸變function 可能會帶來一些魔力。 我想你必須尋找一些周圍都有正導數的點。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.