机器学习笔记之优化算法——梯度下降法铺垫:总体介绍
引言
从本节开始,将介绍梯度下降法 ( Gradient Descent,GD ) (\text{Gradient Descent,GD}) (Gradient Descent,GD)。
回顾:线搜索方法
线搜索方法作为一种常见优化问题的策略,该方法的特点是:其迭代过程中,将数值解的方向和步长分开执行。对应数学符号表达如下:
其中
P k \mathcal P_k Pk是一个向量,描述更新方向;
α k \alpha_k αk是一个
> 0 >0 >0的实数,表示步长。
由于我们更关注向量
P k \mathcal P_k Pk的方向性,因而通常将其表示为
单位向量,即
∣ ∣ P k ∣ ∣ = 1 ||\mathcal P_k|| = 1 ∣∣Pk∣∣=1。
x k + 1 = x k + α k ⋅ P k x_{k+1} = x_k + \alpha_k \cdot \mathcal P_k xk+1=xk+αk⋅Pk
线搜索方法的方向 P k \mathcal P_k Pk
在线搜索方法——方向角度中介绍过:关于目标函数 f ( ⋅ ) f(\cdot) f(⋅)的终极目标: min X ∈ R n f ( X ) \mathop{\min}\limits_{\mathcal X \in \mathbb R^n} f(\mathcal X) X∈Rnminf(X),如果数值解序列 { x k } k = 0 ∞ \{x_k\}_{k=0}^{\infty} {
xk}k=0∞对应的目标函数结果 { f ( x k ) } k = 0 ∞ \{f(x_k)\}_{k=0}^{\infty} {
f(xk)}k=0∞服从严格的单调性:
f ( x k + 1 ) < f ( x k ) f(x_{k+1}) < f(x_k) f(xk+1)<f(xk)
那么必然有:
其中
[ ∇ f ( x k ) ] [\nabla f(x_k)] [∇f(xk)]表示数值解
x k x_k xk对应目标函数的
梯度向量,详细推导过程见上方链接。
- P k \mathcal P_k Pk
化为单位向量产生的常数系数合并到
α k \alpha_k αk中。
f ( x k + 1 ) − f ( x k ) ≈ [ ∇ f ( x k ) ] T P k ⋅ α k < 0 f(x_{k+1}) - f(x_k) \approx [\nabla f(x_k)]^T \mathcal P_k \cdot \alpha_k < 0 f(xk+1)−f(xk)≈[∇f(xk)]TPk⋅αk<0
从而将满足该条件的 P k \mathcal P_k Pk称作下降方向 ( Descent Direction ) (\text{Descent Direction}) (Descent Direction)。将上式展开有:
其中
θ k \theta_k θk表示向量
∇ f ( x k ) \nabla f(x_k) ∇f(xk)与向量
P k \mathcal P_k Pk之间的夹角。
在仅考虑方向角度对
f ( x k + 1 ) − f ( x k ) f(x_{k+1}) - f(x_k) f(xk+1)−f(xk)影响的情况下,将
α k \alpha_k αk忽略,不改变不等号方向。
∣ ∣ ∇ f ( x k ) ∣ ∣ ⋅ ∣ ∣ P k ∣ ∣ ⋅ cos θ k < 0 ||\nabla f(x_k)|| \cdot ||\mathcal P_k|| \cdot \cos \theta_k <0 ∣∣∇f(xk)∣∣