¿Por qué querríamos intentar aprender una base demasiado completa en codificación dispersa?

Creo que es importante comenzar con PCA.

PCA le brinda una base completa. La solución PCA le brinda una matriz para proyectar sus observaciones n-dimensionales en un espacio k-dimensional más bajo. Las columnas de la matriz de proyección PCA forman una base ortogonal (k vectores de base n-dimensionales) y un vector PCA k-dimensional consiste en los coeficientes k que se utilizan como factores de escala para cada vector base para reconstruir la observación n-dimensional. k es generalmente más pequeño (a menudo mucho más pequeño) que las n dimensiones originales del espacio de observaciones.

Los vectores básicos de PCA se estiman en un conjunto de entrenamiento y no cambian después de eso, por lo que la elección de los datos de entrenamiento es crítica.

Al estimar los vectores básicos de PCA, la función objetivo es el error cuadrático medio entre los vectores de entrenamiento reconstruidos y los vectores de entrenamiento originales y la solución óptima minimiza esta función objetivo. Esta solución óptima son los vectores propios de alto rango de la matriz de correlación de los datos de entrenamiento. Se puede demostrar que PCA es la solución óptima para encontrar vectores base k n-dimensionales para reconstruir el conjunto de datos de entrenamiento.

La codificación dispersa cambia la idea de PCA al agregar la restricción de que los vectores base deben ser dispersos, es decir, deben tener solo unos pocos componentes distintos de cero. Debido a que los vectores base son ahora escasos, se requieren más de ellos para reconstruir con precisión los vectores de observación. De hecho, cuanto más dispersos sean los vectores base (cuantos menos componentes distintos de cero tengan), más numerosos deberán ser para lograr la misma tasa de error de reconstrucción en un conjunto de datos de entrenamiento. Esto es lo que se entiende por sobrecompletar.

La escasa restricción de codificación se puede lograr agregando un costo L1 a la función objetivo. El peso en el término L1 debería determinar la escasez de los vectores base. Dicho esto, la optimización no es tan sencilla como para PCA y, a diferencia de PCA, una vez que los vectores base se han estimado en los datos de entrenamiento, es costoso codificar nuevos vectores de prueba ya que esto también requiere resolver un problema de optimización.

Puede encontrar más información sobre codificación dispersa aquí:
Codificación dispersa – Ufldl

Una pregunta que no puedo responder es qué ventajas tiene la codificación dispersa sobre la PCA.

La idea principal de utilizar una base demasiado completa es tratar de aprender una representación natural de la distribución de datos reales. El uso de una base incompleta dará como resultado una base que solo se ajusta bien a la distribución de la capacitación. En general, un código de mayor dimensión es más poderoso y puede modelar una distribución más compleja. Agregar escasez actúa como un ‘regularizador’ en un modelo para evitar que se sobreajuste los datos de entrenamiento. Puede encontrar una mejor elaboración en los siguientes enlaces que miré:

http://mlsp.cs.cmu.edu/courses/f

Además, mira el video de este chico: