通过这篇文章,我们需要掌握梯度下降算法的思想;知道梯度下降算法的分类;知道正规方程和梯度下降算法的特点。
一、梯度下降法–梯度下降和梯度
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步:θ已经极其接近最优值0,J(θ)也接近最小值。
小结:经过四次的运算,即走了四步,基本抵达了函数的最低点
三、多变量梯度下降–举个栗子
四、梯度下降优化过程
五、梯度下降公式中,为什么梯度要乘以一个负号
六、有关学习率步长(Learning rate)