Articulo de referencia

Función Rosenbrock

Gráfico de la función de Rosenbrock de dos variables. Aquí a = 1 , b = 100 {\displaystyle a=1,b=100} y el valor mínimo de cero está en ( 1 , 1 ) {\displaystyle (1,1)} . En optim...

Gráfico de la función de Rosenbrock de dos variables. Aquía=1,b=100{\displaystyle a=1,b=100}y el valor mínimo de cero está en(1,1){\displaystyle (1,1)}.

En optimización matemática , la función de Rosenbrock es una función no convexa , introducida por Howard H. Rosenbrock en 1960, que se utiliza como problema de prueba de rendimiento para algoritmos de optimización . [ 1 ] También se la conoce como valle de Rosenbrock o función banana de Rosenbrock .

El mínimo global se encuentra dentro de un valle plano, largo y estrecho, con forma parabólica . Encontrar el valle es trivial. Sin embargo, converger hacia el mínimo global es difícil.

La función se define por

F(incógnita,y)=(aincógnita)2+b(yincógnita2)2{\displaystyle f(x,y)=(ax)^{2}+b(yx^{2})^{2}}

Tiene un mínimo global en(incógnita,y)=(a,a2){\displaystyle (x,y)=(a,a^{2})}, dóndeF(incógnita,y)=0{\displaystyle f(x,y)=0}. Normalmente, estos parámetros se configuran de tal manera quea=1{\displaystyle a=1}yb=100{\displaystyle b=100}. Solo en el caso trivial dondea=0{\displaystyle a=0}La función es simétrica y el mínimo se encuentra en el origen.

Generalizaciones multidimensionales

Se suelen encontrar dos variantes.

Animación de la función de Rosenbrock de tres variables. [ 2 ]

Uno es la suma denorte/2{\displaystyle N/2}problemas de Rosenbrock 2D desacoplados, y se define solo para problemas pares.norte{\displaystyle N}s:

F(incógnita)=F(incógnita1,incógnita2,,incógnitanorte)=i=1norte/2[100(incógnita2i12incógnita2i)2+(incógnita2i11)2].{\displaystyle f(\mathbf {x} )=f(x_{1},x_{2},\dots ,x_{N})=\sum _{i=1}^{N/2}\left[100(x_{2i-1}^{2}-x_{2i})^{2}+(x_{2i-1}-1)^{2}\right].}[ 3 ]

Esta variante tiene soluciones previsiblemente sencillas.

Una segunda variante, más compleja, es

F(incógnita)=i=1norte1[100(incógnitai+1incógnitai2)2+(1incógnitai)2]dóndeincógnita=(incógnita1,,incógnitanorte)Rnorte.{\displaystyle f(\mathbf {x} )=\sum _{i=1}^{N-1}[100(x_{i+1}-x_{i}^{2})^{2}+(1-x_{i})^{2}]\quad {\mbox{donde}}\quad \mathbf {x} =(x_{1},\ldots ,x_{N})\in \mathbb {R} ^{N}.}[ 4 ]

tiene exactamente un mínimo paranorte=3{\displaystyle N=3}(en(1,1,1){\displaystyle (1,1,1)}) y exactamente dos mínimos para4norte7{\displaystyle 4\leq N\leq 7}— el mínimo global en(1,1,...,1){\displaystyle (1,1,...,1)}y un mínimo local cercaincógnita^=(1,1,,1){\displaystyle {\hat {\mathbf {x} }}=(-1,1,\dots ,1)}Este resultado se obtiene igualando a cero el gradiente de la función, observando que la ecuación resultante es una función racional deincógnita{\displaystyle x}Para pequeñosnorte{\displaystyle N}Los polinomios se pueden determinar exactamente y el teorema de Sturm se puede utilizar para determinar el número de raíces reales , mientras que las raíces se pueden acotar en la región de|incógnitai|<2.4{\displaystyle |x_{i}|<2.4}. [ 5 ] Para tamaños mayoresnorte{\displaystyle N}Este método falla debido al tamaño de los coeficientes involucrados.

Puntos estacionarios

Muchos de los puntos estacionarios de la función exhiben un patrón regular cuando se grafican. [ 5 ] Esta estructura puede ser aprovechada para localizarlos.

Raíces de Rosenbrock que presentan estructuras en forma de joroba

Ejemplos de optimización

Función Rosenbrock Nelder-Mead
Método de Nelder-Mead aplicado a la función de Rosenbrock

La función de Rosenbrock se puede optimizar de manera eficiente adaptando un sistema de coordenadas apropiado sin usar información de gradiente y sin construir modelos de aproximación locales (a diferencia de muchos optimizadores sin derivadas). La siguiente figura ilustra un ejemplo de optimización de la función de Rosenbrock bidimensional mediante descenso de coordenadas adaptativo desde el punto de partida.incógnita0=(3,4){\displaystyle x_{0}=(-3,-4)}. La solución con el valor de la función1010{\displaystyle 10^{-10}}Se puede encontrar después de 325 evaluaciones de funciones.

Utilizando el método Nelder-Mead desde el punto de partidaincógnita0=(1,1){\displaystyle x_{0}=(-1,1)}con un simplex inicial regular se encuentra un mínimo con valor de función1.361010{\displaystyle 1.36\cdot 10^{-10}}Tras 185 evaluaciones de la función, la siguiente figura muestra la evolución del algoritmo.

Uso en otros campos

La función de Rosenbrock se puede utilizar para crear distribuciones con forma de "banana", que son un modelo de referencia popular en estadística y aprendizaje automático. [ 6 ]

Véase también

Referencias

  1. Rosenbrock, HH (1960). "Un método automático para encontrar el valor máximo o mínimo de una función" . The Computer Journal . 3 (3): 175– 184. doi : 10.1093/comjnl/3.3.175 . ISSN 0010-4620 . 
  2. Simionescu, PA (2014). Herramientas de simulación y gráficos asistidos por computadora para usuarios de AutoCAD (1.ª ed.). Boca Raton, FL: CRC Press. ISBN  978-1-4822-5290-3.
  3. Dixon, LCW; Mills, DJ (1994). "Efecto de los errores de redondeo en el método de métrica variable" . Journal of Optimization Theory and Applications . 80 : 175–179 . doi : 10.1007/BF02196600 .
  4. "Función generalizada de Rosenbrock" . Consultado el 16 de septiembre de 2008 .
  5. 1 2 Kok, Schalk; Sandrock, Carl (2009). "Localización y caracterización de los puntos estacionarios de la función de Rosenbrock extendida". Evolutionary Computation . 17 (3): 437– 53. doi : 10.1162/evco.2009.17.3.437 . hdl : 2263/13845 . PMID 19708775 . 
  6. Pagani, Filippo; Wiegand, Martin; Nadarajah, Saralees (2022). "Una distribución de Rosenbrock n-dimensional para pruebas de Monte Carlo de cadena de Markov" . Scandinavian Journal of Statistics . 49 (2): 657– 680. doi : 10.1111/sjos.12532 . ISSN 1467-9469 .