3 votos

Tolerancia de Parada de Máxima Verosimilitud

Tengo un problema a gran escala que estoy entrenando con MLE. Está tomando bastante tiempo. Me gustaría establecer una condición de parada.

¿Cómo se establece un nivel de tolerancia en la optimización de MLE?

  1. cambio absoluto en logL < tolerancia
  2. cambio absoluto en logL/número_de_muestras < tolerancia
  3. % de cambio en LogL < tolerancia

Obviamente se puede elegir cualquiera de ellos, pero ¿cuál indica realmente que el cambio en el modelo es pequeño (al menos bajo alguna interpretación bien fundamentada)?

Por ejemplo, (1) ignora el tamaño de la muestra, por lo tanto, una tolerancia fija no tendrá mucho sentido. (2) tiene alguna interpretación desde el sentido de KL, como número promedio de bits.

-1voto

whitman Puntos 121

En lugar de basarse únicamente en la verosimilitud de registro, el criterio de parada más "riguroso" debería ser que la norma del gradiente sea lo suficientemente pequeña. Tenga en cuenta que el gradiente en cero es literalmente lo que queremos matemáticamente (considere resolver el problema de maximización a mano), mientras que el cambio en la verosimilitud de registro entre pasos es solo una heurística con fines algorítmicos.

Si la superficie de verosimilitud de registro es muy plana, entonces en algún vecindario del MLE el cambio en el valor de la función entre los pasos de optimización puede ser bastante pequeño. Cualquiera de sus criterios puede detenerse demasiado temprano cuando la superficie de verosimilitud es casi plana, pero un algoritmo que insiste en usar solo la norma del gradiente puede hacer muchas pequeñas mejoras hasta que haya encontrado la ubicación donde la norma del gradiente está cerca de cero; y a veces estos pequeños pasos mueven acumulativamente el parámetro bastante.

Esto también tiene sentido intuitivo: el gradiente aproxima el cambio en $\log L$ cuando $\theta$ se mueve por una cantidad unitaria. Si mover $\theta$ por una cantidad unitaria mueve mucho $\log L$, entonces es una mala idea detenerse incluso si el siguiente paso solo te dará una ligera mejora. Por otro lado, detenerse cuando el cambio en la verosimilitud del registro es pequeño es equivalente a decir "estaré contento si la verosimilitud de registro está lo suficientemente cerca del máximo" sin importar dónde esté realmente el verdadero $\theta_{MLE}$. Tenga en cuenta que lo primero está motivado por encontrar la ubicación exacta del MLE, mientras que lo segundo es más similar a casos, digamos, en finanzas: "si realizar más cálculos solo me dará un $0.1\%$ de mejora en mi retorno de inversión de ~$100 entonces está bien; realmente no me importa ese centavo."

Pero la verosimilitud de registro no son dólares, y $0.1\%$ puede ser mucho. Para ver lo importante que es un 0.1%, considere esto: permita que un algoritmo de parada anticipada se detenga en el punto $\theta_1$ con $\log L_1=-3001$ y otro algoritmo se detenga en $\theta_2$ con $\log L_2=-3000$. Tenga en cuenta que $1/3000*100\% = 0.033\%$ solamente, pero $L_2/L_1 = 2.718$. Si interpretamos la verosimilitud como la probabilidad de que ocurran los datos, entonces la probabilidad de que ocurran los datos si $\theta_2$ fuera verdadero es más del doble que si $\theta_1$ fuera verdadero. ¡Aquí un tercio de un $0.1\%$ de mejora ha llevado a que la verosimilitud sea el doble!

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X