Codificación dispersa: ¿cuál es la implementación paso a paso para la codificación dispersa? ¿Qué representa la norma l0 / norma l1 / regularización?

La codificación dispersa es un método para encontrar un pequeño número de funciones básicas para representar una señal de entrada. En cierto modo, es similar al análisis de componentes principales y la detección comprimida. Comprenda esto en términos de una señal 1D. Digamos que tiene una señal de serie temporal 1D infinitamente larga que tiene algún tipo de “naturaleza”. Cuando representa esta señal de serie temporal 1D en el dominio de Fourier (frecuencia), obtiene algunos coeficientes que representan la señal completa. Ahora, puede comprender la señal de series de tiempo 1D infinitamente larga con solo unos pocos coeficientes en un dominio diferente, en este caso, el dominio de Fourier. Básicamente, desea encontrar estos pocos coeficientes (la base) de una señal de entrada en el dominio alternativo y reconstruir su señal con estos pocos coeficientes. Luego, determine qué tan cerca está la señal reconstruida de su señal de entrada original. Para hacer esto, debe minimizar | input_signal – reconstruction_of_input_signal |

El menor número de coeficientes o base de su señal de entrada que reduce el error anterior es la representación de base optimizada de su señal de entrada. En ese sentido, puede usar la norma L0. La norma L0 calcula el número de coeficientes no nulos / no triviales o la representación básica de su señal de entrada. L0 es convexo y difícil de minimizar. Por lo tanto, la alternativa es usar la norma L1. La norma L1 calcula la suma de coeficientes no nulos / no triviales o la representación básica de su señal de entrada. L1 es convexo y puede resolverse utilizando técnicas como Basis Pursuit. La norma L2 es con la que estamos más familiarizados y calcula la diferencia cuadrada euclidiana entre funciones básicas. La norma L2 se usa en formulaciones de mínimos cuadrados.

Básicamente, la norma L0 parece una función Delta de Dirac, la norma L1 parece un diamante y la norma L2 parece un círculo.

Andrew Ng de Stanford tiene algunas notas de conferencia sobre esto. También tiene código en:
http://ai.stanford.edu/~hllee/so…
Tesis sobre codificación dispersa para visión artificial:
http://web.eecs.umich.edu/~hongl…
Codificación dispersa para análisis de imágenes, tutorial CVPR y caja de herramientas MATLAB:
http://www.di.ens.fr/~mairal/tut…

Espero que esto ayude,
Ankur Kumar

[Esta respuesta se refiere solo a la segunda pregunta]
Norma L1:
Es un buen proxy de la norma L0, que es un buen proxy del rango, que es un buen proxy del rango / grado de libertad.
Es la relajación convexa de la norma L0.
Es el cuerpo convexo más pequeño que contiene todos los vectores dispersos.
/ \
\ /
La norma nuclear le da el componente de bajo rango de la matriz, mientras que la norma l_1 le da el componente escaso de la matriz.

More Interesting

¿Cuál crees que es la razón detrás de la asociación de Microsoft y Amazon en la tecnología de red neuronal llamada 'Gluon'?

¿Cuál es la principal diferencia entre la forma bayesiana de estimación de parámetros y la regresión lineal?

¿Son las redes neuronales modelos paramétricos o no paramétricos?

¿Cuál es una explicación intuitiva del algoritmo wake-sleep?

¿Qué es un modelo oculto de Markov - Red neuronal artificial (HMM-ANN)?

¿Qué hace que una computadora sea única? ¿Es el HDD? Si es así, ¿eliminarlo y ponerlo en otra máquina hace que esa máquina sea la misma que la original?

¿Qué tan importante es Octave como primer paso en Machine Learning? ¿Se utiliza en la industria?

¿Cuál es el beneficio de usar métodos de detección de comunidad gráfica sobre los enfoques de agrupación de datos y aprendizaje automático?

¿Qué enfoques utilizaron los participantes en Quora ML CodeSprint 2013?

¿Es importante aprender Python para el aprendizaje automático? He aprendido R. ¿Cómo puedo aprender el aprendizaje automático en R?

¿Cuáles son las implicaciones de privacidad del reconocimiento facial DeepFace de Facebook?

¿Puedo usar word2vec para entrenar un clasificador de aprendizaje automático?

¿Cuáles son ejemplos cuando es útil generar muestras a partir de un modelo probabilístico?

¿Es posible el aprendizaje automático acelerado por GPU utilizando un controlador de gráficos de software libre?

¿Cómo se pueden entender intuitivamente las dimensiones de las entradas LSTM?