問題:爲什麼沿着函數梯度的方向蹦,函數值一定會往增大的方向走或者走向收斂?
假設
設函數爲f(x),f(x)的梯度爲f′(x),函數上有一點爲x0,相應的函數值和梯度值爲f(x0)、f′(x0)。
分類討論
f′(x)無非三種狀態:負數、0、正數。
- 當f′(x0)<0時,f(x)遞減,所以 x0>x0+f′(x0),所以 f(x0)<f(x0+f′(x0));
- 當 f′(x0)=0 時,x0=x0+f′(x0),所以會一直原地踏步,也就是所謂的收斂了;
- 當f′(x0)>0時,f(x)遞增,所以 x0<x0+f′(x0),所以 f(x0)<f(x0+f′(x0));
應用
- 尋求f(x)的極小值時,應向梯度的反方向尋找,即 xn+1=xn−αf′(xn)。
- 尋求f(x)的極大值時,應向梯度的方向尋找,即 xn+1=xn+αf′(xn)。
- 判斷找到極值的條件即f′(x0)=0。
一般尋找的時候會設個步長α,也稱學習率。就是每次邁的步子大小,步子邁大了,會來回震盪;邁小了,收斂速度會慢。