Los métodos de gradiente suelen funcionar mejor optimizando $\log p(x)$ que $p(x)$ porque el gradiente de $\log p(x)$ es generalmente más bien escalado . Es decir, tiene un tamaño que refleja de forma consistente y útil la geometría de la función objetivo, facilitando la selección de un tamaño de paso adecuado y llegando al óptimo en menos pasos.
Para ver lo que quiero decir, compare el proceso de optimización del gradiente para $p(x) = \exp(-x^2)$ y $f(x) = \log p(x) = -x^2$ . En cualquier momento $x$ el gradiente de $f(x)$ es $$f'(x) = -2x.$$ Si lo multiplicamos por $1/2$ obtenemos el tamaño de paso exacto necesario para llegar al óptimo global en el origen, sin importar $x$ es. Esto significa que no tenemos que trabajar demasiado para conseguir un buen tamaño de paso (o "tasa de aprendizaje" en la jerga de ML). No importa dónde esté nuestro punto inicial, sólo tenemos que establecer nuestro paso a la mitad del gradiente y estaremos en el origen en un paso. Y si no sabemos el factor exacto que se necesita, podemos elegir un tamaño de paso alrededor de 1, hacer un poco de búsqueda de líneas, y encontraremos un gran tamaño de paso muy rápidamente, uno que funciona bien sin importar dónde $x$ es. Esta propiedad es robusta frente a la traslación y el escalado de $f(x)$ . Mientras que el escalamiento $f(x)$ hará que la escala óptima de los pasos difiera de 1/2, al menos la escala de los pasos será la misma sin importar lo que $x$ es, por lo que sólo tenemos que encontrar un parámetro para obtener un esquema de optimización eficiente basado en el gradiente.
En cambio, el gradiente de $p(x)$ tiene propiedades globales muy pobres para la optimización. Tenemos $$p'(x) = f'(x) p(x)= -2x \exp(-x^2).$$ Esto multiplica el gradiente perfectamente agradable y bien comportado $-2x$ con un factor $\exp(-x^2)$ que decae (más rápido que) exponencialmente como $x$ aumenta. En $x = 5$ ya tenemos $\exp(-x^2) = 1.4 \cdot 10^{-11}$ por lo que un paso a lo largo del vector gradiente es de aproximadamente $10^{-11}$ veces demasiado pequeño. Para obtener un tamaño de paso razonable hacia el óptimo, tendríamos que escalar el gradiente por el recíproco de eso, una enorme constante $\sim 10^{11}$ . Un gradiente tan mal escalado es peor que inútil a efectos de optimización: sería mejor que intentáramos dar un paso unitario en la dirección ascendente que fijar nuestro paso escalando contra $p'(x)$ ¡! (En muchas variables $p'(x)$ se vuelve un poco más útil ya que al menos obtenemos información direccional del gradiente, pero el problema de la escala permanece).
En general, no hay garantía de que $\log p(x)$ tendrá unas propiedades de escalado de gradiente tan grandes como las de este ejemplo de juguete, especialmente cuando tenemos más de una variable. Sin embargo, para casi cualquier problema no trivial, $\log p(x)$ va a ser mucho, mucho mejor que $p(x)$ . Esto se debe a que la probabilidad es un gran producto con un montón de términos, y el logaritmo convierte ese producto en una suma, como se ha señalado en otras respuestas. Siempre que los términos de la probabilidad sean bien educado desde el punto de vista de la optimización, su logaritmo es generalmente bien comportado, y la suma de funciones bien comportadas es bien comportada. En bien educado Es decir $f''(x)$ no cambia demasiado ni demasiado rápido, lo que da lugar a una función casi cuadrática que es fácil de optimizar mediante métodos de gradiente. La suma de una derivada es la derivada de la suma, sin importar el orden de la derivada, lo que ayuda a asegurar que ese gran montón de términos de la suma tiene una segunda derivada muy razonable.
3 votos
hay que tener en cuenta que normalmente maximizamos la probabilidad utilizando derivadas. Por otra parte, en muchos casos se aplica la condición de independencia, lo que significa que la probabilidad es el producto de algunas funciones de densidad de probabilidad iid. Además el producto de muchos valores pequeños (en el intervalo [0,1]) resulta en un valor muy pequeño. Esto da lugar a una dificultad de cálculo.
0 votos
@AlejandroRodriguez mira mi responder aquí para más detalles.