Rosenbrock函數

在數學最佳化中，Rosenbrock函數是一個用來測試最佳化演算法性能的非凸函数，由Howard Harry Rosenbrock在1960年提出。也稱為Rosenbrock山谷或Rosenbrock香蕉函數，也簡稱為香蕉函數。 

Rosenbrock函數的定義如下：

 

Rosenbrock函數的每个等高线大致呈抛物线形，其全域最小值也位在抛物线形的山谷中（香蕉型山谷）。很容易找到這個山谷，但由於山谷內的值變化不大，要找到全域的最小值相當困難。

其全域最小值位於點，數值為。有時第二項的係數不同，但不會影響全域最小值的位置。

多變數下的擴展

多變數的Rosenbrock函數有以下二種形式。一種是個獨立二維Rosenbrock函數的和：
 

此形式只在為偶數時有定義，而且其解較簡單。

另一個較複雜的形式為：
 

可證明當時，此形式的Rosenbrock函數只有一個最小值（位置在），在 時只有二個最小值，所有變數均為1時有全域最小值，而在附近有局部最小值。此結果是將令函數的梯度為0後求得，Rosenbrock函數的梯度仍為一個的多項式，在較小時，可以精確的列出多項式，再求出實根的個數，而其根限制在的範圍內。若較大時因為相關的係數太多，無法用以上方式進行。

随机函数
有許多方式可以將Rosenbrock函數延伸到隨機（stochastic）函數，以下是一種例子：
 
其中隨機變數服從均勻分布 Unif(0,1)。原則上，此隨機函數的全域最小值仍在(1,1,...,1)，不過因為其隨機的特性，任何以梯度下降法為基礎的最佳化演算法均無法用來求得此隨機函數的最小值。

可適用的最佳化演算法
經若經過適當的坐標系調整，可以在沒有梯度資訊及不建立局部近似模型的情形下（和其他不使用梯度資訊的最佳化演算法相反），用最佳化演算法求得Rosenbrock函數的最小值。以下的例子說明如何用對二維的Rosenbrock函數進行最佳化，啟始點。在325次函數的運算後可找到最小值的位置，函數的數值為。

相關條目
 
 
 格里旺克函數

參考資料

外部連結
 Rosenbrock function plot in 3D
 Minimizing the Rosenbrock Function by Michael Croucher, The Wolfram Demonstrations Project.
 

數學最佳化