Quiero aprender más sobre la optimización en los algoritmos de aprendizaje automático, ¿qué recursos debo considerar? ¿Y cómo puedo convertirme en un experto en la materia?

Casi todos los métodos de aprendizaje automático se basan en minimizar la función objetivo. Además, la mayoría de los problemas de optimización de ML se dividen en dos clases

(a) Optimización convexa

(b) Optimización no convexa.

Para la función que es estrictamente convexa y se garantiza que tiene un mínimo global (único), se puede resolver utilizando diferentes métodos estándar, tales como:

  • SVM (máquinas de vectores de soporte)
  • Regresiones lineales (dispersas, por ejemplo, lazo)
  • Estimación de series de tiempo de Gauss lineal (Kalman Fiter y amigos)
  • Estimación de máxima verosimilitud

Los métodos no convexos tienen varios mínimos locales y no son óptimamente globales. En general, es difícil de probar en la optimización no convexa, ya sea que su solución sea la más óptima o no. Los métodos incluyen

  • Redes neuronales

Es bastante difícil manejar problemas no convexos y, por lo tanto, casi todos los problemas se tratan con soluciones convexas porque ofrecen una buena solución (óptimo local = opción global), incluso si no son convexas, la aproximación convexa del problema siempre existe.

Existe un problema abierto para lidiar con la optimización de ML para problemas no convexos, es solo que todavía no hemos encontrado una buena manera de lidiar con eso.

Para dominar esto, debe tener una comprensión sólida de (nivel de pregrado y posgrado) –

  • Análisis
  • Cálculo particularmente cálculo multivariable
  • Álgebra lineal
  • Fundamentos de ML
  • Probabilidad
  • Algoritmo
  • Mejoramiento
  • Programación dinámica e integral.
  • Analisis convexo

Hay brillantes materiales de conferencias de investigadores que realizan tutoriales sobre Optimización en ML en la conferencia NIPS casi todos los años. Intenta escucharlos. En su mayoría, se ocupará de los problemas convexos, así que concéntrese en ellos. Hacer una base sólida en algoritmos con programación lo llevará a lugares.

Algunas de las técnicas de optimización genérica y los métodos de mayorización que debería aprender

  • Lote
    • más empinado
    • descendencia
    • conjugado
    • gradiente
    • Newton
  • Estocástico
    • Pendiente de gradiente estocástico.
    • SGD adaptativa
    • Método de gradiente estocástico medio
    • Método de ascenso de doble coordenada estocástica
    • SVRG
  • Semi-estocástico
    • Métodos híbridos determinista-estocásticos [FS12]
  • Metodos de mayorizacion
    • MISO
    • escala iterativa
    • Expectativa – Maximización
    • Principio de límite inferior cuadrático

Hay excelentes artículos sobre estos temas disponibles en ArXiv e páginas de investigadores. Léelos, compréndelos, intenta implementarlos.

Buena suerte.

El mejor punto de partida es obtener una copia del libro de Kate Turabian sobre cómo escribir tesis y disertaciones. Este libro será de gran valor para documentar su aprendizaje. El siguiente paso es ir a la Dover | Publicaciones de Dover | El sitio web de Dover Books y sus libros sobre “autómatas de aprendizaje”, “inteligencia artificial”, para empezar. A continuación, obtenga los libros de publicaciones de Dover que tratan sobre “computabilidad” y “lógica” para informáticos y matemáticos. Estos libros le permitirán obtener una base básica de lo que es y no es posible. Lo siguiente que necesitará es comprender los fundamentos de cómo construir circuitos digitales. Puede encontrar muy buenos libros que lo ayudarán en este esfuerzo en el sitio web http://www.mcgraw-hill.com . En particular, los libros que querrá obtener de este sitio tratan sobre los fundamentos de las computadoras digitales. Esto resultará muy valioso para comprender por qué las tendencias actuales en el aprendizaje automático ahora se realizan casi en su totalidad en hardware dedicado. Además, también encontrará que el libro del Dr. Bitetto (Bitetto, Marco., NERVOTRON: UN ANALÓGICO DE SILICIO FUNCIONAL PARA LA NEURONA. Proquest (1994).) Es una ayuda inestimable para comprender los fundamentos biológicos de las ANN’s basadas en hardware y software (Attractor Neural Networks ). Se puede obtener el libro del Dr. Bitetto desde el sitio web de bases de datos, libros electrónicos y tecnología para la investigación. También deberá aprender el lenguaje de programación de inteligencia artificial llamado Common LISP y el mejor libro para aprender este lenguaje de programación solo se puede encontrar en el sitio web de Dover Publications. Además, dado que las aplicaciones más amplias del aprendizaje automático se encuentran en el área de robótica y sistemas de control; Tendrá que leer tantos libros sobre sistemas de control como sea posible. La mejor fuente de libros sobre este tema se puede encontrar en Dover Publishing company. También necesitarás una amplia experiencia en matemáticas. Si aún no ha tomado trigonometría, le sugiero que compre un libro sobre aprendizaje de trigonometría en la compañía de publicaciones Dover. Además, necesitará aprender cálculos, ecuaciones diferenciales, ecuaciones diferenciales parciales, variables complejas, transformadas de Laplace, transformadas de Fourier, cálculos de vectores, cálculos tensoriales y álgebra lineal. Los libros sobre todos estos temas en matemáticas se pueden obtener de las publicaciones de Dover. También será importante que lea tantos libros de ANN (Attractor Neural Networks) y robótica como pueda de compañías editoriales como Longman Scientific, Elsevere Publishing, John Wiley & Son’s y Springer Verlog. También será importante para usted obtener acceso a los recursos en línea de EBSCO y Google Scholars de artículos e informes de investigación. Además, deberá aplicar todo lo que ha aprendido y para hacer esto, necesitará las herramientas de hardware y software adecuadas para realizar esta tarea con éxito. Necesitará al menos una estación de trabajo de 12 núcleos equipada con 1TB (terabyte) de RAM y 24TB de disco duro; Un ejemplo perfecto de este tipo de súper estación de trabajo es el Mac Pro de 12 núcleos con el máximo de hardware y producido por Apple y ejecutando la última versión del sistema operativo Mac OS-X. También necesitará una versión moderna y estandarizada del lenguaje de programación Common LISP (todas las versiones modernas de este lenguaje compilan programas escritos directamente en lenguaje de máquina). Una fuente perfecta para este lenguaje de programación es LispWorks. También debe practicar en la construcción y programación de robots en todos los niveles de complejidad basada en IA y para ayudarlo en este esfuerzo, deberá visitar el sitio web http://www.robotshop.com para obtener libros, kits y robots adicionales para trabajar. con. Por lo tanto, después de hacer todo esto de manera intensiva por un período de 10 años sin parar, se convertirá en un experto en esta área con la educación equivalente de un graduado de un programa de doctorado en Inteligencia Artificial y Robótica. Ahora, si después de todo lo que has leído, sientes que estás a la altura del desafío, hazlo. Robotronics LLC | Facebook

Intenta programar algo: esta es una pregunta general para todos los que quieren ser programadores de cualquier tipo. De Verdad. Elija un problema que le guste y que se ajuste al tema objetivo y continúe. Esta será una aventura con final abierto, pero espero que al menos la disfrutes.

También hay algunos juegos de código abierto que pueden beneficiarse de la introducción de algún tipo de IA. Pero esto sería un tiro largo