Cómo aprender matemáticas para el aprendizaje automático.

Intentaré mantener esto lo más conciso posible.

Edit: Alguien fusionó la pregunta original con esta pregunta, por lo que la premisa se vuelve irrelevante.

Para convertirse en un ingeniero de inteligencia artificial de AI / ML, es imperativo que tenga un conocimiento completo de los fundamentos matemáticos de ML para que pueda basarse en conceptos fácilmente. Las habilidades matemáticas básicas requeridas son el álgebra lineal, el álgebra matricial, la probabilidad y algunos cálculos básicos.

Álgebra lineal

La mejor fuente para estudiar Álgebra Lineal es el libro / curso de Álgebra Lineal del Prof. Gilbert Strang . Video conferencias | Algebra Lineal | Matematicas | MIT OpenCourseWare (MIT OCW). Hay 34 conferencias y créeme, valen la pena porque después de completar esto, el álgebra lineal no debería plantear más problemas. Resuelve algunos ejercicios / exámenes si quieres lograr el dominio (recomendado).

Algebra matricial

El álgebra de matrices es un componente esencial del aprendizaje profundo. Personalmente lo recomiendo ( Matrix Cookbook por Kaare Brandt Petersen y Michael Syskind Pedersen ): http://www2.imm.dtu.dk/pubdb/vie… (PDF). Hay 66 páginas de operaciones de matriz pura y este es el “go-to” absoluto en caso de que esté atascado tratando de entender ciertas manipulaciones de matriz que un investigador podría haber hecho.

Probabilidad y Estadística

Comprender la probabilidad es un aspecto muy importante para entender el LD. Algunos de los conceptos de probabilidad clave que debe conocer incluyen el Teorema de Bayes, distribuciones, MLE, regresión, inferencia, etc. El mejor recurso para esto es Think Stats (Análisis de datos exploratorios en Python) por Allen Downey : http://greenteapress.com/thinkst… (PDF). Esta joya absoluta de un libro tiene 264 páginas y cubre todos los aspectos de probabilidad y estadísticas que necesita comprender con el código de Python relevante.

Mejoramiento

El libro de consulta para la optimización convexa es la optimización convexa de Stephen Boyd y Lieven Vandenberghe : https://web.stanford.edu/~boyd/c… (PDF). Este es un libro de 730 páginas y no necesita leerlo todo de una vez. Elija el concepto que necesita aprender en función de sus necesidades e intereses y lea esa parte. Está completo y extremadamente bien escrito. Este libro es gratuito como parte del CVX 101 MOOC en EdX.

