梯度下降算法不仅用在回归问题的处理上面,而且广泛的应用在机器学习的众多领域.

我们有一个代价函数J(𝝷0,𝝷1)有两个参数,当然也可能N个,我们需要寻找代价函数的最小值minJ(𝝷0,𝝷1), 我们刚开始设𝝷0 = 0,𝝷1 = 0,然后以一定的频率不断改变(𝝷0,𝝷1),直到达到我们期望的最小值, 这就是梯度下降算法的核心.

不同的初始值,不同的步长,不同的方向可能会得到不同的局部最优解;其计算公式,如下:

不同的学习率,会决定下山的步伐,如果学习率较大,则下山的速度会快一些,如果学习率较小,则下山的速度会慢一些,并且同时会更新𝝷0,𝝷1的值. 需要注意右边的计算是错误的,因为𝝷0:=temp0时𝝷0的值已经发生变化temp1的值是使用的𝝷0改变的值.

𝝷1的斜率,可能是正的,也可能是负的,不过当改变学习率时,其目标都是在寻找最小值.

步长设置得过大,会导致不能取得最优值.
线型回归中的梯度下降算法.

其求偏导的过程为(用了一个复合导数的求法):

梯度下降的求法,即为:

这种每次使用全部样本的梯度下降算法,又称之为批梯度算法.

𝝷0和𝝷1的求导过程:


文章转载自那美那美,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




