如何理解梯度下降法?
下面是机器学习的《监督式学习》课程中“逻辑回归”单元的内容,感兴趣的同学可以点击最下方的 阅读原文 购买。
梯度下降法是用来计算函数最小值的。它的思路很简单,想象在山顶放了一个球,一松手它就会顺着山坡最陡峭的地方滚落到谷底:
凸函数图像看上去就像上面的山谷,如果运用梯度下降法的话,就可以通过一步步的滚动最终来到谷底,也就是找到了函数的最小值。
1 动机
只是有一些凸函数,比如下面这个二元函数(该函数实际上是逻辑回归的经验误差函数,在监督式学习中确实需要求它的最小值): 要求它的最小值点就需要解如下方程组:
这个方程组实在太复杂了,直接求解难度太高,好在
所以可以用梯度下降法来找到
2.1 梯度向量
假设起点在
它的梯度为 1 维向量:
将
2.2 迭代
重复上述过程到第 10 次,小球基本上就到了最低点,即有
2.3 梯度下降法
把每一次的梯度向量
这也比较好理解,当最终趋向于 0 时有:
3.1 过小
如果设
3.2 合适
上面例子中用的
3.3 较大
如果令
3.4 过大
继续加大步长,比如令
3.5 总结
总结下,不同的步长
寻找合适的步长是个手艺活,在工程中可以将上图画出来,根据图像来手动调整:
往上走(红线),自然是 过大,需要调低 一开始下降特别急,然后就几乎没有变化(棕线),可能是 较大,需要调低 几乎是线性变化(蓝线),可能是 过小,需要调高
下面用梯度下降法来寻找最小值。
4.1 前进一步
设初始点为
4.2 迭代
同样的方法找到下一个点:
我们通过通俗易懂、图形化的方式,对机器学习中的《监督式学习》进行了精讲,目前还在连载中,可以享受早鸟价格,可以点击下面的链接购买:
👉 也可以直接点击下面这个图片购买机器学习的前置课程,《线性代数》、《单变量微积分》、《多变量微积分》、《概率论与数理统计》:
马同学图解数学
看得懂的数学
微信公众号ID :matongxue314