Este libro de 263 páginas sobre metaheurística, Essentials of Metaheuristics por Sean Luke (http://cs.gmu.edu/~sean/book/met… (PDF)) habla sobre la optimización basada en gradientes, la optimización de políticas, etc. y está bien escrito . Uno puede optar por pasar por esto también si está interesado.

Los conceptos de ciencia de datos están cubiertos en los temas anteriores. Se pueden aprender otros temas buscando en Google las fuentes fácilmente cuando las encuentre. Pero la comprensión completa de lo anterior debería ser suficiente para el 95% de todos los escenarios.


Lograr el dominio de los temas anteriores seguramente lo convertirá en un ingeniero matemático y de inteligencia artificial de gran envergadura. Ahora que ha construido la base, comience a sumergir sus pies en documentos de investigación . Son absolutamente esenciales ya que muestran claramente los estándares de los investigadores / ingenieros de AI. En primer lugar, descubra los famosos artículos de AI como RNN, LSTM, SVM, etc. y revise el contenido técnico.

¿Puedes entender la jerga?

¿Puedes entender las matemáticas?

¿Puede implementar las matemáticas en el código ahora sin la ayuda de bibliotecas excesivamente suficientes?

Estas son las preguntas clave a ser respondidas. Una vez que pueda responder “Sí / en su mayoría sí” a estas 3 preguntas, está listo para comenzar.

Después de tratar de leer estos artículos que tratan sobre los conceptos más populares, trate de leer los artículos no tan famosos. arXiv es un gran sitio con cientos de preimpresiones publicadas todos los días por los mejores investigadores y leer los artículos desde aquí es como beber directamente de la manguera de bomberos. Trate de elegir un papel que se vea bastante bien escrito y el resumen parezca interesante. Luego, lea ese documento e intente responder esas 3 preguntas nuevamente. Lo mismo se puede hacer con los documentos de las principales conferencias de AI como NIPS, AAAI, AAMAS, IJCAI, ICML, etc. Es posible que no pueda implementar completamente los documentos debido a restricciones de datos y otros problemas, pero si puede entender incluso 60 % del razonamiento matemático, entonces puedo decir con seguridad que ha completado su entrenamiento .

No te concentres en aprender más y más “paquetes” . Concéntrate en el concepto. Durante la implementación, verá automáticamente que necesita el paquete “este” y luego aprenderá automáticamente a usarlo. Aprender los diversos comandos de paquetes aleatorios no ayudará. Si comienza a implementar y escribir códigos para resolver problemas o simular resultados de un documento, automáticamente aprenderá acerca de los paquetes y los usará de manera adecuada; Serán la menor de tus preocupaciones. Esta es la forma correcta de mantener el “equilibrio” entre las matemáticas y la codificación. También puede participar en competiciones (p. Ej., Competencias de Kaggle o conferencias) para mejorar la velocidad, el desarrollo y las habilidades de procesamiento si siente la necesidad de hacerlo.

(Todos los enlaces en esta respuesta están funcionando a partir del 6 de julio de 2017)

Hace un par de años, basándose en su experiencia, Bradford Cross dio una lista completa de los mejores recursos sobre aprendizaje automático y los requisitos previos en su blog (“Medidas de medición”). Desafortunadamente, parece estar abajo ahora.

UPD :
Aquí, la publicación del blog en el espejo de WebArchive es: http://web.archive.org/web/20101

Las listas de Bradford en Amazon:

  • Análisis [1]
  • Algebra Lineal [2]
  • Probabilidad [3]
  • Estadística [4, 5]
  • Optimización [6]
  • Aprendizaje automático [7]
  • Selección de características [8]

Espero que el Sr. Cross pueda unirse a la discusión.

[1] http://www.amazon.com/Analysis/l

[2] http://www.amazon.com/Matrix-Fu/…

[3] http://www.amazon.com/Probabilit

[4] http://www.amazon.com/Statistics

[5] http://www.amazon.com/Nonparamet

[6] http://www.amazon.com/Heuristic-…

[7] http://www.amazon.com/Machine-Le

[8] http://www.amazon.com/Feature-Se

UPD 2 :
Aquí está la lista de libros de lectura obligatoria para el aprendizaje automático teórico [1], que se atribuye al prof. Michael Jordan (UC Berkeley). Las fuentes son [2] y [3].

[1] https://www.goodreads.com/review

[2] Aprendiendo sobre el aprendizaje estadístico

[3] AMA: Michael I Jordan • / r / MachineLearning

Si quieres ser un verdadero científico de datos, no los falsos con habilidades de analista, ni ninguna intuición o punto de vista matemático. El científico de datos reales necesita tener una base matemática muy sólida.

Así que para aprender Matemáticas para ML este debe ser el orden:

  1. Comience con probabilidad (Condicional Básico Marginal, etc.)
  2. Serie matemática y convergencia, métodos numéricos de análisis.
  3. Matriz y Algebra Lineal
  4. Estadística Bayesiana
  5. Vectores (el más importante)
  6. Cálculo
  7. Proceso de Markov y Cadenas
  8. Conceptos básicos de la optimización (lineal / cuadrático)
  9. Álgebra matricial avanzada y cálculo (degradado, divergencia, rizos, etc.)

Esta cantidad de matemáticas permitirá la comprensión detrás de las ideas centrales de ML y algoritmos probabilísticos,

Debe pausar ahora y comenzar a analizar ciertos paquetes desde cero en Python:

1. K-NN es un excelente punto de partida. Apréndalo y codifíquelo desde cero.

2. Regresión logística con pendiente degradada.

Hasta ahora, puedes ver los parámetros y los números que se mueven en forma de matriz y entender las matemáticas de la predicción, y si sientes que esto es suficiente. Contenga la respiración. Hay cosas más emocionantes por venir. Esto le permitirá ser un principiante de ser un “científico de datos reales”.

Siguiente Comience con: –

  1. Modelos estocásticos y análisis de series de tiempo.
  2. Ecuaciones diferenciales
  3. Programación dinámica y técnicas de optimización.
  4. Fourier y longitudes de onda
  5. Campos aleatorios
  6. Conocimientos básicos de PDEs
  7. Técnicas para resolver PDE utilizando Monte-Carlo, Expansiones Polinomiales.

Estas técnicas matemáticas le ayudarán a visualizar el funcionamiento del modelo y cómo modelar y procesar datos sin procesar para crear modelos únicos cuya funcionalidad se pueda ajustar. Los parámetros pueden optimizarse para los problemas y ajustarse con estas técnicas.

Para un nivel siguiente: – (Estadísticas de dimensiones superiores)

  1. Soluciones numéricas de PDEs con entrada numérica / entrada aleatoria. (tema fascinante para trabajar)
  2. Soluciones y ecuaciones diferenciales estocásticas
  3. PCA etc
  4. Procesos Dirichlet, Proceso de Decisión Markov.
  5. Cuantificación de la incertidumbre: caos polinomial, proyecciones sobre el espacio vectorial

Creo que estos son temas en los que hay que aprender a ser un buen ingeniero de aprendizaje automático en el siglo XXI. Con una base de conocimientos como esta, se pueden conectar puntos muy rápidamente y construir sistemas y modelos de alta precisión.

(No soy un gran fan de las redes neuronales, así que olvidé mencionar aquí)

El campo del aprendizaje automático necesita los siguientes antecedentes matemáticos para comprender más cosas.

  • Cálculo y en mi opinión la siguiente referencia es muy buena,
  • Cálculo de Thomas (13ª edición): George B. Thomas Jr., Maurice D. Weir, Joel R. Hass: 9780321878960: Amazon.com: Libros
  • El álgebra lineal y el cálculo matricial y la siguiente referencia son muy relevantes,
    • Introducción al Álgebra Lineal, Cuarta Edición: Gilbert Strang: 9780980232714: Amazon.com: Libros
  • Las estadísticas y el fondo de probabilidad, y los siguientes libros son muy buenos,
    • Todas las estadísticas: un curso conciso de inferencia estadística (Springer Texts in Statistics): Larry Wasserman: 9780387402727: Amazon.com: Libros
    • Amazon.com: Un primer curso en probabilidad (9ª edición) (9780321794772): Sheldon Ross: Libros
  • El conocimiento de optimización y el siguiente libro de texto es muy bueno,
    • Una introducción a la optimización: Edwin KP Chong, Stanislaw H. Zak: 9781118279014: Amazon.com: Libros

    Depende de tus metas que quieras alcanzar mientras aprendes ML.

    Objetivo 1: entender qué es ML, cómo aplicar diferentes algoritmos a la tarea, cómo interpretar la salida, las fallas comunes, etc.: Deberá comprender el álgebra lineal y matricial, la probabilidad y la optimización. No es necesario realizar una inmersión profunda en cada uno, sino estudiar cosas básicas como vectores propios, probabilidad condicional, distribuciones, teorema de Bayes. Aprender de forma adicional los conceptos de sobreajuste, validación cruzada.

    Recursos
    Video conferencias: Aprendizaje automático en coursera (no solo el de AndrewNg, sino otros pocos)

    Libros: Aprendizaje de máquina por Tom Mitchell. Incluye el álgebra lineal necesaria y la probabilidad también.

    Objetivo 2: por qué los algoritmos actuales están diseñados de una manera particular, cómo se diferencian fundamentalmente entre sí: si está más interesado en los aspectos teóricos, como la forma en que se definen los núcleos de una máquina de vectores de soporte, o la forma en que se diseñan las redes neuronales de aprendizaje profundo o cómo ajustar los algoritmos existentes para crear uno nuevo, es posible que desee ampliar sus matemáticas al análisis funcional, la topología y la optimización avanzada.

    Recursos: Video: Aprendizaje automático avanzado, Caltech (Conferencia del Prof. Mostafa)
    Libros: minería de conjuntos de datos masivos de ullman, cualquier buen libro sobre álgebra lineal avanzada, topología pero no lo conectan con el aprendizaje automático.

    Teoría de ML:
    Christopher Bishop – Reconocimiento de Patrones y Aprendizaje Automático. La primera vez que elegí este libro fue bastante desalentador, pero una vez que obtienes un poco de las matemáticas en tu haber, encontré que presenta explicaciones más claras que otros textos. Me pareció muy claro y parece que progresa bastante bien. También cubre muchas cosas.
    Álgebra lineal:
    Los videos de Gilbert Strang sobre álgebra lineal son excelentes, al igual que los de la academia Khan. El libro de Gilbert Strang no parece recibir críticas particularmente buenas. Sobre la base de las revisiones, recogí una copia del Álgebra Lineal Elemental de Howard Anton, que parece ser muy apreciada. Yo lo recomendaría. También tengo a David Poole: una introducción moderna … que se siente un poco más … moderna que Anton y he tendido a usarla más. No parece ser un libro particularmente conocido en t’internet, pero lo encuentro muy claro (más que Anton).
    Si quieres practicar, hay un resumen de Teoría y problemas de álgebra lineal. (Bueno para practicar pero insuficiente como texto independiente al tema)

    Si tiene el lujo de pasar un tiempo antes de comenzar con el Aprendizaje automático, sugeriría enfocarse realmente en el álgebra lineal de una manera muy práctica (trabajar con ejemplos estructurados) y obtener una buena comprensión de la ortogonalidad, los espacios vectoriales, los vectores propios, las transformaciones. Desde mi experiencia, tratar de aprender matemáticas al mismo tiempo que aprender Machine Learning fue abrumador y habría obtenido muchas más lecciones de ML si ya hubiera comprendido las matemáticas.

    Las matemáticas son un tema demasiado vasto para ser considerado para esta pregunta. La amplitud y profundidad de la conciencia matemática que necesita para el aprendizaje automático depende totalmente de lo que esté aprendiendo en la materia. Teniendo esto en cuenta, tratemos lo que necesita saber en “matemáticas” para el aprendizaje automático.

    1. Probabilidad y estadísticas matemáticas Este es un requisito fundamental para el aprendizaje automático, por lo que debe saberlo bien. Cuando digo probabilidad, es más de lo que estudiaste en la escuela secundaria y casi todo a lo que probablemente no le prestaste atención durante tu licenciatura. Debe conocer las variables aleatorias, sus distribuciones, la convergencia probabilística y la teoría de la estimación. Eso cubre una parte importante de lo que necesita saber aquí.
    Dos de mis recursos favoritos son: –
    1. Joseph Blitzstein – Harvard Stat 110 conferencias
    2. El libro de Larry Wasserman – Todas las estadísticas

    2. álgebra lineal
    El álgebra lineal aparecerá de vez en cuando en ML. PCA, SVD, descomposición de LU, descomposición de QR, matrices simétricas, otogonalización, proyecciones, operaciones de matriz son necesarias muchas veces. Lo bueno es que hay innumerables recursos disponibles en álgebra lineal.
    Mi favorito de todos los tiempos son las conferencias de Gilbert Strang en MIT sobre álgebra lineal.

    3. Optimización
    Aunque solo se necesitan algunas cosas de la optimización la mayor parte del tiempo, un sólido conocimiento fundacional ayudará mucho. Debe conocer los multiplicadores de Langrange, el descenso de gradiente y la formulación primigenio-dual. El mejor recurso para esto es el curso de Boyd y Vandenberghe sobre la optimización convexa de Stanford.

    4. calculo
    Quería poner esto en la parte superior, pero lo estoy poniendo en el último para enfatizar en el hecho de que solo se necesita un conocimiento fundamental en términos de cálculo. Conozca la geometría, integración y diferenciación tridimensionales y sobrevivirá. Es lo más fácil para empezar entre los temas que he mencionado aquí. MIT tiene buenas conferencias sobre cálculo.

    Creo que con estas 4 herramientas lo más probable es que ML sea fácil de entender. Además de esto, puede que el análisis real y el análisis funcional también sean relevantes, pero son solo generalizaciones formales de los temas mencionados anteriormente.

    Aprender matemáticas se trata de hacer. Recuerde la regla 80/20: debe estudiar la teoría el 20% del tiempo y practicar / implementar lo que aprende el 80% del tiempo.

    Aquí hay una lista de libros que podrías usar. Puedes encontrar cursos en línea para muchos de ellos.

    1. El álgebra lineal de Strang y sus aplicaciones.

    2. Apostol Calculus – Ambos los volúmenes

    3. Los cálculos de la matriz de Golub.

    4. La probabilidad de Sheldon Ross

    5. Elementos del aprendizaje estadístico por Hastie et al.

    6. Reconocimiento de patrones del obispo y aprendizaje automático.

    7. El razonamiento bayesiano de David Barber y el aprendizaje automático.

    8. Aprendizaje automático de Kevin Murphy: una perspectiva probabilística

    9. Todas las estadísticas de Wasserman y estadísticas no paramétricas

    De Hacker News:

    1.) Casella, G. y Berger, RL (2001). “Inferencia estadística” Duxbury Press.

    2.) Ferguson, T. (1996). “Un curso en teoría de la muestra grande” Chapman & Hall / CRC.

    3.) Lehmann, E. (2004). “Elementos de la teoría de la muestra grande”.

    4.) Gelman, A. et al. (2003). “Análisis de datos bayesianos” Chapman & Hall / CRC.

    5.) Robert, C. y Casella, G. (2005). “Métodos estadísticos de Monte Carlo” Springer.

    6.) Grimmett, G. y Stirzaker, D. (2001). “Probabilidad y procesos aleatorios” de Oxford.

    7.) Pollard, D. (2001). “Una guía del usuario para medir la probabilidad teórica” ​​Cambridge.

    8.) Bertsimas, D. y Tsitsiklis, J. (1997). “Introducción a la Optimización Lineal” Atenea.

    9.) Boyd, S. y Vandenberghe, L. (2004). “Optimización Convexa” de Cambridge.

    10.) Golub, G., y Van Loan, C. (1996). “Cálculos matriciales” Johns Hopkins.

    11.) Cubierta, T. y Thomas, J. “Elementos de la teoría de la información” Wiley.

    12.) Kreyszig, E. (1989). “Análisis funcional introductorio con aplicaciones” Wiley.


    Por favor intente implementar tantas cosas como pueda. Recoge un proyecto. Hable con sus compañeros, profesores y personas, vea si puede ayudarles con lo que ha aprendido. Hacer.

    En realidad, las matemáticas son el corazón del aprendizaje automático, la programación de cursos también, pero si vemos a nivel básico, las matemáticas son importantes para ML.

    En realidad, no es necesario que aprenda Matemáticas completas para el LD, solo necesita una parte.

    Principales conceptos matemáticos para el aprendizaje automático.

    1. Probabilidad
    2. Cálculo
    3. Estadística
    4. Álgebra lineal

    Estos son los conceptos principales

    Si desea aprender estos conceptos, le sugeriré los mejores cursos en línea de Experts of Maths [en Aprendizaje automático]

    • Probabilidad

    Este curso le proporcionará una Teoría de la Probabilidad intuitiva y práctica. Podrá aprender a aplicar la teoría de la probabilidad en diferentes escenarios y obtendrá una “caja de herramientas” de métodos para hacer frente a la incertidumbre en su vida diaria. El curso está dividido en 5 módulos.

    En cada módulo, primero tendrá una introducción fácil al tema, que servirá de base para desarrollar su conocimiento sobre el tema y adquirir las “herramientas” para enfrentar la incertidumbre.

    Además, tendrá la oportunidad de completar 5 sesiones de ejercicios para reflexionar sobre el contenido aprendido en cada módulo y comenzar a aplicar sus conocimientos adquiridos de inmediato.

    Los temas cubiertos son: “Probabilidad”, “Probabilidad condicional”, “Aplicaciones”, “Variables aleatorias” y “Distribución normal”.

    • Calculo

    Este curso de 325 lecciones incluye video y explicaciones de texto de todo lo que hay en cálculo, e incluye más de 60 pruebas (¡con soluciones!) Para ayudarlo a evaluar su comprensión en el camino. Convertirse en un maestro de cálculo se organiza en cuatro secciones:

    • Precálculo
    • Límites y continuidad
    • Derivados
    • Aplicaciones de Derivados etc….

    Estos son los cuatro capítulos al comienzo de cada clase de cálculo.

    • Estadística

    En la primera parte del curso discutiremos métodos de estadística descriptiva. Aprenderá qué son los casos y las variables y cómo puede calcular medidas de tendencia central (media, mediana y modo) y dispersión (desviación estándar y varianza). A continuación, discutimos cómo evaluar las relaciones entre variables, e introducimos los conceptos de correlación y regresión.

    La segunda parte del curso se ocupa de los conceptos básicos de probabilidad: cálculo de probabilidades, distribuciones de probabilidad y distribuciones de muestreo. Debe conocer estas cosas para comprender cómo funcionan las estadísticas inferenciales.

    La tercera parte del curso consiste en una introducción a los métodos de estadística inferencial: métodos que nos ayudan a decidir si los patrones que vemos en nuestros datos son lo suficientemente fuertes como para sacar conclusiones sobre la población subyacente en la que estamos interesados. Discutiremos los intervalos de confianza y pruebas de significación.

    • Álgebra lineal

    Este curso está diseñado para estudiantes universitarios que toman álgebra intermedia y álgebra universitaria.

    Aquí hay una lista de temas cubiertos en este curso:

    1. Aritmética básica: suma, resta, multiplicación y división

    2. Revisión de fracciones

    3. Resolviendo ecuaciones lineales

    4. Orden de Operaciones

    5. Funciones de valor absoluto y desigualdades

    6. Graficando ecuaciones lineales usando la pendiente y la intersección en Y

    7. polinomios

    8. factoring

    9. Sistemas de ecuaciones lineales.

    10. Ecuaciones cuadráticas.

    11. Expresiones racionales

    12. Expresiones radicales

    13. Números imaginarios complejos

    14. Funciones exponenciales y logarítmicas.

    15. Funciones

    16. Secciones cónicas.

    17. Secuencias aritméticas y geométricas.


    Así que si aprendes las matemáticas anteriores, perfeccionarás en matemáticas hacia el aprendizaje automático.

    Bonus:

    Si desea aprender el aprendizaje automático, le sugeriré los mejores cursos en línea de aprendizaje automático

    1. Aprendizaje automático AZ ™: práctica en Python & R en Data Science
    2. Aprendizaje de máquina por la Universidad de Stanford, Mentor: Andrew Ng, Co-fundador, Coursera

    Todo lo mejor.

    Para comprender el Aprendizaje Automático necesita los siguientes requisitos previos de Matemáticas:

    1. Probabilidad y estadística: el aprendizaje automático tiene profundas raíces en la estadística. De hecho, el aprendizaje automático moderno es esencialmente aprendizaje estadístico, es decir, usar estadísticas para encontrar patrones en los datos e inferir su uso. Por lo tanto, las estadísticas y la probabilidad son mínimas para el ML.

    2. Álgebra lineal: esto es necesario porque los datos se representan como una matriz en el Aprendizaje automático y, en esencia, todos los algoritmos de ML se pueden ver como manipulación de la Matriz al final, por lo que se requiere una comprensión básica del Álgebra Lineal.

    3. Optimización: muchas personas argumentan que el aprendizaje automático es un nombre elegante para la optimización. Si bien esto es cierto hasta cierto punto, hay más para ML que optimización. Pero una gran parte de ello es la optimización. Al final, la mayoría de los algos ML se reducen a una tarea de optimización.

    4. Cálculo: esta es una herramienta muy útil para ML. La mayoría de los algos ML se basan en el cálculo diferencial para encontrar soluciones (descenso de gradiente, método de Newton, método de casi Newton, etc.).

    OMI, si domina estos temas, puede aprender casi todo en ML, porque todos los algoritmos son esencialmente aplicaciones de estas herramientas en Ml.

    El aprendizaje automático se está volviendo viral rápidamente y todos están un poco locos por ello. Todo el mundo quiere convertirse en un experto en aprendizaje automático en estos días. pero si está un poco confundido acerca de qué matemáticas necesitará para el aprendizaje automático, entonces estoy aquí para que las explique de manera detallada. Todas las matemáticas avanzadas que necesitará para la carrera de aprendizaje automático. Definitivamente es una opción lucrativa de carrera, desde hace 20 años este es un campo en auge.

    ¿Por qué necesitas matemáticas?

    1. Seleccionar el mejor algoritmo eficiente de acuerdo a su complejidad de tiempo. Para hacer tu código más eficiente.
    2. Elegir el parámetro y configurar la cadena de validación.

    Qué matemáticas necesitarás.

    75% de álgebra lineal, 25% de estadística, 15% cálculo multivariado, 15% algoritmo y complejidad

    Ahora como debes empezar?

    Para un principiante, no tiene que estudiarlo todo ahora mismo, puede comenzar con la técnica básica de aprendizaje automático y luego puede ampliar su conocimiento con estas habilidades matemáticas y sobresalir en este campo.

    Si desea obtener una demostración en vivo de aprendizaje automático ahora mismo.

    Inscríbase aquí Capacitación en línea de aprendizaje automático

    Crédito: Crankyview

    Hay muchas razones por las que las matemáticas del aprendizaje automático son importantes y las resaltaré a continuación:

    • Selección del algoritmo correcto, que incluye consideraciones de precisión, tiempo de entrenamiento, complejidad del modelo, número de parámetros y número de funciones.
    • Selección de ajustes de parámetros y estrategias de validación.
    • Identificación de fallas y sobredimensionamiento mediante la comprensión de la compensación Bias-Varianza.
    • Estimación del intervalo de confianza correcto e incertidumbre.

    1. El álgebra lineal es una piedra angular porque todo en el aprendizaje automático es un vector o una matriz. Los productos de puntos, la distancia, la factorización de la matriz, los valores propios, etc. aparecen todo el tiempo. El curso de álgebra lineal de Gilbert Strang lo recomendaría.
      • una lista de reproducción de youtube
      • El libro: Introducción al álgebra lineal.
      • Página del curso en MIT OCW
      1. Cálculo multivariado : Algunos de los temas necesarios incluyen Cálculo diferencial e integral, Derivados parciales, Funciones de valores vectoriales, Gradiente direccional, Distribución. La diferenciación es importante debido al descenso del gradiente. Una vez más, el descenso del gradiente es casi en todas partes. algunos cursos que recomiendo
      • Introducción al pensamiento matemático – Universidad de Stanford | Coursera
      • Optimizacion convexa
      • Curso de cálculo en línea abierto masivamente multivariable de la Universidad Estatal de Ohio: el curso es una primera prueba del cálculo multivariable, pero se ve a través de la lente del álgebra lineal .
      1. Teoría y estadística de la probabilidad : el aprendizaje automático y la estadística no son campos muy diferentes. En realidad, alguien recientemente definió Machine Learning como ‘hacer estadísticas en una Mac’. Parte de la teoría estadística fundamental y de probabilidad necesaria para el LD son Combinatoria, Reglas de probabilidad y axiomas, Teorema de Bayes, Variables aleatorias, Variación y expectativa, Distribuciones condicionales y conjuntas, Distribuciones estándar (Bernoulli, Binomial, Multinomial, Uniform y Gaussian), Momento Funciones de generación, estimación de máxima verosimilitud (MLE), anterior y posterior, máxima a posteriori (MAP) y métodos de muestreo.
        • Álgebra Lineal de Khan Academy, Probabilidad y Estadística, Cálculo Multivariable y Optimización.
        • El libro de Larry Wasserman – Todas las estadísticas: un curso conciso de inferencia estadística.
        • Introducción de Udacity a la estadística.
        1. Algoritmos y optimizaciones complejas : esto es importante para comprender la eficiencia computacional y la escalabilidad de nuestro algoritmo de aprendizaje automático y para explotar la escasez de datos en nuestros conjuntos de datos. Se necesitan conocimientos de estructuras de datos (árboles binarios, hash, pila, pila, etc.), programación dinámica, algoritmos aleatorios y sublineales, gráficos, gradientes / descensos estocásticos y métodos primigenio-duales.
        1. El curso de Boyd y Vandenberghe sobre la optimización convexa de Stanford.

        Teniendo en cuenta todo esto, ML no es todo acerca de Matemáticas y, para ser franco, apenas gastarás el 5% de tu esfuerzo haciendo matemáticas.

        Las matemáticas son una parte importante para aprender el aprendizaje automático. ¿Temas necesarios y recursos útiles de las matemáticas para el aprendizaje automático?

        Aquí estoy compartiendo la ponderación de los temas importantes de matemáticas de aprendizaje automático y dejando muy clara su confusión. Así que vea la siguiente lista y comience la preparación de acuerdo a ello.

        35% – Algebra Lineal

        25% – Teoría de la probabilidad y estadística

        15% – Cálculo multivariado

        15% – Algoritmos y optimizaciones complejas

        10% – Otros

        Ahora estoy llevando adelante mi artículo a un nivel profundo para que pueda obtener una autorización total para comenzar el aprendizaje automático o inteligente artificial.

        1. Álgebra Lineal : Temas como Análisis de Componentes Principales (PCA), Descomposición de Valor Singular (SVD), Eigendecomposition de una matriz, Descomposición de LU, Descomposición QR / Factorización, Matrices Simétricas, Ortogonalización y Ortonormalización, Operaciones de Matriz, Proyecciones, Eigenvalues ​​y Eigenvectors, Vector Se necesitan espacios y normas para comprender los métodos de optimización utilizados para el aprendizaje automático. Lo sorprendente del Álgebra Lineal es que hay tantos recursos en línea.
        2. Teoría y estadística de probabilidad: reglas y axiomas de probabilidad, teorema de Bayes, variables aleatorias, varianza y expectativa, distribuciones condicionales y conjuntas, distribuciones estándar (Bernoulli, binomial, multinomial, uniforme y gaussiano), funciones generadoras de momento, estimación máxima de probabilidad (MLE) , Anterior y posterior, máxima a posteriori (MAP) y métodos de muestreo.
        3. Cálculo multivariado : los temas incluyen Cálculo diferencial e integral, Derivados parciales, Funciones de valores vectoriales, Degradado direccional, Distribución Hessiana, Jacobiana, Laplaciana y Lagragiana.
        4. Algoritmos y optimizaciones complejas : Conocimiento de las estructuras de datos (árboles binarios, Hashing, Heap, Stack, etc.), Programación dinámica, Algoritmos aleatorios y sublineales, Gráficos, Gradientes / Descensos estocásticos y métodos Primal-Dual.
        5. Otros : Esto incluye otros temas de Matemáticas que no están cubiertos en las cuatro áreas principales descritas anteriormente. Incluyen Análisis Reales y Complejos (Conjuntos y Secuencias, Topología, Espacios Métricos, Funciones de Valor Único y Continuo, Límites, Kernel de Cauchy, Transformadas de Fourier), Teoría de la Información (Entropía, Ganancia de la Información), Espacios de Función y Múltiples.

        Ahora está pensando y buscando los mejores conocimientos y recursos de práctica para los puntos de su semana, ¿verdad? No se preocupe, los estudiantes también me gustaría sugerir algunos buenos recursos para ello.

        • Para libros: Programación de inteligencia colectiva por Toby Segaran, Reconocimiento de patrones y Aprendizaje automático y otros. Inteligencia artificial 3e: Un enfoque moderno de Russell y otros libros.
        • Los mejores recursos en línea, tutoriales en video: Coursera, Kachhua.com, cursos en línea de Udemy – Aprenda cualquier cosa, en su horario, chalkstreet, etc.

        Gracias. Seguir aprendiendo.

        Al pasar por mi curso de Aprendizaje automático el último semestre, sentí que tenía más que ver con el Álgebra Lineal. Sentí que las ideas clave de LinAlg son más difíciles de recordar con el tiempo que la Probabilidad. Me encontré trabajando principalmente con distribuciones de probabilidad, regla de Bayes, MLE y MAP, mientras que el lado de álgebra fue mayormente optimización en dimensiones más altas, fue principalmente cálculo de matriz.

        Descubrí que el libro de cocina de Matrix era popular entre la mayoría de los estudiantes por trabajar con Matrix Calculus, ya que parece tener una lista interminable de derivados de matriz:

        http://www2.imm.dtu.dk/pubdb/vie

        En lo que respecta a repasar el resto de su conocimiento de Álgebra Lineal, recomiendo altamente las conferencias / libros de Strang:

        http://ocw.mit.edu/courses/mathe

        Los temas más relevantes incluyen conocer el rango y la inversión, SVD y también asegurarse de que se sienta cómodo con los valores propios y los vectores propios, entre otras cosas.

        Finalmente, con el análisis, no creo que ML requiera una introducción formal al análisis. Es importante conocer bien el cálculo de dimensiones superiores, especialmente las partes relacionadas con la optimización, como los multiplicadores de Lagrange, la forma primigenio-dual y, en general, el cálculo de matrices, y debería estar listo.

        En general, creo que el caso con el Álgebra Lineal y el Cálculo es trabajar a través de un libro / curso de ML, y detener y ver las matemáticas relevantes cuando sea necesario, mientras que necesita una base sólida en Probabilidad desde el principio, y la mayoría de los libros de texto en ML tienden a hablar mucho acerca de la probabilidad mientras se analizan los detalles matemáticos de LinAlg y Cálculo.

        El álgebra lineal es importante de muchas maneras, pero realmente necesitas aprender algo de lógica. No me refiero a las cosas de bebé más pequeñas que la gente dice que son fáciles porque pueden entender y seguir el final de una novela de misterio en una serie de televisión como Foyle’s War o CSI o Sherlock Holmes. No me refiero al curso de introducción a la lógica en muchos departamentos de filosofía. No me refiero al curso de circuitos booleanos que pudo haber tomado como estudiante de primer año en ingeniería informática o los simples argumentos de la tabla de verdad que hizo y finalmente se convirtió en problemas de teoría de grafos en un curso de informática en segundo semestre o segundo año llamado “Matemáticas discretas” ‘. No me refiero a los argumentos sencillos por los que pasó en su curso de álgebra moderna en su último año en un departamento de matemáticas. Pero todos estos pueden ser útiles, y son cursores previos o generadores de ejemplo para un curso inicial en teoría de modelos. Entonces puedes comenzar a apreciar verdaderamente la NOCIÓN de una MÁQUINA DE PENSAR, y lo que significa modelar semejante monstruosidad. Entonces puede comenzar a entender cómo desarrollar lenguajes formales para la solución de problemas específicos. Luego, puedes comenzar a entender por qué es realmente extraño modelar THINKING como una red neuronal, aunque no es una forma completamente inútil de hacerlo. (Básicamente, las redes de neurel me parecen ser “reconocedores de patrones”, aproximadamente, básicamente, utilizando la iteración de punto fijo en espacios métricos para perfeccionar un patrón o conjunto de patrones de comportamientos de agentes de entrada. Tenga en cuenta que dije “aproximadamente ”. Esto no pretende ser un tutorial en redes neuronales.)

        Por supuesto, es útil tener una idea de lo que significa definir o modelar el concepto descrito por el verbo “aprender”. Eso, amigos míos, es el ámbito de la filosofía y la pedagogía, pero para aplicarlo se requiere una comprensión de la noción de modelo, y volvemos a mi punto principal: Tomemos un poco de teoría de modelos. No es probable que te haga daño por más de un semestre, y bueno …

        ¡¡SIN DOLOR NO HAY GANANCIA!!

        Si realmente busca una referencia única, lo mejor que puedo sugerir es el Reconocimiento de patrones y el Aprendizaje automático de Chris Bishop ( http://www.amazon.com/Pattern-Re …). Aunque es bastante difícil comenzar con, cubrirá la mayoría de sus intereses hasta que tenga la suficiente experiencia en el tema para poder leer publicaciones y textos más específicos.

        En caso de duda, OpenCourseWare de MIT siempre es una buena fuente; creo que incluso ofrecen uno o dos cursos de aprendizaje automático a nivel de posgrado.

        Buena referencia general / textos tutoriales:

        • Teoría de la información, inferencia y algoritmos de aprendizaje – McKay
        • Introducción a los modelos de probabilidad – Ross
        • AI: Un enfoque moderno – Russel y Norvig
        • Algoritmos – Kleinberg y Tardos

        Gran pregunta ¿De qué manera uno se prepara para una carrera (de investigación o de otro tipo) en el aprendizaje automático, en particular en términos de familiarizarse con las matemáticas subyacentes? Voy a resistir la tentación de sacar a la luz algunos libros estándar y, en su lugar, centrarme en dar consejos generales.

        Hay algunas malas noticias en este frente, y lo mejor es eliminar esto lo más rápido posible. Después de haber pasado más de 35 años estudiando el aprendizaje automático, permítame poner esto de la manera más directa posible: no importa cuánto tiempo y esfuerzo dedique a él, nunca puede saber las matemáticas suficientes para leer toda la literatura de LD. Diferentes partes de ML utilizan una variedad de matemáticas esotéricas. Simplemente no hay manera de que una persona pueda saber todas estas matemáticas, por lo que es bueno estar prevenido.

        Ok, con eso fuera del camino, ¿cómo se prepara uno? Piense en el proceso análogo a condicionar su mente y su cuerpo para correr un maratón. Es un proceso gradual, de mejorar su estado físico, su capacidad para correr distancias más largas y más largas, su técnica de respiración, su enfoque mental y docenas de otras dimensiones. Trabajar en ML no es como correr un sprint de 100 metros, donde la carrera termina prácticamente en una sola respiración. Es mucho más un deporte de resistencia, donde tienes que trabajar constantemente para mantenerte en forma, y ​​no hay un punto en el que puedas relajarte y decir: ¡De acuerdo, lo sé todo! ¡Porque nadie lo hace!

        Un ejemplo de mi trabajo reciente aclarará los problemas involucrados. Uno de los principales desafíos en el aprendizaje automático es que nunca hay suficientes datos de capacitación para abordar cada problema de LD que se presenta. Los seres humanos son especialmente expertos en resolver este desafío. Puedo tomar un vuelo desde San Francisco y, en pocas horas, me encuentro en una diversidad vertiginosa de nuevos entornos, desde el ostentoso metro de Tokio y el sombrío invierno en Escandinavia hasta una sabana árida en África o una selva húmeda en Brasil. . No hay forma de que pueda esperar recopilar ejemplos de entrenamiento de todos los entornos posibles que pueda encontrar en la vida. ¿Asi que que hacemos? Transfirimos nuestros conocimientos adquiridos de los lugares en los que hemos estado; por lo tanto, después de tomar el metro BART en San Francisco y el metro en Nueva York y Londres, puedo tratar de manejar la complejidad del metro en Tokio aprovechando mi experiencia anterior. Por supuesto, no es lo mismo: el lenguaje es completamente diferente, el tono y la textura de la experiencia visual son completamente diferentes (los asistentes en manos enguantadas le muestran el camino en Tokio, ¡ese lujo no está disponible en los Estados Unidos!). Sin embargo, de alguna manera nos las arreglamos y nos abrimos paso a través de nuevas experiencias. Incluso apreciamos la posibilidad de encontrarnos en una nueva cultura alienígena, donde no hablamos el idioma y no podemos pedir direcciones. Abre nuestra mente a nuevos horizontes, todo parte del encanto del viaje.

        Entonces, ¿cuáles son las matemáticas involucradas en la implementación de un algoritmo de transferencia de aprendizaje? Varía mucho según el tipo de enfoque que investigue. Repasemos algunos enfoques desde la visión de computadora en los últimos años. Una clase de enfoques son los denominados métodos subespaciales, donde los datos de entrenamiento de una colección de imágenes en el dominio “fuente” (que convenientemente tiene etiquetas que se nos han dado) se comparan con una colección de imágenes sin etiqueta de un “objetivo” dominio (p. ej., “fuente” → metro de NY, “destino” → metro de Tokio).

        Uno puede tomar una colección de imágenes de tamaño NxN y, utilizando una variedad de métodos diferentes, puede encontrar el subespacio más pequeño en el que se encuentran las imágenes de origen (tratar cada imagen como un vector en N ^ 2 dimensiones). Ahora, para comprender este cuerpo de trabajo, obviamente necesita saber algo de álgebra lineal. Entonces, si no entiendes el álgebra lineal, o tomaste una clase en el pasado y lo olvidaste, es hora de refrescar tu memoria o aprender de nuevo. Afortunadamente, hay excelentes libros de texto (Strang suele ser un buen lugar para comenzar) y también algo como MATLAB te permitirá explorar métodos de algebra algebraica lineal sin tener que implementar cosas como valores propios o descomposición de valores singulares. Como solía decirles a mis alumnos, tenga en mente el lema “eigen hágalo si lo intento”. Persevera, y mantente enfocado en por qué estás aprendiendo estas matemáticas. Porque es importante y esencial entender mucho de la modernidad moderna.

        OK, genial, has logrado aprender algo de álgebra lineal. ¿Ya terminaste? Ummm, no del todo. Entonces, volvamos a nuestro ejemplo de transferencia de aprendizaje. Construye un subespacio de origen a partir de las imágenes de origen y un subespacio de destino a partir de las imágenes de destino. Umm, ¿cómo se hace eso? Bien, puede usar un método de reducción de dimensionalidad de variedad de jardín como el análisis de componentes principales (PCA), que solo calcula los vectores propios dominantes de las matrices de covarianza de las imágenes de origen y destino. Esta es una llamada de subrutina en MATLAB. Pero, PCA tiene 100 años. ¿Qué tal algo nuevo y genial, como un método de seguimiento de subespacio ooh la la como GOUDA, que utiliza las matemáticas más sofisticadas de los grupos de Lie? Vaya, ahora necesitas aprender algo de teoría de grupos, las matemáticas de la simetría. Resulta que las matrices de ciertos tipos, como todas las matrices invertibles, o todas las matrices definidas positivas, no son solo objetos algebraicos lineales, también son de interés en la teoría de grupos, un subcampo particularmente importante de los cuales son los grupos de Lie (Lie → ” Sotavento”).

        OK, genial, tienes un poco de conocimiento de la teoría de grupos y los grupos de Lie. ¿Ya terminaste? Hmmm … en realidad no, porque resulta que los grupos de Lie no son solo grupos, sino que también son múltiples continuos. ¿Qué en las llamas es un “múltiple”? Si busca en Google esto, es probable que encuentre páginas web que describan las partes del motor. No, una variedad es algo completamente diferente en el aprendizaje automático, donde significa un espacio no euclidiano que tiene curvatura. Resulta que el conjunto de todas las distribuciones de probabilidad (p. Ej., Los gaussianos unidimensionales con una dimensión de varianza escalar y una dimensión media escalar) no son euclidianos, sino que describen un espacio curvo. Entonces, el conjunto de todas las matrices definidas positivas forman un grupo de Lie, con una cierta curvatura. Lo que esto implica es que las operaciones obvias como tomar el promedio tienen que hacerse con considerable cuidado. Entonces, listo, aprendiendo todo lo que hay que saber sobre variedades, variedades Riemannianas, espacios tangentes, derivados covariantes, exp y registros de registros, etc. ¡Oh, qué diversión!

        Volviendo a nuestro método de aprendizaje por transferencia, si calcula la matriz de covarianza de origen C_s y la matriz de covarianza de destino C_t, entonces hay un método simple llamado CORAL (para la alineación correlacional) que descubre cómo transformar C_s en C_t usando algún mapeo invertible A CORAL es popular como método de aprendizaje por transferencia en la visión por computadora. Pero, CORAL no utiliza realmente el conocimiento de que el espacio de matrices definidas positivas (o matrices de covarianza) forma una variedad. De hecho, forma algo llamado cono en el análisis convexo. Si resta una matriz de covarianza de otra, el resultado no es una matriz de covarianza. Por lo tanto, no forman un espacio vectorial, sino algo completamente distinto. Vaya, resulta que el estudio de los conos es importante en el análisis convexo, por lo que hay que ir de nuevo, hay que aprender sobre conjuntos y funciones convexos, proyecciones en conjuntos convexos, etc. La línea divisoria entre la optimización manejable e intratable no es lineal vs .no lineal, sino más bien, convexo contra no convexo.

        Espero que el patrón sea cada vez más claro. Como una de esas muñecas rusas legendarias, donde cada vez que abres una, descubres que no es el final, pero hay otra dentro, así que es con el aprendizaje de las matemáticas en el aprendizaje automático. Cada vez que aprendes un poco de matemáticas, encuentras que te abre la puerta a un campo completamente nuevo de las matemáticas, del cual también necesitas saber algo. Para mi artículo más reciente, tuve que digerir un libro completo dedicado enteramente al tema de las matrices definidas positivas (es como la vieja broma, donde cuanto más profundizas, más sabes sobre un tema especializado, hasta que sabes todo sobre … – ¡nada!).

        Cualquier problema dado en el aprendizaje automático, como el aprendizaje por transferencia, se puede formular como un problema de optimización convexo, como un problema de aprendizaje múltiple, como un problema de estimación estadística multivariante, como un problema de aprendizaje profundo basado en gradiente no lineal, etc. etc. Cada uno de estos requiere aprendiendo un poco sobre las matemáticas subyacentes involucradas.

        Si te sientes desanimado y te dan ganas de arrancarte el pelo en este momento, simpatizo contigo. Pero, por otro lado, puedes ver el lado positivo y darte cuenta de que, en términos de nuestra analogía de correr un maratón, estás mejorando cada vez más la carrera larga, construyendo tu músculo matemático a medida que avanzas y gradualmente Las cosas empiezan a caer en su lugar. Las cosas comienzan a tener sentido y los diferentes subcampos comienzan a conectarse entre sí. Algo extraño sucede. ¡Te empieza a gustar! Por supuesto, hay un inconveniente. Alguien que no entiende ninguna de las matemáticas que utilizas bien te pide que expliques tu trabajo y te das cuenta de que es imposible hacerlo sin escribir ecuaciones.

        La mayoría de los investigadores encuentran su zona de confort y tratan de mantenerse dentro de ella, ya que de lo contrario, se necesita mucho tiempo y esfuerzo para dominar las docenas de subcampos matemáticos que usa el ML moderno. Pero, esta estrategia eventualmente falla, y uno siempre está obligado a salir de la zona de confort y aprender nuevas matemáticas, ya que de lo contrario, toda una área del campo se vuelve ajena a usted.

        Afortunadamente, el cerebro humano es un instrumento increíble, y proporciona décadas y décadas de operación sin problemas, lo que nos permite aprender continuamente más de 40,50, 60 años o más. ¡Cuán exactamente hace eso sin poner a cero todo el aprendizaje previo es uno de los mayores misterios sin resolver en la ciencia!

        1. Álgebra lineal
        2. Teoría y estadística de la probabilidad.
        3. Cálculo multivariado
        4. Algoritmos y optimizaciones complejas.
        5. Otros- Análisis real y complejo (Conjuntos y secuencias, Topología, Espacios métricos, Funciones continuas y de valor único, Límites, Núcleo de Cauchy, Transformadas de Fourier), Teoría de la información (Entropía, Ganancia de la información), Espacios de funciones y Manifolds.

        Para aprenderlos pasar por

        • Coursera | Cursos online de las mejores universidades. Únete gratis
        • Udacity – Clases gratis en línea y Nanodegrees
        • Cursos en línea de Udemy – Aprenda cualquier cosa, en su horario
        • Tutorialpoint.com

        No diré que “aprendes” las matemáticas. Prefiero decir que entrenas matemáticas.

        Imagina que quieres entrenar boxeo y tu entrenador te está enseñando a dirigir, patadas bajas y altas. No importa cuántas veces te muestre cómo patear, no puedes hacerlo perfectamente. Sabes que se necesita paciencia, trabajo duro y esfuerzo para finalmente aprender a golpear, y debes seguir intentando y entrenando. Después de tantos intentos, finalmente puedes decir que realmente puedes golpear.

        ¿Cuál es el punto de?

        La matemática es la misma. Considere dar golpes directos a sus fórmulas , dar una patada baja a sus teorías y dar una patada alta a sus soluciones a los problemas. No importa cuántas fórmulas o teorías conozca, sin importar cuántas veces haya visto soluciones, simplemente no puede hacerlo perfectamente. ¿Por qué? Porque necesitas entrenar esas fórmulas, entrenar esas teorías y eliminar esos problemas con una buena patada alta . ¿Y cómo haces eso?

        • Haga tantos problemas como pueda diariamente. No va a suceder de la noche a la mañana, lleva tiempo entrenar esas patadas.

        ¿Quieres aprenderlo rápido? Mejor empieza ahora!

        Los algoritmos de aprendizaje automático (ML) actuales se basan en funciones de mapeo.

        [math] F: X \ rightarrow Y [/ math]

        La función [math] F [/ math] puede ser cualquier cosa, como una máquina de vectores de soporte (SVM), una máquina de Boltzmann restringida (RBM), una red neuronal profunda (DNN) o cualquier otra cosa que puedas diseñar personalmente. En las áreas de aplicación, [math] X [/ math] representa el espacio de entrada, mientras que [math] Y [/ math] representa el espacio de salida.

        En reconocimiento de voz [math] X [/ math] puede ser un conjunto de espectrogramas, mientras que [math] Y [/ math] es un conjunto de identidades que representan a los hablantes. En el reconocimiento de imágenes, [math] X [/ math] es el espacio de píxeles de la imagen en bruto, mientras que [math] Y [/ math] es la categorización que consiste en diferentes clases en las que [math] x_ {i} \ en X [/ math] puede caer en

        Cada modelo ML tiene parámetros [math] w [/ math] que afectan el comportamiento de [math] F [/ math] que normalmente podemos ajustar para cambiar el comportamiento de esa función. De este modo podemos escribir el mapeo más convenientemente como:

        [math] \ hat {y_ {i}} = f (x_ {i} [/ math] [math], w) [/ math]

        donde [math] \ hat {y_ {i}} \ en Y [/ math]

        Nos centraremos en el modelo ML supervisado donde tenemos un conjunto de datos [math] T [/ math] de pares de entrada-salida de entrenamiento en la forma:

        [math] T = [(x_ {1}, y_ {1}), (x_ {2}, y_ {2}),…, (x_ {N}, y_ {N})] [/ math]

        El objetivo del aprendizaje automático supervisado es encontrar los mejores valores de parámetros [math] \ hat {w} [/ math] que hacen que la función [math] F [/ math] asigne los pares de entrada-salida con el menor error. Así que en ML supervisado tenemos dos problemas principales:

        1. Defina una medida de adecuación que nos diga qué tan bien se está desempeñando el modelo ML en el conjunto de entrenamiento [math] T [/ math].
        2. Generalización: Podemos ejecutar la misma medida de condición física en el conjunto de pruebas después de completar el entrenamiento para medir qué tan bien se generaliza el modelo a nuevos insumos. Este es un concepto muy importante en el mundo moderno.
        3. Un algoritmo de aprendizaje para actualizar los pesos, [math] w \ rightarrow \ hat {w} [/ math].

        Aquí es donde entran las matemáticas, para comprender los conceptos matemáticos subyacentes que necesita para comprender qué es lo que ML intenta resolver en primer lugar. El objetivo aquí es encontrar soluciones a los 3 problemas mencionados anteriormente y las matemáticas pueden ayudarnos con eso.

        1: Una medida de aptitud :

        Esto normalmente se realiza mediante una función objetivo también conocida como la función de pérdida / costo:

        [math] L (\ hat {y_ {i}}, y_ {i}) [/ math]

        donde [math] \ hat {y_ {i}} [/ math] = salida real y [math] y_ {i} [/ math] = salida deseada.

        En la minimización de riesgo empírica [1] (ERM), el objetivo es minimizar la pérdida general definida por el riesgo [math] R [/ math]:

        [math] R_ {emp} (w) = \ frac {1} {N} \ sum_ {i = 1} ^ {N} L (f (x_ {i}, w), y_ {i}) [/ math ]

        ERM establece que el algoritmo de aprendizaje debe elegir la función de hipótesis [math] \ hat {f} [/ math] de modo que se minimice el riesgo empírico. En términos matemáticos simples, debemos resolver:

        [math] \ hat {w} = arg min R_ {emp} (w) [/ math]

        Donde [math] \ hat {f} = f (x, \ hat {w}) [/ math]

        2: Generalización :

        El ERM anterior ingenuo puede dar como resultado que la función [math] \ hat {f} [/ math] simplemente memorice los ejemplos de entrenamiento que pueden causar lo que se llama sobreajuste, es decir, ajustar la función [math] F [/ math] a cada uno y cada punto de datos ruidoso / atípico. Eso no es lo ideal, por lo tanto, en lugar de eso normalmente usamos la minimización del riesgo estructural [2] (SRM), por lo que agregamos un término de regularización [math] C (w) [/ math] al riesgo, por lo que obtenemos el riesgo regularizado:

        [math] R_ {stru} (w) = \ frac {1} {N} \ sum_ {i = 1} ^ {N} L (f (x_ {i}, w), y_ {i}) + \ lambda {C (w)} [/ math]

        [math] R_ {stru} (w) = R_ {emp} (w) + \ lambda {C (w)} [/ math]

        Entonces en SRM tenemos que resolver:

        [math] \ hat {w} = arg min R_ {stru} (w) [/ math]

        La regularización simplemente simplifica los parámetros de peso para que no modelen demasiado de valores atípicos o de ruido. Esto se hace mediante la penalización de valores de gran peso en [math] w [/ math] que son la causa de la mayoría de los problemas de sobreajuste. Por lo tanto, la norma [math] L_0 [/ math] se puede utilizar para favorecer un conjunto de pesos muy escaso, en el que la mayoría de los valores de peso son cero. También puede usar la regularización [math] L_1 [/ math] o [math] L_2 [/ math] ya que la norma [math] L_0 [/ math] es difícil de optimizar. Desde entonces, han aparecido otros métodos de regularización extraños, como el abandono, que se utiliza en los algoritmos de aprendizaje para los DNN, por lo que las neuronas se eliminan y vuelven al azar durante el entrenamiento para que la red general se vuelva robusta al ruido, el abandono se puede ver como un método conjunto.

        3: Un algoritmo de aprendizaje:

        El aprendizaje en el ML actual puede verse como una forma de actualizar los pesos para encontrar los parámetros óptimos. ERM y SRM confían en la existencia de un algoritmo de aprendizaje para ajustar el peso. Necesitamos un algoritmo para encontrar los pesos que resuelven.

        [math] \ hat {w} = arg min R_ {emp} (w) [/ math] o

        [math] \ hat {w} = arg min R_ {stru} (w) [/ math]

        Necesitamos una manera de actualizar el modelo de tal manera que

        [math] \ hat {w} \ leftarrow w [/ math]

        En los sistemas de ML actuales, solo nos fijamos en la antigua idea de gradiente decente (GD) de la optimización numérica. En GD simplemente bajamos la pendiente más pronunciada en la superficie de error (riesgo) definida por el riesgo [math] R [/ math]. Eso significa que solo podemos usar la regla de actualización definida por.

        [math] w_ {t + 1} = w_ {t} – \ alpha {\ frac {\ partial R} {\ partial w_ {t}}} [/ math]

        donde [math] t [/ math] = conteo de pasos, [math] \ alpha [/ math] = tasa de aprendizaje

        Aquí asumimos una superficie convexa definida por [math] R [/ math] pero en la práctica, especialmente para los DNN, la superficie es altamente no convexa, pero en la práctica casi cualquier mínimo local es lo suficientemente bueno, además, podemos agregar un impulso a la regla de actualización Para que pueda escapar de las trampas mínimas locales fácilmente. Además, el número de parámetros de corte hace que sea más difícil que el modelo DNN quede atrapado en una trampa local de mínimos, ya que hay muchas rutas de escape posibles a través de las otras muchas dimensiones.

        En los DNN, los cálculos de gradiente pueden volverse incómodos incluso para una máquina moderna, ya que la cantidad de pasos de gradiente necesarios para alcanzar [math] \ hat {w} [/ math] son ​​normalmente grandes. Por lo tanto, necesitamos formas rápidas para acelerar los cálculos de gradiente para arquitecturas en capas. El algoritmo de backpropagation (backprop), para ser específico, es una forma de calcular gradientes de manera extremadamente eficiente en cualquier gráfico computacional diferenciable. Backprop usa la regla de la cadena comenzando desde la capa de salida que está directamente conectada a la función de pérdida y, por lo tanto, es más fácil evaluar las derivadas y luego moverse hacia las capas (capa de entrada) alejadas de la capa de salida mientras encadena las derivadas. Se llama backprop porque los errores se pasan de las capas traseras a las capas frontales, lo que ahorra muchos cálculos repetidos.

        GD requiere que se consideren todos los pares de entrenamiento antes de realizar un pequeño paso de actualización, esto no es escalable. Por lo tanto, en la práctica tenemos el llamado descenso de gradiente estocástico (SGD) que da un paso justo después de un ejemplo, esto es tan eficiente que normalmente es un algoritmo de aprendizaje estándar para DNN junto con backprop. Hay variantes de lotes de SGD que puede considerar entre SGD y GD, el enfoque de descenso de gradiente de lotes utiliza un pequeño conjunto aleatorio conocido como el lote de ejemplos de entrenamiento que utiliza para aproximar el campo de gradiente a través del algoritmo de backprop. Por lo tanto, SGD puede verse como la variante de lote con solo 1 ejemplo en el lote.


        Entonces, para aprender la teoría matemática detrás de ML, comience con los objetivos subyacentes de ML que hemos analizado en esta discusión. Por supuesto, esto fue solo una sugerencia del iceberg, pero la mejor manera de ver la mayoría de los modelos ML es que son aproximadores de funciones y deseamos recuperar esas aproximaciones de los pares de entrenamiento de entrada-salida solo, lo que llamamos aprendizaje de extremo a extremo. .

        También ayuda a visualizar ML como solo teoría de optimización. Tenemos una función de pérdida y todo lo que necesitamos es un algoritmo que nos ayude a encontrar la configuración correcta para minimizar la pérdida. En la práctica, SGD + backprop funciona muy bien para entrenar modelos ML modernos.

        También debes probar e implementar algunos de estos algoritmos desde cero. Intente implementar backprop y SGD para una red neuronal de múltiples capas (NN), no una profunda ahora, luego inténtelo en el conjunto de datos MNIST. Solo puede aprender a través de la práctica, asegúrese de que antes de la implementación pase por backprop y lo derive para NN de múltiples capas y redes neuronales convolucionales (convNet).

        Sin embargo, no tenga demasiada prisa, los conceptos toman tiempo para tener sentido. Para poder asimilar las cosas un poco con facilidad, resuelva algunos problemas e intente explicar también los sistemas a otros a través de plataformas como Quora, de esa manera empezará a tener más y más confianza en su comprensión de las matemáticas detrás de los algoritmos ML.

        Espero que esto ayude.

        Notas al pie

        [1] Minimización del riesgo empírico – Wikipedia

        [2] Minimización del riesgo estructural – Wikipedia