¿Cuándo sale mal la reducción de dimensionalidad?

Respuesta basada en los detalles de la pregunta (ahora comentarios):

El lema de Johnson – Lindestrauss no suele ser la mejor herramienta para la reducción de la dimensionalidad, el objetivo principal del lema es proporcionar una buena explicación de por qué funcionan las proyecciones aleatorias. Lo importante que debe entender es que realmente no necesita una baja tasa de error (épsilon) porque siempre que mantenga las distancias entre los vectores, la mayoría de los algoritmos no se preocupan realmente por el error de reconstrucción en comparación con el espacio original.

Lo que sucedió en su caso fue que fijó un épsilon muy bajo y, por lo tanto, el lema JL le dio una dimensionalidad que en realidad era más alta que su número original de dimensiones.

En lugar de corregir el error y encontrar la dimensionalidad, un enfoque más común es corregir las dimensiones y luego encontrar la mejor reducción, esto generalmente se hace usando el SVD (PCA). Este enfoque es mucho más común porque si desea aplicar la reducción de dimensionalidad debe ser porque no le está yendo bien en su espacio original, entonces, dependiendo de lo que quiera hacer con los datos, debe encontrar qué dimensionalidad funcionaría bien para usted y luego encuentre una manera de asignar sus datos a este nuevo espacio.

Algunas instancias de esto incluyen la asignación al espacio incorrecto (lineal frente a no lineal), los métodos que no capturan las características correctas (local frente a global) y que no tienen la potencia de cálculo para el tamaño de la muestra. Aquí hay una revisión que hice sobre este problema: https://www.slideshare.net/Colle

No hay forma de que pueda obtener un aumento en la dimensión de la matriz a menos que no pueda continuar con el resto del algoritmo

Supongamos que tengo una matriz [math] A \ in \ mathbb {R} ^ {m \ times n} [/ math]

ese rango de A es como máximo [math] max \ {m, n \} [/ math]

si tomo [math] W \ in \ mathbb {R} ^ {n \ times l} [/ math]

y se muestrea de manera uniforme al azar en algo como [-1,1]

entonces multiplico [matemáticas] AW [/ matemáticas]

Estoy probando el espacio de la columna aquí.

Ahora, tome QR reducido [matemáticas] [/ matemáticas]

de AW

[matemáticas] Q ^ {T} A [/ matemáticas]

ahora tome la SVD reducida

La SVD es la mejor aproximación de rango k para una matriz.

Regresar [matemáticas] U_ {k} S_ {k} V_ {k} ^ {T} [/ matemáticas]

No has hecho la SVD. Y no estoy seguro de por qué elegiste una dimensión más grande para el espacio que toda la dimensión de la matriz. Nuestra suposición es que deseamos muestrear alguna parte del espacio de la columna, por lo que creemos que no es un rango completo, por lo que las columnas de matriz aleatoria son menores que la dimensión máxima de nuestra matriz, de hecho, podemos tener un parámetro arbitrario aquí. El algoritmo QR hace referencia a la resolución de un sistema de ecuaciones con esto. Simplemente puede usar el SVD, o no multiplicar a través de Qt, la descomposición QR lo hace un poco mejor.

More Interesting

¿Puedes recomendar un gran conjunto de videos de YouTube sobre aprendizaje automático y redes neuronales dirigidas a principiantes?

¿Puedo usar una CPU para generar datos (aumento) cuando el entrenamiento de flujo de tensor en GPU es de forma paralela?

¿Cómo funcionan los bots de chat desde una perspectiva de Machine Learning?

¿Cuál es una mejor manera de comenzar a aprender Ciencia de Datos, a través de cursos en línea o en un Instituto de capacitación?

¿Cómo aprende IBM Watson de los libros y documentos médicos?

¿Por qué la disminución de la tasa de aprendizaje también aumenta la tasa de sobreajuste en una red neuronal?

Estamos viendo el comienzo de las máquinas que pueden codificar. ¿Aprender un lenguaje de programación aún sería útil en la carrera de ML?

¿Cuáles son algunos ejemplos de inteligencia artificial en sitios web?

Hay muchas críticas positivas para Pytorch. Actualmente uso Keras y TensorFlow. ¿Recomienda hacer un cambio o apegarse a Tensorflow y dominarlo?

¿Cuál es el mejor código comercial de reconocimiento facial?

En R, ¿qué significa elegir lambda por validación cruzada (cresta, lazo)?

¿El desarrollo teórico en el aprendizaje automático está llegando a un punto muerto (significa que no habrá necesidad de continuar)?

¿Qué tan buenos son los conjuntos de datos SIG en India (por ejemplo, red de carreteras / calles, parcelas municipales, etc.)? ¿Cuáles son las fuentes para este tipo de conjuntos de datos?

Además de tratar de reconstruir la entrada (como en Autoencoder), ¿qué otras tareas podrían resultar útiles para el aprendizaje no supervisado de redes profundas?

¿Cuál es la función de las máquinas restringidas de Boltzmann para el filtrado colaborativo?