在求解机器学习算法的模型参数即无约束优化问题时,梯度下降(Gradient Descent)是最常采用的方法之一另一种常用的方法是最小二乘法。这里就对梯度下降法做一个完整的总结
在微积分里面,对多元函数的参数求?偏导数把求得的各个参数的偏导数以向量的形式写出来,就是梯度比如函数f(x,y), 分别对x,y求偏导数,求得的梯度向量就是(?f/?x, ?f/?y)T,简称grad
那么这个梯度向量求出来有什么意义呢他的意义从几何意义上讲,就是函数变化增加最快的地方具体来说,对于函数f(x,y),在点(x0,y0)沿着梯度向量的方向就是(?f/?x0, ?f/?y0)T的方向是f(x,y)增加最快的地方。或者说沿着梯度向量的方向,更加容易找到函数的最大值反过来说,沿着梯度向量相反的方向也就是 -(?f/?x0, ?f/?y0)T的方向,梯度减少最快也就是更加容易找到函数嘚最小值。
在机器学习算法中在最小化损失函数时,可以通过梯度下降法来一步步的迭代求解得到最小化的损失函数,和模型参数值反过来,如果我们需要求解损失函数的最大值这时就需要用梯度上升和梯度下降法来迭代了。
梯度下降法和梯度上升和梯度下降法是可以互相转化的比如我们需要求解损失函数f(θ)的最小值,这时我们需要用梯度下降法来迭代求解但是实际上,我们鈳以反过来求解损失函数 -f(θ)的最大值这时梯度上升和梯度下降法就派上用场了。
在求解机器学习算法的模型参数即无约束优化问题时,梯度下降(Gradient Descent)是最常采用的方法之一另一种常用的方法是最小二乘法。这里就对梯度下降法做一个完整的总结
在微积分里面,对多元函数的参数求?偏导数把求得的各个参数的偏导数以向量的形式写出来,就是梯度比如函数f(x,y), 分别对x,y求偏导数,求得的梯度向量就是(?f/?x, ?f/?y)T,简称grad
那么这个梯度向量求出来有什么意义呢他的意义从几何意义上讲,就是函数变化增加最快的地方具体来说,对于函数f(x,y),在点(x0,y0)沿着梯度向量的方向就是(?f/?x0, ?f/?y0)T的方向是f(x,y)增加最快的地方。或者说沿着梯度向量的方向,更加容易找到函数的最大值反过来说,沿着梯度向量相反的方向也就是 -(?f/?x0, ?f/?y0)T的方向,梯度减少最快也就是更加容易找到函数嘚最小值。
在机器学习算法中在最小化损失函数时,可以通过梯度下降法来一步步的迭代求解得到最小化的损失函数,和模型参数值反过来,如果我们需要求解损失函数的最大值这时就需要用梯度上升和梯度下降法来迭代了。
梯度下降法和梯度上升和梯度下降法是可以互相转化的比如我们需要求解损失函数f(θ)的最小值,这时我们需要用梯度下降法来迭代求解但是实际上,我们鈳以反过来求解损失函数 -f(θ)的最大值这时梯度上升和梯度下降法就派上用场了。
c为常数), 该等高线在任意一点的斜率为??x?则切线方向为[2x,2y]?[x,?yc?y2?]T=0,故得等高线的切线方向与梯度方向垂直
f(x,y)的方向导数代表了函数在
(δ1?,δ2?)与梯度方向一致时函数增长速度最快。
版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。