一篇文章讲清楚:梯度下降算法 📅 发布时间:2026/8/30 23:43:05 👁 浏览次数: 通过这篇文章我们需要掌握梯度下降算法的思想知道梯度下降算法的分类知道正规方程和梯度下降算法的特点。一、梯度下降法–梯度下降和梯度1.什么是梯度下降法顾名思义沿着梯度下降的方向求解极小值举个例子坡度最陡下山法梯度下降过程就和下山场景类似可微分的损失函数代表着一座山寻找的函数的最小值也就是山底。2.什么是梯度gradientgrad单变量函数中梯度就是某一点切线斜率某一点的导数有方向为函数增长最快的方向多变量函数中梯度就是某一个点的偏导数有方向偏导数分量的向量方向3.梯度下降公式循环迭代求当前点的梯度更新当前的权重参数α:学习率(步长)不能太大,也不能太小.机器学习中0.001~0.01梯度是上升最快的方向,我们需要是下降最快的方向,所以需要加负号二、单变量梯度下降–举个栗子函数J(θ) θ^2,求当θ为何值时J(θ)值最小J(θ)函数关于θ的导数为: 2θ初始化起点为1学习率α 0.4我们开始进行梯度下降的迭代计算过程:第一步θ 1第二步θ θ - α * (2θ) 1 - 0.4 *(2*1) 0.2第三步θ θ - α * (2θ) 0.2 - 0.4 *(2*0.2) 0.04第四步θ θ - α * (2θ) 0.04 - 0.4 *(2*0.04) 0.008第五步θ θ - α * (2θ) 0.008 - 0.4 *(2*0.008) 0.0016....第N步θ已经极其接近最优值0J(θ)也接近最小值。小结经过四次的运算即走了四步基本抵达了函数的最低点三、多变量梯度下降–举个栗子四、梯度下降优化过程1.给定初始位置、步长学习率2.计算该点当前的梯度的负方向3.向该负方向移动步长4.重复2-3步 直至收敛•两次差距小于指定的阈值•达到指定的迭代次数五、梯度下降公式中为什么梯度要乘以一个负号•梯度的方向实际就是函数在此点上升最快的方向•需要朝着下降最快的方向走负梯度方向 所以加上负号六、有关学习率步长(Learning rate)1.步长决定了在梯度下降迭代的过程中每一步沿梯度负方向前进的长度2.学习率太小下降的速度会慢3.学习率太大容易造成错过最低点、产生下降过程中的震荡、甚至梯度爆炸