罗森布罗克函数
在数学最佳化中,罗森布罗克函数是一个用来测试最佳化演算法性能的非凸函数,由霍华德·哈里·罗森布罗克】在1960年提出[1]。也称为罗森布罗克山谷或罗森布罗克香蕉函数,也简称为香蕉函数。
罗森布罗克函数的定义如下:
罗森布罗克函数的每个等高线大致呈抛物线形,其全域最小值也位在抛物线形的山谷中(香蕉型山谷)。很容易找到这个山谷,但由于山谷内的值变化不大,要找到全域的最小值相当困难。
其全域最小值位于点,数值为。有时第二项的系数不同,但不会影响全域最小值的位置。
多变数下的扩展
多变数的罗森布罗克k函数有以下二种形式。一种是个独立二维罗森布罗克函数的和:
此形式只在为偶数时有定义,而且其解较简单。
另一个较复杂的形式为:
可证明当时,此形式的罗森布罗克函数只有一个最小值(位置在),在 时只有二个最小值,所有变数均为1时有全域最小值,而在附近有局部最小值。此结果是将令函数的梯度为0后求得,罗森布罗克函数的梯度仍为一个的多项式,在较小时,可以精确的列出多项式,再求出实根的个数,而其根限制在的范围内[4]。若较大时因为相关的系数太多,无法用以上方式进行。
随机函数
有许多方式可以将罗森布罗克函数延伸到随机(stochastic)函数,以下是一种例子:[5]
其中随机变数服从均匀分布 Unif(0,1)。原则上,此随机函数的全域最小值仍在(1,1,...,1),不过因为其随机的特性,任何以梯度下降法为基础的最佳化演算法均无法用来求得此随机函数的最小值。
可适用的最佳化演算法
经若经过适当的坐标系调整,可以在没有梯度资讯及不建立局部近似模型的情形下(和其他不使用梯度资讯的最佳化演算法相反),用最佳化演算法求得罗森布罗克函数的最小值。以下的例子说明如何用适应坐标下降法对二维的罗森布罗克函数进行最佳化,启始点。在325次函数的运算后可找到最小值的位置,函数的数值为。
相关条目
参考资料
- ^ 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.
- ^ 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] (页面存档备份,存于互联网档案馆)
- ^ Generalized Rosenbrock's function. [2008-09-16]. (原始内容存档于2008-09-26).
- ^ Schalk Kok, Carl Sandrock. Locating and Characterizing the Stationary Points of the Extended Rosenbrock Function. Evolutionary Computation 17, 2009. [2] (页面存档备份,存于互联网档案馆)
- ^ Yang X.-S. and Deb S., Engineering optimization by cuckoo searc1h, Int. J. Math. Modelling Num. Optimisation, Vol. 1, No. 4, 330-343 (2010)
外部链接
- Rosenbrock function plot in 3D(页面存档备份,存于互联网档案馆)
- Minimizing the Rosenbrock Function(页面存档备份,存于互联网档案馆) by Michael Croucher, The Wolfram Demonstrations Project.
- 埃里克·韦斯坦因. Rosenbrock Function. MathWorld.