Estoy tratando de ejecutar un algoritmo básico de descenso de gradiente con una función de pérdida absoluta. Puedo conseguir que converja a una buena solución por lo que requiere un tamaño de paso mucho menor y más iteraciones que si hubiera utilizado la pérdida cuadrada. ¿Es esto normal? ¿Debo esperar que la pérdida absoluta tome más tiempo para llegar a una buena solución o que oscile potencialmente alrededor de una solución más que, por ejemplo, la pérdida cuadrada?
Respuestas
¿Demasiados anuncios?Esto es posiblemente una consecuencia de una deficiencia conocida de los algoritmos de descenso más pronunciado en general. El uso de un algoritmo de gradiente conjugado puede mejorar la convergencia.
Cuando dice "una función de pérdida absoluta", ¿quiere decir que está utilizando desviaciones mínimas absolutas (LAD) en lugar de los más habituales mínimos cuadrados ordinarios (OLS)? Como dice ese artículo de la wikipedia, aunque LAD es más robusto a los valores atípicos que OLS puede ser inestable e incluso tener múltiples soluciones, por lo que no parece tan sorprendente que sea más difícil encontrar el mínimo de la función objetivo aunque sólo haya una.
Si estás probando esto porque buscas algún tipo de regresión robusta Creo que hay varias alternativas más atractivas que LAD.
Creo que deberías probar otros métodos, como por ejemplo Lasso:
En algunos contextos puede ser preferible una versión regularizada de la solución de mínimos cuadrados. El algoritmo LASSO (least absolute shrinkage and selection operator), por ejemplo, encuentra una solución de mínimos cuadrados con la restricción de que | β | 1, la norma L1 del vector de parámetros, no sea mayor que un valor determinado. De forma equivalente, puede resolver una minimización no restringida de la penalización por mínimos cuadrados con α | β | 1 añadida, donde α es una constante (esta es la forma lagrangiana del problema restringido). Este problema puede resolverse mediante programación cuadrática o métodos de optimización convexa más generales, así como mediante algoritmos específicos como el algoritmo de regresión por mínimos ángulos. La formulación L1-regularizada es útil en algunos contextos debido a su tendencia a preferir soluciones con menos valores de parámetros distintos de cero, reduciendo efectivamente el número de variables de las que depende la solución dada. Por esta razón, el LASSO y sus variantes son fundamentales en el campo de la detección comprimida.
No obstante, aunque la idea de la regresión de las desviaciones mínimas absolutas es tan sencilla como la de la regresión de los mínimos cuadrados, la línea de las desviaciones mínimas absolutas no es tan fácil de calcular de forma eficiente. A diferencia de la regresión por mínimos cuadrados, la regresión por desviaciones mínimas absolutas no tiene un método de resolución analítico. Por lo tanto, se requiere un enfoque iterativo. A continuación se enumeran algunos métodos de resolución de desviaciones mínimas absolutas.
Métodos basados en Simplex (como el algoritmo Barrodale-Roberts)
Mínimos cuadrados reponderados iterativamente
Método de descenso directo de Wesolowsky
Enfoque de máxima probabilidad de Li-Arce
Compruebe todas las combinaciones de líneas punto a punto para la suma mínima de errores Los métodos basados en Simplex son la forma "preferida" de resolver el problema de las mínimas desviaciones absolutas. Un método Simplex es un método para resolver un problema de programación lineal. El algoritmo más popular es el algoritmo Simplex modificado de Barrodale-Roberts. Los algoritmos para el IRLS, el Método de Wesolowsky y el Método de Li se pueden encontrar en el Apéndice A de este documento,[7] entre otros métodos. Comprobar todas las combinaciones de líneas que atraviesan dos puntos de datos cualesquiera (x,y) es otro método para encontrar la línea de mínima desviación absoluta. Dado que se sabe que al menos una línea de desviación mínima absoluta atraviesa al menos dos puntos de datos, este método encontrará una línea comparando el SAE de cada línea, y eligiendo la línea con el menor SAE. Además, si varias líneas tienen la misma SAE, la más pequeña, entonces las líneas delinean la región de soluciones múltiples. Aunque es simple, este método final es ineficiente para grandes conjuntos de datos.