¿Qué hace un error de superficie convexa? ¿Está determinado por la matriz de Covarinace o la arpillera?

17

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 m x n , denotada por la matriz X , donde, m denota el número de ejemplos n denota el número de características por ejemplo. (que también será el número de parciales). Supongo que podemos decir que tenemos m muestras de tiempo n muestras espaciales de sensores, pero la aplicación física no es demasiado importante aquí.

Además, también tenemos un vector y de tamaño m x 1 . (Este es su vector de 'etiqueta', o su 'respuesta' correspondiente a cada fila de X ). Por simplicidad, he asumido que m=n=2 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:θ

J(θ)=12metroyo=1metro[θ0 0X0 0[yo]+θ1X1[yo]-y[yo]]2

Ahora, tomemos la primera derivada parcial wrt , (característica 0) Así:θ0 0

δJ(θ)δθ0 0=1metroyo=1metro[θ0 0X0 0[yo]+θ1X1[yo]-y[yo]]X0 0[yo]

δJ(θ)δθ0 0=1metroyo=1metro[θ0 0X0 02[yo]+θ1X1[yo]X0 0[yo]-y[yo]X0 0[yo]]

Ahora, calculemos todos los segundos parciales, entonces:

δ2J(θ)δθ0 02=1metroyo=1metroX0 02[yo]

δ2J(θ)δθ0 0θ1=1metroyo=1metroX0 0[yo]X1[yo]

δ2J(θ)δθ1θ0 0=1metroyo=1metroX1[yo]X0 0[yo]

δ2J(θ)δθ12=1metroyo=1metroX12[yo]

Sabemos que el hessiano no es más que:

H(J(θ))=[δ2J(θ)δθ0 02δ2J(θ)δθ0 0θ1δ2J(θ)δθ1θ0 0δ2J(θ)δθ12]

H(J(θ))=[1metroyo=1metroX0 02[yo]1metroyo=1metroX0 0[yo]X1[yo]1metroyo=1metroX1[yo]X0 0[yo]1metroyo=1metroX12[yo]]

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:X

H(J(θ))=XTX=Σ

... 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?

Spacey
fuente

Respuestas:

7

Puedes pensar en cuadrados mínimos lineales en una sola dimensión. La función de costo es algo así como . La primera derivada (jacobiana) es entonces , por lo tanto lineal en . La segunda derivada (Hesse) es , una constante.un22unun2

Como la segunda derivada es positiva, se trata de una función de costo convexa. Esto es equivalente a la matriz de Hesse definida positiva en el cálculo multivariante.

Usted maneja solo dos variables ( , ) por lo tanto, el Hessian es particularmente simple.θ1θ2

En la práctica, sin embargo, a menudo hay muchas variables involucradas, por lo que no es práctico construir e inspeccionar Hesse.

Un método más eficiente es trabajar directamente en la matriz jacobiana en el problema de mínimos cuadrados:J

JX=si

J puede ser deficiente en rango, singular o casi singular. En tales casos, la superficie cuadrática de la función de costo es casi plana y / o se estira enormemente en alguna dirección. También puede encontrar que su matriz es teóricamente solucionable, pero la solución es numéricamente inestable. Se puede utilizar un método de preacondicionamiento para hacer frente a tales casos.

Algunos algoritmos simples ejecutar una descomposición de Cholesky de . Si el algoritmo falla, significa que es singular (o está mal condicionado).JJ

Numéricamente más estable, pero más costoso es una descomposición QR , que también existe solo si es regular.J

Finalmente, el método más avanzado es una Descomposición de Valor Singular (SVD) , que es más costosa, se puede hacer en cada matriz, revela el rango numérico de y le permite tratar los casos deficientes de rango por separado.J

Escribí un artículo sobre soluciones de mínimos cuadrados lineales y no lineales que cubre estos temas en detalle:

Mínimos cuadrados lineales y no lineales con Math.NET

También hay referencias a grandes libros que tratan temas avanzados relacionados con mínimos cuadrados (covarianza en parámetros / puntos de datos, preacondicionamiento, escalado, regresión de distancia ortogonal: mínimos cuadrados totales, determinación de precisión y exactitud del estimador de mínimos cuadrados, etc. )

He realizado un proyecto de muestra para el artículo, que es de código abierto:

LeastSquaresDemo - binario

LeastSquaresDemo - fuente (C #)

Libor
fuente
θθ
2) Sí, quiero decir en general. En mínimos cuadrados lineales, toda la superficie de error tiene constante de Hesse. Tomar una segunda derivada de cuadrático es constante, lo mismo se aplica para Hesse. 3) Depende del condicionamiento de su matriz de datos. Si el Hessian es spd, existe una única solución cerrada y la superficie de error es convexa en todas las direcciones. De lo contrario, la matriz de datos está mal condicionada o singular. Nunca he usado Hessian para probar eso, más bien inspeccionando valores singulares de la matriz de datos o comprobando si tiene descomposición de Cholesky. Ambas formas le dirán si hay una solución.
Libor
XθXθ
Mohammad: 1) Reescribí la respuesta y agregué enlaces a mi artículo sobre Mínimos cuadrados (puede haber algunos errores, todavía no lo he publicado oficialmente), incluido el proyecto de muestra de trabajo. Espero que te ayude a entender el problema más profundamente ... 2) En cuadrados mínimos lineales, Hessian es constante y depende solo de puntos de datos. En general, también depende de los parámetros del modelo, pero este es solo el caso de los mínimos cuadrados no lineales.
Libor