Rosenbrock函数

科技工作者之家  |   2020-11-17 17:55

在数学最优化中,Rosenbrock函数是一个用来测试最优化算法性能的非凸函数,由Howard Harry Rosenbrock在1960年提出。也称为Rosenbrock山谷Rosenbrock香蕉函数,也简称为香蕉函数

介绍在数学最优化中,Rosenbrock函数是一个用来测试最优化算法性能的非凸函数,由Howard Harry Rosenbrock在1960年提出1。也称为Rosenbrock山谷Rosenbrock香蕉函数,也简称为香蕉函数

Rosenbrock函数的定义如下:

Rosenbrock函数的每个等高线大致呈抛物线形,其全域最小值也位在抛物线形的山谷中(香蕉型山谷)。很容易找到这个山谷,但由于山谷内的值变化不大,要找到全域的最小值相当困难。其全域最小值位于 (x,y)=(1,1)点,数值为f(x,y)=0。有时第二项的系数不同,但不会影响全域最小值的位置。

多变量下的扩展多变量的Rosenbrock函数有以下二种形式。一种是N/2个独立二维Rosenbrock函数的和:

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

另一个较复杂的形式为:

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

随机函数有许多方式可以将Rosenbrock函数延伸到随机(stochastic)函数,以下是一种例子:

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

可适用的最优化算法经若经过适当的坐标系调整,可以在没有梯度信息及不创建局部近似模型的情形下(和其他不使用梯度信息的最优化算法相反),用最优化算法求得Rosenbrock函数的最小值。

相关条目Himmelblau函数

Rastrigin函数

格里旺克函数

本词条内容贡献者为:

胡建平 - 副教授 - 西北工业大学