¿Cuáles son las técnicas numéricas que debo conocer para resolver problemas en Machine Learning, Deep Neural net y RL? ¿Existe algún sitio o libro dedicado a las técnicas numéricas utilizadas en el aprendizaje de ML, Deep Neural Net o Reinforcement?

El aprendizaje automático (ML) que abarca redes neuronales profundas (DNN) y el aprendizaje por refuerzo (RL) requiere que esté familiarizado con los elementos esenciales de matemáticas [1] para ML:

  • Álgebra lineal [2]: el álgebra lineal es muy importante ya que la mayoría de las arquitecturas ML como las redes neuronales (NN) se pueden expresar como vectores o matrices con muchos productos de puntos y multiplicaciones matriciales. Cosas como la reducción de dimensionalidad y las transformaciones lineales son muy importantes. Necesita saber qué es la descomposición de valores singulares (SVD) [3] y cómo es útil para resolver el problema de mínimos cuadrados lineales. El SVD también es una forma práctica de hacer análisis de componentes principales [4] (PCA). A veces es importante encontrar un inverso de una matriz, pero si la matriz es singular, la solución puede ser inestable en términos numéricos, por lo que es importante encontrar un pseudo inverso y SVD es el camino a seguir para eso, es un Técnica muy potente en álgebra lineal.
  • Cálculo diferencial [5]: Dada una función de pérdida [matemática] L [/ matemática] y algún parámetro [matemática] w [/ matemática], es importante encontrar la derivada de [matemática] L [/ matemática] con respecto a [ matemáticas] w [/ matemáticas]. Ahora, dado que en las redes neuronales normalmente hay varias capas, es importante comenzar desde donde es más fácil calcular las derivadas, como la capa de salida, ya que está directamente conectada a la función de pérdida y encadenar las derivadas que se mueven hacia la capa de entrada en el proceso. Esta es una aplicación práctica de la regla de la cadena y se llama algoritmo de backprop. Es importante comprender el cálculo diferencial para comprender las motivaciones detrás de backprop [6] y por qué es exitoso.
  • Probabilidad y estadística [7]: La probabilidad y la estadística son muy importantes en el aprendizaje automático, como el teorema de Bayes para la inferencia probabilística. Debe conocer las distribuciones de probabilidad estándar, como las distribuciones Binomial, Guassian, Multinomial, Uniform y Bernoulli. También necesita conocer las reglas de probabilidad, las probabilidades condicionales, las variables aleatorias, la varianza y las expectativas.
  • Optimización numérica [8]: como la optimización convexa [9] con programación lineal / cuadrática y semi-definida y los solucionadores como:
    • Solucionadores de primer orden: gradiente estocástico decente (SGD) [10] y métodos de gradiente conjugado [11]. Existen muchos métodos para estabilizar y acelerar la convergencia de estos solucionadores, como las técnicas de impulso y Adagrad [12], por nombrar solo algunos. Incluso si la mayoría de los problemas en la optimización del aprendizaje profundo (DL) implican una función de pérdida / costo no convexa, estos solucionadores aún pueden funcionar [13]. SGD es muy rápido, escalable y muy fácil de implementar y, por lo tanto, es uno de los algoritmos más importantes junto con backprop, para calcular gradientes, para optimizar los DNN.
    • Solucionadores de segundo orden: Cuasi-Newton [14] y métodos libres de Hesse [15]. Aunque los métodos de segundo orden pueden ser muy exigentes desde el punto de vista informático y, por lo tanto, no se usan mucho en DL.

También puedes echar un vistazo a:

  • http://calcul.math.cnrs.fr/Docum…
  • Las matemáticas del aprendizaje automático

Normalmente no uso libros completos, solo leo de una variedad de fuentes en línea.

Espero que esto ayude.

Notas al pie

[1] http://courses.washington.edu/cs…

[2] http://www.cs.cmu.edu/~jingx/doc…

[3] Descomposición de valores singulares – Wikipedia

[4] http://www2.imm.dtu.dk/pubdb/vie…

[5] http://eniac.cs.qc.cuny.edu/andr…

[6] Las redes neuronales se utilizan en una variedad cada vez más amplia de aprendizaje automático …

[7] https://see.stanford.edu/materia…

[8] https://www.cs.uic.edu/~zhangx/t…

[9] Optimización convexa – Wikipedia

[10] Descenso de gradiente estocástico – Wikipedia

[11] Método de gradiente conjugado – Wikipedia

[12] http://www.magicbroom.info/Paper…

[13] La respuesta de Zeeshan Zia a ¿Por qué una función de pérdida no convexa no es un problema en Deep Learning?

[14] Método cuasi-Newton – Wikipedia

[15] https://papers.nips.cc/paper/566…

Las soluciones se basan en el problema. Aquí hay un enlace para los modelos de red neuronal profunda listos para la aplicación Modelos de red neuronal profunda listos para la aplicación

Aquí hay un enlace para recursos bibliográficos sobre el tema; http://deeplearning.net/reading-