最急降下法例題

"最急降下法"(Steepest Descent Method)是一種尋找函數極小值的方法,它通過疊代的方式逐步逼近極小值點。在數學優化中,這是一種一階導數信息的方法,它不需要知道函數的二階導數信息。

以下是一個關於最急降下法的例題和解釋:

假設我們有一個函數f(x),我們想要找到它的局部最小值。使用最急降下法,我們可以按照以下步驟進行:

  1. 選擇一個起始點x0。
  2. 計算梯度(導數)g(x) = df(x)/dx。
  3. 從x0開始,沿著梯度的相反方向移動一個步長α,得到新的點x1 = x0 - α * g(x0)。
  4. 重複步驟2和步驟3,直到梯度的范數小於某個給定的精度ε,即 ||g(x1)|| < ε。

例如,假設我們想要找到函數f(x) = x^2 - 4x + 5的極小值。我們可以這樣做:

  1. 選擇一個起始點,比如x0 = 0。
  2. 計算梯度g(x) = 2x。在x0 = 0處,g(0) = 0。
  3. 因為梯度為0,我們不需要沿著梯度的相反方向移動。
  4. 但是,如果我們假設我們從一個非零點開始,比如x0 = 1,那麼g(1) = 2,我們可以選擇一個步長α,比如α = 0.1。那麼我們得到x1 = 1 - 0.1 * 2 = 0.8。
  5. 重複這些步驟,直到梯度的范數小於某個給定的精度。

在這個例子中,函數f(x) = x^2 - 4x + 5的極小值點在x = 2,但是最急降下法不一定能保證找到全局最小值,它只能找到局部最小值。此外,選擇適當的步長α對於算法的效率至關重要。有時,人們會使用線性搜尋(line search)來確定最佳的步長大小。