¿Cuánta profundidad matemática para la ciencia de datos?

Creo que “cuanto más matemáticas, mejor” es cierto para todo en la vida, pero probablemente solo soy yo.

En su mayor parte, encuentro que comprender la idea detrás de algo es mucho más importante que los detalles técnicos.

Algunas maneras en las que he encontrado útil la intuición de las matemáticas más abstractas:

Aprendizaje automático:

  • Saber qué podría salir mal
    • Sí, las redes neuronales pueden aproximarse de manera arbitraria a una función continua por partes, pero hay una razón por la que a menudo convergerán en una solución que funciona mal alrededor de las discontinuidades. En lugar de pasar horas ejecutando experimentos en esto, puedo adivinarlo y ejecutar un control de cordura de media hora.
  • Saber que salió mal
    • Lo mismo, pero la retrospectiva hace las cosas más fáciles (y a veces más difíciles)
  • Para encontrar la manera correcta de pensar en su modelo.
    • Por ejemplo, los núcleos en SVM provienen de transformaciones entre espacios internos de productos. En problemas de clasificación, esto le permite elegir un espacio interno del producto en el que los datos se separan más fácilmente y asignar esa separación de nuevo a su espacio de características de una manera eficiente. A veces esta es una forma útil de pensarlo. Otras veces, es más útil ver un núcleo gaussiano como un algoritmo ponderado de vecinos más cercanos.
  • Para saber cuándo ML es innecesario .
    • Recientemente, después de enterarme de que estaba usando redes neuronales convolucionales en mi investigación, alguien se acercó a mí con su problema de investigación y me pidió que le aplicara CNN. En cambio, encontré una solución analítica y probé que, dada la información que tenían, era imposible construir una solución más precisa. Se necesitaron dos horas para desarrollar la solución, 30 minutos para implementarla y otras tres horas para demostrar que era óptima. En ese momento, podría haber entrenado a una CNN mediocre que tardó más en evaluar la entrada, tuvo que ser reentrenada para cada aplicación y nunca sería tan precisa.
    • Lo que digo es que creo que ML debería ser el último recurso. Si obviamente no hay una solución analítica viable o no tiene tiempo para buscarla, continúe y salte al último recurso. Si su objetivo es encontrar la mejor solución, generalmente es mejor probar primero un enfoque analítico.

Comprender las matemáticas me ha permitido omitir algunas de las cientos de horas de experimentación que normalmente se necesitan para obtener una intuición para el aprendizaje automático porque puedo hacer conjeturas fundamentadas sobre lo que sucederá y por qué, y simplemente realizar controles rápidos de cordura. Sin embargo, todavía tengo un largo camino por recorrer.

Estadística

Obviamente, las estadísticas son vitales para la ciencia de datos y comprender las matemáticas puede ayudar mucho a comprender las estadísticas. Hasta hace muy poco, había evitado estadísticas como la peste. Solo me interesaban las matemáticas “puras”.

Al igual que en ML, las matemáticas te permiten entrar directamente. Puedes entender rápidamente qué suposiciones importan en la práctica y cuáles son realmente solo importantes para la teoría.

A veces su problema no encaja bien en un paradigma en su libro de texto. Esos tiempos, una base sólida en matemáticas te ayuda a desarrollar tu propia teoría.

¿Qué matemática es más útil?

Álgebra lineal: por supuesto que lo es. Lo necesita si va a hacer casi cualquier otra cosa en esta lista. Si tiene una sólida comprensión de la descomposición de valores singulares, estará bien.

Análisis numérico: el análisis numérico se trata de determinar si un algoritmo funcionará en la práctica . Las computadoras no almacenan números exactamente, por lo que incluso cuando las matemáticas se verifican, el algoritmo aún puede fallar.

Seamos honestos. Nadie más que la NASA analiza su código tan intensamente antes de ejecutarlo , por lo que la mayoría de los días el análisis numérico no aparecerá. Pero un día, escribes un código, lo ejecutas y devuelve algunos valores disparatados. El análisis numérico te dice exactamente dónde te equivocaste.

