在優化問題中,如何有效尋找函數的局部最小值一直是一個備受關注的課題。而一維線搜尋技術作為解決此問題的基本迭代方法,無疑成為了優化領域中的一個秘密武器。這種方法不僅適用於簡單的單變量情況,也能被擴展到多變量的複雜情境中,幫助研究者和工程師們找到更合適的解決方案。
一維線搜尋首先會找出一個下降方向,然後計算出步長,以決定在該方向上移動的距離。
首先,讓我們了解一維線搜尋的基本概念。假設我們有一個一維的函數 f,且它是单峰的,這意味著在某個區間 [a, z] 中,僅包含一個局部最小值 x*。在這樣的情況下,函數 f 在 [a, x*] 之間是嚴格遞減的,而在 [x*, z] 之間則是嚴格遞增的。
為了找到這個最小點,可以採取幾種不同的方法,其中包括零階方法和一階方法。零階方法不利用導數,而僅僅依賴函數的評估。其中,三分搜尋法被廣泛使用。此法通過選擇兩個點 b 和 c,藉由比較 f(b) 與 f(c) 的大小,逐步縮小搜尋範圍。若 f(b) ≤ f(c),那麼最小值必定在 [a, c] 之間;反之,則在 [b, z] 之中。
這種逐步縮小的方式,雖然每一次縮小約為 1/2,但需要進行兩次函數評估,因此收斂速度是線性的,收斂率約為 0.71。若選取 b、c 使得區間 a、b、c、z 的長度相等,則搜尋區間在每次迭代中縮小 2/3,收斂率將提升為約 0.82。
斐波那契搜尋和黃金分割搜尋同樣是零階搜尋法的變體,但都僅需要一個函數評估,因而收斂效率更高,收斂率均為約 0.618,這在零階方法中是最優的。
進一步說明,一階方法假定函數 f 是連續可微的,這意味著我們不僅可以評估函數的值,還可以計算出其導數。譬如,二分法就是一種常見的搜尋方式。在每次迭代中,如果我們能找到區間中點 c,藉由檢測導數 f'(c) 的值,我們便可以確定最小值的位置。
然而,若要求達到超線性收斂,我們則需要採用曲線擬合方法。這些方法將已知的函數值用多項式來擬合,然後求出擬合函數的最小值作為新的工作點。不得不提到牛頓法,該方法使用一階和二階導數,當初始點接近於一個非退化的局部最小值時,會有二次收斂。
曲線擬合方法具有超線性收斂特性,當初始點接近於局部最小值時,這使得它們在許多應用場景中具有強大的適用性。
在涉及多維的情況下,儘管具體的計算過程變得更加複雜,但一維線搜尋依舊可在多維的存在下進行。它首先找出一個下降方向,然後確定步長以進行有效的優化。通常,這樣的模型可以與其他方法如模擬退火相結合,以克服陷入局部極小值的風險。
透過這些方法,優化能夠達到更高的效能,也能夠幫助我們更好地理解數學模型背後的機制。對於尋找最佳解的渴望,無論是科研還是商業應用,一維線搜尋都展示了其不可或缺的價值。
你是否曾經想過,未來會有什麼其他創新方式來優化現有的線搜尋技術呢?