¿Qué significa el valor propio de un hessiano en el aprendizaje automático?

Las matrices de arpillera son una herramienta útil para la optimización numérica.

Primero, tenga en cuenta que las matrices de Hesse son por definición simétricas, porque el orden de diferenciación no importa (donde las segundas derivadas parciales son continuas):

[matemáticas] H (f) (\ mathbf {x}) _ {i, j} = \ frac {\ partial ^ 2} {\ partial x_i \ partial x_j} f (\ mathbf {x}) = H (f) (\ mathbf {x}) _ {j, i} = \ frac {\ partial ^ 2} {\ partial x_j \ partial x_i} f (\ mathbf {x}) [/ math]

Como las arpillera son simétricas, se sostiene que las arpillera tienen todos los valores propios reales.


Valores propios de Hesse y concavidad

  • Si el hessiano es positivo definido (por ejemplo, todos los valores propios son positivos) en el punto [math] \ mathbf {x} [/ math], entonces [math] \ mathbf {x} [/ math] es un mínimo local de [math ] f [/ matemáticas].
  • De manera similar, si el hessiano es negativo definido (por ejemplo, si todos los valores propios son negativos), entonces [math] \ mathbf {x} [/ math] es un máximo local de [math] f [/ math].
  • Si el Hessian tiene una mezcla de valores propios positivos y negativos, entonces [math] \ mathbf {x} [/ math] es un punto de referencia de [math] f [/ math].
  • Si alguno de los valores propios es cero, la prueba no es concluyente.

También podemos usar la arpillera para determinar la segunda derivada en una dirección particular calculando [math] \ mathbf {d} ^ \ text {T} \ mathbf {H} \ mathbf {d} [/ math], donde [math] \ mathbf {d} [/ math] es un vector unitario en una dirección dada.


Relación con el aprendizaje automático

En el aprendizaje automático, definimos una función de pérdida y numéricamente encontramos un mínimo local satisfactorio que nos proporciona los parámetros para nuestro modelo. El descenso de gradiente estocástico listo para usar es un método de optimización de primer orden, ya que solo tiene en cuenta el gradiente, pero también podemos considerar métodos de optimización de segundo orden que incluyen la curvatura, como el método de Newton.

El valor propio de un Hessian significa “el cambio en el gradiente de una función de pérdida a medida que avanzamos una distancia infinitesimal en una dirección dada”.

El método de Newton es particularmente importante en el aprendizaje profundo, donde las funciones de error son altamente no convexas: tienen muchos mínimos locales y los métodos de optimización de primer orden son propensos a atascarse en ellos. Sin embargo, calcular el Hessian puede ser inviable, especialmente con datos de alta dimensión [2].

Esto ha llevado al desarrollo de métodos creativos de optimización numérica que no necesitan calcular y almacenar el Hessian. Por ejemplo, el enfoque de impulso agrega una memoria a corto plazo al gradiente:

[matemáticas] z ^ {k + 1} = \ beta z ^ k + \ nabla f (w ^ k) [/ matemáticas]

[matemáticas] w ^ {k + 1} = w ^ k – \ alpha z ^ {k + 1} [/ matemáticas]

Mira este artículo para más detalles, es realmente fantástico.


Fuentes:

[1] Libro de aprendizaje profundo

[2] Universidad de Toronto CSC 2515 (Hinton)

More Interesting

Comencé a aprender Machine Learning pero estoy luchando con conceptos matemáticos como la regresión lineal. ¿Cuál debería ser mi punto de partida en tal caso?

Cómo crear mi propia biblioteca de tokenizadores en PNL

¿Por qué los jóvenes estudiantes dedican más tiempo a la programación competitiva en lugar de otras áreas como aprendizaje automático, seguridad, big data y sistemas operativos?

¿Cuál es el beneficio de usar la función softmax en la última capa de DNN? ¿Cuál es la relación entre la entropía cruzada y las funciones de pérdida?

¿Qué es una explicación intuitiva de lo que es la dimensión VC?

¿Los modelos de aprendizaje automático en automóviles sin conductor utilizan aprendizaje supervisado, no supervisado o de refuerzo?

¿El análisis de sentimientos basado en léxico se considera un método no supervisado?

¿Es más fácil conseguir un trabajo de aprendizaje automático con maestros de una buena universidad que si solo eres autodidacta?

¿Cómo explicarías la probabilidad condicional y el teorema de Bayes a un niño?

¿Preferiría que una novela sobre la era medieval fuera históricamente precisa y llena de conceptos verificables o fácilmente legible pero de hecho escasa?

¿Cómo se pueden usar Hadoop y NoSQL para procesar grandes conjuntos de datos en Java?

¿Cuáles son algunas bibliotecas de software para el aprendizaje a gran escala?

¿Cuáles son algunas aplicaciones del aprendizaje automático en la industria de la geología y la energía?

¿Existe un concepto de API semántica - API que acepta oraciones simples como consultas?

¿Keras admitirá PyTorch como backend en el futuro?