Actualmente estoy aprendiendo acerca de las estimaciones de mínimos cuadrados (y otras) para la regresión, y de lo que también estoy leyendo en algunas publicaciones de algoritmos adaptativos, a menudo aparece la frase "... y dado que la superficie de error es convexa ..." y cualquier profundidad de por qué es convexa para empezar no es dónde encontrarla.
... Entonces, ¿qué lo hace exactamente convexo ?
Encuentro esta omisión repetida ligeramente molesta porque quiero poder diseñar mis propios algoritmos adaptativos, con mis propias funciones de costo, pero si no puedo decir si mi función de costo produce o no una superficie de error convexa, no podré llegar demasiado lejos al aplicar algo como el descenso de gradiente porque no habrá un mínimo global. Tal vez quiero ser creativo, tal vez no quiero usar mínimos cuadrados como mi criterio de error, por ejemplo.
Al profundizar más, (y mis preguntas comienzan aquí), descubrí que para poder saber si tienes una superficie de error convexa, debes asegurarte de que tu matriz de Hesse sea positiva semi-definida. Para las matrices simétricas, esta prueba es simple: simplemente asegúrese de que todos los valores propios de la matriz de Hesse no sean negativos. (Si su matriz no es simétrica, puede hacerlo simétrica agregándola a su propia transposición y realizando la misma prueba de valor propio, en virtud del Gramian , pero eso no es importante aquí).
¿Qué es una matriz de Hesse? La matriz de Hesse codifica todas las combinaciones posibles de los parciales de su función de costo. ¿Cuántos parciales hay? Tanto como el número de características en su vector de características. ¿Cómo calcular los parciales? Tome las derivadas parciales 'a mano' de la función de costo original.
Entonces eso es exactamente lo que hice: supongo que tenemos una matriz de datos x , denotada por la matriz , donde, denota el número de ejemplos denota el número de características por ejemplo. (que también será el número de parciales). Supongo que podemos decir que tenemos muestras de tiempo muestras espaciales de sensores, pero la aplicación física no es demasiado importante aquí.
Además, también tenemos un vector de tamaño x . (Este es su vector de 'etiqueta', o su 'respuesta' correspondiente a cada fila de ). Por simplicidad, he asumido que para este ejemplo en particular. Entonces 2 'ejemplos' y 2 'características'.
Así que ahora suponga que desea determinar la 'línea' o polinomio de mejor ajuste aquí. Es decir, proyecta sus características de datos de entrada contra su vector polinómico coeficiente modo que su función de costo sea:
Ahora, tomemos la primera derivada parcial wrt , (característica 0) Así:
Ahora, calculemos todos los segundos parciales, entonces:
Sabemos que el hessiano no es más que:
Ahora, según cómo he construido la matriz de datos (mis 'características' van por columnas y mis ejemplos van por filas), el hessiano parece ser:
... que no es más que la matriz de covarianza de muestra !
Así que no estoy muy seguro de cómo interpretar, o debería decir, no estoy muy seguro de qué tan generalizado debería ser aquí. Pero creo que puedo decir eso:
Siempre cierto:
- La matriz de Hesse siempre controla si su superficie de error / costo es o no convexa.
- Si su matriz de Hesse es pos-semi-def, usted es convexo (y felizmente puede usar algoritmos como el descenso de gradiente para converger a la solución óptima).
Verdadero solo para LSE:
- La matriz de Hesse para el criterio de costo LSE no es más que la matriz de covarianza original. (!)
- Para mí, esto significa que, si uso el criterio LSE, ¿los datos en sí mismos determinan si tengo o no una superficie convexa? ... ¿Qué significaría entonces que los vectores propios de mi matriz de covarianza de alguna manera tienen la capacidad de 'dar forma' a la superficie de costo? ¿Es esto siempre cierto? ¿O simplemente funcionó para los criterios de LSE? Simplemente no me parece bien que la convexidad de una superficie de error deba depender de los datos.
Entonces, volviendo a ponerlo en el contexto de la pregunta original, ¿cómo se determina si un error de navegación (basado en alguna función de costo que seleccione) es convexo o no? ¿Esta determinación se basa en los datos o en el hessiano?
Gracias
TLDR: ¿Cómo, exactamente y prácticamente hago para determinar si mi función de costo y / o conjunto de datos producen una superficie de error convexa o no convexa?