1.目標函數(objective function)或准則(criterion)
要最小化或最大化的函數
最小化時,我們也把它稱為代價函數(cost function)、損失函數(loss function)或誤差函數(error function)
一個上標 ∗ 表示最小化或最大化函數的 x 值。如我們記 x ∗ =argminf(x)
2.梯度下降(gradient descent)
將 x 往導數的反方向移動一小步來減小 f(x)
f(x − ϵsign(f ′ (x)))
f ′ (x) = 0 的點稱為臨界點(critical point)或駐點(stationary point)
一個局部極小點(local minimum)意味着這個點的 f(x) 小於所有鄰近點,因此不可能通過移動無窮小的步長來減小f(x)
一個局部極大點(local maximum)意味着這個點的 f(x) 大於所有鄰近點,因此不可能通過移動無窮小的步長來增大 f(x)
臨界點既不是最小點也不是最大點。這些點被稱為鞍點(saddle point)
使 f(x) 取得絕對的最小值(相對所有其他值)的點是全局最小點(global minimum)
最小化具有多維輸入的函數:f : R n → R。針對具有多維輸入的函數,我們需要用到偏導數(partial derivative)的概念
偏導數衡量點 x 處只有 x i增加時 f(x) 如何變化
梯度(gradient)是相對一個向量求導的導數:f 的導數是包含所有偏導數的向量,記為 ∇ x f(x)
梯度的第i個元素是 f 關於 x i 的偏導數。在多維情況下,臨界點是梯度中所有元素都為零的點
在 u(單位向量)方向的方向導數(directional derivative)是函數 f 在 u 方向的斜率
方向導數是函數 f(x + αu) 關於 α 的導數(在 α = 0 時取得)。使用鏈式法則,我們可以看到當 α = 0 時,∂/∂α f(x + αu) = u⊤ ∇ x f(x)
計算方向導數
其中 θ 是 u 與梯度的夾角,將 ∥u∥ 2 = 1 代入,並忽略與 u 無關的項,就能簡化得到 minucosθ。
這在 u 與梯度方向相反時取得最小。換句話說,梯度向量指向上坡,負梯度向量指向下坡。
我們在負梯度方向上移動可以減小 f。這被稱為最速下降法(method of steepest descent) 或梯度下降(gradient descent)
最速下降建議新的點為
其中 ϵ 為學習率(learning rate),是一個確定步長大小的正標。
3.Jacobian(Jacobian)矩陣
如果我們有一個函數:f : R m → R n ,f 的 Jacobian 矩陣 J ∈ R n×m 定義
4.Hessian(Hessian)矩陣
5.最優步長
當 f ′ (x) = 0 且 f ′′ (x) > 0 時,x 是一個局部極小點。同樣,當 f ′ (x) = 0 且 f ′′ (x) < 0 時,x 是一個局部極大點
當 f ′′ (x) = 0 時測試是不確定的。在這種情況下,x 可以是一個鞍點或平坦區域的一部分