Comenzaré mi Maestría en Aprendizaje Automático en 4 meses, pero mis habilidades matemáticas están por debajo del nivel. ¿Cómo debo hacer para desarrollar las habilidades matemáticas necesarias antes de que comience la clase?

Érase una vez, mis habilidades matemáticas estaban por debajo del nivel. Lo que hice fue repensar mi estrategia, tengo un lema.

“Las cosas simples constituyen cosas avanzadas”

Durante mis días de escuela secundaria, mis habilidades en matemáticas eran promedio, pero quería vencer al mejor estudiante de matemáticas. Así que decidí volver a lo básico, como la base real de las matemáticas como las leyes conmutativas, factorización, fracciones, exponenciales, vectores y muchos más. Me aseguré de que entendía esas reglas básicas de las matemáticas. ¿Por qué es eso importante?

Bueno, los conceptos básicos de matemáticas simples siempre aparecerán incluso en las expresiones matemáticas más complejas, ya que son los bloques fundamentales de las matemáticas. Así que mi lema me sirvió bastante, logré vencer al mejor estudiante de matemáticas durante una prueba en la que obtuve el puntaje más alto, aproximadamente el 98%. Continué usando ese lema a lo largo de mis días universitarios. Comencé a obtener fácilmente el 100% en la mayoría de los cursos de ciencias naturales, como química, matemáticas, física e ingeniería; estaba un poco por encima del promedio en lo que respecta a la biología, simplemente porque mi interés nunca estaba en la medicina.

Más tarde descubrí que ese lema mío es solo un principio bien conocido conocido como aprendizaje por el primer principio. Cuando se enfrente a una tarea, morder las piezas que puede masticar y digerir, morder por mordida podrá digerir toda la tarea de manera que le permita pensar desde una perspectiva como ninguna otra. Aprender por el primer principio no es un regalo para unos pocos elegidos como Elon Musk, también puedes aprenderlo. Normalmente, las personas que pasan mucho tiempo aprendiendo temas complejos, como Elon Musk, descubren la importancia de descomponer un problema en sus verdades / hechos básicos y la razón a partir de ahí. Es algo que mejora con la práctica, como un deporte.

Así que tienes 4 meses para afilar el hacha. En vez de eso, puede pasar ese tiempo revisando las áreas que considera incómodas para usted. A continuación, asegúrese de tocar los siguientes requisitos previos:

  1. Álgebra lineal : vectores y matrices, revisar los conceptos básicos de las operaciones de vectores y matrices. Tales como la multiplicación de matrices, vectores direccionales y muchos más. Eche un vistazo a elementos de álgebra lineal más avanzados pero muy importantes, como los algoritmos de descomposición de valores singulares (SVD) para resolver problemas de mínimos cuadrados lineales y muchos más, como encontrar inversos de pseudo matrices.
  2. Optimización numérica : debe volver a visitar el mundo de la optimización numérica mientras se enfoca más en los algoritmos de optimización basados ​​en gradientes tanto en los métodos de primer orden como en los de segundo orden. Luego lea sobre las variantes de optimización del aprendizaje automático (ML), como el descenso de gradiente estocástico (SGD), que es básicamente una versión simplificada del algoritmo de descenso de gradiente normal. SGD realiza una actualización (paso) de los parámetros después de solo observar un ejemplo, mientras que el descenso de gradiente normal realiza una actualización de los parámetros después de un paso completo a través de todos los ejemplos. Incluso si SGD usa una aproximación tan cruda del campo de gradiente, en la práctica eso no parece importar. Esto hace que SGD y sus variantes por lotes sean los mejores algoritmos de optimización para la mayoría de los algoritmos ML.
  3. Estadísticas y probabilidad : revise la teoría de probabilidad que se centra en el teorema de Bayes, las reglas de probabilidad, la distribución de probabilidad, como las distribuciones gaussiana y binomial, son muy importantes. La distribución binomial es importante para resultados discretos que ocurren con bastante frecuencia en la mayoría de los problemas de inteligencia artificial (AI). Por ejemplo, cuando se decide si un objeto está presente o no, y solo se le asignan características como valores atípicos y extremos, esto suele ocurrir en aplicaciones de visión artificial (CV).
  4. Cálculo : el cálculo diferencial es especialmente importante para los algoritmos de aprendizaje automático, ya que la mayoría de ellos se basan en cálculos de derivadas con respecto a la función objetivo. La regla de la cadena es muy importante en ML, porque es el concepto subyacente más importante detrás del algoritmo de backpropagation (backprop). Backprop básicamente es el encadenamiento de derivados de la capa de salida (donde la función de pérdida está conectada, por lo tanto, es más fácil de calcular los derivados) a la capa de entrada (donde es más difícil calcular los derivados porque es el más alejado de la función de pérdida). Backprop fue un descubrimiento que devolvió las redes neuronales a la comunidad de investigación.
  5. Programacion Si tienes tiempo, cuando aprendes las matemáticas para el NM, necesitas un poco más y hacer algo sucio en la codificación. Intente implementar algunas de las matemáticas utilizando su biblioteca de álgebra lineal favorita en su lenguaje de programación favorito. El lenguaje mejor y más fácil de elegir para ML es Python, pero también necesita C ++ o C para implementar sufijos en niveles bajos, especialmente cuando se convierte en un ingeniero / investigador de ML más avanzado. Puede ir un poco más profundo al instalar bibliotecas ML para ayudarlo a codificar algunos de los problemas con facilidad. TensorFlow es una gran biblioteca para eso. Comience por implementar algoritmos como la regresión lineal simple, luego vaya a la regresión logística y al mismo tiempo aprenda las matemáticas detrás de ellos. De esta manera usted puede mantener la motivación.

