阅读提示
梯度下降算法
- 引出案例
- 算法推导
- 数学实例
- 算法推导
引出案例
目标:现已在山顶,要下山。
路径:一条平坦,一条陡峭。
结果:都能实现下山结果,平坦的路所用时间更长,陡峭的用时短。(假定该人速度相同)
下山最快选最陡峭的,函数变化最快的方向就是函数的梯度。
算法推导
数学表达式
一元:(实质为函数的求导)
二元:
求解方法
-
首先设定一个较小的正数η,ε.
-
求当前位置处的各个偏导数
-
修改当前函数的参数值,公式如下:
-
如果参数变化量小于ε,退出;否则返回2
数学实例
此类问题一般都是从某点出发寻找极值问题
如图,若从A点出发寻找极值,则应在x1——x0之间寻找,但Y的值却是越来越小;若从B点出发寻找极值,则应在x2——x0之间寻找。由此可看出该算法搜索方向与函数值变化方向相反。
此方法是搜索极小值,搜寻方向为负方向,因此为梯度下降算法;相应的,也应该会存在“ 梯度上升”算法。
注:
使用梯度下降算法时要确定η和ε的值,每计算一次,Xm的值就会被更新一次,(公式参见“求解方法”一栏)此时应注意与ε大小比较。若小于ε,则可退出计算;反之,则继续循环计算Xm的值。