Estoy tratando de comparar la complejidad computacional / velocidad de estimación de tres grupos de métodos para la regresión lineal como se distingue en Hastie et al. "Elementos del aprendizaje estadístico" (2ª ed.), Capítulo 3:
- Selección de subconjunto
- Métodos de contracción
- Métodos que utilizan direcciones de entrada derivadas (PCR, PLS)
La comparación puede ser muy aproximada, solo para dar una idea. Entiendo que las respuestas pueden depender de la dimensión del problema y de cómo se ajusta a la arquitectura de la computadora, por lo que para un ejemplo concreto se puede considerar un tamaño de muestra de 500 y 50 regresores candidatos. Estoy interesado principalmente en la motivación detrás de la complejidad computacional / velocidad de estimación, pero no en cuánto tiempo tomaría cierto procesador para el ejemplo dado.
machine-learning
estimation
feature-selection
algorithms
time-complexity
Richard Hardy
fuente
fuente
Respuestas:
Grupo 1 :2K K O(K2n) n .O(2KK2n)
La complejidad / velocidad del grupo 1. no parece demasiado difícil de determinar si se utilizan algoritmos de fuerza bruta (aunque puede haber alternativas más eficientes como el algoritmo de "saltos y límites"). Por ejemplo, la selección completa de un subconjunto requerirá regresiones K para ajustarse dado un conjunto de características K candidatas. Un ajuste OLS de una regresión lineal tiene la complejidad de O ( K 2 n ) (según esta publicación ) donde n es el tamaño de la muestra. Por lo tanto, la complejidad total de la selección del subconjunto completo de fuerza bruta debe ser O ( 2 K K 2
Grupo 2 :λ λ S λ L λ O(LSK2n)
λ λ O(LSK2n)
O(ALSK2n) A α
La complejidad / velocidad del grupo 2. se discute en las secciones 3.8 y 3.9 del libro. Por ejemplo, la regresión de cresta con una penalización dada tiene la misma complejidad computacional que una regresión regular. Dado que se necesita encontrar λ mediante la validación cruzada, la carga computacional aumenta linealmente en el número de divisiones de datos utilizadas en la validación cruzada (por ejemplo, S ). Si la cuadrícula λ tiene L puntos, la complejidad total de la regresión de cresta con el ajuste del parámetro λ será O ( L S K 2 n ) .
Grupo 3 :
I todavía echo cualquier nota de la complejidad / velocidad para el grupo 3. que consiste de principal de regresión componentes (PCR) y mínimos cuadrados parciales (PLS).
fuente
Es solo para una parte de la pregunta 2 del grupo 3 anterior (es decir, PLS), pero puede ser informativo: Srinivasan et al (2010, informe técnico; consulte https://www.umiacs.umd.edu/~balajiv/Papers/ UMD_CS_TR_Pls_Gpu.pdf ) realizó algunas mediciones en PLS utilizando el algoritmo NIPALS, indicando que la complejidad de tiempo (y espacio) de este algoritmo sería O (dN), para la extracción e incluyéndolas en diferentes modelos para a) detección de humanos en imágenes, y b ) Reconocimiento facial. Las mediciones se realizaron utilizando su propia implementación basada en GPU.
fuente