Cuando revise esos requisitos previos, asegúrese de derivar las expresiones matemáticas importantes. De esa manera, se verá obligado a comprender los conceptos subyacentes y se quedarán con usted durante mucho tiempo. Y tenga en cuenta que siempre olvidará después de un tiempo, por supuesto que no todo, por lo que necesita ayudas de memoria para ayudarle a recordar teoremas, por ejemplo.

Puede configurar las cosas de manera tal que en el primer mes esté tratando con álgebra lineal y otros conceptos matemáticos que podría haber olvidado. Luego, en el segundo mes, enfóquese en la optimización numérica, mientras que en el tercer mes puede pasar a las estadísticas y la probabilidad. El último cuarto mes puedes centrarte en el cálculo.

También en la última semana de cierre (2 semanas), puede hacer una revisión rápida de todos los conceptos básicos, pasando por algunos problemas y resolviéndolos. También puede hacer una codificación básica de las matemáticas y ver si puede traducir sus habilidades matemáticas en código de trabajo. Pero no te estreses mucho con la codificación por el momento, se necesita más práctica para hacer que el código funcione, por lo que quizás solo te concentres en las matemáticas por ahora.

Espero que esto ayude.

Si generalmente tiendes a tener dificultades con las matemáticas, entonces es probable que tengas que volver a revisar los fundamentos de las matemáticas y seguir trabajando.

A menudo, la razón por la que no te sientes cómodo con las matemáticas es que tus fundamentos no son tan fuertes como deberían ser. Y ahora estás construyendo sobre esos fundamentos, por lo que todo el marco matemático en tu mente es muy inestable y frágil. Un poco de truco o giro en la pregunta, y estás perdido.

