Cómo aprender la optimización matemática para el aprendizaje automático y el aprendizaje profundo

La respuesta más corta que se me ocurre es … ¿Quizás tomando un libro o un curso y estudiándolo?

Sin embargo, la optimización matemática es un campo amplio y no necesita todo para comprender el aprendizaje automático.

Aunque no soy un especialista en optimización, puedo darte una sugerencia: como en la respuesta corta, toma un libro y lee de qué se trata en el primer capítulo (s). Luego estudie su método de aprendizaje profundo favorito. Tan pronto como encuentre una técnica de optimización que no entienda, trabaje hacia atrás para estudiar todas las cosas que necesita saber para esa técnica en particular.

Es importante ir hacia atrás si desea un conocimiento práctico rápido, porque si comienza desde cero y sigue explorando todas las direcciones posibles, termina con una “parálisis de análisis”: siempre hay algo más que tal vez debería saber , por lo que nunca dejes de leer y nunca vuelvas a trabajar.

Dicho esto, creo que lo primero que debe saber es la optimización continua sin restricciones, y específicamente la optimización convexa y luego algunos métodos para la optimización no convexa; la diferencia entre métodos directos, de primer orden y de segundo orden; y alguna optimización restringida (método de multiplicadores de Lagrange para restricciones de igualdad, y dualidad de Wolfe para restricciones de desigualdad).

Además de la optimización matemática , también debe poder apreciar su implementación : cómputo numérico, complejidad espacial de varios métodos, sensibilidad al error, métodos aproximados y heurísticos. Muchos de estos no se encuentran en los libros de texto introductorios, pero puede encontrarlos en artículos que describen métodos específicos (ver, por ejemplo, “divergencia contrastante”).

Si necesita asesoramiento sobre libros introductorios accesibles sobre computación científica, me gustan los libros Matlab de Clive Moler: Libros de texto de Cleve Moler

Depende de sus antecedentes, pero un libro realmente genial para informáticos con poco conocimiento en matemáticas es:

Aprendizaje automático práctico con Scikit-Learn y TensorFlow Por Aurélien Géron

Cubre muchos otros temas, pero tiene partes bastante buenas sobre la optimización y, como es un libro reciente, está realmente actualizado.

De lo contrario, puede encontrar muchos resúmenes y explicaciones en Internet, pero es más abstracto y formal … En realidad, tengo una formación matemática y todavía prefiero el libro de Géron.

Lea el Libro de aprendizaje profundo de Ian Goodfellow, et. Alabama.

Tiene todas las explicaciones matemáticas sobre el aprendizaje profundo.

Hay un capítulo completo dedicado a las técnicas de optimización.

More Interesting

¿Se puede encontrar la intersección de dos listas en menos de tiempo lineal (las listas están ordenadas)?

¿Por qué la teoría de la medida es más común en economía que en informática?

¿Cuándo no se puede usar el combinador Y para definir la recursividad en el cálculo lambda?

Sé que la función de devolución de llamada se ejecuta de forma asincrónica, pero ¿por qué es eso?

¿Cuáles son los trucos de cálculo rápido? ¿Se han utilizado en la optimización fundamental de la biblioteca matemática?

Estoy en mi último año como estudiante de ciencias de la computación y me encanta resolver problemas. Siempre trato de resolver los problemas, pero no logro crear soluciones rápidamente. Quiero mejorar para construir una lógica clara. ¿Dónde me estoy equivocando o qué debo hacer?

¿Cuánto conocimiento de matemáticas se requiere para convertirse en un buen desarrollador de juegos?

Cómo WAP para encontrar el máximo de todos los elementos del tamaño de matriz 'n'

Cómo imprimir el siguiente patrón en Java

En informática y lógica matemática, ¿qué es la capacidad de decisión y en qué se diferencia de la capacidad de computación?

Cómo calcular el área debajo de y = cosx [0, pi / 2] en C

¿Por qué no funciona mi función de búsqueda binaria?

¿Cuáles son algunos conceptos en el cálculo lambda que es bueno saber antes de aprender programación funcional?

¿Quién decidió que, en una lista de principios científicos, la numeración comienza con cero en lugar de uno?

¿Cuál es la diferencia entre CS y matemáticas y computación?