Directional Derivative and Gradient
方向导数,描述函数沿指定方向的变化率。若函数f(x,y)在点P0(x0,y0)处可微,则函数在该点沿任一方向l的方向导数存在,且有
∂l∂f∣∣∣(x0,y0)=fx(x0,y0)cosα+fy(x0,y0)cosβ
其中cosα和cosβ是方向l的方向余弦。
Differentiable and Partial Derivatives
若函数z=f(x,y)在点(x,y)的某邻域内有定义,函数在点(x,y)处的全增量Δz=f(x+Δx,y+Δy)−f(x,y),可表示为Δz=AΔx+BΔy+o(ρ),ρ=(Δx)2+(Δy)2
其中A、B不依赖于Δx、Δy,且仅与x、y有关,则称函数z=f(x,y)在(x,y)处可微,全微分dz=AΔx+BΔy。
必要条件
若函数z=f(x,y)在点(x,y)处可微分,则函数z=f(x,y)在点(x,y)的偏导数∂x∂z、∂y∂z必定存在,此时全微分
dz=∂x∂zΔx+∂y∂zΔyy⟺dz=∂x∂zdx+∂y∂zdy
充分条件
若函数z=f(x,y)的偏导数∂x∂z、∂y∂z在点(x,y)处连续,则函数z=f(x,y)在点(x,y)处可微。
综上所述:可微 ⟹ 偏导存在 偏导存在且连续 ⟹ 可微.
Directional Derivative
若f(x,y)在点P0(x0,y0)处可微,则
f(x0+Δx,y0+Δy)−f(x0,y0)=fx(x0,y0)Δx+fy(x0,y0)Δy+o((Δx)2+(Δy)2)
且
Δx=tcosα, Δy=tcosβ, Δx)2+(Δy)2=t
因此方向导数
t→0+limtfx(x0,y0)tcosα+fy(x0,y0)tcosβ=fx(x0,y0)cosα+fy(x0,y0)cosβ
例题
求f(x,y,z)=xy+yz+zx在点(1,1,2)沿方向l的方向导数,其中l的方向角分别为60∘、45∘、60∘。
解:与l同向的单位向量el=(21,22,21),因为函数可微,故
fx(1,1,2)=3,fy(1,1,2)=3,fz(1,1,2)=2
因此
∂l∂f∣∣∣(1,1,2)=3⋅21+3⋅22+2⋅21=21(5+32)
Gradient
对于二元函数,设函数f(x,y)在平面区域D内具有一阶连续偏导,则对于每一点P0(x0,y0)∈D,定义向量
fx(x0,y0)i+fy(x0,y0)j
称为函数f(x,y)在点P0(x0,y0)处的梯度,记作
gradf(x0,y0)或∇f(x0,y0)
Relationship of Directional Derivative and Gradient
若函数f(x,y)在点P0(x0,y0)处可微分,与方向l同方向的单位向量el=(cosα,cosβ),则
∂l∂f∣∣∣(x0,y0)=fx(x0,y0)cosα+fy(x0,y0)cosβ=gradf(x0,y0)⋅el=∣gradf(x0,y0)∣⋅cosθ
式中,θ为梯度与方向l的夹角. θ不同值,函数变化情况:
- θ=0,方向l与梯度方向同向,函数f(x,y)增长最快;
- θ=π,方向l与梯度方向相反,函数f(x,y)减少最快;
- θ=π/2,方向l与梯度方向正交,函数f(x,y)变化率为0;
Gradient Descent
梯度下降是利用损失函数的负梯度方向更新参数,使目标函数(均方误差损失函数)达到极小值
L=2n1n∑(y^−(wwwxxx+b))2
Gradient Decent and Taylor Series
泰拉展开式
f(x)=k=0∑∞k!h(k)(x0)(x−x0)k=h(x0)+h′(x0)(x−x0)+2!h′′(x0)(x−x0)2+⋯≈h(x0)+h′(x0)(x−x0)
若L(θθθ)包含两个参数,将L(θθθ)在θθθt=(a,b)处一阶展开
L(θθθ)≈L(a,b)+∂θ1∂L(a,b)(θ1−a)+∂θ2∂L(a,b)(θ2−b)
令Δθ1=(θ1−a), Δθ2=(θ2−b),则
θθθminL(θθθ)⟺min[(Δθ1,Δθ2)⋅(∂θ1∂L(a,b),∂θ2∂L(a,b))]
两向量夹角180°时内积最小,最优解满足
(Δθ1,Δθ2)=−η(∂θ1∂L(a,b),∂θ2∂L(a,b))⟹[θ1θ2]=[ab]−η⎣⎢⎡∂θ1∂L(a,b)∂θ2∂L(a,b)⎦⎥⎤
Negative Gradient
函数f(x)在点x处沿方向d的变化率可用方向导数表示,方向导数等于梯度与方向的内积,即
Df(xxx;ddd)=∇f(xxx)Tddd
非线性规划求解最速下降方向,即
min∇f(xxx)Tddds.t. ∣∣ddd∣∣≤1
由Schwartz不等式,有
∣∣∇f(xxx)Tddd∣∣≤∣∣∇f(xxx)∣∣∣ddd∣∣≤∣∣∇f(xxx)∣∣
故
∇f(xxx)Tddd≥−∣∣∇f(xxx)∣∣,当前仅当 ddd=−∣∣∇f(xxx)∣∣∇f(xxx)时等式成立
即负梯度方向为最速下降方向。
Batch Gradient Descent
每次迭代使用所有样本更新参数,即
wwwt+1=wwwt−η∇Lt,∇Lt=n1n∑(y^i−(wwwtxxxi+b))xxxi
优点: 可得到全局最优解,可并行计算,凸优化时可获得全局最优解;
缺点: 训练时间长;
Stochastic Gradient Descent, SGD
随机梯度下降,每次迭代随机选取一个样本更新参数,即
wwwt+1=wwwt−η∇Lt,其中∇Lt=21(y^i−(wwwtxxxi+b))xxxi
优点: 训练速度快;
缺点: 准确度下降(盲目搜索解空间),可能只能得到局部最优解,且无法并行计算;
Adaptive Gradient Descent, Adagrad
自适应梯度下降,某参数的理想学习率正比於其一次微分、反比于其二次微分,即对于任一参数有
wwwt+1=wwwt−σσσt+ϵηtgggt,ηt=t+1η,σσσt=t+11i=0∑tgggi2,gggt=∂www∂L
其中,σt为一次微分的平方差(避免分母为0),在不增加额外计算量时预估二次微分.
优点: 动态调整学习率,不同参数具有不同的学习率,适用于稀疏数据集(自然语言处理和计算机视觉).
缺点: 随着迭代次数增加时,分母增大,梯度趋近于0,训练会提前结束.
Momentum
SGD方法参数更新方向依赖于当前batch计算出的梯度,无法跳出局部最优.
动量法借用物理动量思想,模拟物体运动惯性,即更新参数时依赖于当前更新方向和梯度方向.
wwwt+1=wwwt−vvvt,vvvt=γvvvt−1+αgggt,vvv0=000
物理解释:γ可视为空气阻力,我们把一个球推下山,球在下坡时积聚动量,若动量方向与梯度方向一致,则在途中变得越来越快;若球的方向发生变化,则动量会衰减,速度变慢或方向改变.
Root Mean Square Propagation, RMSprop
均方根传播,解决Adagrad梯度下降过快和Momentum梯度摆动幅度大的问题
wwwt+1=wwwt−σσσt+ϵηgggt,σσσt=ασσσt−1+(1−α)gggt2
α正比于当前梯度所占更新权重的比重.
Adaptive Moment Estimation, Adam
自适应矩估计,指数移动均值和平方梯度分别为
mmmt+1=αmmmt+(1−α)gggt,vvvt+1=βvvvt+(1−β)gggt2
偏差修正
m^m^m^t=1−αmmmt,v^v^v^t=1−βvvvt
参数更新公式
wwwt+1=wwwt−v^v^v^t+ϵηm^m^m^t