Ahora, para volver a los fundamentos absolutos de las matemáticas, recomiendo usar el libro de revisión de matemáticas GRE (disponible para descarga gratuita desde el sitio web oficial: http://www.ets.org/s/gre/pdf/gre …)

Comienza con conceptos como la adición de fracciones, leyes de exponentes, razón / porcentaje, resolución de ecuaciones lineales, etc. Estos son los fundamentos reales de las matemáticas. Necesitas poner en orden estos conceptos. Y estos temas matemáticos básicos te ayudan a desarrollar una intuición general de las matemáticas.

El libro es relativamente pequeño (100 páginas), cubre la teoría de cada uno de estos temas e incluye problemas y soluciones.

Como dice el dicho, no practiques hasta que lo hagas bien, practica hasta que no puedas hacerlo mal . No puedo enfatizar esto lo suficiente. Practique una y otra vez, asegúrese de comprender cómo resolver todos y cada uno de los problemas del libro.


Una vez que haya dominado este libro, debe pasar a las matemáticas más estándar para el aprendizaje automático. Aquí están los temas de matemáticas más centrales utilizados en ML:
– Probabilidades y estadísticas
– Álgebra lineal
– Optimización
– Cálculo multivariable
– Análisis funcional (no esencial).
– Lógica de primer orden (no esencial).
Puede encontrar material razonable en la mayoría de estos buscando “notas de lectura” en Google. Por lo general, encontrará buenas notas de clase compiladas por algún profesor que enseña ese curso. Los primeros resultados deben darle un buen conjunto para elegir.

Por ejemplo, aquí hay una lista de algunas notas de clase que encontré:

Probabilidad y estadísticas: https://users.info.uvt.ro/~kasli

Álgebra lineal: https://www.math.ku.edu/~lerner/

Optimización: http://www.ifp.illinois.edu/~ang…

Cálculo: https://www.math.wisc.edu/~angen

Cálculo matricial: http://www.atmos.washington.edu/…

Debes hojear estos, sin entrar en demasiados detalles. Puede volver a estudiar los temas cuando sea necesario mientras aprende ML.

Las otras respuestas son geniales. Pero quiero añadir algo teórico !!

Para su situación actual, las otras respuestas son suficientes, pero también quiero agregar la mía porque creo que puede darle otra perspectiva sobre este problema.

Creo que hay dos tipos de expertos en aprendizaje automático.

Los que utilizan y desarrollan los algoritmos de aprendizaje automático actuales y los que se suman a la base teórica.

Los temas necesarios para el primer grupo ya se mencionan en las otras respuestas.

Pero ahora quiero llevarte a la vanguardia.

Hay muchos matemáticos aplicados y estadísticos teóricos que están interesados ​​en desarrollar nuevas técnicas de modelado que puedan usarse para desarrollar nuevos algoritmos de aprendizaje automático.

Cómo lo hacen ? Bueno, te daré un ejemplo:

Como usted sabe, el análisis numérico es un tema importante de matemáticas en el aprendizaje automático.

Ahora suponga que desea desarrollar una nueva técnica numérica que pueda encontrar la regresión de una manera mucho más eficiente (Reducir los errores).

Debe conocer el Análisis matemático, las técnicas de prueba que aprenderá en temas del Análisis matemático, como el Análisis funcional y la Teoría de la medición, le facilitan el desarrollo de nuevos algoritmos numéricos.

¡Y luego los expertos en aprendizaje automático del grupo uno pueden usar este nuevo algoritmo numérico para desarrollar un nuevo algoritmo de aprendizaje automático y agregarlo a las bibliotecas de aprendizaje automático de Python! (Ese es el lenguaje que uso; p).

Entonces, si desea desarrollar nuevas técnicas de modelado probabilístico o modelado numérico, el estudio de los temas del análisis matemático también puede ser beneficioso.

Remita mi respuesta a una pregunta anterior.

La respuesta de Vaibhav Kumar a ¿Cuál es el primer paso para aprender el aprendizaje automático?

Si dices que tu matemática es débil puedes desarrollar una buena matemática.

Consulte estos libros.

Álgebra lineal por Gilbert Strang url? Url = http: //www.math.hcmus.edu.vn/~bx…

Thomas Calculus https://www.google.co.in/url?url…

Modelos probabilísticos https://github.com/ImaginationZ/…

Introducción a los algoritmos a través de CLRS https://www.google.co.in/url?url

Daré un regalo desde donde puedes aprenderlos.

Consulte MIT ocw videos para referencia

Análisis probabilístico de sistemas y probabilidad aplicada – probablemente

Introducción a los algoritmos – Algoritmos

Álgebra Lineal – Álgebra Lineal

Cálculo multivariable – cálculo

No está claro lo que sabes o no sabes … Así que será difícil dar una buena respuesta. Espero y no espero que algunos de los puntos a continuación sean demasiado básicos.

Saber Álgebra Básica (I y II) es crítico. Espero que esté en buena forma. Cosas como logrithms y exponenciales son importantes, especialmente el logaritmo “natural” y e, la constante de Euler. Con suerte, usted está cómodo con el signo de suma. También es importante el concepto básico de funciones.

Especialmente importante es resolver ecuaciones simultáneas: N incógnitas en N ecuaciones. El salto que necesitas para poder hacer es ver cómo se relaciona eso con las matrices.

Las matrices son cruciales porque se utilizan para representar sus datos en los que se basa todo el ML. Una fila representa un solo ejemplo de conjunto de entrenamiento. Una columna representa una característica. Debes sentirte cómodo con los subíndices dobles.

Una vez que te sientas cómodo con las Matrices, tendrás que ponerte al día con el Álgebra Lineal.

Es útil cierta geometría básica, como conocer la distancia euclidiana (es decir, la longitud de un vector). Tal vez algo de trigonometría también. Saber interpretar los gráficos. Conocer y comprender la fórmula punto-pendiente para una línea XY:

y = mx + b

El cálculo diferencial es útil porque la estimación de la pendiente de una función se utiliza en los métodos de aproximación para resolver los parámetros utilizados para hacer un modelo ML.

La probabilidad y las estadísticas son útiles para proporcionarle estimaciones sobre qué tan bueno es su modelo. La expectativa probablemente aparecerá.

Si estudias estadísticas bayesianas, entonces la probabilidad condicional es muy importante.

Si espera cubrir Redes neuronales (Aprendizaje profundo), necesitará conocer derivadas parciales.

Cómo ponerse al día es otra pregunta. Puedes intentar revisar libros o la Academia Khan.

Sin embargo, puede probar algunas de las clases de aprendizaje automático en línea, como las que se ofrecen en Coursera.org, Udacity, edx, etc.

De esa manera, estará expuesto a ML al mismo tiempo con las matemáticas utilizadas en ML. Puede ser que sea un poco para masticar. Por otro lado, aprender conceptos matemáticos en un vacío sin apreciar cómo pueden ser útiles puede ser desmotivante. Además, encontrar ML de manera informal antes de aprenderlo en clase es una buena preparación.

Y aprender algunas habilidades de programación. Dependiendo del profesor: R, Python, Matlab / Octave.

Comience con la probabilidad básica y luego aprenda todo lo que pueda sobre la probabilidad bayesiana lo más rápido posible.

Hay un excelente libro:

Probabilidad de estadística y aprendizaje automático – | Anirban DasGupta | Saltador

Tiene una multitud de problemas y respuestas resueltas con explicaciones.

Algunos temas que cubre el libro:

Markov Chain Monte Carlo

Cadenas de Markov y martingales.

Procesos gaussianos

Teoría de la CV

el algoritmo EM

intervalos de confianza

máxima verosimilitud y estimaciones de Bayes

granos

Estos son los temas que deberá tener una buena idea antes de comenzar el aprendizaje automático.

Álgebra lineal

Teoría de probabilidad y estadística

Cálculo multivariado

Algoritmos y optimizaciones complejas.

Otros (topología, espacios métricos, funciones de un solo valor y continuas, límites, kernel de Cauchy, transformadas de Fourier), teoría de la información (entropía, ganancia de información), espacios de funciones y colectores.)

