罗森布罗克函数

在数学优化中,罗森布罗克函数是一个用来测试优化算法性能的非凸函数,由霍华德·哈里·罗森布罗克】在1960年提出[1]。也称为罗森布罗克山谷罗森布罗克香蕉函数,也简称为香蕉函数

双变量的罗森布罗克函数

罗森布罗克函数的定义如下:

罗森布罗克函数的每个等高线大致呈抛物线形,其全局最小值也位在抛物线形的山谷中(香蕉型山谷)。很容易找到这个山谷,但由于山谷内的值变化不大,要找到全局的最小值相当困难。

其全局最小值位于点,数值为。有时第二项的系数不同,但不会影响全局最小值的位置。

用罗森布罗克函数测试梯度下降法的结果,约1000次才到达全局最小值

多变量下的扩展

编辑

多变量的罗森布罗克k函数有以下二种形式。一种是 个独立二维罗森布罗克函数的和:

 [2]

此形式只在 为偶数时有定义,而且其解较简单。

另一个较复杂的形式为:

 [3]

可证明当 时,此形式的罗森布罗克函数只有一个最小值(位置在 ),在  时只有二个最小值,所有变量均为1时有全局最小值,而在 附近有局部最小值。此结果是将令函数的梯度为0后求得,罗森布罗克函数的梯度仍为一个 的多项式,在 较小时,可以精确的列出多项式,再求出实根的个数,而其根限制在 的范围内[4]。若 较大时因为相关的系数太多,无法用以上方式进行。

随机函数

编辑

有许多方式可以将罗森布罗克函数延伸到随机(stochastic)函数,以下是一种例子:[5]

 

其中随机变量 服从均匀分布 Unif(0,1)。原则上,此随机函数的全局最小值仍在(1,1,...,1),不过因为其随机的特性,任何以梯度下降法为基础的优化算法均无法用来求得此随机函数的最小值。

可适用的优化算法

编辑

经若经过适当的坐标系调整,可以在没有梯度资讯及不建立局部近似模型的情形下(和其他不使用梯度资讯的优化算法相反),用优化算法求得罗森布罗克函数的最小值。以下的例子说明如何用适应坐标下降法英语Adaptive coordinate descent对二维的罗森布罗克函数进行优化,启始点 。在325次函数的运算后可找到最小值的位置,函数的数值为 

 

相关条目

编辑

参考资料

编辑
  1. ^ Rosenbrock, H.H. An automatic method for finding the greatest or least value of a function. The Computer Journal. 1960, 3: 175–184. ISSN 0010-4620. doi:10.1093/comjnl/3.3.175. 
  2. ^ L C W Dixon, D J Mills. Effect of Rounding errors on the Variable Metric Method. Journal of Optimization Theory and Applications 80, 1994. [1]页面存档备份,存于互联网档案馆
  3. ^ Generalized Rosenbrock's function. [2008-09-16]. (原始内容存档于2008-09-26). 
  4. ^ Schalk Kok, Carl Sandrock. Locating and Characterizing the Stationary Points of the Extended Rosenbrock Function. Evolutionary Computation 17, 2009. [2]页面存档备份,存于互联网档案馆
  5. ^ Yang X.-S. and Deb S., Engineering optimization by cuckoo searc1h, Int. J. Math. Modelling Num. Optimisation, Vol. 1, No. 4, 330-343 (2010)

外部链接

编辑