梯度下降法复杂度计算与公式推导

如何梯度下降法的复杂度

  1. 通过自己的数据进行实际代码运行测试,看看时间性能如何。但是这样子不能直观看出类似于:quick sort(nlogn)这样的复杂度
  2. 通过公式进行复杂度评估

Gradient Descent Algorithm

  1. 初始化x0Rdx_0\in R^d 和步长 (step_size) ηt\eta_t>0
  2. for i = 1, 2, 3, …:
    xi+1x_{i+1}= xix_i - ηt\eta_t\nablaf(xix_i)

convergence Analysis of Grandient Descent

(梯度下降法的收敛分析)

1. 定理

       假设满足L- Lipschitz 条件(即是平滑函数i.e.LR等), 并且是凸函数, 设定x=argminf(x)x^* = argmin f(x)(即我们最后想得到的最优解), 步长ηt1L\eta_t\leq\frac{1}{L}(L 即是一个常数), 即满足:
                                                                             (1.1)f(xk)f(x)+x0x222ηKf(x_k)\leq f(x_*) + \frac{||x_0 - x_*||_2^2}{2\eta K}\tag{1.1}
       当我们迭代 k=Lx0x22εk = \frac{L||x_0 - x_*||_2^2}{\varepsilon} , 就能保证收敛到保证ε\varepsilon - approximation optional value x(ηt=1L)x(\eta_t = \frac{1}{L})
       其中xkx_k是程序第K次迭代的x的值,即在程序运行中我们希望我们的f(xk)f(x_k) 慢慢接近于f(x)f(x_*), 即 x0x222ηK\frac{||x_0 - x_*||_2^2}{2\eta K}越来越小, 此时判断GD执行K值收敛的ε\varepsilon即可知复杂度有多少。
即,将k=Lx0x22εk = \frac{L||x_0 - x_*||_2^2}{\varepsilon}ηt1L\eta_t\leq\frac{1}{L}带入(1.1):
x0x222ηtLx0x22ε=ε2ηtL=ε2\frac{||x_0 - x_*||_2^2}{2\eta_t \frac{L||x_0 - x_*||_2^2}{\varepsilon}} = \frac{\varepsilon}{2\eta_t L} = \frac{\varepsilon}{2}

(1.2)f(xk)f(x)+ε2=f(x)+O(ε)\therefore f(x_k) \leq f(x^*) + \frac{\varepsilon}{2} = f(x^*) + O(\varepsilon) \tag{1.2}

2. 公式求导

2.1 凸函数性质:
定义:若 f(x)f(x) 是凸函数(convexity)则任意的x,yRd,0λ1x,y\in R^d, 0\leq\lambda\leq1
(2.1)f(λx+(1λ)y)λf(x)+(1λ)f(x) f(\lambda x + (1-\lambda)y)\leq\lambda f(x) +(1-\lambda)f(x) \tag{2.1}
(2.2 . first order convexity)f(x)+f(x)(yx)f(y) f(x) + \nabla f(x)(y-x) \leq f(y) \tag{2.2 . first order convexity}

2.1 L- Lipschitz2条件以及定理(给定的第二个定理):
一个光滑函数(smooth function)f 满足 L- Lipschitz条件, 则对于任意x,yRd,x,y\in R^d, 即有
(Claim 1)f(x)f(y)Lxy||\nabla f(x) - \nabla f(y)|| \leq L|| x-y|| \tag{Claim 1}

证明Claim 1 , 举例linear regression, loss = 1nXmy2,Xm\frac{1}{n}||X_m-y||^2,X_m是矩阵形式
梯度下降法复杂度计算与公式推导
2.3 L- Lipschitz3条件以及定理(给定的第三个定理)
假设一个函数满足L-Lipschitz 条件, 并且是凸函数,对于任意的$x,y\in R^d, 我们有:
(2.3)f(y)f(x)+f(x)(yx)+L2yx2f(y)\leq f(x)+ \nabla f(x)(y-x) +\frac{L}{2} ||y-x||^2 \tag{2.3}

回顾积分性质:
已知: h(x):h(1)=h(0)+01h(τ)˙dτ h(x): h(1)= h(0) + \int_0^1\dot{h(\tau)}d\tau
定义: h(τ)=f(x+τ(yx))h(\tau)=f(x + \tau(y-x))
所以: h(1)=f(y),h(0)=f(x)h(1)=f(y), h(0)=f(x)
(2.4)f(y)=f(x)+01f(x+τ(yx))(yx)dτf(y)=f(x)+\int_0^1\nabla f(x+\tau(y-x))(y-x)d\tau \tag{2.4}

定理3 的证明:

梯度下降法复杂度计算与公式推导

根据上面推导的公式,证明定理1:

梯度下降法复杂度计算与公式推导

梯度下降法复杂度计算与公式推导

梯度下降法复杂度计算与公式推导

梯度下降法复杂度计算与公式推导

相关文章: