MLconf 2015 Seattle: ¿Cuándo uso la normalización de varianza media / unidad cero frente a la normalización de unidad L1 / L2?

La respuesta corta es que cuando tiene datos densos (es decir, para cada dimensión que tiene una medición), utiliza la normalización de media / varianza de unidad cero y cuando tiene datos escasos (lo que significa que cada observación tiene muy pocas mediciones, la mayoría de los datos es cero ), luego usa la unidad de normalización L1 o L2.

Sin embargo, una aclaración interesante es que

  • La normalización de media / varianza unitaria se realiza típicamente en cada columna
  • la unidad L1 / L2 se realiza en cada fila

La primera normalización coloca los datos en una bola “gaussiana” centrada alrededor del origen, mientras que la segunda normalización coloca los datos en la superficie de la esfera de la unidad. Citamos el “gaussiano” porque sus datos podrían no ser gaussianos. La verdad es que si sus datos son valores continuos y densos, es bastante razonable hacer esta suposición. Cuando sus datos son escasos (y generalmente no negativos), la normalización de filas hace que se comporten como una distribución de probabilidad (la mayoría de las veces multinomiales).

También hay otra perspectiva práctica. Si solo hace cero la normalización de la media en datos dispersos, entonces ya no será dispersa, ya que todos los ceros se volverán distintos de cero cuando reste la media. Pero esa es una forma poco ortodoxa de responder la pregunta. ¿Qué pasa si realmente necesitas hacerlo? En ese caso, mantiene en un vector separado las medias divididas por las variaciones y las aplica más adelante en sus cálculos. Por ejemplo, si tiene que tomar el producto escalar entre un vector disperso que ha sido cero significa normalizado y el vector unitario que tiene todos, entonces suma los elementos inicialmente distintos de cero y luego suma el recuento de ceros inicialmente multiplicado por -medio / varianza.

Las personas que me siguen saben que siempre tengo una forma poco ortodoxa de responder preguntas. Todo lo anterior fue solo intuición y regla general, algo que sucede en la mayoría de los casos. La verdad es que la normalización depende de lo que realmente quieres hacer y difiere de un caso a otro. Permíteme mostrarte algunos estudios de casos y más referencias para leer:

  • Si va a entrenar un clasificador lineal con métodos de gradiente, obtendrá una convergencia mucho más rápida si realiza una varianza de unidad de media cero. Mire la excelente charla de Yann Lecun y John Langford en el código abierto de Big Data de Nueva York http://cilvr.cs.nyu.edu/diglib/l…
  • Cuando está haciendo PCA, si no hace una normalización media cero, obtendrá un primer valor propio de muy alta magnitud que limitará la visibilidad de sus componentes principales. Esto también se muestra en el conjunto de diapositivas anterior. La historia corta es que distorsionará los resultados de PCA (análisis de componentes principales) y no obtendrá la imagen completa
  • Si sus datos son realmente relacionales, lo que significa que son básicamente un gráfico, la normalización L1 de columnas y filas y luego SVD (descomposición de valores singulares) es equivalente a la agrupación espectral. Las matrices de kernel o, en general, las matrices que representan la similitud del artículo en la fila i con el artículo en la columna j se benefician mucho de la normalización de la unidad de columna de fila L1. Vea el trabajo de Steffane Lafon aquí http://en.wikipedia.org/wiki/Dif…
  • Cuando desee medir similitudes entre dos filas con el producto de punto, entonces es una buena idea hacer la normalización de la unidad de fila / columna L1. Por ejemplo, si cada fila tiene el recuento de la bolsa de palabras de los documentos de texto, desea dividir cada columna (palabra) por el recuento total (esa es la norma L1 de la columna) porque desea enfatizar que las palabras frecuentes tienen poca información. Entonces desea hacer una normalización de fila de unidad L1, porque desea penalizar documentos con demasiadas palabras (enciclopedia). Si no lo hace, terminará teniendo la enciclopedia como el vecino más cercano a cualquier otro documento.
  • Como último comentario, si está tratando de calcular los vecinos más cercanos con datos densos, la normalización no afectará los resultados, pero la variación de la unidad distorsionará mucho la geometría y la mayoría de las veces le dará muy malos resultados.

Espero que estos estudios de caso hayan sido útiles,

More Interesting

Mi algoritmo de ML, escrito en Python, está casi completo. Quiero que sea un sitio web. ¿Cuál es la mejor manera de conectar mi script Python a Meteor?

¿Existe alguna medida estadística que demuestre que un clasificador Neural Net con una precisión del 96% en un conjunto de datos de N ejemplos proporcionará una precisión similar en el mundo real?

¿Existe una definición matemática para una máquina de vectores de soporte?

¿Cuál es la diferencia entre un conjunto de datos y una característica?

¿Cómo puede Machine Learning ayudar a un desarrollador de Android?

Cómo usar un árbol de decisión para clasificar un conjunto de datos no balanceado

¿Es generalmente una buena idea entrenar en caso real, desarrollar y probar conjuntos de datos para la traducción automática?

¿Cuál es una buena distribución para usar para simular un conjunto de entrenamiento para la clasificación supervisada?

Visión por computadora: ¿Cuáles son los problemas abiertos para la recuperación de imágenes?

¿Es posible cambiar a un doctorado en aprendizaje automático después de un MPhil en econometría?

¿Qué método de aprendizaje profundo es el más adecuado para PNL?

¿Puedo hacer una competencia de kaggle con un archivo csv de entrenamiento de 0.5 Gb en mi computadora de 8 Gb y tener éxito?

¿Es probable que Goldman Sachs sea el primero en alcanzar la singularidad?

¿Cómo funciona el algoritmo EM para un modelo mixto que factoriza según un modelo Naive-Bayes?

¿Qué tan útiles son los límites de convergencia en la aplicación práctica del aprendizaje automático?