Sin embargo, los primeros cuatro temas son esenciales.

El sitio que he vinculado tiene fuentes para aprender todos estos temas de varios MOOC en línea.

Las matemáticas del aprendizaje automático.

Saludos 🙂

Meses 1-4:

  1. Estudio de la teoría de la probabilidad (básica y avanzada). Se adhieren a la probabilidad (PDF y CDF), no a estadísticas (intervalo de confianza, hipótesis nulas, etc.).
  2. Estudio de cálculo multivariable y técnicas básicas de optimización CG, SGD, etc….
  3. Estudio del álgebra lineal.
  4. Continúa estudiando álgebra lineal.

Vas a la clase. Probablemente también habrá programación involucrada, pero como solo mencionaste las matemáticas, solo enumeré las cosas matemáticas que necesitas saber.

Para aprender el aprendizaje automático, debes ser mejor que el promedio en matemáticas. Aquí están las matemáticas que debe aprender teniendo en cuenta el objetivo final para estar preparado.

  • Álgebra lineal-Álgebra lineal – MIT 18.06 Álgebra lineal por Gilbert Strang
  • Teoría de probabilidad-Probabilidad y estadística – MIT 6.041 Análisis probabilístico de sistemas y probabilidad aplicada por John Tsitsiklis
  • Cálculo
  • Cálculo de variaciones
  • Teoría de grafos
  • Métodos de optimización (multiplicadores de Lagrange) ¡Buena suerte!

Cuatro meses es poco tiempo para aprender algo en profundidad. Si su formación en matemáticas está por debajo del nivel, debe tomar algunos cursos de recuperación en la materia. Estoy seguro de que tu universidad debe tener esas opciones y debes aprovecharlas si realmente quieres sobresalir. También puede conversar con su supervisor, es posible que no tenga que hacer ningún cálculo matemático y que él quiera que usted implemente algo (pero eso también puede requerir conocimientos básicos de matemáticas).

Espero que este enlace ayude

Cómo mejorar las habilidades matemáticas