区别
函数上当前点对应的梯度方向是增大最快的方向,反方向是减小最快的方向
梯度上升
要计算的是函数的极大值,如最大化似然函数,加上学习率 * 梯度
θ ≔ θ + α * ∇𝜃𝐿(𝜃)
梯度下降
要计算的是函数的极小值,如最小化损失函数,减去学习率 * 梯度
θ ≔ θ - α * ∇𝜃𝐿(𝜃)
概念混淆使用
在某些地方可能说是梯度下降,但是用的却是加法,有两种解释:
- 减号代入了梯度中
- 梯度下降和梯度上升本质上是一样的,将梯度上升说成了梯度下降
反之亦然
使用条件
某一点上梯度存在的必要条件:函数h(x)在该点可微且存在定义。
可微:设函数y= f(x),若自变量在点x的改变量Δx与函数相应的改变量Δy有关系Δy=A×Δx+ο(Δx),其中A与Δx无关,则称函数f(x)在点x可微,并称AΔx为函数f(x)在点x的微分,记作dy,即dy=A×Δx,当x= x0时,则记作dy∣x=x0。
可微的必要条件:
若函数在某点可微分,则函数在该点必连续;
若二元函数在某点可微分,则该函数在该点对x和y的偏导数必存在
可微的充分条件:
若函数对x和y的偏导数在这点的某一邻域内都存在,且均在这点连续,则该函数在这点可微。
缺点
- 靠近极小(大)值时速度减慢;
- 直线搜索可能会产生一些问题;
- 可能会之字形下降(上升)。
参考:
https://baike.baidu.com/item/%E5%8F%AF%E5%BE%AE
http://www.cnblogs.com/hitwhhw09/p/4715030.html
https://zh.wikipedia.org/wiki/%E6%A2%AF%E5%BA%A6%E4%B8%8B%E9%99%8D%E6%B3%95