線搜索
最優化問題中,線搜索 是一種尋找目標函數 的局部最小值 的近似方法。它是最基礎的迭代近似方法之一,另一種是置信域方法。
線搜索近似首先找到一個使目標函數 下降的方向,然後計算 應該沿着這個方向移動的步長。下降方向可以通過多種方法計算,比如梯度下降法,牛頓法和擬牛頓法。計算出的步長不一定是精確的。
應用舉例
以一個梯度法作為例子,其中第四步中使用到了線搜索。
- 令迭代計數器 ,為最小值做一個初始估計
- 重複以下步驟:
- 計算下降方向
- 選擇 以在 上粗略地最小化
- 更新 , 以及
- 直到 小於容忍度。
在第四步的線搜索中算法可以通過解方程 來精確地,或者只是通過尋找一個 的充分下降來粗略地最小化 。前者的一個例子是共軛梯度法。後者被稱作不精確線搜索,有很多種實現方法,比如回溯線搜索或者是使用沃爾夫條件。
與其它的最優化方法類似,線搜索也可以跟模擬退火結合以越過一些局部最小值。
算法
直接搜索方法
這種方法裡,必須先把最小值括在一個範圍內,也就是說這個算法必須能夠找到 和 使得要找的最小值在它們之間。接着通過計算這個區間內部的兩個點 和 ,把區間分成幾個子區間,拋棄掉外面兩個點中與 和 中函數值更小的那個點不相鄰的那一個。接下來的每一步中,只需要計算 額外的一個內部的點。在各種劃分區間的方法中,[1] 黃金分割法是一種特別簡單而高效的方法,它的劃分比例在搜索進行中始終保持不變。
- where
參閱
參考
- ^ Box, M. J.; Davies, D.; Swann, W. H. Non-Linear optimisation Techniques. Oliver & Boyd. 1969.