前言
在各种应用场景下我们经常会遇到一些求最优解的问题,在计算机中我们可以利用梯度下降法/上升法来求解局部最优解。
梯度下降:向函数上当前点对应梯度(或近似梯度)的反方向,按照规定步长进行迭代搜索,接近函数的局部极小值。
梯度上升:向函数上当前点对应梯度(或近似梯度)正方向,按照规定步长进行迭代搜索,接近函数的局部极大值。
在机器学习中梯度下降法被广泛用来最小化目标函数(求目标函数取最小值时所对应自变量的值)
正文
梯度
以三元函数f(x,y,z)为例,设其上某点P(x,y,z)可微,则其所对应的梯度为:
(∂f∂x,∂f∂y,∂f∂z)
梯度的意义:在该点处函数值增加最快的方向(反方向为函数值减少最快的方向)
算法描述
梯度下降法是基于上述梯度的意义对局部极小值进行迭代查找的方法。假设我们从 x0 开始寻找函数 F 的一个局部极小值,我们对于
xn+1=xn−γn∇F(x