机器学习编程:从编码到深度学习
上QQ阅读APP看书,第一时间看更新

3.3 小结

在本章,我们考察了梯度下降法,一种广泛使用的最小化损失函数的算法。不管我们的模型和样本数据集有多么复杂,梯度下降法总是以相同的方式工作:它朝着与损失函数梯度相反的方向行进,并一直这样做,直到梯度变得很小。为了求得梯度,我们需要计算损失函数关于w和b的偏导数。

梯度下降法具有一些局限性。尤其是,由于梯度下降法以导数为基础,它预设损失函数光滑且没有中断,这样就可以计算各处函数值的导数了。梯度下降法还可能会因为陷入局部最小值而无法达到全局最小值。为了避免这个问题,我们将尝试使用只有一个最小值的损失函数。

梯度下降法并不是最小化损失函数的全部算法。研究人员正在探索在某些情况下具有更好性能表现的替代算法。还有一些普通梯度下降法的变体,我们将在本书后续的相关内容中进行介绍。尽管如此,梯度下降法在现代机器学习中仍然是一个非常重要的算法,并且会在一段时间内保持这个特殊地位。

现在,准备迎接挑战吧。在本章的开头,我告诉你梯度下降法使得我们的代码能够扩展到更为有趣的模型,这些模型可以处理近乎复杂的样本数据集。在下一章中,我们将看到一个这样的模型。