如上面例子这样,通过梯度下降的方法走到一个全局极小值点仅是一种理想的情况,这里的“全局极小值”已经是一种简化,现实中,既不能保证算法走到的是“全局”极小值点,也不能保证全局只有“一个”极小值点。
试想一下,如果我们把随机传送的起始点的位置稍微调整一下,如图 6-29所示的另外一个起始点,根据相同的梯度下降算法,可能会得到另外一个最小值的结果,具体路径如图 6-30 所示。在理论上,全局有不止一个极小值完全是可能的。所幸对多数实际问题来说,情况都是相对简单的,往往只有一个全局极小值。
还有一种需要考虑的场景,可能确实存在一个全局的极小值,但是同时有大量的局部极小值,形象地说就是函数图像可能是“坑坑洼洼”的,这可能会导致我们无法顺利走到山下,而是走到某一个局部的洼地处徘徊,此时由于所有的方向都会令函数值增加,因此无法使用梯度下降的方法再继续前进了,如图 6-31 所示的函数图像就非常容易陷入某个局部极小值中。
从以上两个例子可以看出,纯粹的梯度下降算法并不能保证找到全局的最优解,得到的有可能只是一个局部最优解,不过由于实际问题中,许多目标函数天然是凸函数或者被精心设计成凸函数<sup>○一</sup>,只要损失函数是凸函数,局部最优解即为全局最优解,梯度下降算法得到的解就一定是全局最优解,所以,将目标函数设计为凸函数以及基于凸函数的优化技术,一直是机器学习的优化算法、策略算法关注的焦点。
224
第三部分 第三波高潮