梯度下降可以应用于非凸函数吗?


18

我只是在学习优化,而难以理解凸优化和非凸优化之间的区别。根据我的理解,凸函数是“函数图上任意两点之间的线段位于图的上方或上方”的凸函数。在这种情况下,可以使用梯度下降算法,因为存在一个最小值,并且梯度将始终使您达到该最小值。

但是,该图中的功能如何:

在此处输入图片说明

此处,蓝线段在红色功能下方交叉。但是,该函数仍具有一个最小值,因此梯度下降仍将您带到该最小值。

所以我的问题是:

1)该图中的函数是凸的还是非凸的?

2)如果不是凸的,那么是否仍然可以使用凸优化方法(梯度下降)?

Answers:


21

您绘制的函数确实不是凸函数。但是,它是拟凸的

X1个X2FX1个>FX2>

梯度下降最终将收敛到函数的固定点,而与凸度无关。如果函数是凸的,则这将是全局最小值,否则,可能是局部的最小值甚至是鞍点。

FX=X3


5

保罗已经提到了一个重要的观点:

  • 如果f是凸的,则没有鞍点,并且所有局部最小值也是全局的。因此,GD(具有适当的步长)可以保证找到全局最小化器。

使非凸优化困难的是鞍点和局部极小值的存在,其中梯度为(0,...,0),并且具有任意不好的目标值。

在这样的情况下找到全局最小化器通常是NP困难的,而是以找到局部最小化器为目标。

但是,请注意:

  • GD卡在鞍座上的概率实际上为0(请参阅此处)。
  • 但是,鞍点的存在可能会严重降低GD的下降速度,因为低曲率的方向利用得太慢了(请参阅此处

因此,根据您问题的维度,建议您进行二阶优化例程。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.