¿Cuáles son algunas formas de evitar la maldición de la dimensionalidad?

La llamada “maldición de la dimensionalidad” a menudo se malinterpreta, por lo que la primera pregunta que debe hacerse siempre es: ¿es este el caso de la maldición de la dimensionalidad?

En términos generales, podemos decir que nos enfrentamos a la maldición de la dimensionalidad cuando algún algoritmo se comporta mal porque los datos se presentan en muchas dimensiones. Al contrario de lo que mucha gente piensa, este no es un caso muy común. Lo importante es que muchos de estos problemas solo ocurren cuando los datos se distribuyen uniformemente, los datos reales nunca se distribuyen uniformemente porque los datos reales no son aleatorios; esto se conoce como la “bendición de no uniformidad”.

Así que aceptemos, con un grano de sal, que tenemos un caso de la maldición de la dimensionalidad. Hay dos soluciones muy obvias:

  1. Cambiar el algoritmo
  2. Reduce la dimensionalidad de tus datos

No voy a discutir el n. ° 1 porque depende de lo que esté haciendo con sus datos.

Alrededor del # 2, los métodos habituales de reducción de dimensionalidad funcionan bastante bien. El SVD es casi siempre lo primero que debe probar (PCA), si eso no mejora las cosas, entonces se pueden aplicar otros métodos, incluidos:

  • Algoritmos de selección de características
  • Métodos de reducción de dimensionalidad no lineal: ISOMAP, mapas de origen laplacianos, MDS, etc.
  • Hashing de funciones / Proyecciones aleatorias.
  • Agrupar a través de K-medias y mantener la distancia a k centroides para k dimensiones.

En términos generales, si el SVD no es su solución, está muy cerca del n. ° 1: cambiar el algoritmo.

Codificación de datos en matrices

Puede identificar las variables relevantes antes de realizar cualquier recopilación de datos. La codificación matricial significa que las observaciones distintas con un número finito de variables obtienen datos recopilados y codificados. En los cálculos matriciales, debe esforzarse por obtener matrices de datos invertibles. Pero incluso sin matrices invertibles, puede aplicarles pseudo-inversas. La principal preocupación sobre la codificación matricial requiere que tenga una complejidad básica para los cálculos que utilizan la matriz de datos. Cuantas más características u observaciones tenga, más entradas de datos tiene la matriz y, a su vez, aumenta el costo de cálculo. Puede tomar una matriz de datos como se indica y aplicar descomposiciones de matriz para reducir el número de variables. Esto se llama reducción de dimensionalidad y equilibra la disminución del número de variables mientras se preserva la información en la matriz.

Codificación de datos en distribuciones estadísticas

En términos prácticos, la matriz codifica información con observaciones y variables. Uno puede hacer suposiciones sobre las observaciones, como la propiedad de independencia, y distribuirlas de manera idéntica. Esto conduce a distribuciones estadísticas para los valores numéricos y aplicaciones básicas de media y varianza. Puede admitir automáticamente valores estadísticos como modo o mediana de los valores numéricos. Si los datos se modelan con estas propiedades estadísticas, se pueden aplicar algoritmos de aprendizaje para aproximar las respuestas dadas a los datos. Esto se llama aprendizaje supervisado.

Codificación de datos y experiencia de dominio

Pero con cualquier codificación de información y modelado estadístico, uno necesita un buen sentido de los datos mismos. Inmediatamente requiere dominio de dominio o cooperación con el experto en dominio. Cada dominio aplica sus propias teorías, metodologías, terminologías e interpretación a su tema. Todos estos cálculos y evaluaciones requieren que un experto en el dominio de residencia evalúe el método y la interpretación. Tanto el metodólogo del aprendizaje como el experto en el dominio cooperan para preparar, analizar y evaluar los resultados. Y esto lleva a la correcta redacción o publicación.

Tenga en cuenta que el problema de la complejidad solo se formaliza en el análisis de datos, no en la filosofía. Los filósofos ni siquiera asumirán que los datos son simples o complejos. El complejo podría ser simple y viceversa. Para un filósofo, los algoritmos son automáticos y absolutamente verdaderos o absolutamente inexactos.

El problema más tradicional de la filosofía es expresar parsimoniosamente algo que siempre es cierto, pero no trivial. Para un filósofo, los datos ordinarios no son necesariamente más útiles que el sentido común, y el sentido común podría incluso demostrar que están equivocados. Entonces, los datos tienden a ser triviales para un filósofo.

La solución general que puedo haber inventado es la eficiencia exponencial , y los únicos métodos que conozco para alcanzarla son:

  • Coordenadas limitadas con la oposición diagonal necesaria de los opuestos (opuestos en posiciones opuestas) usando la fórmula AB: CD y AD: CB.
  • Movimiento perpetuo teórico (¡algunos de mis experimentos no eléctricos no magnéticos realmente funcionaron!).

De todos modos, en lo que respecta a un filósofo, las respuestas al problema de dimensionalidad / parsimonia son:

  1. Eficiencia exponencial.
  2. Uso apropiado de los datos: los algoritmos expresan aspectos específicos de los datos (separados, características individuales, que solo son complejas si es necesario. Por ejemplo, la población se mantiene simple, mientras que el nivel de democracia es más complejo).
  3. Desarrollando los resultados con AI
  4. Permanecer dedicado a las preocupaciones reales, independientemente de lo que parezcan decir los datos incoherentes. Esto se puede hacer haciendo preguntas penetrantes como: “¿Estas personas encuestadas valoran el significado?” “¿Es este el último estándar de análisis? ¿Por qué / cómo? ”“ ¿Qué diría Sócrates sobre esto? ”Etc. Crítica / argumentos más grandes / Sócrates: se puede agregar como método (s) adicional (es) de análisis para la perspectiva.

En general: 1. Eficiencia exponencial, 2. Especial, 3. Funciona (verificando la respuesta y aplicando la solución), 4. Tenga cuidado (¡piense críticamente!).

Puede probar la Selección de funciones, hay muchos métodos para encontrar las funciones más relevantes para la tarea, por ejemplo, Clasificación de funciones, Selección avanzada codiciosa, mRMR, métodos integrados como LASSO. Esos métodos pueden ser más o menos útiles dependiendo del número de características en los datos, el tiempo necesario para calcular, la redundancia entre las características, etc. En la clasificación de texto, puede reducir el número de características no informativas eliminando las “palabras vacías”.
En mi experiencia, el método más efectivo es mirar los datos e intentar descubrir cuál es la esencia de la clasificación. Además, puede pedirle a un experto (si hay alguno) que lo ayude en la tarea (probablemente él sepa qué características son relevantes).

La maldición de la dimensionalidad se puede curar con una buena función de suavizado que se interpola localmente en función del vecindario, al compartir la fuerza estadística, el aprendizaje de transferencia o el aprendizaje de tareas múltiples. se puede obtener más información leyendo las publicaciones de bengio sobre el aprendizaje de la representación: una revisión y nuevas perspectivas