No estoy abogando por hacer un análisis completo de su algoritmo cada vez que se vuelve loco porque el análisis numérico es realmente tedioso y poco práctico cuando su trabajo es explorar datos rápidamente. (Quizás para algún código de producción). Un poco de práctica con el análisis numérico es lo más importante para la intuición que te brinda para que puedas adivinar dónde está el problema.

Regla número 1 del análisis numérico: ¡Taylor Series es el rey!

Sin embargo, el análisis numérico incluye algunas otras herramientas.

  • Métodos de interpolación
    • Polinomios, trigonométricos, splines, etc.
  • Transformada rápida de Fourier !!!
    • Absolutamente entiendo las transformadas de Fourier! Aceleran la convolución, encuentran patrones en series de tiempo e imágenes, y mucho más.

Teoría de la medida, particularmente la integral de Lebesgue:

Profundizar no es necesario. Simplemente entienda las ideas básicas y realmente mejorará su intuición para la probabilidad.

¡¡¡¡¡Mejoramiento!!!!!

Este es uno enorme. Las diferentes técnicas de optimización afectan la tasa de convergencia, así como la cantidad de memoria requerida. Saber cuál usar será la diferencia entre construir un buen modelo y bloquear su computadora. Confía en mí, he hecho las dos cosas.

Pero, de nuevo, creo que el mayor beneficio es la intuición que obtienes sobre cómo converge un algoritmo.

Estadísticas: eso es solo una especie de matemática … pero obviamente es un gran problema. Conozca todo lo que pueda.

Geometría diferencial: no es necesario profundizar aquí. Sin embargo, debo admitir que, al comenzar a escribir un ejemplo de algunos conceptos de geometría diferencial que nunca necesitará saber, pensé en una aplicación potencial interesante para el aprendizaje automático, así que no tenga miedo de aprender demasiado.

Cuando especifica un tipo de modelo ML o la estructura de su red neuronal, está definiendo una variedad sobre el espacio de todas las funciones posibles e hipotetizando que la función que desea aproximar existe “cerca” de esa variedad. Una vez que ha ajustado su modelo, ha definido otra variedad (su función) que hipotetiza que cada punto en su conjunto de prueba también estará cerca.

Es prácticamente imposible visualizar estos múltiples con precisión, pero aún puede ganar un poco … sí, intuición de nuevo. Encontré esto particularmente útil al diseñar un algoritmo para optimizar varios modelos al mismo tiempo para eliminar el ruido de cada uno de ellos.

Esas son las cosas principales que me vienen a la mente en este momento, pero editaré esto si pienso en otra cosa.

Mientras más, mejor. Los documentos en el campo son altamente técnicos, y si está aplicando algoritmos, debe conocer los aspectos técnicos para comprender si los resultados son correctos para sus datos. La mayoría de los paquetes le darán una respuesta, pase lo que pase, pero pueden no ser precisos o aplicarse correctamente. Si quieres hacer I + D, probablemente incluso más matemáticas que una persona más aplicada.

Como mínimo para la aplicación práctica, diría cálculo multivariado, álgebra lineal, teoría de la probabilidad y algunos cursos de estadística. Para la investigación, la topología y la geometría diferencial ayudarán mucho, y algunos algoritmos requerirán más (como aprendizaje profundo y álgebra tensora / álgebra de Lie / topología más avanzada).

Dos enlaces útiles desde la barra lateral:

¿Qué papel juegan las matemáticas en la ciencia de datos?

¿Qué campos de las matemáticas son más esenciales para la ciencia de datos?

Supongo que mi pregunta luego evoluciona: ¿Cuáles son las herramientas más valiosas de las matemáticas puras (dadas las limitaciones de tiempo / habilidad) para ayudar a uno a aprender estadísticas avanzadas / ML? Entiendo que la probabilidad de la teoría de la medida es bastante intensiva en análisis. ¿Qué cosas de las matemáticas puras me ayudarían más en mi búsqueda de estas materias? He realizado análisis básicos reales / complejos y el conjunto habitual de cursos de pregrado de cálculo.