立即学习:https://edu.youkuaiyun.com/course/play/26698/348638?utm_source=blogtoedu
优化:梯度下降算法的实现
调整优化:自变量为θ,因变量一般在机器学习训练里叫做损失函数。从名字可知,既然是损失,我们自然想尽量降低。
- 如何降低呢?在工程刚开始,或许我们会随机降落到函数中的某一个点上。然后在该点计算它的梯度,再沿着梯度的方向慢慢地下降(可以从某一个点开始,然后按照梯度下滑到另一个点,如此循环迭代,最终到达一个最低点)
- 通过梯度,找到函数的变化方向,而具体变化多少呢?与学习率变化参数有关,用α表示(α可以理解为步长,即步子邁多大)
- 步长不是越大越好,因为过大会在最低点之间来回游荡,错过最低点
- 而步长越小,更容易收敛。但是需要考虑现实中的计算资源问题。若学习率α过小,则迭代过程会被拉得很长,这会造成资源的浪费。
若一个函数比较复杂(具体工程中需要注意的)
- 他可能会有多个极小值点。在此情况下,局部最小值,未必是全局最小值
- 若有些线段比较平滑,则这段的梯度比较小,会让优化过程比较艰难。